openpond 0.2.46 → 0.2.47
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 +96 -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-3KFJJUJH.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-JBHAU7PH.js → chunk-36YNUUZL.js} +137 -137
- package/dist/chunks/chunk-3HBCQNRN.js +2 -0
- package/dist/chunks/chunk-4UTBLHFC.js +2 -0
- package/dist/chunks/{chunk-FOEUDMME.js → chunk-526PVA3V.js} +86 -86
- package/dist/chunks/{chunk-5OGRWWEH.js → chunk-6MH55NGW.js} +1 -1
- 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-HO5L2FUU.js → chunk-A2GVVXFV.js} +1 -1
- package/dist/chunks/{chunk-W4IL6TWB.js → chunk-BM7TU6NX.js} +115 -111
- package/dist/chunks/{chunk-HP2D3W2B.js → chunk-CNTGL5IX.js} +1 -1
- package/dist/chunks/{chunk-WWABOVRW.js → chunk-D7DA5G2U.js} +2 -2
- package/dist/chunks/{chunk-UWO34HP6.js → chunk-DALJMSJG.js} +2 -2
- 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-F7RCOLZD.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-ZC57DX6D.js → chunk-JDLAHVAJ.js} +1 -1
- package/dist/chunks/{chunk-D6MQTNJ3.js → chunk-K6S4TY5W.js} +6 -6
- 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-NNF6KCHD.js +3 -0
- 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-PYABBF53.js +53 -0
- package/dist/chunks/{chunk-TYWBEJOA.js → chunk-Q4H3NUVW.js} +2 -2
- 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-KUKOZJIR.js → chunk-TT46OISU.js} +1 -1
- package/dist/chunks/{chunk-6WLJWRMF.js → chunk-UJ5EFSEC.js} +1 -1
- 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-4VKNBADF.js → chunk-XON44M6V.js} +1 -1
- package/dist/chunks/{chunk-D6E7JBBQ.js → chunk-YBVIFIXN.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-WPAYXAJX.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-VDVI7KIO.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-T6Q7ASMI.js} +1 -1
- package/dist/chunks/hosted-harness-runtime-2R5QRZCG.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-HYEISIAC.js → hosted-profile-candidate-TKOY3M4S.js} +1 -1
- package/dist/chunks/hosted-profile-compiler-VLBFIEWK.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-3MB6MWO6.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-preparation-OR4OLYEX.js → hosted-profile-evaluation-preparation-C7WEABZ5.js} +1 -1
- 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-R4TSYNTK.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/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-5ZZM3TUN.js +0 -24
- package/dist/chunks/chunk-6JBWHR6T.js +0 -5
- package/dist/chunks/chunk-FKCWOASO.js +0 -49
- package/dist/chunks/chunk-ICZEOMPO.js +0 -2
- package/dist/chunks/chunk-JO7GRBOG.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-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/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,24 +0,0 @@
|
|
|
1
|
-
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{I as Ue,L as Ge,O as kt,Q as St,R as $n,U as Je,W as Ke,d as rn,k as bn,q as kn,r as pa,ta as va,v as Sn,wa as qn}from"./chunk-JO7GRBOG.js";import{$ as at,$a as ie,Ad as Pn,Ea as vn,Id as An,Jb as nr,Kb as Rn,Kc as In,Lb as oe,Oa as vt,Q as dn,Qd as Cn,Rb as Tn,S as ln,T as ar,Td as Mn,U as Bt,Ua as yn,V as mn,Vc as ir,W as pe,Wc as sr,X as ca,Xa as rt,Xc as _n,Ya as fe,Z as un,a as ue,aa as pn,ad as Hn,b as ke,ba as Ae,ca as fn,d as tr,da as hn,db as Ne,ea as da,f as nn,fa as la,ga as ne,gb as nt,h as sa,j as oa,ja as Te,jb as fa,ka as ma,l as sn,la as K,lb as ha,m as on,na as ua,nb as ga,pb as wn,sb as xn,ua as rr,vb as x,vd as jn,w as cn,wb as U,xb as M,xd as En,ya as gn,yb as bt}from"./chunk-BQNK2NMB.js";import{Ha as Us}from"./chunk-VW7D3DRM.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as c,e as Ns}from"./chunk-FTQLQJQV.js";var it=fe.shape.id,Vt=e.string().regex(/^[a-f0-9]{64}$/),ba=e.object({scopeId:it,modelId:it}).strict(),ka=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:ba,root:fe,parent:fe}).strict(),or=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:it,modelId:it,expectedModelRevision:e.number().int().positive(),sourcePackageHash:Vt}).strict(),Ce=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:it,requestHash:Vt,sourcePackageHash:Vt,sourceTasksetRef:fe,tasksetId:it,tasksetRevision:e.number().int().positive(),lineage:ka,authoringGraph:e.literal("bound").optional()}).strict(),ce=e.string().min(1).max(1024).refine(t=>!t.includes("\\")&&!t.includes(":")&&!t.includes("\0")&&!t.startsWith("/")&&!t.split("/").some(a=>!a||a==="."||a===".."||a.startsWith(".env")),"Use a relative Taskset file path without environment files."),Dn=e.object({path:ce,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),zt=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),Gs=Dn.extend({contentHash:Vt,content:zt}).strict(),cr=e.object({draftId:it,expectedDraftRevision:e.number().int().positive(),path:ce,expectedFileHash:Vt.nullable(),content:zt.nullable()}).strict();var dr=yn.extend({mode:e.enum(["nightly","approved_count"]),minimumTasks:e.number().int().min(1).max(1e4),maximumSpendUsd:e.number().positive().max(1e5),maximumDailySpendUsd:e.number().positive().max(1e6)}).strict().superRefine((t,a)=>{t.maximumDailySpendUsd<t.maximumSpendUsd&&a.addIssue({code:"custom",path:["maximumDailySpendUsd"],message:"The daily budget must cover one update."})});var mr="application/vnd.openpond.training+json;version=2",On="application/vnd.openpond.model-project+json;version=2",zn=1048576,yt=67108864,ur=8388608,Sa=524288,Js=8388608,P=class extends Error{static{c(this,"OpenPondProtocolError")}code;constructor(t,a){super(a),this.name="OpenPondProtocolError",this.code=t}};function C(t){return JSON.stringify(lr(t))}c(C,"canonicalJson");function Ks(t){return new TextEncoder().encode(C(t)).byteLength}c(Ks,"canonicalJsonByteLength");async function L(t){let a=new TextEncoder().encode(C(t)),r=await globalThis.crypto.subtle.digest("SHA-256",a);return Array.from(new Uint8Array(r),n=>n.toString(16).padStart(2,"0")).join("")}c(L,"canonicalSha256");function $e(t,a,r){let n=Ks(t);if(n>a)throw new P("payload_too_large",`${r} is ${n} bytes; the maximum is ${a} bytes.`)}c($e,"assertCanonicalPayloadSize");function pr(t,a,r){let n=new TextEncoder().encode(t).byteLength;if(n>a)throw new P("response_too_large",`${r} is ${n} bytes; the maximum is ${a} bytes.`);try{return JSON.parse(t)}catch{throw new P("invalid_json",`${r} was not valid JSON.`)}}c(pr,"parseBoundedJson");function lr(t){if(t===null||typeof t=="string"||typeof t=="boolean")return t;if(typeof t=="number"){if(!Number.isFinite(t))throw new P("non_json_value","Canonical JSON cannot contain a non-finite number.");return Object.is(t,-0)?0:t}if(Array.isArray(t))return t.map(a=>lr(a));if(typeof t=="object"){let a=Object.getPrototypeOf(t);if(a!==Object.prototype&&a!==null)throw new P("non_json_value","Canonical JSON accepts only plain objects.");let r={};for(let n of Object.keys(t).sort()){let i=t[n];if(i===void 0||typeof i=="function"||typeof i=="symbol")throw new P("non_json_value",`Canonical JSON cannot contain ${typeof i} at ${n}.`);r[n]=lr(i)}return r}throw new P("non_json_value",`Canonical JSON cannot contain ${typeof t}.`)}c(lr,"normalizeCanonicalJson");var D=e.string().trim().min(1).max(500),Ie=e.string().regex(/^[a-f0-9]{64}$/),he=e.string().datetime({offset:!0}),j=e.object({id:D,contentHash:Ie}).strict(),N=j.extend({revision:e.number().int().positive()}).strict(),We=e.object({schemaVersion:e.literal("openpond.baseModelPreference.v1"),modelId:D,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:D.nullable(),source:e.enum(["managed","local","builtin"])}).strict(),Fn=e.enum(["sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),fr=e.object({schemaVersion:e.string().regex(/^openpond\.[A-Za-z0-9]+Recipe\.v\d+$/),method:Fn,parameterization:e.enum(["lora","full"])}).catchall(e.unknown()),Ws=e.object({profileProjectId:D,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),harnessRelease:j}).strict(),Ys=e.object({profileProjectId:D,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),catalogHash:Ie,definitionId:D,harnessRelease:j,tasksetRelease:j}).strict(),Ln=e.object({tasksetRef:N.nullable().default(null),evaluationTasksetRef:N.nullable().optional(),profileSource:Ws.nullable().optional(),profileEvaluation:Ys.nullable().optional(),rewardBindingRef:N.nullable().optional(),tasksetRelease:j.nullable().default(null),harnessRelease:j.nullable().default(null),baseModel:We.nullable().default(null),method:Fn.nullable().default(null),destinationId:D.nullable().default(null),managedRolloutPlacement:e.enum(["local","remote"]).default("remote"),managedGpuPlacementObjective:e.enum(["fast","balanced","economical"]).default("balanced"),managedGpuRequirement:e.enum(["any","h100_hbm3"]).default("any"),runPreset:e.enum(["small","standard","custom","small_experiment"]).nullable().default(null),recipe:fr.nullable().default(null),preferredMaximumSpendUsd:e.number().nonnegative().nullable().default(null),preferredRetentionDays:e.number().int().nonnegative().nullable().default(null)}).strict(),Ft=Ln.omit({managedGpuRequirement:!0}),Xs=e.object({schemaVersion:e.literal("openpond.hostedModelProjectLink.v1"),apiOrigin:e.string().url().refine(t=>new URL(t).origin===t,"Use a canonical API origin.").nullable().default(null),teamId:D,projectId:D,portableProjectId:D,revision:e.number().int().positive(),etag:Ie,syncedSourceRevision:e.number().int().positive(),syncedAt:he,tasksets:e.array(e.object({localTasksetId:D,localTasksetHash:Ie.nullable().default(null),releaseId:D,releaseRevision:e.number().int().positive(),releaseHash:Ie,packageHash:Ie.nullable().default(null),hostedTasksetId:D,syncedAt:he}).strict()).max(1e4).default([])}).strict(),Qs=e.object({localTasksetId:D,releaseId:D,releaseRevision:e.number().int().positive(),releaseHash:Ie,state:e.enum(["syncing","synced","sync_failed"]),hostedTasksetId:D.nullable().default(null),lastAttemptAt:he,syncedAt:he.nullable().default(null),lastError:e.string().trim().min(1).max(5e3).nullable().default(null)}).strict(),Zs=e.object({schemaVersion:e.literal("openpond.modelProject.v2"),id:D,profileId:D,revision:e.number().int().positive().default(1),name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:We.nullable(),defaultDestinationId:D.nullable(),trainingSetup:Ln,hosted:Xs.nullable().default(null),tasksetSyncs:e.array(Qs).max(1e4).default([]),createdAt:he,updatedAt:he}).strict(),Nn=Zs.pick({id:!0,profileId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,trainingSetup:!0}),eo=e.object({schemaVersion:e.literal("openpond.modelProjectSave.v1"),operationId:D,expectedRevision:e.number().int().nonnegative(),project:Nn,learning:dr.optional()}).strict().superRefine((t,a)=>{t.learning&&t.expectedRevision!==0&&a.addIssue({code:"custom",path:["learning"],message:"Use learning settings to edit an existing Model's policy."})}),to=e.object({schemaVersion:e.literal("openpond.modelProjectConfigurationCheck.v1"),configurationHash:Ie,projectId:D,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:D,severity:e.enum(["error","warning"]),message:e.string().min(1).max(5e3),field:e.string().min(1).max(500).nullable()}).strict()).max(100)}).strict(),ao=e.object({id:D,name:e.string().min(1).max(500),available:e.boolean(),preference:We}).strict();async function Um(t){let a=ya(t);return L({project:a.project,expectedRevision:a.expectedRevision,...a.learning?{learning:a.learning}:{}})}c(Um,"modelProjectConfigurationHash");function ya(t){try{ke(t,Sa)}catch{throw new Un(400,{schemaVersion:"openpond.modelProjectApiError.v2",code:"model_configuration_json_invalid",message:"Model configuration must be bounded JSON data.",retryable:!1,requestId:null,details:{}})}return eo.parse(t)}c(ya,"parseModelProjectSaveRequest");async function Gm(t,a,r){ke(t,Sa);let n=Nn.parse(t);$e(n,Sa,"Model configuration");let i=r?dr.parse(r):void 0,s=await L({project:n,expectedRevision:a,...i?{learning:i}:{}});return ya({schemaVersion:"openpond.modelProjectSave.v1",operationId:`model-save:${s}`,expectedRevision:a,project:n,...i?{learning:i}:{}})}c(Gm,"createModelProjectSaveRequest");var hr=e.object({schemaVersion:e.literal("openpond.hostedModelProjectSync.v2"),portableProjectId:D,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:We.nullable(),defaultDestinationId:D.nullable(),trainingSetup:Ft,sourceRevision:e.number().int().positive(),sourceUpdatedAt:he,expectedEtag:Ie.nullable().default(null)}).strict(),Me=e.object({id:D,teamId:D,portableProjectId:D,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:We.nullable(),defaultDestinationId:D.nullable(),trainingSetup:Ft,sourceRevision:e.number().int().positive(),sourceUpdatedAt:he,revision:e.number().int().positive(),etag:Ie,createdAt:he,updatedAt:he}).strict(),ro=e.object({kind:e.enum(["taskset_release","harness_release","dataset_release","evidence_set","model_version","reward_model_version","evaluation_receipt"]),ref:j,role:e.string().trim().min(1).max(200).nullable().default(null),updatedAt:he}).strict(),no=e.object({project:Me,resources:e.array(ro).max(1e4),jobCount:e.number().int().nonnegative(),latestJobIds:e.array(D).max(100)}).strict(),io=e.object({schemaVersion:e.literal("openpond.modelProjectApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict(),Un=class extends Error{static{c(this,"OpenPondModelProjectApiError")}status;code;retryable;requestId;details;constructor(t,a){super(a.message),this.name="OpenPondModelProjectApiError",this.status=t,this.code=a.code,this.retryable=a.retryable,this.requestId=a.requestId,this.details=a.details}};function Bn(t){let a={};return new Headers(t).forEach((r,n)=>{a[n]=r}),a}c(Bn,"headersRecord");function Jm(t){let a=t.fetch??fetch,r=t.baseUrl.replace(/\/$/,"");async function n(i,s){let o=typeof t.headers=="function"?await t.headers():t.headers??{},l=await a(`${r}${i}`,{...s,headers:{accept:On,...s?.body?{"content-type":On}:{},...Bn(o),...Bn(s?.headers)}}),u=pr(await l.text(),Js,"Model Project API response");if(!l.ok){let d=io.safeParse(u);throw d.success?new Un(l.status,d.data):new P("invalid_error_response",`Model Project request failed with HTTP ${l.status} and an invalid error envelope.`)}return u}return c(n,"request"),{async configurationCandidates(){return e.object({candidates:e.array(ao).max(1e3)}).strict().parse(await n("/v1/model-projects/configuration/candidates",{headers:{accept:"application/json"}})).candidates},async checkConfiguration(i){let s=ya(i);return to.parse(await n("/v1/model-projects/configuration/check",{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(s)}))},async saveConfiguration(i){let s=ya(i);return Me.parse(await n("/v1/model-projects/configuration/save",{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(s)}))},async upsert(i){$e(i,Sa,"Model Project sync");let s=hr.parse(i),o=await n(`/v1/model-projects/${encodeURIComponent(s.portableProjectId)}`,{method:"PUT",body:JSON.stringify(s)});return Me.parse(Vn(o,"project"))},async list(){let i=await n("/v1/model-projects");return e.array(Me).parse(Vn(i,"projects"))},async get(i){let s=await n(`/v1/model-projects/${encodeURIComponent(D.parse(i))}`);return no.parse(s)}}}c(Jm,"createModelProjectsClient");function Vn(t,a){return!t||typeof t!="object"||Array.isArray(t)?t:a in t?t[a]:t}c(Vn,"unwrapObject");var so=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),oo=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function co(t){let a=typeof t=="string"?new TextEncoder().encode(t):t,r=Math.ceil((a.byteLength+9)/64)*64,n=new Uint8Array(r);n.set(a),n[a.byteLength]=128;let i=a.byteLength*8,s=new DataView(n.buffer);s.setUint32(r-8,Math.floor(i/4294967296),!1),s.setUint32(r-4,i>>>0,!1);let o=new Uint32Array(so),l=new Uint32Array(64);for(let u=0;u<r;u+=64){for(let E=0;E<16;E+=1)l[E]=s.getUint32(u+E*4,!1);for(let E=16;E<64;E+=1){let I=l[E-15],T=l[E-2],Q=_e(I,7)^_e(I,18)^I>>>3,ee=_e(T,17)^_e(T,19)^T>>>10;l[E]=l[E-16]+Q+l[E-7]+ee>>>0}let d=o[0],m=o[1],p=o[2],h=o[3],v=o[4],g=o[5],w=o[6],_=o[7];for(let E=0;E<64;E+=1){let I=v&g^~v&w,T=d&m^d&p^m&p,Q=_e(d,2)^_e(d,13)^_e(d,22),ee=_e(v,6)^_e(v,11)^_e(v,25),k=_+ee+I+oo[E]+l[E]>>>0,H=Q+T>>>0;_=w,w=g,g=v,v=h+k>>>0,h=p,p=m,m=d,d=k+H>>>0}o[0]=o[0]+d>>>0,o[1]=o[1]+m>>>0,o[2]=o[2]+p>>>0,o[3]=o[3]+h>>>0,o[4]=o[4]+v>>>0,o[5]=o[5]+g>>>0,o[6]=o[6]+w>>>0,o[7]=o[7]+_>>>0}return Array.from(o,u=>u.toString(16).padStart(8,"0")).join("")}c(co,"sha256Hex");function _e(t,a){return t>>>a|t<<32-a}c(_e,"rotateRight");var lo=2e3,Kn=25e7,b=e.string().trim().min(1).max(240),R=e.string().regex(/^[a-f0-9]{64}$/),$=e.string().datetime({offset:!0}),Lt=e.record(e.string(),e.unknown()).default({}),S=e.object({id:b,contentHash:R}).strict(),Wn=S.extend({revision:e.number().int().positive()}).strict(),W=e.object({id:b,path:e.string().trim().min(1).max(lo).refine(mo),contentHash:R,sizeBytes:e.number().int().nonnegative().max(Kn),mediaType:e.string().trim().min(1).max(200),visibility:e.enum(["policy","verifier","host_private"])}).strict(),Yn=e.object({id:b,contentHash:R,mediaType:e.string().trim().min(1).max(200).nullable().default(null),sizeBytes:e.number().int().nonnegative().max(Kn).nullable().default(null)}).strict(),wa=e.enum(["policy_failure","grader_failure","environment_failure","infrastructure_failure","timeout","cancelled"]);function qe(t){return`${JSON.stringify(gr(t),null,2)}
|
|
3
|
-
`}c(qe,"canonicalJson");function G(t){return co(t)}c(G,"sha256");function f(t){return G(qe(t))}c(f,"contentHash");function He(t,a){let{contentHash:r,...n}=t,i=f(n);if(r!==i)throw new Error(`${a} contentHash is ${r}; expected ${i}.`)}c(He,"assertContentHash");function mo(t){let a=t.replaceAll("\\","/");return!a||a.startsWith("/")||a.includes("\0")?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}c(mo,"safeRelativePath");function gr(t){return Array.isArray(t)?t.map(gr):!t||typeof t!="object"?t:Object.fromEntries(Object.entries(t).sort(([a],[r])=>a.localeCompare(r)).map(([a,r])=>[a,gr(r)]))}c(gr,"sortValue");var uo=e.enum(["memory","prompt","skill","agent"]),po=e.enum(["runtime","product","taskset","training"]),fo=e.object({id:e.string().trim().min(1).max(120).regex(/^[a-z0-9][a-z0-9._-]*$/),text:e.string().trim().min(1).max(1e4)}).strict(),ho=e.object({schemaVersion:e.literal("openpond.refinerReviewProfile.v1"),id:e.string().trim().min(1).max(120).regex(/^[a-z0-9][a-z0-9._-]*$/),version:e.string().trim().min(1).max(120),name:e.string().trim().min(1).max(200),objective:e.string().trim().min(1).max(1e4),instructions:e.array(fo).max(100),allowedProposalRoutes:e.array(uo).max(4),allowedExternalRoutes:e.array(po).max(4)}).strict().superRefine((t,a)=>{let r=t.instructions.map(n=>n.id);new Set(r).size!==r.length&&a.addIssue({code:"custom",message:"instruction IDs must be unique",path:["instructions"]}),new Set(t.allowedProposalRoutes).size!==t.allowedProposalRoutes.length&&a.addIssue({code:"custom",message:"proposal routes must be unique",path:["allowedProposalRoutes"]}),new Set(t.allowedExternalRoutes).size!==t.allowedExternalRoutes.length&&a.addIssue({code:"custom",message:"external routes must be unique",path:["allowedExternalRoutes"]})});var eu=e.object({schemaVersion:e.literal("openpond.refinerRelease.v1"),id:e.string().trim().min(1).max(240),coreVersion:e.string().trim().min(1).max(120),coreHash:R,profile:ho,profileHash:R,composedPromptHash:R,createdAt:$,contentHash:R}).strict(),tu=e.object({schemaVersion:e.literal("openpond.refinerBinding.v1"),channel:e.literal("active"),revision:e.number().int().nonnegative(),release:S,updatedAt:$}).strict(),au=e.object({schemaVersion:e.literal("openpond.refinerTransitionReceipt.v1"),id:e.string().trim().min(1).max(240),operation:e.enum(["initialize","update","activate","rollback"]),bindingChanged:e.boolean(),previousRelease:S.nullable(),nextRelease:S,actor:e.string().trim().min(1).max(240),reason:e.string().trim().min(1).max(1e4),authoringSkillHash:R.nullable(),validation:e.object({valid:e.boolean(),messages:e.array(e.string().max(2e3)).max(100)}).strict(),createdAt:$,contentHash:R}).strict();var go=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v1"),decision:e.literal("no_action"),reason:e.string().trim().min(1).max(1e4)}).strip(),vo=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v1"),decision:e.literal("route"),route:e.enum(["runtime","product","taskset","training"]),summary:e.string().trim().min(1).max(2e3),expectedOutcome:e.string().trim().min(1).max(1e4),reason:e.string().trim().min(1).max(1e4)}).strip(),bo=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v1"),decision:e.literal("propose"),route:e.enum(["memory","prompt","skill","agent"]),operation:e.enum(["create","update","delete"]),target:e.string().trim().min(1).max(2e3),summary:e.string().trim().min(1).max(2e3),createContent:e.string().min(1).max(2e4).nullable(),find:e.string().min(1).max(8e3).nullable(),replace:e.string().max(8e3).nullable(),expectedOutcome:e.string().trim().min(1).max(1e4),reason:e.string().trim().min(1).max(1e4)}).strip().superRefine((t,a)=>{t.operation==="create"&&(t.createContent===null||t.find!==null||t.replace!==null)&&a.addIssue({code:"custom",message:"create proposals require createContent and null find/replace",path:["createContent"]}),t.operation==="update"&&(t.createContent!==null||t.find===null||t.replace===null)&&a.addIssue({code:"custom",message:"update proposals require one exact find/replace edit and null createContent",path:["find"]}),t.operation==="delete"&&(t.createContent!==null||t.find!==null||t.replace!==null)&&a.addIssue({code:"custom",message:"delete proposals require null createContent/find/replace",path:["createContent"]})}),ko=e.discriminatedUnion("decision",[go,vo,bo]),So=ko,xa=e.object({kind:e.enum(["single_deterministic","recurrent_independent"]),supportingEvidenceIds:e.array(e.string().trim().min(1).max(2e3)).min(1).max(100),counterevidence:e.array(e.string().trim().min(1).max(2e3)).max(20)}).strict().superRefine((t,a)=>{new Set(t.supportingEvidenceIds).size!==t.supportingEvidenceIds.length&&a.addIssue({code:"custom",message:"supporting evidence IDs must be unique",path:["supportingEvidenceIds"]}),t.kind==="recurrent_independent"&&t.supportingEvidenceIds.length<2&&a.addIssue({code:"custom",message:"recurrent independent evidence requires at least two supplied incidents",path:["supportingEvidenceIds"]})}),yo=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v2"),decision:e.literal("no_action"),reason:e.string().trim().min(1).max(1e4)}).strict(),wo=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v2"),decision:e.literal("route"),route:e.enum(["runtime","product","taskset","training"]),summary:e.string().trim().min(1).max(2e3),evidenceBasis:xa,expectedOutcome:e.string().trim().min(1).max(1e4),reason:e.string().trim().min(1).max(1e4)}).strict(),xo=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v2"),decision:e.literal("propose"),route:e.enum(["memory","prompt","skill","agent"]),operation:e.enum(["create","update","delete"]),target:e.string().trim().min(1).max(2e3),summary:e.string().trim().min(1).max(2e3),evidenceBasis:xa,createContent:e.string().min(1).max(2e4).nullable(),find:e.string().min(1).max(8e3).nullable(),replace:e.string().max(8e3).nullable(),expectedOutcome:e.string().trim().min(1).max(1e4),reason:e.string().trim().min(1).max(1e4)}).strict().superRefine((t,a)=>{t.operation==="create"&&(t.createContent===null||t.find!==null||t.replace!==null)&&a.addIssue({code:"custom",message:"create proposals require createContent and null find/replace",path:["createContent"]}),t.operation==="update"&&(t.createContent!==null||t.find===null||t.replace===null)&&a.addIssue({code:"custom",message:"update proposals require one exact find/replace edit and null createContent",path:["find"]}),t.operation==="delete"&&(t.createContent!==null||t.find!==null||t.replace!==null)&&a.addIssue({code:"custom",message:"delete proposals require null createContent/find/replace",path:["createContent"]})}),Xn=e.discriminatedUnion("decision",[yo,wo,xo]),nu=e.union([So,Xn]),Ra=e.object({memory:e.boolean(),prompt:e.boolean(),skill:e.boolean(),agent:e.boolean()}).strict(),Qn=e.enum(["memory","instruction","skill","agent"]),Gn=e.object({path:e.string().trim().min(1).max(2e3),kind:Qn,content:e.string().max(6e4),loaded:e.boolean()}).strict(),Jn=e.object({path:e.string().trim().min(1).max(2e3),kind:Qn,loaded:e.boolean()}).strict(),Ro=e.object({capabilities:Ra,trigger:e.record(e.string(),e.unknown()),observations:e.array(e.record(e.string(),e.unknown())).max(20),admissibleEvidenceIds:e.array(e.string().trim().min(1).max(2e3)).max(1e4),reviewPacket:e.object({currentTurn:e.object({id:e.string().trim().min(1).max(2e3),status:e.string().trim().min(1).max(100).nullable(),error:e.string().max(2100).nullable(),prompt:e.string().max(8100).nullable(),assistantOutput:e.string().max(8100).nullable(),assistantOutputLinkCount:e.number().int().nonnegative()}).strict(),priorConversation:e.array(e.object({turnId:e.string().trim().min(1).max(2e3),status:e.string().trim().min(1).max(100).nullable(),prompt:e.string().max(3100).nullable(),assistantOutput:e.string().max(3100).nullable()}).strict()).max(3),timeline:e.array(e.record(e.string(),e.unknown())).max(60),artifacts:e.array(e.record(e.string(),e.unknown())).max(30),artifactDiagnostics:e.array(e.record(e.string(),e.unknown())).max(20),executionProfile:e.object({modelRequestCount:e.number().int().nonnegative(),failedModelRequestCount:e.number().int().nonnegative(),promptTokens:e.number().int().nonnegative(),completionTokens:e.number().int().nonnegative(),totalTokens:e.number().int().nonnegative(),toolFailureCount:e.number().int().nonnegative(),retryCount:e.number().int().nonnegative(),recoveryCount:e.number().int().nonnegative()}).strict(),priorIncidents:e.array(e.record(e.string(),e.unknown())).max(3),truncation:e.object({timelineEventCount:e.number().int().nonnegative(),includedTimelineEventCount:e.number().int().nonnegative(),timelineTruncated:e.boolean()}).strict()}).strict(),runtimeActivation:e.object({admittedRelease:S,currentRelease:S,rebasedOntoCurrent:e.boolean(),admittedSourceFiles:e.array(Gn).max(100),admittedSourceCatalog:e.array(Jn).max(1e3)}).strict(),sourceFiles:e.array(Gn).max(100),sourceCatalog:e.array(Jn).max(1e3),additionalEvidence:e.unknown().nullable().optional()}).strict();var To=e.object({id:e.string().trim().min(1).max(240),revision:e.number().int().nonnegative(),contentHash:R}).strict(),iu=e.object({schemaVersion:e.literal("openpond.hostedHarnessRefinerRequest.v2"),requestId:e.string().trim().min(1).max(240),idempotencyKey:e.string().trim().min(1).max(240),evidenceHash:R,harness:e.object({admittedRelease:S,currentRelease:S,overlay:To,workspace:e.object({id:e.string().trim().min(1).max(240),revision:e.number().int().nonnegative(),sourceRevision:R,channelRevision:e.number().int().nonnegative()}).strict(),capabilities:Ra}).strict(),evidence:Ro}).strict(),Io=e.object({promptTokens:e.number().int().nonnegative(),completionTokens:e.number().int().nonnegative(),totalTokens:e.number().int().nonnegative()}).strict(),su=e.object({schemaVersion:e.literal("openpond.hostedHarnessRefinerResponse.v2"),requestId:e.string().trim().min(1).max(240),evidenceHash:R,admittedRelease:S,currentRelease:S,decision:Xn,serviceRevision:e.string().trim().min(1).max(240),usage:Io}).strict();var Xu=Ns(Us(),1);var mu=e.object({provider:b,model:b,revision:e.string().trim().min(1).max(500).nullable().default(null),artifactHash:R.nullable().default(null),tokenizerRevision:e.string().trim().min(1).max(500).nullable().default(null),chatTemplateHash:R.nullable().default(null)}).strict(),_o=["openpond","codex","claude-code","grok-build","opencode","anthropic","openai","xai","google","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"],Ho=e.enum(_o),Ia=e.object({providerId:Ho,modelId:e.string().trim().min(1).max(300)}),_a=e.object({name:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(2e3),inputSchema:e.record(e.string(),e.unknown()),inputSchemaHash:R,sideEffect:e.enum(["read","write"]),timeoutMs:e.number().int().positive().max(36e5)}).strict(),br=e.object({id:b,required:e.boolean(),scopes:e.array(e.string().trim().min(1).max(500)).max(100).default([]),portability:e.enum(["portable","host_adapter","local_only","hosted_only"])}).strict(),jo=e.object({portable:e.boolean(),blockers:e.array(e.string().trim().min(1).max(2e3)).max(1e3),localOnlyAssetRefs:e.array(b).max(1e4),hostPrivateAssetRefs:e.array(b).max(1e4)}).strict(),ti=e.object({schemaVersion:e.literal("openpond.agentSnapshot.v2"),id:b,sourceRelease:S.nullable(),instructions:e.array(W).max(1e4),skills:e.array(W).max(1e4),agents:e.array(W).max(1e4),toolDeclarations:e.array(_a).max(200),capabilityRequirements:e.array(br).max(200),dependencyLock:W,portability:jo,metadata:Lt}).strict(),ai=ti.extend({contentHash:R}).strict(),Eo=e.object({create:e.literal(!0),reset:e.literal(!0),step:e.literal(!0),collect:e.literal(!0),destroy:e.literal(!0),resetScope:e.enum(["task","attempt"])}).strict(),Po=e.object({visibleEvidence:e.array(b).max(1e3),privilegedEvidence:e.array(b).max(1e3),privateVerifierIsolation:e.boolean()}).strict(),ri=e.object({schemaVersion:e.literal("openpond.harnessRelease.v2"),id:b,agentSnapshot:S,program:W,tools:e.array(_a).max(200),lifecycle:Eo,graderInterface:Po,files:e.array(W).max(1e5),metadata:Lt}).strict(),ni=ri.extend({contentHash:R}).strict(),Ao=e.object({id:b,turn:e.number().int().nonnegative(),kind:e.enum(["message","tool_call","terminal"]),name:b.nullable(),arguments:e.record(e.string(),e.unknown()),content:e.string().max(1e6).nullable()}).strict(),Co=e.object({actionId:b,turn:e.number().int().nonnegative(),terminal:e.boolean(),output:e.record(e.string(),e.unknown()),artifactRefs:e.array(Yn).max(1e5)}).strict();function hu(t){let a=ti.parse(t);return ai.parse({...a,contentHash:f(a)})}c(hu,"createAgentSnapshot");function gu(t){let a=ri.parse(t);return ni.parse({...a,contentHash:f(a)})}c(gu,"createHarnessRelease");var Mo=e.object({sequence:e.number().int().nonnegative(),type:e.enum(["created","reset","action","observation","terminal","failure","collected","destroyed"]),payloadHash:R,metadata:Lt}).strict(),vu=e.object({schemaVersion:e.literal("openpond.harnessTrace.v1"),manifest:S,taskId:b,seed:e.string().trim().min(1).max(500),events:e.array(Mo).max(1e6),actions:e.array(Ao).max(1e5),observations:e.array(Co).max(1e5),terminal:e.boolean(),failureClass:wa.nullable(),output:e.record(e.string(),e.unknown()),contentHash:R}).strict(),kr=25*1024*1024,$o=e.object({path:W.shape.path,base64:e.string().max(Math.ceil(kr/3)*4)}).strict(),ii=e.object({schemaVersion:e.literal("openpond.harnessSourcePackage.v1"),agentSnapshot:ai,harnessRelease:ni,files:e.array($o).max(1e4)}).strict(),qo=ii.extend({contentHash:R}).strict(),Do=ii.extend({schemaVersion:e.literal("openpond.harnessPolicySourcePackage.v1"),contentHash:R}).strict(),bu=e.object({schemaVersion:e.literal("openpond.harnessSourceSelection.v1"),mode:e.enum(["taskset_owned","selected_release"]),harnessRelease:S,sourcePackageHash:R.nullable()}).strict().superRefine((t,a)=>{t.mode==="selected_release"!=(t.sourcePackageHash!==null)&&a.addIssue({code:"custom",path:["sourcePackageHash"],message:"Only a selected release binds a source package."})});function ku(t,a){let r=Do.parse(t);He(r,"Harness policy source package"),He(r.agentSnapshot,"Harness policy source Agent snapshot"),He(r.harnessRelease,"Harness policy source release");let{agentSnapshot:n,harnessRelease:i}=r;if(a&&(a.id!==i.id||a.contentHash!==i.contentHash))throw new Error("Harness policy source package differs from the selected release.");if(i.agentSnapshot.id!==n.id||i.agentSnapshot.contentHash!==n.contentHash)throw new Error("Harness policy source release does not bind its Agent snapshot.");let s=new Map;for(let d of i.files){if(s.has(d.path))throw new Error("Harness policy source contains duplicate asset paths.");s.set(d.path,d)}for(let d of[i.program,n.dependencyLock,...n.instructions,...n.skills,...n.agents])if(f(s.get(d.path)??null)!==f(d))throw new Error(`Harness policy source dependency ${d.path} is absent or differs from its release inventory.`);for(let d of[i.program,n.dependencyLock,...n.instructions,...n.skills])if(d.visibility!=="policy")throw new Error(`Harness policy source dependency ${d.path} is private.`);let o=new Set(i.files.filter(d=>d.visibility==="policy").map(d=>d.path)),l=new Set,u=0;for(let d of r.files){if(l.has(d.path))throw new Error("Harness policy source contains duplicate files.");l.add(d.path);let m=s.get(d.path);if(!m||m.visibility!=="policy")throw new Error(`Harness policy source file ${d.path} is not policy-visible.`);let p=si(d.base64);if(u+=p.byteLength,u>kr)throw new Error("Harness policy source exceeds its byte limit.");if(p.byteLength!==m.sizeBytes||G(p)!==m.contentHash)throw new Error(`Harness policy source file ${d.path} differs from its immutable bytes.`)}if(l.size!==o.size||[...o].some(d=>!l.has(d)))throw new Error("Harness policy source is missing released policy files.");return r}c(ku,"validateHarnessPolicySourcePackage");function Sr(t,a){let r=qo.parse(t);He(r,"Harness source package"),He(r.agentSnapshot,"Harness source Agent snapshot"),He(r.harnessRelease,"Harness source release");let{agentSnapshot:n,harnessRelease:i}=r;if(a&&(a.id!==i.id||a.contentHash!==i.contentHash))throw new Error("Harness source package differs from the selected release.");if(i.agentSnapshot.id!==n.id||i.agentSnapshot.contentHash!==n.contentHash)throw new Error("Harness source release does not bind its Agent snapshot.");let s=new Map,o=new Set;for(let d of i.files){if(d.path.includes("\\")||d.path.includes(":"))throw new Error("Harness source requires portable relative file paths.");if(s.has(d.path)||o.has(d.id))throw new Error("Harness source contains duplicate asset paths or identities.");s.set(d.path,d),o.add(d.id)}for(let d of[i.program,n.dependencyLock,...n.instructions,...n.skills,...n.agents])if(f(s.get(d.path)??null)!==f(d))throw new Error(`Harness source dependency ${d.path} is absent or differs from its release inventory.`);for(let d of[...n.instructions,...n.skills])if(d.visibility!=="policy")throw new Error(`Harness policy source ${d.path} is private.`);let l=new Set,u=0;for(let d of r.files){if(l.has(d.path))throw new Error("Harness source package contains duplicate files.");l.add(d.path);let m=s.get(d.path);if(!m)throw new Error(`Harness source file ${d.path} is not declared by its release.`);let p=si(d.base64);if(u+=p.byteLength,u>kr)throw new Error("Harness source package exceeds its byte limit.");if(p.byteLength!==m.sizeBytes||G(p)!==m.contentHash)throw new Error(`Harness source file ${d.path} differs from its immutable bytes.`)}if(l.size!==s.size)throw new Error("Harness source package is missing released files.");return r}c(Sr,"validateHarnessSourcePackage");function si(t){let a;try{a=atob(t)}catch{throw new Error("Harness source file is not valid base64.")}if(btoa(a)!==t)throw new Error("Harness source file is not canonical base64.");return Uint8Array.from(a,r=>r.charCodeAt(0))}c(si,"decode");var De=e.string().trim().min(1).max(1e5),Oo=e.enum(["no_action","harness_maintenance","runtime","product","taskset","model_improvement"]),Bo=e.enum(["none","runtime_service","product_team","human_review","evaluation_system","training_system"]),oi=e.enum(["observation","trigger","route_decision","refiner_outcome","proposal","validation","apply_receipt","harness_advance","rollback","work_outcome","taskset","evaluation","training_qualification","model_candidate"]),yr=e.object({kind:e.enum(["personal","team"]),id:b}).strict(),ci=e.object({policy:S,state:e.enum(["authorized","revoked","deleted","expired"]),checkedAt:$}).strict(),Nt=e.object({evidence:S,kind:oi,sourceRef:b,sourcePolicy:ci,occurrenceKey:R,occurredAt:$}).strict(),Vo=e.object({evidence:S,sourcePolicy:ci.nullable(),reason:e.enum(["outside_scope","before_watermark","duplicate","resolved","revoked","deleted","expired","sensitive","unverified","budget"])}).strict(),Zn=e.object({cursor:R,throughCreatedAt:$}).strict(),zo=e.object({fingerprint:R,recurrenceFamily:e.string().trim().min(1).max(1e3),statement:De,candidateDisposition:e.enum(["observe","confirm"]).optional(),independentOccurrences:e.number().int().positive().max(1e6),unresolvedOccurrences:e.number().int().positive().max(1e6)}).strict().refine(t=>t.unresolvedOccurrences<=t.independentOccurrences,"unresolved occurrences cannot exceed independent occurrences"),di=e.enum(["harness","runtime","product","retrieval","tools","evaluation","model"]),Fo=e.object({layer:di,status:e.enum(["not_applicable","unresolved","resolved","blocked"]),reason:De,evidenceRefs:e.array(S).max(1e3)}).strict(),Lo=e.object({schemaVersion:e.literal("openpond.harnessEvaluationReviewReceipt.v1"),id:b,ownerScope:yr,workspaceRef:b,harnessRelease:S,previousWatermark:Zn.nullable(),nextWatermark:Zn,selectedEvidence:e.array(Nt).max(1e4),excludedEvidence:e.array(Vo).max(1e4),claim:zo.nullable(),classification:Oo,triage:e.array(Fo).max(16),reason:De,nextAuthority:Bo,maxEstimatedCostUsd:e.number().finite().nonnegative(),tasksetProposal:S.nullable(),evaluation:S.nullable(),trainingQualification:S.nullable(),policyVersion:b,createdAt:$,metadata:Lt}).strict().superRefine((t,a)=>{let r=t.selectedEvidence.map(n=>`${n.evidence.id}:${n.evidence.contentHash}`);new Set(r).size!==r.length&&a.addIssue({code:"custom",message:"selected review evidence must be unique",path:["selectedEvidence"]}),t.selectedEvidence.some(n=>n.sourcePolicy.state!=="authorized")&&a.addIssue({code:"custom",message:"selected review evidence must be authorized at review time",path:["selectedEvidence"]}),t.classification==="no_action"?(t.nextAuthority!=="none"&&a.addIssue({code:"custom",message:"no-action review receipts require no next authority",path:["nextAuthority"]}),(t.tasksetProposal||t.evaluation||t.trainingQualification)&&a.addIssue({code:"custom",message:"no-action review receipts cannot carry downstream refs"})):(!t.claim||t.selectedEvidence.length===0)&&a.addIssue({code:"custom",message:"actionable review receipts require a claim and selected evidence"}),t.classification==="runtime"&&t.nextAuthority!=="runtime_service"&&a.addIssue({code:"custom",message:"runtime classifications route to runtime-service authority",path:["nextAuthority"]}),t.classification==="product"&&t.nextAuthority!=="product_team"&&a.addIssue({code:"custom",message:"product classifications route to product-team authority",path:["nextAuthority"]}),t.classification==="taskset"&&t.nextAuthority!=="human_review"&&a.addIssue({code:"custom",message:"Taskset classifications require human review"}),t.classification==="model_improvement"&&(!t.evaluation||!t.trainingQualification||!["human_review","training_system"].includes(t.nextAuthority))&&a.addIssue({code:"custom",message:"model-improvement classifications require Evaluation and qualification refs plus explicit authority"})}),yu=Lo.extend({contentHash:R}).strict(),wu=e.object({id:b,evidence:S,kind:oi,sourceRef:b,occurredAt:$,payload:e.record(e.string(),e.unknown())}).strict(),No=e.object({schemaVersion:e.literal("openpond.harnessEvaluationReviewModelDecision.v2"),decision:e.literal("no_action"),reason:De,ignoredEvidence:e.array(e.object({id:b,reason:e.string().trim().min(1).max(2e3)}).strict()).max(1e3)}).strict(),Uo=e.object({schemaVersion:e.literal("openpond.harnessEvaluationReviewModelDecision.v2"),decision:e.literal("review"),classification:e.enum(["harness_maintenance","runtime","product","taskset"]),selectedEvidenceIds:e.array(b).min(1).max(1e3),ignoredEvidence:e.array(e.object({id:b,reason:e.string().trim().min(1).max(2e3)}).strict()).max(1e3),recurrenceFamily:e.string().trim().min(1).max(1e3),statement:De,triageLayer:di,expectedOutcome:De,counterevidence:e.string().trim().max(1e4),confidence:e.number().min(0).max(1),candidateDisposition:e.enum(["observe","confirm"]).nullable(),reason:De}).strict().superRefine((t,a)=>{t.classification==="harness_maintenance"!==(t.candidateDisposition!==null)&&a.addIssue({code:"custom",message:"Harness maintenance requires a candidate disposition; external routes require null",path:["candidateDisposition"]})}),Go=e.object({schemaVersion:e.literal("openpond.harnessEvaluationReviewModelDecision.v2"),decision:e.literal("resolve_candidate"),candidateId:b,candidateFingerprint:R,selectedEvidenceIds:e.array(b).min(1).max(1e3),ignoredEvidence:e.array(e.object({id:b,reason:e.string().trim().min(1).max(2e3)}).strict()).max(1e3),confidence:e.number().min(0).max(1),reason:De}).strict(),xu=e.discriminatedUnion("decision",[No,Uo,Go]),Ru=e.object({schemaVersion:e.literal("openpond.harnessEvaluationReviewNavigationDecision.v1"),selectedEvidenceIds:e.array(b).min(1).max(50),reason:De}).strict(),xt=e.record(e.string(),e.unknown()).default({}),ge=e.number().int().nonnegative(),Ha=e.string().trim().min(1).max(1e5),li=e.object({kind:e.enum(["personal","team"]),id:b}).strict(),Jo=e.object({name:b,release:S.nullable(),revision:ge}).strict(),_u=e.object({schemaVersion:e.literal("openpond.harnessWorkspace.v1"),id:b,ownerScope:li,name:e.string().trim().min(1).max(240),location:e.enum(["local","hosted"]),sourceRevision:e.string().trim().min(1).max(500),revision:ge,dirty:e.boolean(),currentChannel:Jo,createdAt:$,updatedAt:$,metadata:xt}).strict(),wt=e.enum(["runtime","memory","prompt","skill","agent","product","taskset","training"]),mi=e.enum(["text_instruction","memory","dependency_selection","executable_code","business_logic","financial_logic","permission","connected_app","publication","deployment","training","model_binding","team_or_global"]),ui=e.object({id:b,route:wt,operation:e.enum(["create","update","delete"]),target:e.string().trim().min(1).max(2e3),summary:e.string().trim().min(1).max(2e3),content:e.string().max(1e6).nullable(),contentHash:R.nullable(),effects:e.array(mi).min(1).max(20)}).strict().superRefine((t,a)=>{if(t.operation==="delete"){(t.content!==null||t.contentHash!==null)&&a.addIssue({code:"custom",message:"delete edits cannot include replacement content",path:["content"]});return}if(t.content===null||t.contentHash===null){a.addIssue({code:"custom",message:"create and update edits require content and contentHash",path:["content"]});return}let r=f(t.content);t.contentHash!==r&&a.addIssue({code:"custom",message:`edit contentHash is ${t.contentHash}; expected ${r}`,path:["contentHash"]})}),pi=e.object({workspaceId:b,revision:ge,sourceRevision:e.string().trim().min(1).max(500),channelRevision:ge}).strict(),Oe=e.object({id:b,revision:ge,contentHash:R}).strict(),Hu=e.object({schemaVersion:e.literal("openpond.harnessTurnSnapshot.v1"),workspaceId:b,workspaceRevision:ge,sourceRevision:e.string().trim().min(1).max(500),channelName:b,channelRevision:ge,harnessRelease:S,toolCatalogHash:R.nullable().optional(),overlay:Oe.nullable().optional().default(null)}).strict(),Ko=e.object({schemaVersion:e.literal("openpond.harnessRunOverlay.v1"),id:b,runId:b,baseHarnessRelease:S,workspace:pi,revision:ge,status:e.enum(["active","frozen","abandoned"]),edits:e.array(ui).max(1e3),createdAt:$,updatedAt:$,metadata:xt}).strict(),ju=Ko.extend({contentHash:R}).strict(),fi=e.object({kind:e.enum(["tool_event","recovery","validation","user_turn","work_output","work_receipt"]),id:b,contentHash:R.nullable()}).strict(),hi=e.object({id:b,kind:e.enum(["dependency","schema","package","file_render","skill","prompt","business_formula","targeted_evaluation","observed_recovery","memory","component_activation"]),description:Ha,required:e.boolean()}).strict(),Wo=e.object({schemaVersion:e.literal("openpond.harnessImprovementProposal.v1"),id:b,overlay:Oe,baseHarnessRelease:S,expectedWorkspace:pi,requestedScope:e.enum(["personal","team","global"]),route:wt,risk:e.enum(["low","review","restricted"]),effects:e.array(mi).min(1).max(20),evidence:e.array(fi).min(1).max(1e3),edits:e.array(ui).min(1).max(1e3),validationPlan:e.array(hi).min(1).max(100),expectedOutcome:Ha,createdAt:$,metadata:xt}).strict().superRefine((t,a)=>{let r=new Set(t.effects);for(let[n,i]of t.edits.entries()){i.route!==t.route&&a.addIssue({code:"custom",message:"every edit route must match the proposal route",path:["edits",n,"route"]});for(let s of i.effects)r.has(s)||a.addIssue({code:"custom",message:`edit effect ${s} is missing from proposal effects`,path:["edits",n,"effects"]})}new Set(t.validationPlan.map(n=>n.id)).size!==t.validationPlan.length&&a.addIssue({code:"custom",message:"validation plan ids must be unique",path:["validationPlan"]})}),Eu=Wo.extend({contentHash:R}).strict(),Yo=e.object({schemaVersion:e.literal("openpond.harnessTargetedValidationReceipt.v1"),id:b,proposal:S,validationId:b,kind:hi.shape.kind,status:e.enum(["passed","failed","blocked","skipped"]),summary:Ha,evidenceRefs:e.array(fi).max(1e3),createdAt:$,metadata:xt}).strict(),Pu=Yo.extend({contentHash:R}).strict(),Xo=e.enum(["advanced","retained","conflict","rolled_back"]),Qo=e.object({schemaVersion:e.literal("openpond.harnessAdvanceReceipt.v1"),id:b,workspaceId:b,ownerScope:li,proposal:S.nullable(),expectedWorkspaceRevision:ge,observedWorkspaceRevision:ge,previousChannelRevision:ge,nextChannelRevision:ge,previousRelease:S.nullable(),nextRelease:S.nullable(),validationReceipts:e.array(S).max(100),decision:Xo,reason:Ha,rollbackOf:S.nullable(),createdAt:$,metadata:xt}).strict().superRefine((t,a)=>{let r=t.nextChannelRevision===t.previousChannelRevision+1;["advanced","rolled_back"].includes(t.decision)!==r&&a.addIssue({code:"custom",message:"only successful advancement or rollback increments the channel revision",path:["nextChannelRevision"]}),t.decision==="rolled_back"&&t.rollbackOf===null&&a.addIssue({code:"custom",message:"rollback receipts require rollbackOf",path:["rollbackOf"]}),t.decision!=="rolled_back"&&t.rollbackOf!==null&&a.addIssue({code:"custom",message:"rollbackOf is only valid for rollback receipts",path:["rollbackOf"]})}),Au=Qo.extend({contentHash:R}).strict(),Zo=e.object({schemaVersion:e.literal("openpond.harnessOverlayMergeReceipt.v1"),id:b,workspaceId:b,baseHarnessRelease:S,leftOverlay:Oe,rightOverlay:Oe,decision:e.enum(["merged","conflict"]),mergedOverlay:Oe.nullable(),conflictTargets:e.array(e.string().trim().min(1).max(2e3)).max(1e3),requiresRevalidation:e.literal(!0),createdAt:$,metadata:xt}).strict().superRefine((t,a)=>{t.decision==="merged"!=(t.mergedOverlay!==null)&&a.addIssue({code:"custom",message:"merged decisions require a merged overlay; conflicts cannot provide one",path:["mergedOverlay"]}),t.decision==="conflict"!=t.conflictTargets.length>0&&a.addIssue({code:"custom",message:"conflict decisions require conflict targets and merged decisions cannot include them",path:["conflictTargets"]})}),Cu=Zo.extend({contentHash:R}).strict(),ja=e.string().trim().min(1).max(1e5),Ut=e.record(e.string(),e.unknown()).default({}),ec=e.enum(["completed_tool_batch","before_model_step","turn_completed","turn_paused"]),gi=e.object({kind:ec,eventSequence:e.number().int().nonnegative(),occurredAt:$}).strict(),vi=e.object({id:b,sequence:e.number().int().nonnegative().nullable(),contentHash:R}).strict(),tc=e.enum(["tool_failure","retry","recovery","validation","user_turn","reusable_success","completion_detour"]),ac=e.enum(["open","recovered","terminal"]),rc=e.object({name:e.string().trim().min(1).max(500),invocationKey:R}).strict(),nc=e.object({schemaVersion:e.literal("openpond.improvementObservation.v1"),id:b,runRef:b,turnId:b,harnessRelease:S,overlay:Oe.nullable(),eventRefs:e.array(vi).min(1).max(100),kind:tc,state:ac,tool:rc.nullable(),deterministicClass:e.string().trim().min(1).max(500).nullable(),summary:ja,createdAt:$,metadata:Ut}).strict().superRefine((t,a)=>{new Set(t.eventRefs.map(r=>r.id)).size!==t.eventRefs.length&&a.addIssue({code:"custom",message:"observation event refs must be unique",path:["eventRefs"]}),["tool_failure","retry","recovery","completion_detour"].includes(t.kind)&&t.tool===null&&a.addIssue({code:"custom",message:`${t.kind} observations require a tool identity`,path:["tool"]})}),Mu=nc.extend({contentHash:R}).strict(),ic=e.object({schemaVersion:e.literal("openpond.refinementTriggerPolicy.v1"),maxEstimatedCostUsd:e.number().finite().nonnegative(),cooldownMs:e.number().int().nonnegative(),maxPendingPlans:e.number().int().min(1).max(100),maxEvidenceEvents:e.number().int().min(1).max(1e3),maxProposalEdits:e.number().int().min(1).max(1e3),maxProposalBytes:e.number().int().min(1).max(1e7)}).strict(),sc=e.enum(["no_action","route_deterministically","queue_refiner"]),oc=e.object({schemaVersion:e.literal("openpond.refinementTriggerDecision.v1"),id:b,runRef:b,turnId:b,harnessRelease:S,overlay:Oe.nullable(),observations:e.array(S).max(100),decision:sc,deterministicRoute:wt.nullable(),suggestedRoutes:e.array(wt).max(8),reason:ja,deduplicationKey:R,policy:ic,estimatedMaxCostUsd:e.number().finite().nonnegative(),pendingPlanCount:e.number().int().nonnegative(),boundary:gi,cooldownUntil:$.nullable(),createdAt:$,metadata:Ut}).strict().superRefine((t,a)=>{t.estimatedMaxCostUsd>t.policy.maxEstimatedCostUsd&&a.addIssue({code:"custom",message:"estimated Refiner cost exceeds the trigger policy budget",path:["estimatedMaxCostUsd"]}),t.pendingPlanCount>t.policy.maxPendingPlans&&a.addIssue({code:"custom",message:"pending plan count exceeds the trigger policy limit",path:["pendingPlanCount"]}),t.observations.length>t.policy.maxEvidenceEvents&&a.addIssue({code:"custom",message:"trigger observations exceed the evidence budget",path:["observations"]}),t.decision==="route_deterministically"&&t.deterministicRoute===null&&a.addIssue({code:"custom",message:"deterministic decisions require a route",path:["deterministicRoute"]}),t.decision!=="route_deterministically"&&t.deterministicRoute!==null&&a.addIssue({code:"custom",message:"only deterministic decisions may declare a deterministic route",path:["deterministicRoute"]}),t.decision==="no_action"&&t.suggestedRoutes.length>0&&a.addIssue({code:"custom",message:"no-action decisions cannot suggest routes",path:["suggestedRoutes"]}),t.decision!=="no_action"&&t.observations.length===0&&a.addIssue({code:"custom",message:"actionable trigger decisions require observations",path:["observations"]})}),$u=oc.extend({contentHash:R}).strict(),cc=e.enum(["runtime_service","refiner_model","human_review","evaluation_system","training_system"]),dc=e.object({schemaVersion:e.literal("openpond.improvementRouteDecision.v1"),id:b,trigger:S,route:wt,authority:cc,automatic:e.boolean(),reason:ja,createdAt:$,metadata:Ut}).strict().superRefine((t,a)=>{t.automatic&&["human_review","evaluation_system","training_system"].includes(t.authority)&&a.addIssue({code:"custom",message:`${t.authority} routes cannot be marked automatic`,path:["automatic"]}),t.route==="training"&&t.automatic&&t.authority!=="training_system"&&a.addIssue({code:"custom",message:"automatic training routes require training-system authority",path:["authority"]})}),qu=dc.extend({contentHash:R}).strict(),lc=e.object({schemaVersion:e.literal("openpond.harnessRefinerOutcome.v1"),id:b,trigger:S,decision:e.enum(["no_action","proposed"]),proposal:S.nullable(),reason:ja,evidenceRefs:e.array(S).max(100),estimatedCostUsd:e.number().finite().nonnegative(),createdAt:$,metadata:Ut}).strict().superRefine((t,a)=>{t.decision==="proposed"!=(t.proposal!==null)&&a.addIssue({code:"custom",message:"proposed Refiner outcomes require a proposal; no-action outcomes cannot include one",path:["proposal"]})}),Du=lc.extend({contentHash:R}).strict(),mc=e.enum(["applied","retained","declined","conflict","rolled_back"]),uc=e.object({schemaVersion:e.literal("openpond.improvementApplyReceipt.v1"),id:b,proposal:S,beforeOverlay:Oe,afterOverlay:Oe.nullable(),decision:mc,boundary:gi,validationRefs:e.array(S).max(100),outcomeEvidenceRefs:e.array(vi).max(1e3),rollbackOf:S.nullable(),createdAt:$,metadata:Ut}).strict().superRefine((t,a)=>{t.decision==="applied"!=(t.afterOverlay!==null)&&a.addIssue({code:"custom",message:"applied receipts require an after-overlay; other decisions cannot include one",path:["afterOverlay"]}),t.decision==="rolled_back"!=(t.rollbackOf!==null)&&a.addIssue({code:"custom",message:"only rollback receipts require rollbackOf",path:["rollbackOf"]})}),Ou=uc.extend({contentHash:R}).strict(),pc=e.string().trim().min(1).max(2e3),wr=e.string().trim().min(1).max(1e5),fc=e.enum(["create","update","delete"]),hc=e.enum(["memory","prompt","skill","agent"]),gc=e.enum(["runtime","product","taskset","training"]),vc=e.enum(["no_action","routed","applied","retained","failed"]),bc=e.enum(["not_applicable","pending","passed","rejected","failed"]),kc=e.enum(["not_applicable","pending","passed","failed"]),Sc=e.object({schemaVersion:e.literal("openpond.harnessRefinerActivityReceipt.v1"),id:b,runRef:b,turnId:b,result:vc,decision:e.enum(["no_action","route","propose"]).nullable(),route:wt.nullable(),operation:fc.nullable(),target:e.string().trim().min(1).max(2e3).nullable(),summary:pc,evidenceBasis:xa.nullable(),critiqueStatus:bc,validationStatus:kc,trigger:S,outcome:S.nullable(),proposal:S.nullable(),applyReceipt:S.nullable(),inputHarness:S,outputHarness:S.nullable(),createdAt:$}).strict().superRefine((t,a)=>{let r=t.result==="applied"||t.result==="retained";t.result==="no_action"?ei(a,t,{decision:"no_action",route:null,operation:null,target:null,evidenceBasis:null,proposal:null,applyReceipt:null,outputHarness:null,critiqueStatus:"not_applicable",validationStatus:"not_applicable"}):t.result==="routed"?((t.decision!=="route"||!gc.safeParse(t.route).success||t.operation!==null||t.target!==null||t.evidenceBasis===null||t.proposal!==null||t.applyReceipt!==null||t.outputHarness!==null)&&a.addIssue({code:"custom",message:"routed activity requires an external route and evidence basis without proposal state"}),ei(a,t,{critiqueStatus:"not_applicable",validationStatus:"not_applicable"})):r?((t.decision!=="propose"||!hc.safeParse(t.route).success||t.operation===null||t.target===null||t.evidenceBasis===null||t.proposal===null||t.applyReceipt===null)&&a.addIssue({code:"custom",message:"applied and retained activity requires complete proposal state"}),t.result==="applied"&&t.outputHarness===null&&a.addIssue({code:"custom",message:"applied activity requires the advanced Harness release",path:["outputHarness"]}),t.result==="applied"&&(t.critiqueStatus!=="passed"||t.validationStatus!=="passed")&&a.addIssue({code:"custom",message:"applied activity requires passed critique and validation"}),t.result==="retained"&&t.outputHarness!==null&&a.addIssue({code:"custom",message:"retained activity cannot report a new Harness release",path:["outputHarness"]})):(t.decision!==null||t.route!==null||t.operation!==null||t.target!==null||t.evidenceBasis!==null||t.outcome!==null||t.proposal!==null||t.applyReceipt!==null||t.outputHarness!==null)&&a.addIssue({code:"custom",message:"failed activity cannot claim a decision, route, proposal, or release transition"}),t.result!=="failed"&&t.outcome===null&&a.addIssue({code:"custom",message:"terminal Refiner decisions require an outcome reference",path:["outcome"]})}),Vu=Sc.extend({contentHash:R}).strict(),yc=e.enum(["unresolved","confirmed","resolved","rejected","expired"]),wc=e.object({kind:e.enum(["applied_change","later_success","manual_rejection","source_revoked","expired"]),reason:wr,evidenceRefs:e.array(S).max(1e3),resolvedAt:$}).strict(),xc=e.object({schemaVersion:e.literal("openpond.harnessRefinementCandidate.v1"),id:b,ownerScope:yr,workspaceRef:b,fingerprint:R,recurrenceFamily:e.string().trim().min(1).max(1e3),statement:wr,status:yc,occurrences:e.array(Nt).max(1e3),counterevidence:e.array(Nt).max(1e3),sourceReviews:e.array(S).min(1).max(100),relatedHarnessReleases:e.array(S).max(100),firstSeenAt:$,lastSeenAt:$,lastReviewedAt:$,expiresAt:$,resolution:wc.nullable(),createdAt:$,updatedAt:$}).strict().superRefine((t,a)=>{st(a,t.occurrences,"occurrences"),st(a,t.counterevidence,"counterevidence"),st(a,t.sourceReviews,"sourceReviews"),st(a,t.relatedHarnessReleases,"relatedHarnessReleases");let r=new Set(t.occurrences.map(i=>i.occurrenceKey));t.counterevidence.some(i=>r.has(i.occurrenceKey))&&a.addIssue({code:"custom",message:"supporting occurrences and counterevidence must be disjoint",path:["counterevidence"]});let n=t.status==="unresolved"||t.status==="confirmed";n&&t.occurrences.length===0&&a.addIssue({code:"custom",message:"actionable candidates require at least one supporting occurrence",path:["occurrences"]}),n&&[...t.occurrences,...t.counterevidence].some(i=>i.sourcePolicy.state!=="authorized")&&a.addIssue({code:"custom",message:"actionable candidates may contain only currently authorized evidence",path:["occurrences"]}),n!==(t.resolution===null)&&a.addIssue({code:"custom",message:"only resolved, rejected, or expired candidates require a resolution",path:["resolution"]}),t.status==="expired"&&t.resolution?.kind!=="expired"&&a.addIssue({code:"custom",message:"expired candidates require an expired resolution",path:["resolution","kind"]}),t.status==="rejected"&&t.resolution&&!["manual_rejection","source_revoked"].includes(t.resolution.kind)&&a.addIssue({code:"custom",message:"rejected candidates require a rejection or revocation resolution",path:["resolution","kind"]}),t.status==="resolved"&&t.resolution&&!["applied_change","later_success"].includes(t.resolution.kind)&&a.addIssue({code:"custom",message:"resolved candidates require applied-change or later-success evidence",path:["resolution","kind"]}),Hc(a,t)}),zu=xc.extend({contentHash:R}).strict(),Rc=e.enum(["created","merged","rejected","expired","reopened","resolved"]),Tc=e.object({schemaVersion:e.literal("openpond.harnessRefinementCandidateLifecycleReceipt.v1"),id:b,candidateId:b,decision:Rc,beforeCandidate:S.nullable(),afterCandidate:S,review:S,addedEvidence:e.array(Nt).max(1e3),removedEvidence:e.array(S).max(1e3),reason:wr,createdAt:$}).strict().superRefine((t,a)=>{t.decision==="created"!=(t.beforeCandidate===null)&&a.addIssue({code:"custom",message:"only candidate creation omits the previous candidate reference",path:["beforeCandidate"]}),t.beforeCandidate&&t.beforeCandidate.contentHash===t.afterCandidate.contentHash&&a.addIssue({code:"custom",message:"candidate lifecycle transitions must change candidate content",path:["afterCandidate"]}),["created","reopened"].includes(t.decision)&&t.addedEvidence.length===0&&a.addIssue({code:"custom",message:`${t.decision} candidate transitions require added evidence`,path:["addedEvidence"]}),t.addedEvidence.some(n=>n.sourcePolicy.state!=="authorized")&&a.addIssue({code:"custom",message:"candidate transitions may add only authorized evidence",path:["addedEvidence"]}),st(a,t.addedEvidence,"addedEvidence"),st(a,t.removedEvidence,"removedEvidence");let r=new Set(t.removedEvidence.map(n=>vr(n)));t.addedEvidence.some(n=>r.has(vr(n.evidence)))&&a.addIssue({code:"custom",message:"candidate lifecycle evidence cannot be added and removed together",path:["removedEvidence"]})}),Fu=Tc.extend({contentHash:R}).strict(),Ic=e.object({schemaVersion:e.literal("openpond.harnessCrossRunRefinementRequest.v1"),id:b,ownerScope:yr,workspaceRef:b,candidate:S,candidateFingerprint:R,review:S,admittedHarness:S,evidence:e.array(Nt).min(1).max(1e3),capabilities:Ra,deduplicationKey:R,createdAt:$}).strict().superRefine((t,a)=>{t.evidence.some(n=>n.sourcePolicy.state!=="authorized")&&a.addIssue({code:"custom",message:"cross-run refinement requires currently authorized evidence",path:["evidence"]}),st(a,t.evidence,"evidence"),Object.values(t.capabilities).some(Boolean)||a.addIssue({code:"custom",message:"cross-run refinement requires at least one available Harness capability",path:["capabilities"]});let r=_c(t);t.deduplicationKey!==r&&a.addIssue({code:"custom",message:`cross-run refinement deduplicationKey is ${t.deduplicationKey}; expected ${r}`,path:["deduplicationKey"]})}),Lu=Ic.extend({contentHash:R}).strict();function _c(t){return f({schemaVersion:"openpond.harnessCrossRunRefinementIdentity.v1",workspaceRef:t.workspaceRef,candidateFingerprint:t.candidateFingerprint,admittedHarness:t.admittedHarness})}c(_c,"harnessCrossRunRefinementDeduplicationKey");function ei(t,a,r){for(let[n,i]of Object.entries(r))a[n]!==i&&t.addIssue({code:"custom",message:`${n} must be ${String(i)}`,path:[n]})}c(ei,"requireFields");function st(t,a,r){let n=a.map(i=>vr(i));new Set(n).size!==n.length&&t.addIssue({code:"custom",message:`${r} references must be unique`,path:[r]})}c(st,"requireUniqueRefs");function vr(t){if(!t||typeof t!="object"||Array.isArray(t))return String(t);let a=t;if(typeof a.occurrenceKey=="string")return a.occurrenceKey;let r=a.evidence;if(r&&typeof r=="object"&&!Array.isArray(r)){let n=r;return`${String(n.id)}:${String(n.contentHash)}`}return`${String(a.id)}:${String(a.contentHash)}`}c(vr,"refKey");function Hc(t,a){let r=[["firstSeenAt",a.firstSeenAt],["lastSeenAt",a.lastSeenAt],["lastReviewedAt",a.lastReviewedAt],["updatedAt",a.updatedAt],["expiresAt",a.expiresAt]];for(let n=1;n<r.length;n+=1){let i=r[n-1],s=r[n];Date.parse(i[1])<=Date.parse(s[1])||t.addIssue({code:"custom",message:`${s[0]} must not precede ${i[0]}`,path:[s[0]]})}Date.parse(a.createdAt)>Date.parse(a.updatedAt)&&t.addIssue({code:"custom",message:"updatedAt must not precede createdAt",path:["updatedAt"]})}c(Hc,"requireChronology");var Uu=e.object({path:e.string().min(1).max(2e3),offset:e.number().int().nonnegative().default(0),length:e.number().int().positive().max(65536).default(16384)}).strict(),bi=e.string().regex(/^[a-z][a-z0-9_-]{0,119}$/),ki=e.string().min(1).max(2e3).refine(t=>!t.includes("\\")&&!t.includes(":")&&!t.startsWith("/")&&t.split("/").every(a=>a!==""&&a!=="."&&a!==".."),"workflow references require portable relative paths"),jc=e.object({id:bi,label:e.string().trim().min(1).max(240),description:e.string().max(4e3),inputSchema:e.record(e.string(),e.unknown()),invocation:e.discriminatedUnion("kind",[e.object({kind:e.literal("instructions"),instructions:e.string().min(1).max(1e5).refine(t=>!!t.trim())}).strict(),e.object({kind:e.literal("agent_action"),actionId:e.string().trim().min(1).max(240)}).strict()]),skillPaths:e.array(ki).max(100)}).strict(),Ju=e.object({schemaVersion:e.literal("openpond.profileWorkflows.v1"),workflows:e.array(jc).max(1e3)}).strict(),Ec=e.object({id:e.string().trim().min(1).max(240),agentId:e.string().regex(/^[a-zA-Z0-9_-]{1,240}$/),sourceActionId:e.string().trim().min(1).max(240),inputSchema:e.record(e.string(),e.unknown())}).strict(),Ku=e.object({schemaVersion:e.literal("openpond.profileWorkflowActions.v1"),actions:e.array(Ec).max(200)}).strict(),Wu=e.object({schemaVersion:e.literal("openpond.profileWorkflowBinding.v1"),profileId:e.string().trim().min(1).max(240),sourceRevision:e.string().trim().min(1).max(240),harnessRelease:S,catalogHash:R,workflowId:bi}).strict(),Yu=e.object({schemaVersion:e.literal("openpond.profileComponentBinding.v1"),profileId:e.string().trim().min(1).max(240),sourceRevision:e.string().trim().min(1).max(240),harnessRelease:S,target:e.discriminatedUnion("kind",[e.object({kind:e.literal("profile")}).strict(),e.object({kind:e.literal("skill"),skillPath:ki}).strict(),e.object({kind:e.literal("agent_action"),actionId:e.string().trim().min(1).max(240)}).strict()])}).strict(),Ta=e.string().min(1).max(2e3).refine(t=>!t.includes("\\")&&!t.includes(":")&&!t.startsWith("/")&&t.split("/").every(a=>a!==""&&a!=="."&&a!==".."),"source paths must be portable relative paths"),ep=e.string().regex(/^[a-z][a-z0-9_-]{0,119}$/),Pc={type:"object",properties:{},additionalProperties:!1},tp=e.object({name:e.string().trim().min(1).max(240).optional(),description:e.string().max(4e3).optional(),skillPaths:e.array(Ta).max(100).optional(),assetPaths:e.array(Ta).max(100).optional()}).strict(),ap=e.object({actionId:e.string().trim().min(1).max(240),name:e.string().trim().min(1).max(240),description:e.string().max(4e3).default(""),inputSchema:e.record(e.string(),e.unknown()).default(Pc),skillPaths:e.array(Ta).max(100).default([]),assetPaths:e.array(Ta).max(100).default([])}).strict();var Ac=e.object({schemaVersion:e.literal("openpond.connectedDatasetSource.v1"),kind:e.literal("connected_activity"),id:e.string().min(1).max(240),profileId:e.string().min(1).max(240),title:e.string().min(1).max(500),sourceHash:e.string().regex(/^[a-f0-9]{64}$/),occurredAt:e.string().datetime(),licensingStatus:e.enum(["pending","approved","review","blocked"]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),origin:rn,sourceId:e.string().min(1).max(500),sessionId:e.string().min(1).max(500),normalizerVersion:e.string().min(1).max(200),projection:e.enum(["turn","conversation"]),ownerUserId:e.string().min(1).max(500),purpose:e.literal("recorded_evaluation"),metadata:e.record(e.string(),e.unknown()).default({})}).strict(),ve=e.string().trim().min(1).max(240),Ve=e.string().trim().min(1),Ye=e.string().trim().min(8).max(256),yi=e.string().trim().min(1).max(1e3).refine(t=>!t.startsWith("/")&&!t.startsWith("\\")&&!t.split(/[\\/]/).includes(".."),"Artifact paths must be relative and stay inside the Dataset."),dt=e.enum(["train","validation","test","frozen_eval"]),Cc=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(Cc).min(1).max(1e4),schemaHash:Ye}),$c=e.object({id:ve,split:dt,path:yi,contentHash:Ye,schemaHash:Ye,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),Gt=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:ve,tasksetId:ve,tasksetRevision:e.number().int().positive(),contentHash:Ye,format:e.literal("parquet"),schema:Mc,shards:e.array($c).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(dt,e.number().int().nonnegative()),sourceReceiptRefs:e.array(ve).min(1).max(1e5),mappingHash:Ye,qualityReportHash:Ye,createdAt:Ve}),up=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:ve,tasksetId:ve,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(dt,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:Ye,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Ve}),qc=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:ve,tasksetRevision:e.number().int().positive(),artifactId:ve.nullable(),name:e.string().trim().min(1).max(500),status:e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),storageKind:e.enum(["inline","parquet"]),rowCount:e.number().int().nonnegative(),splitCounts:e.record(dt,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Ve,updatedAt:Ve}),pp=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:ve,datasets:e.array(qc),generatedAt:Ve}),fp=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:Gt,profileId:ve,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:yi,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:Ve.nullable(),createdAt:Ve,updatedAt:Ve}),hp=e.object({split:dt.nullable().default(null),cursor:e.string().trim().min(1).max(2e3).nullable().default(null),limit:e.number().int().min(1).max(100).default(25),columns:e.array(e.string().trim().min(1).max(500)).max(100).default([])}),gp=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:ve,tasksetRevision:e.number().int().positive(),artifactHash:Ye,split:dt.nullable(),rows:e.array(e.record(e.string(),e.unknown())).max(100),nextCursor:e.string().max(2e3).nullable(),totalRows:e.number().int().nonnegative(),returnedRows:e.number().int().nonnegative()}),Dc=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:Ve}),Oc=e.object({id:ve,label:e.string().trim().min(1).max(500),path:e.string().trim().min(1).max(4e3),datasetStorePath:e.string().trim().min(1).max(4e3),kind:e.enum(["local","network","removable","cache"]),configured:e.boolean(),mounted:e.boolean(),writable:e.boolean(),totalBytes:e.number().int().nonnegative().nullable(),freeBytes:e.number().int().nonnegative().nullable()}),vp=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:Dc,storageRoots:e.array(Oc)}),bp=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)}),Tt=e.string().trim().min(1).max(240),Bc=e.string().trim().min(1),It=e.string().trim().min(8).max(256),Vc=e.record(e.string(),e.unknown()).default({}),zc=e.string().trim().min(7).max(256),Fc=e.enum(["pending","approved","review","blocked"]),Aa=e.object({id:Tt,profileId:Tt,title:e.string().trim().min(1).max(500),sourceHash:It,occurredAt:Bc,licensingStatus:Fc,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:Vc}),Lc=Aa.extend({schemaVersion:e.literal("openpond.huggingFaceDatasetSource.v1"),kind:e.literal("huggingface"),repositoryId:e.string().trim().regex(/^[^/\s]+\/[^/\s]+$/).max(500),repositoryUrl:e.string().url().max(2e3),revision:zc,configuration:e.string().trim().min(1).max(500),upstreamSplits:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),gated:e.boolean(),private:e.boolean(),declaredLicense:e.string().trim().min(1).max(500).nullable(),sourceFileHashes:e.array(It).min(1).max(1e5)}),Nc=Aa.extend({schemaVersion:e.literal("openpond.uploadedFileDatasetSource.v1"),kind:e.literal("uploaded_file"),originalFileNames:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),mediaTypes:e.array(e.string().trim().min(1).max(200)).min(1).max(1e3),sourceFileHashes:e.array(It).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),Uc=Aa.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:Tt,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:It}),Gc=Aa.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:Tt,revision:e.number().int().positive(),contentHash:It}).strict(),taskDefinition:e.object({id:Tt,revision:e.number().int().positive(),contentHash:It}).strict(),admittedBy:Tt}),Jc=e.discriminatedUnion("kind",[Lc,Nc,Uc,Gc]),Kc=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:b,modelToolName:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(1e3),inputSchema:e.record(e.string(),e.unknown()),actionSchemaHash:R,agentRelease:S,implementationHash:R,runtimeBindingId:b,capabilityReceiptHash:R,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:b,source:e.literal("case_id")}).strict()).max(20).default([])}).strict(),q=e.string().trim().min(1).max(240),Rr=e.string().trim().min(1),Wc=e.string().trim().min(8).max(256),Tr=e.string().trim().regex(/^[a-f0-9]{64}$/),Yc=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),Se=e.record(e.string(),e.unknown()).default({}),Ca=q.nullable();function Jt(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}c(Jt,"safeRelativeFilePath");function Xc(t){let a=t.trim();return a.length>0&&a!=="."&&a!==".."&&!a.includes("/")&&!a.includes("\\")&&!a.includes("\0")}c(Xc,"safeFileName");var Pa=dt,Ma=e.enum(["general","benchmark"]),$a=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:q,releaseId:q,releaseHash:Tr,managedReleasePath:e.string().trim().min(1).max(1e3).refine(Jt,"Benchmark release paths must remain relative."),adaptationSplit:Pa,evaluationSplit:Pa,primaryMetric:e.enum(["foreground_tokens","success_rate","latency_ms","cost_usd"]),qualityGate:e.enum(["none","non_regression","all_pass"]),source:e.enum(["builtin","imported"]),metadata:Se}),qa=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:q,releaseHash:Tr,publishedAt:Rr,metadata:Se}),Qc=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:Ca,grantedAt:Rr.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),Zc=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:q,profileId:q,sessionId:q,turnIds:e.array(q).max(1e3).default([]),workspaceId:Ca,sourceHash:Wc,clusterKey:q,title:e.string().trim().min(1).max(500),occurredAt:Rr,consent:Qc,connectedAppIds:e.array(q).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:Se}),_t=e.union([Zc,Jc,Ac]),Da=e.object({policyVisibleFields:e.array(q).max(1e3).default([]),privilegedFields:e.array(q).max(1e3).default([]),hiddenGraderRefs:e.array(q).max(100).default([]),connectedAppScopes:e.array(q).max(100).default([])}),ed=e.object({id:q,sourceRefId:q,artifactRef:e.string().trim().min(1).max(4e3).refine(Jt,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(Xc,"Task asset file names must not contain path separators."),mediaType:e.string().trim().min(1).max(200),sha256:Tr,sizeBytes:e.number().int().nonnegative().max(25e7),split:Pa,metadata:Se}),td=e.object({path:e.string().trim().min(1).max(1e3).refine(Jt,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:q.nullable().optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:Se}),Kt=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:q,clusterKey:q,split:Pa,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:Ca,sourceRefs:e.array(q).min(1).max(100),assets:e.array(ed).max(1e3).optional(),resourceRefs:e.array(q).max(1e3).optional(),requiredOutputs:e.array(td).max(100).optional(),tags:e.array(q).max(100).default([]),metadata:Se}),Ir=e.object({id:q,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(Jt,"Environment resource paths must remain relative."),mediaType:e.string().trim().min(1).max(200).nullable().optional(),visibility:e.enum(["policy_visible","policy_hidden","privileged"]),required:e.boolean(),metadata:Se}),Ht=e.object({id:q,taskId:Ca,sourceRefs:e.array(q).min(1).max(100),artifactRef:q,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:Se}),wi=Ht.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),xi=Ht.extend({kind:e.literal("preference"),prompt:e.string().max(1e5),chosen:e.string().max(2e5),rejected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),Ri=Ht.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),Ti=Ht.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),Ii=Ht.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:q,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),_i=Ht.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:q,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)})}),Rp=e.discriminatedUnion("kind",[wi,xi,Ri,Ti,Ii,_i]),Oa=e.object({demonstrations:e.array(wi).max(1e5).default([]),preferences:e.array(xi).max(1e5).default([]),corrections:e.array(Ri).max(1e5).default([]),feedback:e.array(Ti).max(1e5).default([]),rewards:e.array(Ii).max(1e5).default([]),labels:e.array(_i).max(1e5).default([])}),Ba=e.object({protocolVersion:e.literal("openpond.taskEnvironment.v1"),kind:e.enum(["chat","agent","program","stateful_harness","work"]),entrypoint:e.string().trim().min(1).max(1e3),stateful:e.boolean(),deterministicSeeds:e.boolean(),toolNames:e.array(q).max(200).default([]),actionBindings:e.array(Kc).max(200).optional(),lifecycle:e.array(e.enum(["create","reset","step","grade","cleanup"])).min(1),defaultTimeoutMs:e.number().int().positive().max(36e5),networkPolicy:e.enum(["none","declared_read_only","declared_scoped"]),resources:e.array(Ir).max(1e4).optional(),metadata:Se}),Va=e.object({schemaVersion:e.literal("openpond.tasksetCapabilities.v1"),taskKind:e.enum(["chat","single_agent","multi_agent","custom_program"]),supportedSignals:e.array(e.enum(["demonstration","preference","correction","feedback","reward","label"])),compatibleMethods:e.array(e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"])),rewardKinds:e.array(e.enum(["none","exact","deterministic","model_judge","human"])),requiresTools:e.boolean(),requiresState:e.boolean(),requiresPrivilegedGrading:e.boolean(),environmentPlacements:e.array(e.enum(["local","remote","colocated","provider_native"])),exportable:e.boolean(),portabilityBlockers:e.array(e.string().trim().min(1).max(2e3)).default([])}),za=e.object({id:q,version:e.string().trim().min(1).max(100),label:e.string().trim().min(1).max(500),weight:e.number().min(0).max(1e3).default(1),hardGate:e.boolean().default(!1),rewardEligible:e.boolean().default(!1),privileged:e.boolean().default(!1),metadata:Se}),ad=za.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),rd=za.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:Ia,calibrationFixtureRefs:e.array(q).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),nd=za.extend({kind:e.literal("human"),form:cn.optional(),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),id=za.extend({kind:e.literal("custom_verifier"),runtime:ln.optional(),module:e.string().trim().min(1).max(1e3).refine(Jt,"Custom verifier modules must use a safe relative path."),exportName:Yc,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),de=e.union([ad,rd,nd,id]),sd=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),lt=e.object({id:q,taskId:q,label:sd,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:Se}),Ea=e.string().regex(/^[a-f0-9]{64}$/),Ep=e.object({schemaVersion:e.literal("openpond.javascriptEnvironmentAttempt.v1"),taskId:e.string(),status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),output:e.string().nullable(),collected:e.boolean(),environmentCleanupComplete:e.boolean(),snapshot:e.object({definition:N,inputHash:Ea,seed:e.number().int(),initialStateHash:Ea,finalStateHash:Ea,state:e.record(e.string(),e.unknown()),events:e.array(e.record(e.string(),e.unknown()))}).strict().nullable(),messages:e.array(e.unknown()),error:e.string().nullable(),contentHash:Ea}).strict();var ct=e.object({environment:Ue,verifierSet:Ge,javascript:va}).strict(),Pp=e.object({actions:e.array(e.object({name:e.string().min(1).max(64),arguments:e.record(e.string(),e.unknown())}).strict()).max(1e3)}).strict();function Wt(t){if(!t.environmentRelease||!t.verifierSetRelease)throw new Error("Starter execution release references are missing.");return`starter-execution-${M({environment:t.environmentRelease,verifiers:t.verifierSetRelease}).contentHash}`}c(Wt,"modelStarterExecutionAssetId");function od(t){let a=ct.parse(t);Hi(a);let r=Wt({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),n=ma({text:C(a),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:i,...s}=n;return M({...s,id:r,asset:{...s.asset,id:r}})}c(od,"createModelStarterExecutionAsset");function Ap(t,a,r){if(a.id!==Wt(t)||a.asset.visibility!=="host_private"||a.asset.mediaType!=="application/json")throw new Error("Starter execution asset differs from its Taskset references.");let n=ct.parse(JSON.parse(K(a,a.asset)));return _r(n,t,r),n}c(Ap,"resolveModelStarterExecutionAsset");function ot(t,a){return M({value:t}).contentHash===M({value:a}).contentHash}c(ot,"equal");function Hi(t){qn(t.javascript);for(let a of[t.environment,t.verifierSet]){let{contentHash:r,...n}=a;if(M(n).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${a.id}.`)}if(!ot(t.environment.metadata.javascriptEnvironment,x(t.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}c(Hi,"assertExecutionIntegrity");function _r(t,a,r){if(!t){if(a.environment.entrypoint==="openpond.javascript-environment.v1")throw new Error("Starter JavaScript execution resources are missing.");return}let{environment:n,verifierSet:i,javascript:s}=t;if(Hi(t),!ot(a.environmentRelease,{id:n.id,contentHash:n.contentHash})||!ot(a.verifierSetRelease,{id:i.id,contentHash:i.contentHash})||!ot(n.contract,a.environment)||!ot(i.graders,a.graders)||!ot(a.tools,s.tools)||!ot(n.metadata.javascriptEnvironment,x(s)))throw new Error("Starter execution resources differ from its declared task context.");let o=n.contract;if(o.entrypoint!=="openpond.javascript-environment.v1"||o.kind!=="agent"||!o.stateful||!o.deterministicSeeds||o.networkPolicy!=="none"||new Set(o.lifecycle).size!==5||a.capabilities.length||a.policy.connectedAppScopes.length)throw new Error("Starter JavaScript environment declares unsupported host capabilities.");for(let l of[s.module,n.actionSchemaRef,n.observationSchemaRef,n.stateSchemaRef]){if(!l)continue;let u=r.find(d=>d.id===l.id);if(!u)throw new Error(`Starter environment asset is missing: ${l.id}.`);K(u,l)}for(let l of a.tasks){let u=r.find(m=>m.id===l.privilegedContextRef);if(!u||u.asset.visibility!=="host_private"||u.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${l.id}.`);let d=JSON.parse(K(u,u.asset));if(!d||typeof d!="object"||Array.isArray(d))throw new Error(`Starter initial state must be a JSON object: ${l.id}.`);ke(d,s.maxStateBytes)}}c(_r,"validateModelStarterExecution");var ji=e.object({environment:Ue,verifierSet:Ge}).strict();function cd(t){if(!t.environmentRelease||!t.verifierSetRelease)throw new Error("Taskset execution references are missing.");return`taskset-execution-${M({environment:t.environmentRelease,verifiers:t.verifierSetRelease}).contentHash}`}c(cd,"modelTasksetExecutionResourcesAssetId");function qp(t){let a=ji.parse({environment:t.environment,verifierSet:t.verifierSet});dd(a);let r=cd({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),{contentHash:n,...i}=ma({text:C(a),path:"environment/resources.json",mediaType:"application/json",visibility:"host_private"});return M({...i,id:r,asset:{...i.asset,id:r}})}c(qp,"createModelTasksetExecutionResourcesAsset");function dd(t){if(!Je(t.environment)||!Ke(t.verifierSet))throw new Error("Taskset execution resource integrity failed.")}c(dd,"assertIntegrity");var Ei=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),Hr=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:Ei,root:N,parent:N}).strict(),Pi=e.object({taskset:pe,taskDefinition:ie,rewardBinding:Ae,rewards:e.array(at).min(1).max(100),assets:e.array(Te).max(1e3),executionResources:ji.optional(),execution:ct.optional(),instructionMode:e.literal("per_task").optional()}).strict(),Be=c((t,a)=>M({value:t}).contentHash===M({value:a}).contentHash,"same"),Si=c((t,a)=>`model-taskset-${M({owner:t,root:a}).contentHash}`,"identity");function Ai(t){return Yt({...t,source:jr(t.source)})}c(Ai,"deriveModelTaskset");function Yt(t){let a=Ei.parse(t.owner),r=t.source,n=t.edits??r,i=r.taskset.metadata.modelTasksetDerivation===void 0?null:Hr.parse(r.taskset.metadata.modelTasksetDerivation);if(i&&r.taskset.id!==Si(i.owner,i.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let s=i&&Be(i.owner,a),o=s?i.root:x(r.taskset),l=s?r.taskset.id:Si(a,o),u=s?r.taskset.revision+1:1,d=Ae.parse(t.rewardBinding),m=t.rewards.map(F=>at.parse(F)),p=ne(d,m);if(d.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let h={...n.taskset.policy,hiddenGraderRefs:p.filter(F=>F.privileged).map(F=>F.id)},v=n.executionResources??n.execution,g=v?.environment??kt({schemaVersion:"openpond.environmentRelease.v1",id:`${l}-environment`,revision:1,contract:n.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),w=St({schemaVersion:"openpond.verifierSetRelease.v1",id:`${l}-verifiers`,revision:u,graders:p,isolation:v?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(n.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:v?{sourceVerifierSet:x(v.verifierSet)}:{}}),_={environment:g,verifierSet:w},E=n.execution?{...n.execution,verifierSet:w}:void 0,{contentHash:I,...T}=n.taskset,{contentHash:Q,...ee}=n.taskDefinition,k={...ee.execution,policy:h,environmentRelease:{id:g.id,contentHash:g.contentHash},verifierSetRelease:{id:w.id,contentHash:w.contentHash}},H=ie.parse(M({...ee,id:`${l}-definition`,revision:u,rewardBinding:x(d),execution:k})),A=r.taskset.metadata.starterAuthoring??r.taskset.metadata.ordinaryAuthoring,J=A&&typeof A=="object"&&!Array.isArray(A)&&"graderFixtures"in A?A.graderFixtures:void 0,y=pe.parse(M({...T,...k,id:l,revision:u,graders:p,metadata:{starter:{taskDefinition:x(H),rewardBinding:x(d)},rewardExecution:{binding:d,rewards:m},...J===void 0?{}:{starterAuthoring:{graderFixtures:J}},...n.taskset.metadata.environmentResources===void 0?{}:{environmentResources:n.taskset.metadata.environmentResources},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:a,root:o,parent:x(r.taskset)}}}));return jr({taskset:y,taskDefinition:H,rewardBinding:d,rewards:m,assets:t.assets,executionResources:_,...E?{execution:E}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}c(Yt,"compileModelTasksetReward");function jr(t){let a=Pi.parse(t),{taskset:r,taskDefinition:n,rewardBinding:i,rewards:s,assets:o,execution:l}=a;for(let w of[r,n,i,...s,...o])bt(w);if(ca(r),i.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!U(n.rewardBinding,x(i)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:u,environment:d,environmentRelease:m,tools:p,capabilities:h,verifierSetRelease:v}=r;if(!Be(n.execution,{policy:u,environment:d,...m?{environmentRelease:m}:{},tools:p,capabilities:h,...v?{verifierSetRelease:v}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!Be(r.graders,ne(i,s)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let w=e.object({taskDefinition:N,rewardBinding:N}).passthrough().parse(r.metadata.starter);if(!U(w.taskDefinition,x(n))||!U(w.rewardBinding,x(i)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!Be(r.metadata.rewardExecution,{binding:i,rewards:s}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!U(N.parse(r.metadata.rewardBinding),x(i)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let g=a.executionResources??l;if(r.environmentRelease&&!g)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(g&&(!Je(g.environment)||!Ke(g.verifierSet)||!Be(r.environmentRelease,{id:g.environment.id,contentHash:g.environment.contentHash})||!Be(r.verifierSetRelease,{id:g.verifierSet.id,contentHash:g.verifierSet.contentHash})||!Be(r.environment,g.environment.contract)||!Be(r.graders,g.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(_r(l,r,o),new Set(o.map(w=>w.id)).size!==o.length)throw new Error("Taskset asset identities must be unique.");for(let w of o)K(w,w.asset);for(let w of g?[g.environment.actionSchemaRef,g.environment.observationSchemaRef,g.environment.stateSchemaRef]:[]){if(!w)continue;let _=o.find(E=>E.id===w.id);if(!_)throw new Error(`Taskset environment asset is missing: ${w.id}.`);K(_,w)}for(let w of r.tasks){if(n.requiredOutputs&&!Be(w.requiredOutputs,n.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${w.id}.`);if(a.instructionMode!=="per_task"&&w.policyVisibleContext.instructions!==n.instructions||!tr(n.inputSchema,w.input).valid||w.expectedOutput!==null&&!tr(n.outputSchema,w.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${w.id}.`);if(w.privilegedContextRef&&!o.some(_=>_.id===w.privilegedContextRef&&_.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${w.id}.`)}for(let w of s){let _=w.implementation,E=[...w.assets,..."verifierRef"in _?[_.verifierRef]:[],..."rubricRef"in _?[_.rubricRef]:[],..."inputContract"in _?[_.inputContract]:[]];for(let I of E){let T=o.find(Q=>Q.id===I.id);if(!T||I.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${I.id}.`);K(T,I)}}return a}c(jr,"validateModelTasksetPackage");var Er=e.object({batch:ga,evidence:e.array(nt).min(1).max(1e4),decisions:e.array(ha).min(1).max(1e4),sources:e.array(Ne).min(1).max(1e4),assets:e.array(Te).max(1e3)}).strict();function Ci(t){return t.evidence.filter(a=>a.submission.evaluatorContext!==null).map(a=>{let r=C(a.submission.evaluatorContext),n=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${a.contentHash}`,path:`learning/context/${a.contentHash}.json`,contentHash:G(n),sizeBytes:n.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(n,i=>String.fromCharCode(i)).join(""))}})}c(Ci,"learningPackageContextFiles");function Mi(t,a){let r=Er.parse(a),n=oe(t);if(!U(x(r.batch),n.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let d of[r.evidence,r.decisions,r.sources,r.assets]){let m=new Set;for(let p of d){bt(p);let h=`${p.id}:${p.revision}`;if(m.has(h))throw new Error("Taskset learning resource identities must be unique.");m.add(h)}}if(r.evidence.length!==r.batch.examples.length||r.decisions.length!==r.batch.examples.length)throw new Error("Taskset learning snapshots must match the admitted batch inventory.");for(let d of r.evidence){let m=r.sources.find(p=>U(x(p),d.source));if(!m||!U(m.taskDefinition,x(n.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(d=>!r.evidence.some(m=>U(m.source,x(d)))))throw new Error("Taskset package includes an unrelated learning source.");let i=n.rewards.flatMap(d=>[...d.assets,...d.implementation.kind==="custom_verifier"?[d.implementation.verifierRef]:d.implementation.kind==="model_judge"||d.implementation.kind==="human"?[d.implementation.rubricRef]:[],..."inputContract"in d.implementation?[d.implementation.inputContract]:[]]);for(let d of i){let m=r.assets.find(p=>p.id===d.id);if(!m)throw new Error("Taskset learning Reward asset is missing.");K(m,d)}if(r.assets.some(d=>!i.some(m=>m.id===d.id)))throw new Error("Taskset package includes an unrelated learning asset.");let s=Rn({batch:r.batch,definition:n.definition,binding:n.binding,rewards:n.rewards,evidence:r.evidence,decisions:r.decisions}),o=oe(s);if(f(o)!==f(n))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let l=c(d=>({policy:d.policy,environment:d.environment,tools:d.tools}),"execution");if(f(l(s))!==f(l(t)))throw new Error("Taskset execution differs from its reviewed task definition.");let u=c(d=>({id:d.id,clusterKey:d.clusterKey,split:d.split,input:d.input,expectedOutput:d.expectedOutput,policyVisibleContext:d.policyVisibleContext,privilegedContextRef:d.privilegedContextRef,artifactRefs:d.artifactRefs,requiredOutputs:d.requiredOutputs??[],tags:d.tags}),"taskContent");if(f(s.tasks.map(u))!==f(t.tasks.map(u)))throw new Error("Taskset rows differ from their reviewed evidence.");return r}c(Mi,"validateTasksetLearningResources");var ze=64*1024*1024,Pr=e.object({asset:W,base64:e.string().max(Math.ceil(ze/3)*4)}).strict();function be(t){let a=Pr.parse(t),r=atob(a.base64);if(btoa(r)!==a.base64)throw new Error(`Taskset asset ${a.asset.id} has noncanonical base64.`);let n=Uint8Array.from(r,i=>i.charCodeAt(0));if(n.byteLength!==a.asset.sizeBytes||G(n)!==a.asset.contentHash)throw new Error(`Taskset asset ${a.asset.id} differs from its immutable bytes.`);return n}c(be,"decodeTasksetPackageFile");function Xe(t){if(t.taskset.environment.entrypoint!=="openpond.javascript-environment.v1")return null;let a=new Map(t.files.map(o=>[o.asset.id,o])),r=c(o=>{let l=a.get(o);if(!l)throw new Error(`Taskset environment asset is missing: ${o}.`);if(l.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let u=new TextDecoder("utf-8",{fatal:!0}).decode(be(l));return Te.parse(M({schemaVersion:"openpond.learningTextAsset.v1",id:o,revision:1,asset:l.asset,text:u}))},"read"),n;if(t.modelResources){if(!t.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");n=ct.parse(t.modelResources.execution)}else{let o=r(Wt(t.taskset));if(o.asset.visibility!=="host_private"||o.asset.mediaType!=="application/json"||o.asset.path!=="environment/execution.json")throw new Error("Taskset execution declaration must be private JSON at environment/execution.json.");n=ct.parse(JSON.parse(o.text))}let s=[...new Set([n.javascript.module.id,...[n.environment.actionSchemaRef,n.environment.observationSchemaRef,n.environment.stateSchemaRef].flatMap(o=>o?[o.id]:[]),...t.taskset.tasks.flatMap(o=>o.privilegedContextRef?[o.privilegedContextRef]:[])])].map(r);return _r(n,t.taskset,s),{execution:n,assets:s}}c(Xe,"resolveTasksetPackageExecution");function Fa(t){let a=od(t),r=new TextEncoder().encode(a.text),n="";for(let i of r)n+=String.fromCharCode(i);return{asset:a.asset,base64:btoa(n)}}c(Fa,"createTasksetPackageExecutionFile");var $i=e.object({schemaVersion:e.literal("openpond.connectedRewardCalibrationProjection.v1"),sourceReward:pn,fixtureSet:W,calibrationCheck:fe,fixture:In,fixtureHash:e.string().regex(/^[a-f0-9]{64}$/),checkResultHash:e.string().regex(/^[a-f0-9]{64}$/),independentCalibrationTask:e.literal(!0),closureRef:W,graderId:e.string().min(1).max(240).optional()}).strict();function qi(t){let a=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring;return e.object({graderFixtures:lt.array().max(1e5).default([])}).passthrough().parse(a??{}).graderFixtures}c(qi,"authoredFixtures");function ld(t){for(let a of qi(t)){let r=a.metadata.rewardCalibration;r&&typeof r=="object"&&Object.hasOwn(r,"closureRef")&&md(t,a)}for(let a of t.files)a.asset.mediaType==="application/vnd.openpond.reward-calibration-closure+json"&&Di(t,a.asset)}c(ld,"assertTasksetCalibrationClosures");function md(t,a){let r=$i.parse(a.metadata.rewardCalibration),n=Di(t,r.closureRef);(f(r.sourceReward)!==f(x(n.reward))||f(r.fixtureSet)!==f(n.reward.fixtureSetRef)||r.calibrationCheck.id!==n.check.id||r.calibrationCheck.revision!==n.check.revision||r.calibrationCheck.contentHash!==f(n.check))&&Y("calibration_source_changed");let i=r.fixture,s=`calibration-${f([r.sourceReward,i.id])}`;(a.id!==s||a.taskId!==s||t.taskset.tasks.some(g=>g.id===s)||r.fixtureHash!==f(i)||f(a.output)!==f(i.output)||a.infrastructureError!==i.infrastructureError)&&Y("calibration_fixture_changed");let o=n.check.results.filter(g=>g.fixture.id===i.id&&g.fixture.contentHash===r.fixtureHash);(o.length!==1||f(o[0])!==r.checkResultHash)&&Y("calibration_result_changed");let l=i.expected;(l.status!=="scored"||typeof l.passed!="boolean"||a.expectedPassed!==l.passed||a.label!==(l.passed?"positive":"negative"))&&Y("calibration_expectation_unsupported");let u=r.graderId??r.sourceReward.id,d=t.taskset.graders.filter(g=>g.id===u),m=d[0];(d.length!==1||!m)&&Y("calibration_grader_not_unique"),a.expectedRewardEligible!==m.rewardEligible&&Y("calibration_reward_expectation_changed");let p=da({schemaVersion:"openpond.rewardBinding.v1",id:`calibration-${n.contentHash}`,revision:1,sources:[{graderId:u,reward:r.sourceReward,role:"evaluation",normalization:{kind:"identity"},weight:m.weight,required:!0,hardGate:m.hardGate,privileged:m.privileged,fixtureRefs:[]}],aggregation:"weighted_mean",unscorable:"exclude_optional_require_all_required"},[n.reward]),h=ne(p,[n.reward])[0],v=c(g=>{let{rewardEligible:w,..._}=g;return _.kind==="model_judge"?{..._,temperature:_.temperature??0}:_},"implementation");return f(v(m))!==f(v(h))&&Y("calibration_grader_changed"),m.kind==="model_judge"&&ud(t,m,r,n),{kind:"independent_reward_calibration",fixtureId:s,task:Bt.parse({id:s,clusterKey:s,split:"validation",input:i.input,expectedOutput:i.expectedOutput,privilegedContextRef:null}),evaluatorContext:i.evaluatorContext,evidence:{output:i.output,artifactRefs:i.artifactRefs,runtimeEventRefs:i.runtimeEventRefs,infrastructureError:i.infrastructureError},grader:h,reward:n.reward,binding:p,expected:l,source:{reward:r.sourceReward,fixtureSet:r.fixtureSet,check:r.calibrationCheck,closure:r.closureRef,fixtureHash:r.fixtureHash,checkResultHash:r.checkResultHash}}}c(md,"resolveIndependent");function Di(t,a){(a.visibility!=="host_private"||a.sizeBytes>jn||a.mediaType!=="application/vnd.openpond.reward-calibration-closure+json")&&Y("calibration_closure_not_private");let r=t.files.filter(u=>u.asset.id===a.id);(r.length!==1||f(r[0].asset)!==f(a))&&Y("calibration_closure_asset_changed");let n=be(r[0]),i=new TextDecoder("utf-8",{fatal:!0}).decode(n),s=En(JSON.parse(i));f(Pn(s).asset)!==f(a)&&Y("calibration_closure_reference_changed"),t.files.filter(u=>u.asset.contentHash===a.contentHash||u.asset.id===a.id||u.asset.path===a.path).some(u=>u.asset.visibility!=="host_private")&&Y("calibration_closure_visible_alias");let l=c(u=>u.id===a.id||u.path===a.path||u.contentHash===a.contentHash,"isAlias");for(let u of t.taskset.tasks)(u.artifactRefs.some(l)||(u.requiredOutputs??[]).some(d=>d.schemaRef&&l(d.schemaRef))||u.privilegedContextRef&&t.files.some(d=>d.asset.id===u.privilegedContextRef&&l(d.asset)))&&Y("calibration_closure_task_alias"),(xr(u.input,i,a.contentHash)||xr(u.policyVisibleContext,i,a.contentHash))&&Y("calibration_closure_inline_alias");for(let u of[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef])u&&l(u)&&Y("calibration_closure_environment_schema_alias");for(let u of[t.taskset.metadata.environmentResources,t.environment.metadata.resources]){if(u===void 0)continue;let d=e.array(e.object({id:e.string().optional(),path:e.string(),visibility:e.string().optional()}).passthrough()).parse(u);for(let m of d){let p=t.files.find(h=>h.asset.path===m.path);(m.id===a.id||m.path===a.path||p&&l(p.asset))&&Y("calibration_closure_environment_resource_alias")}}return s}c(Di,"readPrivateClosure");function xr(t,a,r){return typeof t=="string"?t===a||G(t)===r:!t||typeof t!="object"?!1:G(JSON.stringify(t))===r?!0:Object.values(t).some(n=>xr(n,a,r))}c(xr,"containsClosure");function Y(t){throw new Error(t)}c(Y,"fail");function ud(t,a,r,n){let i=a.id,s=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring,o=e.object({judgeCalibrationFixtures:e.record(e.string(),e.array(e.string().min(1)).max(500))}).passthrough().parse(s),l=n.check.fixtureRefs.map(d=>`calibration-${f([r.sourceReward,d.id])}`);f(o.judgeCalibrationFixtures[i]??[])!==f(l)&&Y("calibration_judge_membership_changed");let u=qi(t);for(let d=0;d<l.length;d++){let m=u.filter(_=>_.id===l[d]);m.length!==1&&Y("calibration_judge_membership_changed");let p=m[0],h=$i.parse(p.metadata.rewardCalibration),v=h.fixture.expected;(v.status!=="scored"||typeof v.passed!="boolean"||p.expectedPassed!==v.passed||p.expectedRewardEligible!==a.rewardEligible||p.label!==(v.passed?"positive":"negative")||f(p.output)!==f(h.fixture.output)||p.infrastructureError!==h.fixture.infrastructureError)&&Y("calibration_judge_membership_changed");let g=n.check.fixtureRefs[d],w=n.check.results.find(_=>_.fixture.id===g.id);(p.taskId!==p.id||h.fixture.id!==g.id||h.fixtureHash!==g.contentHash||f(h.fixture)!==g.contentHash||h.checkResultHash!==f(w)||f(h.sourceReward)!==f(r.sourceReward)||f(h.fixtureSet)!==f(r.fixtureSet)||f(h.calibrationCheck)!==f(r.calibrationCheck)||f(h.closureRef)!==f(r.closureRef)||(h.graderId??h.sourceReward.id)!==i)&&Y("calibration_judge_membership_changed")}}c(ud,"assertJudgeFixtureMembership");function Ar(t){return`model-authored-taskset-${f({owner:t.owner,root:t.root})}`}c(Ar,"modelAuthoredTasksetId");function Cr(t){if(t.metadata.modelTasksetAuthoring===void 0)return null;let a=ka.parse(t.metadata.modelTasksetAuthoring);if(t.id!==Ar(a)||(t.revision===1?!U(a.parent,a.root):a.parent.id!==t.id||a.parent.revision!==t.revision-1))throw new Error("Authored Taskset revision differs from its ownership lineage.");return a}c(Cr,"assertModelTasksetAuthoring");var pd=Pi.omit({taskset:!0,executionResources:!0}),Mr=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:pe,environment:Ue,verifierSet:Ge,files:e.array(Pr).max(1e4),modelResources:pd.optional(),learningResources:Er.optional()}).strict(),mt=Mr.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function $r(t){return t.learningResources?oe(t.taskset).binding:t.modelResources?.rewardBinding??null}c($r,"tasksetPackageRewardBinding");function ut(t){return t.learningResources?oe(t.taskset).definition.instructions:t.modelResources?t.modelResources.taskDefinition.instructions:e.object({instructions:e.string().max(2e4).optional()}).passthrough().parse(t.taskset.metadata.ordinaryAuthoring??{}).instructions??""}c(ut,"resolveTasksetPackageInstructions");function X(t){ke(t,ze);let a=mt.parse(t),{contentHash:r,...n}=a;if(f(n)!==r)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:i,environment:s,verifierSet:o}=a;if(ca(i),Cr(i)&&(a.modelResources||a.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!Je(s)||!Ke(o)||!Rt(i.environmentRelease,{id:s.id,contentHash:s.contentHash})||!Rt(i.verifierSetRelease,{id:o.id,contentHash:o.contentHash})||!Rt(i.environment,s.contract)||!Rt(i.graders,o.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let u=new Map;for(let m of a.files){if(u.has(m.asset.id))throw new Error(`Duplicate Taskset asset identity: ${m.asset.id}.`);be(m),u.set(m.asset.id,m)}function d(m){let p=u.get(m.id);if(!p||!Rt(p.asset,m))throw new Error(`Taskset package asset is missing or mismatched: ${m.id}.`)}c(d,"requireAsset");for(let m of i.tasks){for(let p of m.artifactRefs)d(p);for(let p of m.requiredOutputs??[])p.schemaRef&&d(p.schemaRef);if(m.privilegedContextRef&&u.get(m.privilegedContextRef)?.asset.visibility!=="host_private")throw new Error(`Taskset package private context is missing: ${m.id}.`)}for(let m of[s.actionSchemaRef,s.observationSchemaRef,s.stateSchemaRef])m&&d(m);for(let m of i.graders){let p="verifierRef"in m?m.verifierRef:"rubricRef"in m?m.rubricRef:null;if(p&&(d(p),p.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${p.id}.`)}if(i.metrics?.customAggregator){let m=i.metrics.customAggregator,p=a.files.filter(h=>h.asset.path===m.module);if(p.length!==1||p[0].asset.contentHash!==m.contentHash||p[0].asset.sizeBytes>524288||p[0].asset.visibility==="policy")throw new Error("Taskset metric module is missing or mismatched, public, or exceeds the source limit.")}for(let m of[i.metadata.environmentResources,s.metadata.resources])if(m!==void 0){for(let p of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(m))if(!a.files.some(h=>h.asset.path===p.path))throw new Error(`Taskset environment resource is missing: ${p.path}.`)}if(a.learningResources){if(a.modelResources)throw new Error("Taskset package cannot declare competing authoring graphs.");let m=Mi(i,a.learningResources);for(let p of Ci(m))if(!Rt(u.get(p.asset.id),p))throw new Error("Taskset private context differs from its reviewed evidence.");for(let p of m.assets)d(p.asset)}else if(a.modelResources){let m=jr({...a.modelResources,taskset:i,executionResources:{environment:s,verifierSet:o}});for(let p of m.assets)d(p.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(m=>i.metadata[m]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return Xe(a),ut(a),ld(a),a}c(X,"validateTasksetPackage");function jt(t){ke(t,ze);let a=Mr.parse(t);return X({...a,contentHash:f(a)})}c(jt,"createTasksetPackage");function Rt(t,a){return f({value:t})===f({value:a})}c(Rt,"same2");var La=fe.shape.id,qr=e.object({schemaVersion:e.literal("openpond.modelBatchReviewInspection.v1"),packageHash:e.string().regex(/^[a-f0-9]{64}$/),definition:ie,binding:Ae,evidence:e.array(nt).min(1).max(1e4),decisions:e.array(ha).min(1).max(1e4)}).strict(),Na=e.object({schemaVersion:e.literal("openpond.modelBatchReviewRequest.v1"),operationId:La,modelId:La,expectedModelRevision:e.number().int().positive(),tasksetRef:fe,rewardBindingRef:fe.nullable(),definition:e.object({name:e.string().trim().min(1).max(500).optional(),instructions:e.string().trim().min(1).max(2e4).optional(),inputSchema:rt.optional(),outputSchema:rt.optional(),requiredOutputs:ie.shape.requiredOutputs}).strict(),examples:e.array(e.object({evidence:fe,input:rt.optional(),expected:rt.nullable().optional(),evaluatorContext:rt.nullable().optional(),proposedTarget:rt.nullable().optional()}).strict()).max(1e4)}).strict(),Dr=e.object({schemaVersion:e.literal("openpond.modelBatchReviewReceipt.v1"),operationId:La,modelId:La,source:Ne,evidence:e.array(nt).min(1).max(1e4),proposals:e.array(fa).max(1e4)}).strict();function Oi(t){let a=t.taskset.metadata.ordinaryAuthoring,r=e.record(e.string(),e.array(e.string().min(1)).max(1e5)).parse(a?.judgeCalibrationFixtures??{});return t.taskset.graders.map(n=>{let i={...n,label:n.id,metadata:{portableGrader:n}};if(n.kind==="custom_verifier")return de.parse({...i,module:Xt(n.verifierRef.contentHash),exportName:n.exportName??"verify",metadata:{...i.metadata,portableVerifierRef:n.verifierRef}});if(n.kind==="human"||n.kind==="model_judge"){let s=t.files.find(u=>u.asset.id===n.rubricRef.id);if(!s)throw new Error(`Imported rubric is missing: ${n.id}.`);let o=new TextDecoder("utf-8",{fatal:!0}).decode(be(s)),l={...i.metadata,portableRubricRef:n.rubricRef};if(n.kind==="human")return de.parse({...i,rubric:o,metadata:l});if(!n.model)throw new Error(`Imported judge ${n.id} requires its declared model before local preparation.`);return de.parse({...i,rubric:o,metadata:l,judge:n.model,temperature:n.temperature??0,calibrationStatus:"pending",calibrationFixtureRefs:r[n.id]??[]})}return de.parse({...i,kind:n.kind==="artifact"?"file":n.kind,config:n.kind==="artifact"?{...n.config,...n.config.refIncludes===void 0?{}:{pathIncludes:n.config.refIncludes}}:n.config})})}c(Oi,"importedPackageGraders");function Ua(t,a,r=[]){let n=la(t,a);return ne(t,a).map(i=>{let s=n.find(({source:l})=>l.graderId===i.id).reward,o={...i,label:s.name,metadata:{rewardBinding:x(t)}};if(i.kind==="model_judge"){if(!i.model||i.calibrationStatus!=="passed"||!s.calibrationCheckRef||!s.fixtureSetRef)throw new Error(`Reward ${i.id} needs a retained passing calibration check before preparation.`);let l=r.find(m=>m.id===i.rubricRef.id),u=r.find(m=>m.id===s.fixtureSetRef.id);if(!l||!u)throw new Error(`Reward ${i.id} is missing its immutable rubric or calibration fixtures.`);let d=Tn.array().min(1).max(50).parse(JSON.parse(K(u,s.fixtureSetRef)));return de.parse({...o,rubric:K(l,i.rubricRef),judge:i.model,temperature:i.temperature??0,calibrationFixtureRefs:d.map(m=>m.id),metadata:{...o.metadata,portableGrader:i,portableRubricRef:i.rubricRef,calibrationEvidenceHash:s.calibrationCheckRef.contentHash,calibrationCheckRef:s.calibrationCheckRef}})}if(i.kind==="custom_verifier")return de.parse({...o,module:Xt(i.verifierRef.contentHash),exportName:i.exportName??"verify",metadata:{...o.metadata,portableVerifierRef:i.verifierRef}});if(i.kind==="human"){let l=r.find(u=>u.id===i.rubricRef.id);if(!l)throw new Error(`Reward ${i.id} is missing its immutable rubric.`);return de.parse({...o,rubric:K(l,i.rubricRef),metadata:{...o.metadata,portableGrader:i,portableRubricRef:i.rubricRef}})}return de.parse({...o,kind:i.kind==="artifact"?"file":i.kind})})}c(Ua,"projectLearningBatchGraders");function Xt(t){return`graders/reward-${t}.js`}c(Xt,"learningVerifierModule");var je=e.string().trim().min(1).max(240),Qt=e.string().trim().min(1),Ga=e.string().trim().min(8).max(256),Vi=e.record(e.string(),e.unknown()).default({}),fd=je.nullable(),hd=["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"],gd=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),vd=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),te=e.string().trim().max(1e5),bd=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:te,examples:e.array(e.object({id:je,prompt:te,response:te})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:te,pairs:e.array(e.object({id:je,prompt:te,chosen:te,rejected:te,rationale:te})).max(1e3).default([])}),e.object({kind:e.literal("verifiable_reward"),task:te,rules:e.array(e.object({id:je,points:e.number().finite(),condition:te})).max(1e3).default([]),otherwisePoints:e.number().finite().default(0)}),e.object({kind:e.literal("rubric"),task:te,criteria:e.array(e.object({id:je,label:e.string().trim().max(500),description:te})).max(1e3).default([]),positiveExample:te,negativeExample:te,boundaryExample:te})]),yf=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),kd=e.object({primaryMethod:e.enum(["sft","dpo","grpo","ppo","sdft","opsd","sdpo"]),bootstrap:e.object({method:e.literal("sft"),purpose:e.literal("trajectory_bootstrap"),demonstrationRefs:e.array(je).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),Sd=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"]),yd=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(Sd).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),Bi=e.object({code:je,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),wd=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:je,tasksetHash:Ga,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:kd.nullable().default(null),methodReadiness:e.array(yd).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(Bi).default([]),advisories:e.array(Bi).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:Qt}),xd=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:Qt}),Rd=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:Ia.nullable(),modelConfig:Vi,skillHash:Ga,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:vd.default("demonstrations"),buildSpecification:bd.nullable().default(null),evidenceHashes:e.array(Ga).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(xd).max(1e3),createdAt:Qt}),ae=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:je,revision:e.number().int().positive().default(1),profileId:je,profileRelease:Wn.nullable().optional(),createImproveRunId:fd.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:Ma.default("general"),benchmark:$a.nullable().default(null),preferenceComparison:qa.nullable().default(null),status:gd,sourceRefs:e.array(_t).min(1).max(1e5),datasetArtifact:Gt.nullable().optional(),policy:Da,environment:Ba,capabilities:Va,metrics:oa.optional(),tasks:e.array(Kt).max(1e6),graders:e.array(de).min(1).max(1e3),graderFixtures:e.array(lt).max(1e5),learningSignals:Oa,authoringProvenance:Rd,readiness:wd.nullable(),contentHash:Ga,createdAt:Qt,updatedAt:Qt,metadata:Vi}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark Tasksets require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark Tasksets may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed Tasksets may not duplicate canonical rows inline.",path:["tasks"]}),!t.datasetArtifact&&t.tasks.length===0&&a.addIssue({code:"custom",message:"A Taskset requires inline tasks or a Dataset artifact manifest.",path:["tasks"]})});function Td(t){return t.schemaVersion==="openpond.trainingSource.v1"}c(Td,"isTrainingSourceRef");function zi(t,a={}){let r=ae.safeParse(t);if(!r.success)return{valid:!1,taskset:null,computedHash:null,issues:r.error.issues.map(o=>({code:"schema_invalid",severity:"error",message:o.message,path:o.path.join(".")}))};let n=r.data,i=[];Hd(n,i),_d(n,i),jd(n,i),Pd(n,i),Ad(n,i),Id(n,i,a),Cd(n,i),Md(n.capabilities,i,n),Ed(n,i);let s=Fi(n);return n.contentHash!==s&&i.push({code:"content_hash_mismatch",severity:"error",message:`Taskset contentHash is ${n.contentHash}, expected ${s}.`,path:"contentHash"}),{valid:!i.some(o=>o.severity==="error"),taskset:n,computedHash:s,issues:i}}c(zi,"validateTaskset");function Id(t,a,r){let n=t.graders.length>0&&t.graders.every(o=>o.kind==="human");!n&&!t.graderFixtures.length&&!(r.allowUnscoredOnlineRewardBatch&&t.metadata.trainingMethod==="grpo"&&t.metadata.learning)&&a.push({code:"grader_fixtures_required",severity:"error",message:"Taskset admission requires authored grader fixtures.",path:"graderFixtures"});let i=new Set(t.tasks.map(o=>o.id)),s=new Set(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]);for(let o of t.graderFixtures)!t.datasetArtifact&&!i.has(o.taskId)&&a.push({code:"grader_fixture_task_missing",severity:"warning",message:`Fixture ${o.id} references a task outside this Taskset revision (${o.taskId}).`,path:`graderFixtures.${o.id}.taskId`}),s.delete(o.label),o.label==="infrastructure_failure"&&!o.infrastructureError&&a.push({code:"infrastructure_fixture_error_missing",severity:"error",message:`Infrastructure fixture ${o.id} must declare an infrastructure error.`,path:`graderFixtures.${o.id}.infrastructureError`});for(let o of n?[]:s)a.push({code:"grader_fixture_missing",severity:"warning",message:`Taskset does not include the optional ${o} grader calibration fixture.`,path:"graderFixtures"})}c(Id,"validateGraderFixtures");function _d(t,a){let r=t.datasetArtifact;if(!r)return;(r.tasksetId!==t.id||r.tasksetRevision!==t.revision)&&a.push({code:"dataset_artifact_taskset_mismatch",severity:"error",message:"Dataset artifact identity does not match its Taskset revision.",path:"datasetArtifact"});let n=Object.values(r.splitCounts).reduce((u,d)=>u+d,0),i=r.shards.reduce((u,d)=>u+d.rowCount,0);(n!==r.rowCount||i!==r.rowCount)&&a.push({code:"dataset_artifact_row_count_mismatch",severity:"error",message:"Dataset artifact row, split, and shard counts do not agree.",path:"datasetArtifact.rowCount"});let s=new Map;for(let u of r.shards)s.set(u.split,(s.get(u.split)??0)+u.rowCount);for(let[u,d]of Object.entries(r.splitCounts))(s.get(u)??0)!==d&&a.push({code:"dataset_artifact_split_count_mismatch",severity:"error",message:`Dataset artifact ${u} shard counts do not match its manifest.`,path:`datasetArtifact.splitCounts.${u}`});let{contentHash:o,...l}=r;f(l)!==r.contentHash&&a.push({code:"dataset_artifact_hash_mismatch",severity:"error",message:"Dataset artifact manifest content hash is invalid.",path:"datasetArtifact.contentHash"})}c(_d,"validateDatasetArtifact");function pt(t){return Fi(t)}c(pt,"computeTasksetHash");function Fi(t){let{contentHash:a,status:r,readiness:n,updatedAt:i,...s}=t;return f(s)}c(Fi,"tasksetContentHash");function Hd(t,a){for(let[r,n]of t.sourceRefs.entries())Td(n)&&n.consent.status!=="granted"&&a.push({code:"source_consent_missing",severity:"error",message:`Source ${n.id} is not consented.`,path:`sourceRefs.${r}.consent.status`}),n.secretScanStatus!=="passed"&&a.push({code:"source_secret_scan",severity:"error",message:`Source ${n.id} did not pass secret scanning.`,path:`sourceRefs.${r}.secretScanStatus`}),n.piiScanStatus!=="passed"&&a.push({code:"source_pii_scan",severity:"error",message:`Source ${n.id} has unresolved PII policy.`,path:`sourceRefs.${r}.piiScanStatus`}),n.licensingStatus!=="approved"&&a.push({code:"source_license",severity:"error",message:`Source ${n.id} has unresolved licensing policy.`,path:`sourceRefs.${r}.licensingStatus`})}c(Hd,"validateSourceConsent");function jd(t,a){let r=new Map;for(let i of t.tasks){let s=r.get(i.clusterKey)??new Set;s.add(i.split),r.set(i.clusterKey,s)}for(let[i,s]of r)s.size>1&&a.push({code:"split_cluster_contamination",severity:"error",message:`Source cluster ${i} appears in multiple splits: ${[...s].join(", ")}.`,path:"tasks"});(t.datasetArtifact?t.datasetArtifact.splitCounts.frozen_eval??0:t.tasks.filter(i=>i.split==="frozen_eval").length)===0&&a.push({code:"frozen_eval_missing",severity:"warning",message:"Add an independent test example before training.",path:"tasks"})}c(jd,"validateSplitIsolation");function Ed(t,a){if(t.environment.kind!=="work")return;t.environment.entrypoint!=="openpond-work-v1"&&a.push({code:"work_entrypoint_invalid",severity:"error",message:"Work Tasksets must use the openpond-work-v1 entrypoint.",path:"environment.entrypoint"}),(!t.environment.lifecycle.includes("reset")||!t.environment.lifecycle.includes("cleanup"))&&a.push({code:"work_reset_lifecycle_missing",severity:"error",message:"Work attempts require reset and cleanup; filesystem state belongs to one attempt.",path:"environment.lifecycle"});let r=new Set(hd),n=t.environment.toolNames.filter(s=>!r.has(s));n.length&&a.push({code:"work_tool_unknown",severity:"error",message:`Work Taskset declares unknown tools: ${n.join(", ")}.`,path:"environment.toolNames"}),t.environment.toolNames.includes("work_save_output")||a.push({code:"work_output_tool_missing",severity:"error",message:"Work Tasksets must declare work_save_output.",path:"environment.toolNames"});for(let s of["create","reset","step","grade","cleanup"])t.environment.lifecycle.includes(s)||a.push({code:"work_lifecycle_incomplete",severity:"error",message:`Work Tasksets require the ${s} lifecycle stage.`,path:"environment.lifecycle"});let i=new Map(t.sourceRefs.map(s=>[s.id,s]));for(let[s,o]of t.tasks.entries()){let l=new Set,u=new Set;for(let[m,p]of(o.assets??[]).entries()){let h=`tasks.${s}.assets.${m}`;l.has(p.id)&&a.push({code:"work_asset_duplicate_id",severity:"error",message:`Task ${o.id} repeats asset id ${p.id}.`,path:`${h}.id`}),u.has(p.fileName)&&a.push({code:"work_asset_duplicate_name",severity:"error",message:`Task ${o.id} repeats staged file name ${p.fileName}.`,path:`${h}.fileName`}),l.add(p.id),u.add(p.fileName),o.sourceRefs.includes(p.sourceRefId)||a.push({code:"work_asset_task_source_missing",severity:"error",message:`Asset ${p.id} references source ${p.sourceRefId} outside task ${o.id}.`,path:`${h}.sourceRefId`});let v=i.get(p.sourceRefId);v?"sourceFileHashes"in v&&!v.sourceFileHashes.includes(p.sha256)&&a.push({code:"work_asset_hash_unregistered",severity:"error",message:`Asset ${p.id} hash is not registered by source ${p.sourceRefId}.`,path:`${h}.sha256`}):a.push({code:"work_asset_source_missing",severity:"error",message:`Asset ${p.id} references missing source ${p.sourceRefId}.`,path:`${h}.sourceRefId`}),v&&"kind"in v&&v.kind==="uploaded_file"&&!v.originalFileNames.includes(p.fileName)&&a.push({code:"work_asset_name_unregistered",severity:"error",message:`Asset ${p.id} file name is not registered by source ${p.sourceRefId}.`,path:`${h}.fileName`}),v&&"kind"in v&&v.kind==="uploaded_file"&&!v.mediaTypes.includes(p.mediaType)&&a.push({code:"work_asset_media_type_unregistered",severity:"error",message:`Asset ${p.id} media type is not registered by source ${p.sourceRefId}.`,path:`${h}.mediaType`}),p.split!==o.split&&a.push({code:"work_asset_split_mismatch",severity:"error",message:`Asset ${p.id} is assigned to ${p.split}, not task split ${o.split}.`,path:`${h}.split`})}let d=new Set;for(let[m,p]of(o.requiredOutputs??[]).entries()){let h=p.path.replaceAll("\\","/"),v=`tasks.${s}.requiredOutputs.${m}.path`;d.has(h)&&a.push({code:"work_output_duplicate_path",severity:"error",message:`Task ${o.id} repeats required output path ${h}.`,path:v}),d.add(h)}(o.requiredOutputs??[]).length===0&&a.push({code:"work_output_missing",severity:"error",message:`Work task ${o.id} must declare at least one required output.`,path:`tasks.${s}.requiredOutputs`})}}c(Ed,"validateWorkExecution");function Pd(t,a){let r=new Set(t.policy.policyVisibleFields);for(let n of t.policy.privilegedFields)r.has(n)&&a.push({code:"privileged_field_visible",severity:"error",message:`Field ${n} is both policy-visible and privileged.`,path:"policy"});for(let n of t.tasks)n.privilegedContextRef&&Object.keys(n.policyVisibleContext).includes(n.privilegedContextRef)&&a.push({code:"privileged_context_leak",severity:"error",message:`Task ${n.id} exposes its privileged context reference.`,path:`tasks.${n.id}.policyVisibleContext`})}c(Pd,"validatePolicyBoundary");function Ad(t,a){let r=new Set;for(let n of t.graders)r.has(n.id)&&a.push({code:"grader_duplicate",severity:"error",message:`Duplicate grader id ${n.id}.`,path:"graders"}),r.add(n.id),n.kind==="model_judge"&&n.rewardEligible&&n.calibrationStatus!=="passed"&&a.push({code:"judge_calibration_pending",severity:"warning",message:`Model judge ${n.id} is selected for reward without a passing advisory calibration report.`,path:`graders.${n.id}`}),n.kind==="model_judge"&&n.calibrationStatus==="passed"&&typeof n.metadata.calibrationEvidenceHash!="string"&&a.push({code:"judge_calibration_evidence_missing",severity:"warning",message:`Model judge ${n.id} declares calibration without an OpenPond fixture evidence hash.`,path:`graders.${n.id}.metadata.calibrationEvidenceHash`}),n.kind==="human"&&n.rewardEligible&&a.push({code:"human_online_reward",severity:"error",message:`Human grader ${n.id} cannot be an online optimizer reward.`,path:`graders.${n.id}`})}c(Ad,"validateGraders");function Cd(t,a){let r=new Set(t.tasks.map(i=>i.id)),n=new Set(t.sourceRefs.map(i=>i.id));for(let i of[...t.learningSignals.demonstrations,...t.learningSignals.preferences,...t.learningSignals.corrections,...t.learningSignals.feedback,...t.learningSignals.rewards,...t.learningSignals.labels])i.taskId&&!t.datasetArtifact&&!r.has(i.taskId)&&a.push({code:"learning_signal_task_missing",severity:"error",message:`Signal ${i.id} references missing task ${i.taskId}.`,path:`learningSignals.${i.kind}.${i.id}.taskId`}),i.sourceRefs.some(s=>!n.has(s))&&a.push({code:"learning_signal_source_missing",severity:"error",message:`Signal ${i.id} references a source outside the Dataset.`,path:`learningSignals.${i.kind}.${i.id}.sourceRefs`});for(let i of t.learningSignals.preferences)i.chosen.trim()===i.rejected.trim()&&a.push({code:"preference_pair_identical",severity:"error",message:`Preference ${i.id} has identical chosen and rejected responses.`,path:`learningSignals.preferences.${i.id}`});for(let i of t.learningSignals.rewards)i.executable||a.push({code:"reward_not_executable",severity:"warning",message:`Reward ${i.id} is a reviewed specification but has no executable verifier yet.`,path:`learningSignals.rewards.${i.id}.executable`})}c(Cd,"validateLearningSignals");function Md(t,a,r){!t.exportable&&t.portabilityBlockers.length===0&&a.push({code:"portability_reason_missing",severity:"error",message:"Non-exportable Tasksets must declare a portability blocker.",path:"capabilities.portabilityBlockers"}),t.compatibleMethods.includes("grpo")&&!t.rewardKinds.some(n=>n==="exact"||n==="deterministic"||n==="model_judge")&&a.push({code:"grpo_reward_missing",severity:"error",message:"GRPO compatibility requires a scalar reward kind.",path:"capabilities.rewardKinds"}),r?.capabilities.compatibleMethods.includes("sft")&&r.learningSignals.demonstrations.length===0&&a.push({code:"sft_demonstrations_missing",severity:"error",message:"SFT compatibility requires approved demonstrations.",path:"learningSignals.demonstrations"}),r?.capabilities.compatibleMethods.includes("dpo")&&r.learningSignals.preferences.length===0&&a.push({code:"dpo_preferences_missing",severity:"error",message:"DPO compatibility requires chosen and rejected response pairs.",path:"learningSignals.preferences"}),r&&(r.capabilities.compatibleMethods.includes("grpo")||r.capabilities.compatibleMethods.includes("ppo"))&&!r.learningSignals.rewards.some(n=>n.executable)&&!r.graders.some(n=>n.rewardEligible&&n.weight>0&&n.kind!=="human")&&a.push({code:"online_reward_not_executable",severity:"error",message:"GRPO/PPO compatibility requires an executable scalar reward.",path:"learningSignals.rewards"})}c(Md,"validateCapabilities");var Et=e.string().trim().min(1).max(240),Li=e.string().trim().min(1),$d=e.string().trim().min(8).max(256),qd=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),Dd=e.record(e.string(),e.unknown()).default({});function Ni(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}c(Ni,"safeRelativeFilePath");var Od=Kt.extend({sourceRefs:e.array(Et).max(100).default([])}),Bd=e.enum(["draft","validating","needs_review","published"]),Vd=e.object({enabled:e.boolean(),candidateCount:e.number().int().min(2).max(4),minimumSamples:e.number().int().min(1).max(1e4).default(100),allowTies:e.boolean(),allowRejectAll:e.boolean(),rubric:e.string().trim().max(5e4),criteria:e.array(e.object({id:Et,label:e.string().trim().min(1).max(500),description:e.string().trim().max(1e4),weight:e.number().nonnegative().max(1e3)})).max(100)}),zd=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(Ni,"Renderer modules must use a safe relative path."),exportName:qd,configRef:e.string().trim().min(1).max(1e3).refine(Ni,"Renderer configuration must use a safe relative path.").nullable().default(null)}).nullable()}).superRefine((t,a)=>{t.mode==="structured_json"&&!t.jsonSchema&&a.addIssue({code:"custom",message:"Structured JSON output requires a JSON Schema.",path:["jsonSchema"]}),t.mode==="text"&&t.renderer&&a.addIssue({code:"custom",message:"Text output cannot configure an artifact renderer.",path:["renderer"]})}),Ee=e.object({schemaVersion:e.literal("openpond.tasksetDraft.v1"),id:Et,revision:e.number().int().positive(),profileId:Et,modelScope:e.object({modelId:Et,expectedModelRevision:e.number().int().positive(),source:Ce.optional()}).strict().nullable().default(null),name:e.string().trim().max(500),objective:e.string().trim().max(2e4),purpose:Ma.default("general"),benchmark:$a.nullable().default(null),preferenceComparison:qa.nullable().default(null),status:Bd,sourceRefs:e.array(_t).max(1e5).default([]),datasetArtifact:Gt.nullable().optional(),policy:Da,environment:Ba,output:zd.default({mode:"text",jsonSchema:null,renderer:null}),capabilities:Va,metrics:oa,review:Vd,tasks:e.array(Od).max(1e6).default([]),graders:e.array(de).max(1e3).default([]),graderFixtures:e.array(lt).max(1e5).default([]),learningSignals:Oa,publishedTasksetRef:e.object({id:Et,revision:e.number().int().positive(),contentHash:$d}).nullable(),createdAt:Li,updatedAt:Li,metadata:Dd}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark drafts require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark drafts may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed drafts may not duplicate canonical rows inline.",path:["tasks"]}),t.status==="published"&&!t.publishedTasksetRef&&a.addIssue({code:"custom",message:"Published drafts require an immutable Taskset reference.",path:["publishedTasksetRef"]})}),Ji=6e6,Ki=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","tasks/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","metrics/policy.json","assets/manifest.json","environment/contract.json","environment/taskset.ts","rubrics/preference-review.md","comparisons/policy.json"]);function Or(t){let a=ce.parse(t);return!Ki.has(a)&&!a.startsWith("source-artifacts/")}c(Or,"isWritableTasksetDraftFilePath");function Pt(t){return Ki.has(ce.parse(t))}c(Pt,"isManagedTasksetDraftFilePath");function Fd(t,a){let r=Or(t);if(a.byteLength>Ji)throw new Error("Taskset draft file content is invalid or exceeds 6 MB.");let n;try{let i=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0}).decode(a);n=/[\u0000-\u0008\u000e-\u001f]/.test(i)?Ui(a):{encoding:"utf8",data:i}}catch{n=Ui(a)}return{path:t,writable:r,content:n,sizeBytes:a.byteLength,contentHash:G(a)}}c(Fd,"createTasksetDraftFile");function Ld(t){let a=zt.parse(t),r;try{if(a.encoding==="utf8")r=new TextEncoder().encode(a.data);else{let n=atob(a.data);if(btoa(n)!==a.data)throw new Error("Noncanonical base64");r=Uint8Array.from(n,i=>i.charCodeAt(0))}}catch{throw new Error("Taskset draft file content is invalid or exceeds 6 MB.")}if(r.byteLength>Ji)throw new Error("Taskset draft file content is invalid or exceeds 6 MB.");return r}c(Ld,"decodeTasksetDraftFileContent");function Ui(t){let a="";for(let r=0;r<t.length;r+=8192)a+=String.fromCharCode(...t.subarray(r,r+8192));return{encoding:"base64",data:btoa(a)}}c(Ui,"base64Content");function Wi(t){let a=[];t.output.renderer&&a.push({relativePath:t.output.renderer.module,source:`export async function ${t.output.renderer.exportName}(output: unknown) {
|
|
4
|
-
// Return artifact paths or bytes derived from the model's structured output.
|
|
5
|
-
return output;
|
|
6
|
-
}
|
|
7
|
-
`});for(let r of t.graders)r.kind==="custom_verifier"&&a.push({relativePath:r.module,source:`export async function ${r.exportName}(input: { output: unknown; task: unknown }) {
|
|
8
|
-
return { passed: false, score: 0, feedback: "Implement this verifier." };
|
|
9
|
-
}
|
|
10
|
-
`});t.metrics.customAggregator&&a.push({relativePath:t.metrics.customAggregator.module,source:`export function ${t.metrics.customAggregator.exportName}(scores: number[]) {
|
|
11
|
-
return scores.length ? scores.reduce((sum, score) => sum + score, 0) / scores.length : 0;
|
|
12
|
-
}
|
|
13
|
-
`});for(let r of a)ce.parse(r.relativePath);return a}c(Wi,"configuredTasksetDraftFiles");function Br(t){let a=Ee.parse(t);return new Map([["taskset.json",qe(a)],["tasks/tasks.jsonl",Ud(a.tasks)],["graders/graders.json",qe(a.graders)],["fixtures/grader-fixtures.json",qe(a.graderFixtures)],["metrics/policy.json",qe(a.metrics)],["assets/manifest.json",qe(a.tasks.flatMap(r=>r.assets??[]))],["environment/contract.json",qe(a.environment)],["rubrics/preference-review.md",Nd(a)],["comparisons/policy.json",qe(a.review)]])}c(Br,"renderTasksetDraftManifests");function Nd(t){let a=t.review.criteria.length?`
|
|
14
|
-
|
|
15
|
-
## Criteria
|
|
16
|
-
|
|
17
|
-
${t.review.criteria.map(r=>`- **${r.label}** (${r.weight}): ${r.description}`).join(`
|
|
18
|
-
`)}`:"";return`# Preference review rubric
|
|
19
|
-
|
|
20
|
-
${t.review.rubric}${a}
|
|
21
|
-
`}c(Nd,"rubricMarkdown");function Ud(t){return t.length?`${t.map(a=>JSON.stringify(a)).join(`
|
|
22
|
-
`)}
|
|
23
|
-
`:""}c(Ud,"jsonLines");var Ja=64*1024*1024,Yi=e.string().regex(/^[a-f0-9]{64}$/),Xi=e.object({path:ce,contentHash:Yi,sizeBytes:e.number().int().nonnegative().max(Ja),base64:e.string().max(Ja)}).strict(),Qi=e.object({schemaVersion:e.literal("openpond.tasksetDraftWorkspace.v1"),draft:Ee,files:e.array(Xi).max(1e4)}).strict(),Gd=Qi.extend({contentHash:Yi}).strict();function Vr(t){ke(t,Ja);let a=Qi.parse(t);return a.files.sort((r,n)=>r.path<n.path?-1:r.path>n.path?1:0),Zt({...a,contentHash:f(a)})}c(Vr,"createTasksetDraftWorkspace");function Zt(t){ke(t,Ja);let a=Gd.parse(t),{contentHash:r,...n}=a;if(f(n)!==r)throw new Error("Taskset draft workspace differs from its retained bytes.");let i=null,s=new Set;for(let o of a.files){if(Pt(o.path))throw new Error("Managed Taskset files are represented by the draft document.");if(i!==null&&i>=o.path)throw new Error("Taskset draft file paths must be unique and sorted.");let l=o.path.split("/");for(let u=1;u<l.length;u++)if(s.has(l.slice(0,u).join("/")))throw new Error("A Taskset draft file occupies another file's directory.");Ka(o),s.add(o.path),i=o.path}return a}c(Zt,"validateTasksetDraftWorkspace");function Af(t,a){let r=Zt(t);ce.parse(a);let n=r.files.find(o=>o.path===a),i=Pt(a)?Br(r.draft).get(a):void 0;if(!n&&i===void 0)throw new Error("Taskset draft file does not exist.");let s=Fd(a,n?Ka(n):new TextEncoder().encode(i));return{draftRevision:r.draft.revision,file:{...s,writable:s.writable&&r.draft.status!=="published"}}}c(Af,"readTasksetDraftWorkspaceFile");function Cf(t){let a=Zt(t),r=a.files.map(n=>({path:n.path,sizeBytes:n.sizeBytes,writable:a.draft.status!=="published"&&Or(n.path)}));for(let[n,i]of Br(a.draft))r.push({path:n,sizeBytes:new TextEncoder().encode(i).byteLength,writable:!1});return{draftRevision:a.draft.revision,files:r.sort((n,i)=>n.path<i.path?-1:n.path>i.path?1:0)}}c(Cf,"listTasksetDraftWorkspaceFiles");function Mf(t){let a=Zi(t.workspace,t.expectedDraftRevision),r=Ee.parse(t.draft),n=a.draft;if(r.id!==n.id||r.profileId!==n.profileId||f(r.modelScope)!==f(n.modelScope))throw new Error("Taskset draft Model ownership cannot change.");if(r.revision!==n.revision||r.status!==n.status||r.createdAt!==n.createdAt||f(r.publishedTasksetRef)!==f(n.publishedTasksetRef))throw new Error("Taskset draft lifecycle fields cannot change through form edits.");let i=[...a.files];for(let l of Wi(r))if(!i.some(u=>u.path===l.relativePath)){let u=new TextEncoder().encode(l.source);i.push({path:l.relativePath,contentHash:G(u),sizeBytes:u.byteLength,base64:es(u)})}let s=r.metrics.customAggregator,o=s?i.find(l=>l.path===s.module):void 0;return Vr({schemaVersion:a.schemaVersion,files:i,draft:{...r,revision:n.revision+1,status:"draft",updatedAt:t.now,...s&&o?{metrics:{...r.metrics,customAggregator:{...s,contentHash:o.contentHash}}}:{}}})}c(Mf,"saveTasksetDraftWorkspaceDocument");function $f(t){let a=cr.parse(t.mutation),r=Zi(t.workspace,a.expectedDraftRevision);if(r.draft.id!==a.draftId)throw new Error("Taskset draft file belongs to another draft.");if(!Or(a.path))throw new Error("This file is managed by the Taskset forms or retained source history.");let n=r.files.find(s=>s.path===a.path);if((n?.contentHash??null)!==a.expectedFileHash)throw new Error("Taskset draft file changed. Reload it before saving.");if(!n&&a.content===null)throw new Error("Taskset draft file does not exist.");let i=r.files.filter(s=>s.path!==a.path);if(a.content!==null){let s=Ld(a.content);i.push({path:a.path,contentHash:G(s),sizeBytes:s.byteLength,base64:es(s)})}return Vr({schemaVersion:r.schemaVersion,files:i,draft:{...r.draft,revision:r.draft.revision+1,status:"draft",updatedAt:t.now}})}c($f,"saveTasksetDraftWorkspaceFile");function Zi(t,a){let r=Zt(t);if(r.draft.status==="published")throw new Error("Published Taskset drafts are immutable.");if(r.draft.revision!==a)throw new Error("Taskset draft changed. Reload before saving.");return r}c(Zi,"editableWorkspace");function Ka(t){let a=Xi.parse(t),r;try{r=atob(a.base64)}catch{throw new Error("Taskset draft file contains invalid base64.")}if(btoa(r)!==a.base64)throw new Error("Taskset draft file contains noncanonical base64.");let n=Uint8Array.from(r,i=>i.charCodeAt(0));if(n.byteLength!==a.sizeBytes||G(n)!==a.contentHash)throw new Error("Taskset draft file differs from its retained bytes.");return n}c(Ka,"decodeTasksetDraftWorkspaceFile");function es(t){let a="";for(let r=0;r<t.length;r+=8192)a+=String.fromCharCode(...t.subarray(r,r+8192));return btoa(a)}c(es,"base64");var Gi=class extends Error{static{c(this,"TasksetDraftPublishError")}issues;constructor(t){super(t.map(a=>a.message).join(`
|
|
24
|
-
`)),this.name="TasksetDraftPublishError",this.issues=t}};function ts(t){let a=t.now??new Date().toISOString(),r=t.id?.trim()||`taskset-draft-${globalThis.crypto.randomUUID()}`;return Ee.parse({schemaVersion:"openpond.tasksetDraft.v1",id:r,revision:1,profileId:t.profileId,modelScope:t.modelScope??null,name:t.name?.trim()??"",objective:"",purpose:"general",benchmark:null,preferenceComparison:null,status:"draft",sourceRefs:[],datasetArtifact:null,policy:{policyVisibleFields:["input"],privilegedFields:["expectedOutput"],hiddenGraderRefs:[],connectedAppScopes:[]},environment:{protocolVersion:"openpond.taskEnvironment.v1",kind:"chat",entrypoint:"openpond-chat-v1",stateful:!1,deterministicSeeds:!0,toolNames:[],lifecycle:["create","reset","step","grade","cleanup"],defaultTimeoutMs:12e4,networkPolicy:"none",resources:[],metadata:{}},output:{mode:"text",jsonSchema:null,renderer:null},capabilities:{schemaVersion:"openpond.tasksetCapabilities.v1",taskKind:"chat",supportedSignals:["demonstration","preference","correction","feedback","reward","label"],compatibleMethods:["none"],rewardKinds:["none"],requiresTools:!1,requiresState:!1,requiresPrivilegedGrading:!0,environmentPlacements:["local","remote","colocated"],exportable:!0,portabilityBlockers:[]},metrics:{schemaVersion:"openpond.tasksetMetricPolicy.v1",primaryMetric:"score",aggregation:"mean_score",missingReward:"zero",customAggregator:null},review:{enabled:!1,candidateCount:2,minimumSamples:100,allowTies:!0,allowRejectAll:!0,rubric:"",criteria:[]},tasks:[],graders:[],graderFixtures:[],learningSignals:{demonstrations:[],preferences:[],corrections:[],feedback:[],rewards:[],labels:[]},publishedTasksetRef:null,createdAt:a,updatedAt:a,metadata:{}})}c(ts,"createTasksetDraft");function Jd(t){let a=[];t.name.trim()||a.push({code:"name_missing",message:"Name is required.",path:"name"}),t.objective.trim()||a.push({code:"objective_missing",message:"Objective is required.",path:"objective"}),!t.datasetArtifact&&t.tasks.length===0&&a.push({code:"tasks_missing",message:"Add at least one task or Dataset artifact.",path:"tasks"}),t.graders.length===0&&a.push({code:"graders_missing",message:"Add at least one grader.",path:"graders"}),!(t.graders.length>0&&t.graders.every(i=>i.kind==="human"))&&t.graderFixtures.length===0&&a.push({code:"grader_fixtures_missing",message:"Add grader fixtures before publishing.",path:"graderFixtures"});let n=new Set(t.sourceRefs.map(i=>i.id));for(let i of t.tasks)for(let s of i.sourceRefs)n.has(s)||a.push({code:"task_source_missing",message:`Task ${i.id} references missing source ${s}.`,path:`tasks.${i.id}.sourceRefs`});return a}c(Jd,"draftPublishIssues");function qf(t,a=new Date().toISOString()){let r=ae.parse(t);return Ee.parse({schemaVersion:"openpond.tasksetDraft.v1",id:`${r.id}-draft`,revision:1,profileId:r.profileId,name:r.name,objective:r.objective,purpose:r.purpose,benchmark:r.benchmark,preferenceComparison:r.preferenceComparison,status:"draft",sourceRefs:r.sourceRefs,datasetArtifact:r.datasetArtifact??null,policy:r.policy,environment:r.environment,output:Xd(r.metadata),capabilities:r.capabilities,metrics:r.metrics??{schemaVersion:"openpond.tasksetMetricPolicy.v1",primaryMetric:"score",aggregation:"mean_score",missingReward:"zero",customAggregator:null},review:{enabled:!!r.preferenceComparison,candidateCount:2,minimumSamples:100,allowTies:!0,allowRejectAll:!0,rubric:"",criteria:[]},tasks:r.tasks,graders:r.graders,graderFixtures:r.graderFixtures,learningSignals:r.learningSignals,publishedTasksetRef:{id:r.id,revision:r.revision,contentHash:r.contentHash},createdAt:a,updatedAt:a,metadata:{...r.metadata,importedFromTaskset:{id:r.id,revision:r.revision,contentHash:r.contentHash}}})}c(qf,"tasksetDraftFromTaskset");function Kd(t){let a=Ee.parse(t.draft),r=t.now??new Date().toISOString(),n=Jd(a);if(n.length)throw new Gi(n);let i=a.modelScope?.source;if(i&&t.tasksetId&&t.tasksetId!==i.tasksetId)throw new Error("Taskset draft publication differs from its prepared identity.");let s=i?.tasksetId||t.tasksetId?.trim()||a.publishedTasksetRef?.id||a.id.replace(/-draft$/,""),o=i?.tasksetRevision??(a.publishedTasksetRef?.id===s?a.publishedTasksetRef.revision+1:1),l=a.sourceRefs.length?a.sourceRefs:[Wd(a,s,r)],u=l[0].id,d=a.tasks.map(T=>Kt.parse({...T,sourceRefs:T.sourceRefs.length?T.sourceRefs:[u],metadata:{exampleOrigin:"expert_authored",...T.metadata}})),m=a.capabilities.compatibleMethods.find(T=>T!=="none"&&T!=="retrieval")??null,p=Yd(a),h=a.graders.filter(T=>T.rewardEligible&&T.weight>0&&T.kind!=="human"),v=m===null&&p==="verifiable_reward"&&h.length>0,g=m??(v?"grpo":null),w=ae.parse({schemaVersion:"openpond.taskset.v1",id:s,revision:o,profileId:a.profileId,profileRelease:null,createImproveRunId:null,name:a.name,objective:a.objective,purpose:a.purpose,benchmark:a.benchmark,preferenceComparison:a.preferenceComparison,status:"needs_review",sourceRefs:l,datasetArtifact:a.datasetArtifact??null,policy:a.policy,environment:a.environment,capabilities:v?{...a.capabilities,compatibleMethods:["grpo"],rewardKinds:[...new Set(h.map(T=>T.kind==="model_judge"?"model_judge":"deterministic"))]}:a.capabilities,metrics:a.metrics,tasks:d,graders:a.graders,graderFixtures:a.graderFixtures,learningSignals:a.learningSignals,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:f("openpond-taskset-draft-authoring-v1"),promptTemplateVersion:"taskset-draft-v1",buildIntent:p,buildSpecification:null,evidenceHashes:l.map(T=>T.sourceHash),tasksetSdkVersion:"draft-v1",sourceCommit:null,repairHistory:[],createdAt:r},readiness:null,contentHash:"00000000",createdAt:o===1?a.createdAt:r,updatedAt:r,metadata:{...a.metadata,...i?{modelTasksetAuthoring:i.lineage}:{},tasksetReviewPolicy:a.review,tasksetOutputContract:a.output,...t.sourcePackageHash?{sourcePackageHash:t.sourcePackageHash}:{},...g?{trainingMethod:g}:{},diagnosis:{schemaVersion:"openpond.capabilityDiagnosis.v1",summary:a.objective,stableBehavior:[a.objective],changingKnowledge:[],requiredContext:[],requiredTools:a.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}}}),_=ae.parse({...w,contentHash:pt(w)}),I=zi(_).issues.filter(T=>T.severity==="error");if(I.length)throw new Gi(I.map(T=>({code:T.code,message:T.message,path:T.path})));return _}c(Kd,"publishTasksetDraft");function Wd(t,a,r){let n=f({draftId:t.id,draftRevision:t.revision,tasks:t.tasks});return{schemaVersion:"openpond.generatedDatasetSource.v1",kind:"generated",id:`source-${a}`,profileId:t.profileId,title:`${t.name} manual authoring`,sourceHash:n,occurredAt:r,licensingStatus:"approved",secretScanStatus:"passed",piiScanStatus:"passed",generatorId:"openpond-taskset-draft",generatorVersion:"1",seed:0,generatorHash:n,metadata:{draftId:t.id,draftRevision:t.revision}}}c(Wd,"generatedDraftSource");function Yd(t){return t.learningSignals.preferences.length?"preferences":t.learningSignals.rewards.length?"verifiable_reward":t.learningSignals.labels.length?"rubric":!t.capabilities.compatibleMethods.some(a=>a!=="none"&&a!=="retrieval")&&t.graders.some(a=>a.rewardEligible&&a.weight>0&&a.kind!=="human")?"verifiable_reward":"demonstrations"}c(Yd,"buildIntentForDraft");function Xd(t){let a=t.tasksetOutputContract;return a&&typeof a=="object"&&!Array.isArray(a)?a:{mode:"text",jsonSchema:null,renderer:null}}c(Xd,"tasksetOutputContract");function ns(t,a){let r=t.metadata.learning===void 0?null:nr.parse(t.metadata.learning),n=t.metadata.rewardExecution,i=a??(n?{binding:Ae.parse(n.binding),rewards:at.array().parse(n.rewards)}:r);if(t.metadata.rewardBinding!==void 0){let s=t.metadata.rewardBinding;if(!i||!s||s.id!==i.binding.id||s.revision!==i.binding.revision||s.contentHash!==i.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return i&&ne(i.binding,i.rewards),i?{binding:i.binding,rewards:i.rewards}:null}c(ns,"resolvePortableTasksetRewardExecution");function Fr(t){let a=is(t.taskset),r=ss(t.taskset),n=t.taskset.metadata.learning===void 0?null:nr.parse(t.taskset.metadata.learning),i=t.taskset.metadata.rewardExecution,s=ns(t.taskset,t.rewardExecution),o=s?ne(s.binding,s.rewards):t.taskset.graders.map(Zd),l=t.selectedTasks?.length?t.selectedTasks:t.taskset.tasks;if(!l.length)throw new Error("A portable Taskset release requires at least one task.");let u=t.taskset.environment.metadata.portableExecutionResources;if(a.entrypoint==="openpond.javascript-environment.v1"&&!u)throw new Error("Tool Taskset publication requires its pinned execution resources.");let d=u?Ue.parse(u.environment):kt({schemaVersion:"openpond.environmentRelease.v1",id:`environment-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,contract:a,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{[t.adapterId]:f({adapterId:t.adapterId,environment:a,tools:r})},metadata:{sourceTasksetId:t.taskset.id,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,resources:t.taskset.environment.resources??[]}}),m=u?.verifierSet!==void 0?Ge.parse(u.verifierSet):St({schemaVersion:"openpond.verifierSetRelease.v1",id:`verifier-set-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,graders:o,isolation:{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(t.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:{sourceTasksetId:t.taskset.id}});if(!Je(d)||!Ke(m)||f(d.contract)!==f(a)||f(m.graders)!==f(o))throw new Error("Taskset execution resources differ from its declared environment or graders.");let p=mn.parse({schemaVersion:"openpond.tasksetRelease.v2",id:t.taskset.metadata.derivedPortableMetadata===void 0?`taskset-release-${t.taskset.id}-r${t.taskset.revision}`:t.taskset.id,revision:t.taskset.revision,policy:{policyVisibleFields:t.taskset.policy.policyVisibleFields,privilegedFields:t.taskset.policy.privilegedFields,hiddenGraderRefs:t.taskset.policy.hiddenGraderRefs,connectedAppScopes:t.taskset.policy.connectedAppScopes},environment:a,tools:r,capabilities:el(t.taskset),tasks:l.map(Wa),graders:o,...t.taskset.metrics?{metrics:t.taskset.metrics}:{},metadata:t.taskset.metadata.derivedPortableMetadata??{sourceTasksetId:t.taskset.id,sourceTasksetHash:t.taskset.contentHash,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,environmentResources:t.taskset.environment.resources??[],ordinaryAuthoring:{instructions:t.taskset.objective,graderFixtures:t.taskset.graderFixtures,judgeCalibrationFixtures:Object.fromEntries(t.taskset.graders.filter(g=>g.kind==="model_judge").map(g=>[g.id,g.calibrationFixtureRefs]))},...n?{learning:n}:{},...s&&!n&&(t.rewardExecution||i)?{rewardExecution:{binding:s.binding,rewards:s.rewards}}:{}}}),h=t.admittedTasksetRelease?pe.parse(t.admittedTasksetRelease):pe.parse({...p,contentHash:f(p)}),v=h.environmentRelease?tl({draft:h,environmentRelease:d,verifierSetRelease:m}):$n({taskset:h,environment:d,verifierSet:m});return{environmentRelease:d,verifierSetRelease:m,tasksetRelease:v}}c(Fr,"materializePortableTasksetRelease");function Lr(t){return is(t)}c(Lr,"portableTasksetEnvironment");function Qd(t){return ss(t)}c(Qd,"portableTasksetTools");function Wa(t){let a=t.metadata.portableTaskRecord;if(a!==void 0){let r=Bt.parse(a),n=Bt.parse({...r,id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:as(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,tags:t.tags,artifactRefs:t.assets===void 0?r.artifactRefs:t.assets.map(i=>{let s=r.artifactRefs.find(o=>o.id===i.id);return{id:i.id,path:s?.path??`tasks/${At(t.id)}/${At(i.fileName)}`,contentHash:zr(i.sha256),sizeBytes:i.sizeBytes,mediaType:i.mediaType,visibility:s?.visibility??"policy"}}),requiredOutputs:t.requiredOutputs===void 0?r.requiredOutputs:t.requiredOutputs.map(i=>{let s=r.requiredOutputs?.find(o=>o.path===i.path);return{path:i.path,mediaType:i.mediaType,schemaRef:s?.schemaRef&&s.schemaRef.id===i.schemaRef?s.schemaRef:null,maxBytes:i.maxBytes??null,metadata:{...i.metadata,...i.schemaRef&&s?.schemaRef?.id!==i.schemaRef?{legacySchemaRef:i.schemaRef}:{}}}})});return n.requiredOutputs===void 0&&delete n.requiredOutputs,n}return{id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:as(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,artifactRefs:(t.assets??[]).map(r=>({id:r.id,path:`tasks/${At(t.id)}/${At(r.fileName)}`,contentHash:zr(r.sha256),sizeBytes:r.sizeBytes,mediaType:r.mediaType,visibility:"policy"})),requiredOutputs:(t.requiredOutputs??[]).map(r=>({path:r.path,mediaType:r.mediaType,schemaRef:null,maxBytes:r.maxBytes??null,metadata:{...r.metadata,legacySchemaRef:r.schemaRef??null}})),tags:t.tags}}c(Wa,"projectPortableTaskRecord");function as(t){if(!t.expectedOutput)return null;if("artifactRenderer"in t.expectedOutput)throw new Error(`Task ${t.id} embeds an artifact renderer. Put shared renderer configuration in Environment resources and reference it from the Scenario.`);return t.expectedOutput}c(as,"portableExpectedOutput");function is(t){return{protocolVersion:"openpond.environment.v1",kind:t.environment.kind==="chat"?"text":t.environment.kind==="work"?"work":t.environment.kind==="program"?"custom_program":"agent",entrypoint:t.environment.entrypoint,stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,lifecycle:["create","reset","step","collect","destroy"],networkPolicy:t.environment.networkPolicy,defaultTimeoutMs:t.environment.defaultTimeoutMs}}c(is,"portableEnvironment");function ss(t){let a=t.environment.metadata.portableTools;if(a!==void 0)return _a.array().max(200).parse(a);let r=t.environment.actionBindings??[];return r.length?r.map(n=>({name:n.modelToolName,description:n.description,inputSchema:n.inputSchema,inputSchemaHash:zr(n.actionSchemaHash),sideEffect:n.sideEffect,timeoutMs:n.timeoutMs})):t.environment.toolNames.map(n=>({name:n,description:`Host-provided ${n} tool.`,inputSchema:{},inputSchemaHash:f({}),sideEffect:"write",timeoutMs:t.environment.defaultTimeoutMs}))}c(ss,"portableTools");function Zd(t){let a={id:t.id,version:t.version,weight:t.weight,hardGate:t.hardGate,rewardEligible:t.rewardEligible,privileged:t.privileged};if(t.kind==="model_judge")return{...a,kind:"model_judge",rubricRef:rs(t),model:al(t),temperature:t.temperature,calibrationStatus:t.calibrationStatus};if(t.kind==="custom_verifier"){if(t.metadata.portableVerifierRef===void 0)throw new Error(`Custom verifier ${t.id} requires its immutable executable asset before publication.`);let r=ar.safeParse(t.metadata.portableGrader),n=r.success&&r.data.kind==="custom_verifier"&&r.data.exportName===void 0&&t.exportName==="verify";return{...a,kind:"custom_verifier",...t.runtime===void 0?{}:{runtime:t.runtime},verifierRef:W.parse(t.metadata.portableVerifierRef),timeoutMs:t.timeoutMs,...n?{}:{exportName:t.exportName},networkPolicy:"none"}}return t.kind==="human"?{...a,kind:"human",rubricRef:rs(t),reviewerRole:t.reviewerRole,...t.form?{form:t.form}:{}}:{...a,...nn(t)}}c(Zd,"portableGrader");function el(t){let a=t.metadata.portableCapabilities;return a!==void 0?br.array().max(200).parse(a):[...t.capabilities.requiresTools?[{id:"tools",required:!0,scopes:t.environment.toolNames}]:[],...t.capabilities.requiresState?[{id:"local-state",required:!0,scopes:[]}]:[],...t.capabilities.requiresPrivilegedGrading?[{id:"private-verifier",required:!0,scopes:t.policy.hiddenGraderRefs}]:[],...t.policy.connectedAppScopes.map(r=>({id:`connected-app-${At(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}c(el,"portableCapabilities");function tl(t){if(t.draft.environmentRelease?.id!==t.environmentRelease.id||t.draft.environmentRelease.contentHash!==t.environmentRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Environment Release.");if(t.draft.verifierSetRelease?.id!==t.verifierSetRelease.id||t.draft.verifierSetRelease.contentHash!==t.verifierSetRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Verifier Set Release.");if(f(t.draft.environment)!==f(t.environmentRelease.contract))throw new Error("Admitted Taskset Environment differs from its bound Environment Release.");if(f(t.draft.graders)!==f(t.verifierSetRelease.graders))throw new Error("Admitted Taskset graders differ from its bound Verifier Set Release.");return t.draft}c(tl,"assertReleaseBindings");function al(t){let a=t.metadata.portableGrader===void 0?null:ar.parse(t.metadata.portableGrader),r=a?.kind==="model_judge"&&a.model?.providerId===t.judge.providerId&&a.model.modelId===t.judge.modelId?a.model.revision:null;return{...t.judge,revision:r}}c(al,"modelJudgeRef");function rs(t){let a=G(t.rubric),r=new TextEncoder().encode(t.rubric).byteLength,n=t.metadata.portableRubricRef;if(n!==void 0){let i=W.parse(n);if(i.contentHash!==a||i.sizeBytes!==r||i.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return i}return{id:`rubric-${t.id}`,path:`graders/${At(t.id)}/rubric.md`,contentHash:a,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}c(rs,"rubricAsset");function zr(t){return/^[a-f0-9]{64}$/.test(t)?t:f(t)}c(zr,"hash");function At(t){return t.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}c(At,"segment");function rl(t){let a=X(t.source),r=X(t.edited),n=t.preparation;if(n.authoringGraph!=="bound"||!a.modelResources||a.learningResources||r.modelResources||r.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(a.contentHash!==n.sourcePackageHash||!U(x(a.taskset),n.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let i=c(V=>V.taskset.graders.map(Re=>Re.kind==="custom_verifier"?{...Re,exportName:Re.exportName??"verify"}:Re),"normalizedGraders");if(f(i(a))!==f(i(r)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let s=a.modelResources,o=new Map(s.assets.map(V=>[V.id,V])),l=Xe(r),u=Xe(a),d=c(V=>{let{id:Re,revision:Qa,contentHash:Za,metadata:er,...Ls}=V,{javascriptEnvironment:$m,...an}=er;return{...Ls,metadata:{...an,resources:an.resources??[]}}},"environmentContent"),m=c(V=>{if(!V)return null;let{id:Re,revision:Qa,contentHash:Za,...er}=V.execution.javascript;return er},"javascriptContent"),p=f(d(a.environment))===f(d(r.environment))&&f(m(u))===f(m(l)),h=p?a.environment:r.environment,v=p?u:l,g=new Set([...s.assets.map(V=>V.id),...r.taskset.tasks.flatMap(V=>V.privilegedContextRef?[V.privilegedContextRef]:[]),...[r.environment.actionSchemaRef,r.environment.observationSchemaRef,r.environment.stateSchemaRef].flatMap(V=>V?[V.id]:[]),...l?.assets.map(V=>V.id)??[]]);for(let V of g){let Re=r.files.find(Za=>Za.asset.id===V);if(!Re)throw new Error(`Bound Taskset asset is missing: ${V}.`);let Qa=new TextDecoder("utf-8",{fatal:!0}).decode(be(Re));o.set(V,Te.parse(M({schemaVersion:"openpond.learningTextAsset.v1",id:V,revision:1,asset:Re.asset,text:Qa})))}let w=ut(r),{contentHash:_,...E}=s.taskDefinition,{policy:I,environment:T,environmentRelease:Q,tools:ee,capabilities:k,verifierSetRelease:H}=r.taskset,A=ie.parse(M({...E,instructions:w,execution:{policy:I,environment:T,environmentRelease:Q,tools:ee,capabilities:k,verifierSetRelease:H}})),{contentHash:J,...y}=r.taskset,F=pe.parse(M({...y,tasks:r.taskset.tasks.map(V=>s.instructionMode==="per_task"?V:{...V,policyVisibleContext:{...V.policyVisibleContext,instructions:w}})})),me=Yt({owner:n.lineage.owner,source:{...s,taskset:a.taskset,executionResources:{environment:a.environment,verifierSet:a.verifierSet}},rewardBinding:s.rewardBinding,rewards:s.rewards,assets:[...o.values()],edits:{taskset:F,taskDefinition:A,executionResources:{environment:h,verifierSet:r.verifierSet},...v?{execution:v.execution}:{}}}),Le=Hr.parse(me.taskset.metadata.modelTasksetDerivation);if(me.taskset.id!==n.tasksetId||me.taskset.revision!==n.tasksetRevision||f({...Le,schemaVersion:n.lineage.schemaVersion})!==f(n.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:Xa,executionResources:zs,...Fs}=me;return jt({schemaVersion:"openpond.tasksetPackage.v1",taskset:Xa,...zs,modelResources:Fs,files:r.files})}c(rl,"publishBoundModelTasksetDraftPackage");function nl(t){let a=or.parse(t.request),r=ba.parse(t.owner),n=X(t.source);if(n.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(n.contentHash!==a.sourcePackageHash)throw new Error("Taskset draft source package changed.");if(n.modelResources){let u=Ai({owner:r,source:{...n.modelResources,taskset:n.taskset,executionResources:{environment:n.environment,verifierSet:n.verifierSet}},rewardBinding:n.modelResources.rewardBinding,rewards:n.modelResources.rewards,assets:n.modelResources.assets}),d=u.taskset.metadata.modelTasksetDerivation;return Ce.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${f({owner:r,operationId:a.operationId})}`,requestHash:f(a),sourcePackageHash:n.contentHash,sourceTasksetRef:x(n.taskset),tasksetId:u.taskset.id,tasksetRevision:u.taskset.revision,lineage:{...d,schemaVersion:"openpond.modelTasksetAuthoring.v1"},authoringGraph:"bound"})}let i=Cr(n.taskset),s=i&&f(i.owner)===f(r),o=s?i.root:x(n.taskset),l={schemaVersion:"openpond.modelTasksetAuthoring.v1",owner:r,root:o,parent:x(n.taskset)};return Ce.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${f({owner:r,operationId:a.operationId})}`,requestHash:f(a),sourcePackageHash:n.contentHash,sourceTasksetRef:x(n.taskset),tasksetId:Ar(l),tasksetRevision:s?n.taskset.revision+1:1,lineage:l})}c(nl,"prepareModelTasksetDraft");function il(t){let a=Ce.parse(t.preparation);if(!U(a.sourceTasksetRef,a.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(a.authoringGraph==="bound"){if(!t.source)throw new Error("Bound Taskset authoring requires its retained source package.");return rl({preparation:a,source:t.source,edited:t.edited})}let r=sl(t.edited),{contentHash:n,...i}=r.verifierSet,s=St({...i,id:`${a.tasksetId}-verifiers`,revision:a.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:x(r.verifierSet)}}),{contentHash:o,...l}=r.taskset,u=pe.parse(M({...l,id:a.tasksetId,revision:a.tasksetRevision,verifierSetRelease:{id:s.id,contentHash:s.contentHash},metadata:{modelTasksetAuthoring:a.lineage,...r.taskset.metadata.environmentResources===void 0?{}:{environmentResources:r.taskset.metadata.environmentResources},...r.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:r.taskset.metadata.ordinaryAuthoring}}})),d=Xe(r),m=d?[...r.files.filter(p=>p.asset.id!==Wt(r.taskset)),Fa({...d.execution,verifierSet:s})]:r.files;return jt({schemaVersion:"openpond.tasksetPackage.v1",taskset:u,environment:r.environment,verifierSet:s,files:m})}c(il,"publishModelTasksetDraftPackage");function sl(t){let a=X(t);if(a.modelResources||a.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return a}c(sl,"requireOrdinaryPackage");function ol(t,a,r,n){if(t.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:t,inventory:r,generatedFiles:[]};let i="environment/execution.json",s=a.get(i);if(!s||s.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let o=ct.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(s))),l=c(E=>{if(!E)return null;let I=r.find(T=>T.asset.id===E.id&&T.asset.path===E.path);if(!I)throw new Error(`Authored environment dependency is missing: ${E.id}.`);return I.asset},"repin"),{contentHash:u,...d}=o.javascript,m=va.parse(M({...d,id:`javascript-${t.id}`,revision:t.revision,module:l(o.javascript.module)}));if(f(m.tools)!==f(t.environment.metadata.portableTools)||f(m.tools.map(E=>E.name))!==f(t.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let p=kt({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${t.id}`,revision:t.revision,contract:Lr(t),actionSchemaRef:l(o.environment.actionSchemaRef),observationSchemaRef:l(o.environment.observationSchemaRef),stateSchemaRef:l(o.environment.stateSchemaRef),artifactCollection:o.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:x(m),resources:t.environment.resources??[]}}),h=ae.parse({...t,environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:p}}}}),v=Fr({taskset:h,adapterId:n}),g=Fa({javascript:m,environment:p,verifierSet:v.verifierSetRelease}),w=[...r.filter(E=>E.sourcePath!==i),{asset:g.asset,sourcePath:i}],_=ae.parse({...h,metadata:{...h.metadata,portableFileInventory:w}});return{taskset:ae.parse({..._,contentHash:pt(_)}),inventory:w,generatedFiles:[{path:i,role:"environment",content:new TextDecoder().decode(be(g))}]}}c(ol,"prepareAuthoredToolEnvironment");var ea=e.array(e.object({asset:W,sourcePath:e.string().min(1)}).strict()).max(1e4),cl=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function dl(t){return cl.has(t)}c(dl,"isGeneratedTasksetPublicationFilePath");function ll(t,a,r){let n=ae.parse(t);if(n.metadata.taskDefinition!==void 0||n.metadata.rewardBinding!==void 0)return{taskset:n,generatedFiles:[]};let i=new Map,s=0;for(let[k,H]of a){if(ce.parse(k),s+=H.byteLength,i.size>=1e4||s>ze*3/4)throw new Error("Taskset source exceeds the package byte limit.");i.set(k,H.slice())}let o=n.metrics?.customAggregator,l=o?i.get(o.module):void 0;if(o&&!l)throw new Error("Declared Taskset metric module is missing.");let u=o&&l?{...n.metrics,customAggregator:{...o,contentHash:G(l)}}:n.metrics,d=new Map,m=new Set,p=[],h=c((k,H,A,J)=>{let y=i.get(H);if(!y)throw new Error(`Declared Taskset file is missing: ${H}.`);return{id:k,path:H,contentHash:G(y),sizeBytes:y.byteLength,mediaType:A,visibility:J}},"ref"),v=c((k,H=k.path)=>{let A=d.get(k.id);if(A&&f(A)!==f({asset:k,sourcePath:H}))throw new Error(`Conflicting Taskset file identity: ${k.id}.`);let J=i.get(H);if(!J||J.length!==k.sizeBytes||G(J)!==k.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${k.id}.`);d.set(k.id,{asset:k,sourcePath:H}),m.add(H)},"add");for(let k of n.tasks){let H=Wa(k);for(let A of H.artifactRefs)v(A,k.assets?.find(J=>J.id===A.id)?.artifactRef??A.path);for(let A of H.requiredOutputs??[])A.schemaRef&&v(A.schemaRef)}for(let k of n.environment.resources??[])v(h(k.id,k.path,k.mediaType??"application/octet-stream",k.visibility==="policy_visible"?"policy":"host_private"));let g=n.graders.map(k=>{if(k.kind==="custom_verifier"){let H=h(`verifier-${k.id}`,k.module,"application/javascript","host_private"),A=W.safeParse(k.metadata.portableVerifierRef);return A.success&&A.data.contentHash===H.contentHash&&A.data.sizeBytes===H.sizeBytes&&(H=A.data),v(H,k.module),{...k,metadata:{...k.metadata,portableVerifierRef:H}}}if(k.kind==="human"||k.kind==="model_judge"){let H=new TextEncoder().encode(k.rubric),A=`graders/rubric-${G(H)}.md`;i.set(A,H);let J=h(`rubric-${k.id}`,A,"text/markdown","verifier"),y=W.safeParse(k.metadata.portableRubricRef);if(y.success&&y.data.contentHash===J.contentHash&&y.data.sizeBytes===J.sizeBytes){if(y.data.visibility==="policy")throw new Error("A grader rubric cannot become policy-visible.");J=y.data}return v(J,A),p.push({path:A,role:"verifier",content:k.rubric}),{...k,metadata:{...k.metadata,portableRubricRef:J}}}return k});o&&![...d.values()].some(k=>k.asset.path===o.module&&k.sourcePath===o.module&&k.asset.visibility!=="policy")&&v(h(`metric-${f(o.module)}`,o.module,"application/javascript","host_private"));let w=ea.parse(n.metadata.portableFileInventory??[]);for(let k of[...i.keys()].sort())if(!m.has(k)){let H=w.find(A=>A.sourcePath===k&&!d.has(A.asset.id));v(H?{...h(H.asset.id,k,H.asset.mediaType,H.asset.visibility),path:H.asset.path}:h(`taskset-file-${f(k)}`,k,"application/octet-stream","host_private"),k)}let{importedPackageHash:_,derivedPortableMetadata:E,...I}=n.metadata,T={...n.environment.metadata};if(T.portableExecutionResources!==void 0){let k=e.object({environment:e.unknown(),verifierSet:e.unknown().optional()}).parse(T.portableExecutionResources);T.portableExecutionResources={environment:k.environment}}let Q=ae.parse({...n,graders:g,metrics:u,environment:{...n.environment,metadata:T},metadata:{...I,..._===void 0?{}:{sourceImportedPackageHash:_},portableFileInventory:ea.parse([...d.values()].sort((k,H)=>k.asset.id.localeCompare(H.asset.id)))}}),ee=ol(Q,i,[...d.values()],r);return{taskset:ae.parse({...ee.taskset,contentHash:pt(ee.taskset)}),generatedFiles:[...p,...ee.generatedFiles]}}c(ll,"prepareAuthoredTasksetSource");function ml(t){let a=X(t.source);if(a.modelResources||a.learningResources)throw new Error("Binding an ordinary Reward requires an ordinary source package.");let r=ut(a);if(!r.trim())throw new Error("Add collection instructions before selecting a saved Reward.");let n=new Map,i=Xe(a);for(let I of i?.assets??[])n.set(I.id,I);let s=new Set([...a.taskset.tasks.flatMap(I=>I.privilegedContextRef?[I.privilegedContextRef]:[]),...[a.environment.actionSchemaRef,a.environment.observationSchemaRef,a.environment.stateSchemaRef].flatMap(I=>I?[I.id]:[])]);for(let I of s){if(n.has(I))continue;let T=a.files.find(ee=>ee.asset.id===I);if(!T)throw new Error(`Source Taskset context is missing: ${I}.`);let Q=new TextDecoder("utf-8",{fatal:!0}).decode(be(T));n.set(I,Te.parse(M({schemaVersion:"openpond.learningTextAsset.v1",id:I,revision:1,asset:T.asset,text:Q})))}for(let I of t.assets){let T=a.files.find(Q=>Q.asset.id===I.id);if(T&&M({asset:T.asset}).contentHash!==M({asset:I.asset}).contentHash)throw new Error(`Selected Reward conflicts with a source asset: ${I.id}.`);n.set(I.id,I)}let{policy:o,environment:l,environmentRelease:u,tools:d,capabilities:m,verifierSetRelease:p}=a.taskset,h=ie.parse(M({schemaVersion:"openpond.taskDefinition.v1",id:`${a.taskset.id}-definition`,revision:1,name:a.taskset.id,description:"",instructions:r,category:"custom",familyNamespace:a.taskset.id,inputSchema:{type:"object"},outputSchema:{type:"object"},rewardBinding:x(t.rewardBinding),harness:null,execution:{policy:o,environment:l,environmentRelease:u,tools:d,capabilities:m,verifierSetRelease:p}})),v=Yt({...t,assets:[...n.values()],source:{taskset:a.taskset,taskDefinition:h,instructionMode:"per_task",executionResources:{environment:a.environment,verifierSet:a.verifierSet},...i?{execution:i.execution}:{}}}),g=new Map(a.files.map(I=>[I.asset.id,I]));for(let I of v.assets){let T="";for(let Q of new TextEncoder().encode(I.text))T+=String.fromCharCode(Q);g.set(I.id,{asset:I.asset,base64:btoa(T)})}let{taskset:w,executionResources:_,...E}=v;return jt({schemaVersion:"openpond.tasksetPackage.v1",taskset:w,..._,modelResources:E,files:[...g.values()]})}c(ml,"bindOrdinaryModelTasksetReward");function ul(t){let{request:a,package:r}=t,n=r.learningResources;if(!n)throw new ue("model_review_batch_required",422);let i=oe(r.taskset),s=`model-review-${f([t.scope,a.modelId,a.operationId])}`,o=new Map(a.examples.map(y=>[f(y.evidence),y])),l=new Set(n.evidence.map(y=>f(x(y)))),u=new Map(n.decisions.map(y=>[f(y.evidence),y]));if(o.size!==a.examples.length||a.examples.some(y=>!l.has(f(y.evidence))))throw new ue("model_review_evidence_mismatch",409);for(let y of[t.binding,...t.rewards,...t.assets])bt(y);la(t.binding,t.rewards);let d=new Map;for(let y of t.binding.sources){let F=t.rewards.find(Xa=>U(x(Xa),y.reward)),{contentHash:me,...Le}=F;d.set(F.contentHash,hn({...Le,id:`${s}-reward-${F.contentHash}`,revision:1}))}let m=[...d.values()],{contentHash:p,recipeRef:h,...v}=t.binding,g=da({...v,id:`${s}-binding`,revision:1,sources:t.binding.sources.map(y=>({...y,reward:x(d.get(y.reward.contentHash))}))},m),w=m.flatMap(y=>[...y.assets,..."verifierRef"in y.implementation?[y.implementation.verifierRef]:[],..."rubricRef"in y.implementation?[y.implementation.rubricRef]:[],..."inputContract"in y.implementation?[y.implementation.inputContract]:[]]),_=[...new Map(w.map(y=>{let F=t.assets.find(me=>me.id===y.id);if(!F)throw new ue("model_review_reward_asset_missing",422);if(K(F,y),y.visibility==="policy")throw new ue("reward_asset_visibility_invalid",422);return[F.id,F]})).values()],{environmentRelease:E,verifierSetRelease:I,...T}=i.definition.execution,{contentHash:Q,...ee}=i.definition,k=ie.parse(M({...ee,...a.definition,id:`${s}-definition`,revision:1,rewardBinding:x(g),execution:{...T,policy:{...T.policy,hiddenGraderRefs:ne(g,m).filter(y=>y.privileged).map(y=>y.id)}}})),H=Ne.parse(M({schemaVersion:"openpond.learningSource.v1",id:s,revision:1,name:`${k.name} review`,kind:"direct",taskDefinition:x(k),enabled:!0,allowedSplits:[...new Set(n.evidence.map(y=>y.submission.split))],mapping:null,adapterVersion:null,reviewOrigin:{modelId:a.modelId,packageHash:r.contentHash,taskset:x(r.taskset),batch:x(n.batch),rewardBinding:x(t.binding)}})),A=n.evidence.map(y=>{let F=o.get(f(x(y))),me=`review-${y.contentHash}`,Le=f({instructions:k.instructions,inputSchema:k.inputSchema,outputSchema:k.outputSchema,requiredOutputs:k.requiredOutputs??[],input:F?.input??y.submission.input})!==f({instructions:i.definition.instructions,inputSchema:i.definition.inputSchema,outputSchema:i.definition.outputSchema,requiredOutputs:i.definition.requiredOutputs??[],input:y.submission.input});return nt.parse(M({schemaVersion:"openpond.taskEvidence.v1",id:_n(H.id,y.submission.exampleId,me),revision:1,source:x(H),submission:{...y.submission,sourceId:H.id,taskDefinition:x(k),attemptId:me,observedOutput:Le?null:y.submission.observedOutput,idempotencyKey:`${s}-${y.contentHash}`,...F?.input===void 0?{}:{input:F.input},...F?.expected===void 0?{}:{expected:F.expected},...F?.evaluatorContext===void 0?{}:{evaluatorContext:F.evaluatorContext}},supersedes:x(y),correctionFeedbackId:null,receivedAt:t.now}))}),J=A.flatMap(y=>{let F=o.get(f(y.supersedes)),me=u.get(f(y.supersedes)),Le=F?.proposedTarget===void 0?me.approvedTarget:F.proposedTarget;return Le===null?[]:[fa.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${f([s,y.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:H.id,idempotencyKey:`${s}-${y.id}`,exampleId:y.submission.exampleId,attemptId:y.submission.attemptId,expectedEvidenceHash:y.contentHash,occurredAt:t.now,kind:"target_correction",value:Le,note:"Proposed target for the revised task. Grade and review before admission."},status:"pending_review",evidence:x(y),createdAt:t.now,review:null})]});return{source:H,definition:k,binding:g,rewards:m,assets:_,evidence:A,proposals:J}}c(ul,"prepareModelBatchReview");var os=c(t=>`model-batch-review-${f([t.modelId,t.operationId])}`,"operation");function pl(t){let a=X(t);if(!a.learningResources)throw new ue("model_review_batch_required",422);let r=oe(a.taskset);return qr.parse({schemaVersion:"openpond.modelBatchReviewInspection.v1",packageHash:a.contentHash,definition:r.definition,binding:r.binding,evidence:a.learningResources.evidence,decisions:a.learningResources.decisions})}c(pl,"inspectModelBatchPackage");async function cs(t,a){let r=Na.parse(a),n=await t.operation(os(r));if(!n)return null;if(n.requestHash!==f(r))throw new ue("learning_idempotency_conflict",409);return ds(t,r,n.resources)}c(cs,"findModelBatchReview");async function fl(t,a){let r=Na.parse(a.request),n=await cs(t,r);if(n)return n;let i=X(a.package);if(!i.learningResources)throw new ue("model_review_batch_required",422);let s=oe(i.taskset),o=r.rewardBindingRef,l=!o||U(o,x(s.binding)),u=l?s.binding:await sr(t,"binding",o),d=l?s.rewards:await Promise.all(u.sources.map(g=>sr(t,"reward",g.reward))),m=new Set(d.flatMap(g=>[...g.assets,..."verifierRef"in g.implementation?[g.implementation.verifierRef]:[],..."rubricRef"in g.implementation?[g.implementation.rubricRef]:[],..."inputContract"in g.implementation?[g.implementation.inputContract]:[]]).map(g=>g.id)),p=l?i.learningResources.assets:await Promise.all([...m].map(g=>ir(t,"asset",g,1))),h=ul({...a,request:r,package:i,binding:u,rewards:d,assets:p}),v=[];for(let g of h.assets){let w=await t.get("asset",g.id,1);if(w&&w.contentHash!==g.contentHash)throw new ue("model_review_asset_conflict",409);w||await t.put("asset",g,0)}for(let g of h.rewards)await t.put("reward",g,0);await t.put("binding",h.binding,0),await t.put("definition",h.definition,0),await t.put("source",h.source,0,{parentId:r.modelId}),v.push({kind:"source",id:h.source.id,revision:1});for(let g of h.evidence)await t.put("evidence",g,0,{parentId:h.source.id}),v.push({kind:"evidence",id:g.id,revision:1});for(let g of h.proposals)await t.put("feedback",g,0,{parentId:g.evidence.id,status:g.status}),v.push({kind:"feedback",id:g.id,revision:1});return await t.saveOperation(os(r),{requestHash:f(r),resources:v}),ds(t,r,v)}c(fl,"beginModelBatchReview");async function ds(t,a,r){let n=await Promise.all(r.map(i=>ir(t,i.kind,i.id,i.revision)));return Dr.parse({schemaVersion:"openpond.modelBatchReviewReceipt.v1",operationId:a.operationId,modelId:a.modelId,source:n.find(i=>i.schemaVersion==="openpond.learningSource.v1"),evidence:n.filter(i=>i.schemaVersion==="openpond.taskEvidence.v1"),proposals:n.filter(i=>i.schemaVersion==="openpond.taskFeedbackRecord.v1")})}c(ds,"readReceipt");function hl(t){let a=X(t.package),r=a.taskset,n=a.modelResources,i=a.learningResources?oe(r):void 0,s=_t.parse({schemaVersion:"openpond.uploadedFileDatasetSource.v1",kind:"uploaded_file",id:`package-source-${f({profileId:t.profileId,packageHash:a.contentHash})}`,profileId:t.profileId,title:t.name,sourceHash:a.contentHash,occurredAt:t.createdAt,licensingStatus:"pending",secretScanStatus:"pending",piiScanStatus:"pending",originalFileNames:["taskset-package.json"],mediaTypes:["application/json"],sourceFileHashes:[a.contentHash],totalBytes:new TextEncoder().encode(JSON.stringify(a)).byteLength,parserVersion:"openpond.tasksetPackage.v1",metadata:{}}),o=ts({profileId:t.profileId,id:`${r.id}-import`,name:t.name,now:t.createdAt}),l=[];for(let h of r.graders)if(h.kind==="custom_verifier"){let v=n?.assets.find(_=>_.id===h.verifierRef.id),g=a.files.find(_=>_.asset.id===h.verifierRef.id);if(!g)throw new Error(`Imported verifier source is missing: ${h.id}.`);let w=Xt(h.verifierRef.contentHash);l.some(_=>_.path===w)||l.push({path:w,role:"verifier",content:v?K(v,h.verifierRef):new TextDecoder("utf-8",{fatal:!0}).decode(be(g))})}let u=r.metadata.ordinaryAuthoring??r.metadata.starterAuthoring,d=lt.array().max(1e5).parse(u?.graderFixtures??[]),m=r.environment.kind==="text"?"chat":r.environment.kind==="custom_program"?"program":r.environment.kind,p=ae.parse({schemaVersion:"openpond.taskset.v1",id:r.id,revision:r.revision,profileId:t.profileId,profileRelease:null,createImproveRunId:null,name:t.name,objective:ut(a),status:"needs_review",sourceRefs:[s],datasetArtifact:null,policy:r.policy,environment:{...o.environment,kind:m,entrypoint:r.environment.entrypoint,resources:Ir.array().max(1e4).parse(r.metadata.environmentResources??[]),stateful:r.environment.stateful,deterministicSeeds:r.environment.deterministicSeeds,toolNames:r.tools.map(h=>h.name),defaultTimeoutMs:r.environment.defaultTimeoutMs,networkPolicy:r.environment.networkPolicy,metadata:{runtimeSourceTasksetId:ls(t.profileId,a.contentHash),portableEnvironment:r.environment,portableTools:r.tools,portableExecutionResources:{environment:a.environment,verifierSet:a.verifierSet}}},capabilities:{...o.capabilities,taskKind:m==="chat"?"chat":m==="program"?"custom_program":"single_agent",compatibleMethods:["none"],requiresTools:r.tools.length>0,requiresState:r.environment.stateful,rewardKinds:[...new Set(r.graders.map(h=>h.kind==="human"?"human":h.kind==="model_judge"?"model_judge":"deterministic"))]},tasks:r.tasks.map(h=>({...h,schemaVersion:"openpond.taskData.v1",sourceRefs:[s.id],assets:h.artifactRefs.map(v=>({id:v.id,sourceRefId:s.id,artifactRef:v.path,fileName:v.path.split("/").at(-1),mediaType:v.mediaType,sha256:v.contentHash,sizeBytes:v.sizeBytes,split:h.split,metadata:{portableAsset:v}})),...h.requiredOutputs?{requiredOutputs:h.requiredOutputs.map(v=>({...v,schemaRef:v.schemaRef?.id??null,maxBytes:v.maxBytes??void 0}))}:{},metadata:{portableTaskRecord:h,exampleOrigin:"imported"}})),graders:n?Ua(n.rewardBinding,n.rewards,n.assets):i?Ua(i.binding,i.rewards,a.learningResources.assets):Oi(a),graderFixtures:d,learningSignals:o.learningSignals,...r.metrics?{metrics:r.metrics}:{},authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:f("openpond-package-import-v1"),promptTemplateVersion:"package-import-v1",buildIntent:"discovery",buildSpecification:null,evidenceHashes:[a.contentHash],tasksetSdkVersion:"package-import-v1",sourceCommit:null,repairHistory:[],createdAt:t.createdAt},readiness:null,contentHash:"00000000",createdAt:t.createdAt,updatedAt:t.createdAt,metadata:{importedPackageHash:a.contentHash,...i?{learning:i}:{},portableFileInventory:a.files.map(h=>({asset:h.asset,sourcePath:h.asset.path})),...n?{taskDefinition:x(n.taskDefinition),rewardBinding:x(n.rewardBinding),rewardExecution:{binding:n.rewardBinding,rewards:n.rewards}}:{},portableCapabilities:r.capabilities,derivedPortableMetadata:r.metadata,...r.metadata.modelTasksetDerivation?{modelTasksetDerivation:r.metadata.modelTasksetDerivation}:{}}});return{package:a,taskset:ae.parse({...p,contentHash:pt(p)}),generatedFiles:l}}c(hl,"prepareImportedTasksetPackage");function ls(t,a){return`package-${f({profileId:t,packageHash:a})}`}c(ls,"tasksetPackageSourceId");var ms=e.object({draft:Ee,filePaths:e.array(e.object({assetId:e.string().min(1),paths:e.array(ce).min(1).max(1e4)}).strict()).max(1e4)}).strict();function gl(t){let a=X(t.source),r=Ee.parse(t.sourceDraft),n=Ce.parse(t.preparation);if(a.contentHash!==n.sourcePackageHash||!U(x(a.taskset),n.sourceTasksetRef))throw new Error("Taskset draft preparation differs from its source package.");if(a.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(!!a.modelResources!=(n.authoringGraph==="bound"))throw new Error("Taskset draft authoring graph differs from its source.");let i=ea.parse(r.metadata.portableFileInventory??[]),s=c(m=>Pt(m)?`source-artifacts/${a.contentHash}/${f(m)}/${m.split("/").at(-1)}`:m,"sourcePath");if([...r.tasks.flatMap(m=>(m.assets??[]).map(p=>p.artifactRef)),...(r.environment.resources??[]).map(m=>m.path),...a.taskset.tasks.flatMap(m=>(m.requiredOutputs??[]).flatMap(p=>p.schemaRef?[p.schemaRef.path]:[])),...r.metrics.customAggregator?[r.metrics.customAggregator.module]:[],...r.graders.flatMap(m=>m.kind==="custom_verifier"?[m.module]:[])].some(Pt))throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");let l=a.files.map(m=>{let p=new Set([m.asset.path]);for(let h of i)h.asset.id===m.asset.id&&p.add(h.sourcePath);for(let h of r.tasks)for(let v of h.assets??[])v.id===m.asset.id&&p.add(v.artifactRef);for(let h of a.taskset.graders)if(h.kind==="custom_verifier"&&h.verifierRef.id===m.asset.id){let v=r.graders.find(g=>g.id===h.id);v?.kind==="custom_verifier"&&p.add(v.module)}return{assetId:m.asset.id,paths:[...p].map(s)}}),u={...r.metadata};if(a.modelResources)for(let m of["taskDefinition","rewardBinding","rewardExecution","derivedPortableMetadata","modelTasksetDerivation","importedPackageHash"])delete u[m];let d=Ee.parse({...r,id:n.draftId,revision:1,status:"draft",graders:r.graders.map(m=>({...m,metadata:{...m.metadata,portableGrader:a.taskset.graders.find(p=>p.id===m.id)}})),environment:{...r.environment,metadata:{...r.environment.metadata,portableExecutionResources:{environment:a.environment}}},modelScope:{modelId:n.lineage.owner.modelId,expectedModelRevision:t.expectedModelRevision,source:n},publishedTasksetRef:n.tasksetRevision>1?n.sourceTasksetRef:null,metadata:{...u,modelTasksetAuthoring:n.lineage,portableFileInventory:i.map(m=>({...m,sourcePath:s(m.sourcePath),asset:{...m.asset,id:Pt(m.sourcePath)?`source-artifact-${f({packageHash:a.contentHash,assetId:m.asset.id})}`:m.asset.id,path:s(m.asset.path)}}))}});return ms.parse({draft:d,filePaths:l})}c(gl,"prepareTasksetDraftSource");var Mt=e.string().trim().min(1).max(500),vl=e.string().regex(/^[a-f0-9]{64}$/),Qe=e.object({id:Mt,revision:e.number().int().positive(),contentHash:vl}).strict(),Nr=e.object({schemaVersion:e.literal("openpond.hostedTasksetSummary.v1"),id:Mt,teamId:Mt,release:Qe,name:e.string().min(1).max(500),description:e.string().max(2e4),taskCount:e.number().int().nonnegative(),buildIntent:e.string().min(1).max(100),methodHint:e.string().min(1).max(100).nullable(),packageBytes:e.number().int().nonnegative().nullable(),storedBytes:e.number().int().nonnegative().nullable(),createdAt:e.string().datetime({offset:!0})}).strict(),bl=e.object({afterId:e.string().trim().min(1).max(2e3).optional(),limit:e.number().int().min(1).max(100).default(30),modelProjectId:Mt.optional(),projectId:Mt.optional(),search:e.string().trim().max(100).optional(),sort:e.enum(["id","name","updated"]).default("id")}).strict(),kl=e.object({items:e.array(Nr).max(100),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),Sl=e.object({code:e.string().min(1),message:e.string().min(1)}).strict(),Ct=class extends Error{static{c(this,"OpenPondTasksetCatalogError")}constructor(t,a,r){super(r),this.status=t,this.code=a,this.name="OpenPondTasksetCatalogError"}status;code},Ph=class{static{c(this,"OpenPondTasksetCatalogClient")}#e;constructor(t){if(!t.apiKey.trim()||!t.teamId.trim())throw new Error("Taskset API key and workspace are required.");let a=new URL(t.baseUrl);if(!["http:","https:"].includes(a.protocol)||a.username||a.password||a.search||a.hash)throw new Error("Taskset base URL must be an HTTP(S) endpoint without credentials, query, or fragment.");this.#e={...t,baseUrl:a.toString().replace(/\/+$/,"")}}async list(t={},a={}){let r=bl.parse(t),n=new URLSearchParams({limit:String(r.limit)});r.afterId&&n.set("afterId",r.afterId),r.modelProjectId&&n.set("modelProjectId",r.modelProjectId),r.projectId&&n.set("projectId",r.projectId),r.search!==void 0&&n.set("search",r.search),n.set("sort",r.sort);let i=kl.parse(await this.#t(`?${n}`,a.signal));if(i.items.length>r.limit||new Set(i.items.map(s=>s.id)).size!==i.items.length||i.items.some(s=>s.teamId!==this.#e.teamId))throw new Ct(502,"catalog_scope_mismatch","Taskset inventory did not match the requested workspace or page size.");return i}async get(t,a={}){let r=Mt.parse(t),n=Nr.parse(await this.#t(`/${encodeURIComponent(r)}`,a.signal));if(n.id!==r||n.teamId!==this.#e.teamId)throw new Ct(502,"catalog_identity_mismatch","Taskset metadata did not match the requested identity.");return n}async resolve(t,a={}){let r=Qe.parse(t),n=Nr.parse(await this.#t(`/releases/${encodeURIComponent(r.id)}/${r.revision}/${r.contentHash}`,a.signal));if(n.teamId!==this.#e.teamId||n.release.id!==r.id||n.release.revision!==r.revision||n.release.contentHash!==r.contentHash)throw new Ct(502,"catalog_release_mismatch","Taskset metadata did not match the requested immutable release.");return n}async#t(t,a){let r=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/taskset-catalog${t}`,{headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,Accept:"application/json"},signal:a,redirect:"error"}),n=r.body?.getReader();if(!n)throw new Ct(r.status,"empty_response","Taskset catalog response was empty.");let i=new TextDecoder,s=0,o="";try{for(;;){let u=await n.read();if(u.done)break;if(s+=u.value.byteLength,s>4194304)throw new Ct(r.status,"response_too_large","Taskset catalog response exceeded 4 MiB.");o+=i.decode(u.value,{stream:!0})}o+=i.decode()}finally{await n.cancel(),n.releaseLock()}let l=JSON.parse(o);if(!r.ok){let u=Sl.safeParse(l);throw new Ct(r.status,u.success?u.data.code:"invalid_error_response",u.success?u.data.message:`Taskset catalog request failed (${r.status}).`)}return l}};var ye=e.string().trim().min(1).max(500),$t=e.string().regex(/^[a-f0-9]{64}$/),us=hr.pick({portableProjectId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,sourceRevision:!0,sourceUpdatedAt:!0}).extend({trainingSetup:Ft.omit({tasksetRef:!0,rewardBindingRef:!0,tasksetRelease:!0})}).strict(),ps=e.object({schemaVersion:e.literal("openpond.tasksetPackagePublication.v1"),operationId:ye,modelProjectId:ye,expectedProjectEtag:$t.nullable(),name:e.string().trim().min(1).max(200),description:e.string().max(5e3),buildIntent:e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),methodHint:e.enum(["sft","dpo","grpo","ppo"]).nullable(),package:mt,modelConfiguration:us.optional(),evaluationPackage:mt.optional(),selection:e.enum(["select","attach"]).optional()}).strict().refine(t=>t.selection!=="attach"||t.modelConfiguration===void 0,"Attachment-only publication cannot replace Model configuration.").refine(t=>!t.evaluationPackage||t.modelConfiguration!==void 0&&t.modelConfiguration.trainingSetup.evaluationTasksetRef!=null&&f(t.modelConfiguration.trainingSetup.evaluationTasksetRef)===f(x(t.evaluationPackage.taskset)),"Evaluation package must match the selected immutable evaluation in Model configuration."),fs=e.object({schemaVersion:e.literal("openpond.tasksetPackageReceipt.v1"),teamId:ye,modelProjectId:ye,operationId:ye,taskset:Qe,packageHash:$t,hostedTasksetId:ye,projectEtag:$t,project:Me.optional(),selection:e.enum(["select","attach"]).optional(),evaluation:e.object({taskset:Qe,packageHash:$t,hostedTasksetId:ye}).strict().optional()}).strict(),hs=e.object({schemaVersion:e.literal("openpond.tasksetPackageReadback.v1"),teamId:ye,modelProjectId:ye,package:mt}).strict(),gs=e.object({schemaVersion:e.literal("openpond.tasksetReleasePackageReadback.v1"),teamId:ye,release:Qe,package:mt}).strict(),le=class extends Error{static{c(this,"OpenPondTasksetPackageError")}constructor(t,a,r){super(r),this.status=t,this.code=a,this.name="OpenPondTasksetPackageError"}status;code},yl=class{static{c(this,"OpenPondTasksetPackageClient")}#e;constructor(t){let a=new URL(t.baseUrl);if(!["http:","https:"].includes(a.protocol)||a.username||a.password||a.search||a.hash||!t.apiKey.trim()||!t.teamId.trim())throw new Error("Taskset package client requires a clean HTTP(S) endpoint and workspace credentials.");this.#e={...t,baseUrl:a.toString().replace(/\/+$/,"")}}async publish(t,a={}){let r=ps.parse(t);X(r.package),r.evaluationPackage&&X(r.evaluationPackage);let n=fs.parse(await this.#t("","POST",r,a.signal)),i=r.package.taskset;if(n.teamId!==this.#e.teamId||n.modelProjectId!==r.modelProjectId||n.operationId!==r.operationId||n.packageHash!==r.package.contentHash||n.taskset.id!==i.id||n.taskset.revision!==i.revision||n.taskset.contentHash!==i.contentHash)throw new le(502,"package_receipt_mismatch","Taskset publication receipt did not match the requested package and owner.");if(r.selection!==void 0&&n.selection!==r.selection)throw new le(502,"package_receipt_mismatch","Taskset publication did not retain its selection mode.");if(r.evaluationPackage&&(!n.evaluation||n.evaluation.packageHash!==r.evaluationPackage.contentHash||f(n.evaluation.taskset)!==f(x(r.evaluationPackage.taskset))))throw new le(502,"package_receipt_mismatch","Taskset publication did not retain the complete selected evaluation package.");if(r.selection==="attach"&&n.projectEtag!==r.expectedProjectEtag)throw new le(502,"package_receipt_mismatch","Attaching a historical Taskset changed the Model configuration.");if(r.modelConfiguration){let s=r.modelConfiguration,o=n.project,l=$r(r.package),u=Ft.parse({...s.trainingSetup,tasksetRef:x(i),rewardBindingRef:l?x(l):null,tasksetRelease:null});if(!o||o.teamId!==this.#e.teamId||o.etag!==n.projectEtag||![o.id,o.portableProjectId].includes(r.modelProjectId)||o.portableProjectId!==s.portableProjectId||o.name!==s.name||o.objective!==s.objective||o.sourceRevision!==s.sourceRevision||Date.parse(o.sourceUpdatedAt)!==Date.parse(s.sourceUpdatedAt)||f(o.defaultBaseModel)!==f(s.defaultBaseModel)||o.defaultDestinationId!==s.defaultDestinationId||f(o.trainingSetup)!==f(u))throw new le(502,"package_receipt_mismatch","Taskset publication did not retain the requested Model configuration.")}return n}async getByRelease(t,a={}){let r=Qe.parse(t),n=a.expectedPackageHash===void 0?void 0:$t.parse(a.expectedPackageHash),i=gs.parse(await this.#t(`/releases/${encodeURIComponent(r.id)}/${r.revision}/${r.contentHash}/package`,"GET",void 0,a.signal)),s=X(i.package),o={id:s.taskset.id,revision:s.taskset.revision,contentHash:s.taskset.contentHash};if(i.teamId!==this.#e.teamId||f(i.release)!==f(r)||f(o)!==f(r)||n!==void 0&&s.contentHash!==n)throw new le(502,"package_readback_mismatch","Independent Dataset package differs from the requested workspace or exact release.");return s}async get(t,a,r={}){let n=ye.parse(t),i=Qe.parse(a),s=r.expectedPackageHash===void 0?void 0:$t.parse(r.expectedPackageHash),o=hs.parse(await this.#t(`/${encodeURIComponent(n)}/${encodeURIComponent(i.id)}/${i.revision}/${i.contentHash}`,"GET",void 0,r.signal)),l=o.package.taskset;if(o.teamId!==this.#e.teamId||o.modelProjectId!==n||l.id!==i.id||l.revision!==i.revision||l.contentHash!==i.contentHash)throw new le(502,"package_readback_mismatch","Taskset package did not match the requested release and owner.");if(s!==void 0&&o.package.contentHash!==s)throw new le(502,"package_readback_mismatch","Taskset package did not match the saved publication receipt.");return X(o.package)}async#t(t,a,r,n){let i=r===void 0?void 0:JSON.stringify(r);if(i&&new TextEncoder().encode(i).byteLength>ze)throw new le(413,"package_too_large","Taskset publication exceeds the 64 MiB envelope.");let s=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/taskset-packages${t}`,{method:a,headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,Accept:"application/json",...i?{"Content-Type":"application/json"}:{}},body:i,signal:n,redirect:"error"}),o=s.body?.getReader();if(!o)throw new le(s.status,"empty_response","Taskset package response was empty.");let l=new TextDecoder("utf-8",{fatal:!0}),u=0,d="";try{for(;;){let p=await o.read();if(p.done)break;if(u+=p.value.byteLength,u>ze)throw new le(413,"package_too_large","Taskset response exceeds the 64 MiB envelope.");d+=l.decode(p.value,{stream:!0})}d+=l.decode()}finally{await o.cancel(),o.releaseLock()}let m=JSON.parse(d);if(!s.ok){let p=e.object({code:e.string(),message:e.string()}).safeParse(m);throw new le(s.status,p.success?p.data.code:"package_request_failed",p.success?p.data.message:`Taskset package request failed (${s.status}).`)}return m}};var qt=e.string().regex(/^[a-f0-9]{64}$/),vs=e.object({providerId:e.literal("claude-code"),configurationHash:qt,executableHash:qt,version:e.string().regex(/^2\.\d+\.\d+$/),capabilityHash:qt,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5),maximumTurns:e.number().int().min(1).max(100),holdOpen:e.boolean()}).strict(),Wh=e.object({id:e.string().min(1).max(200),receiptId:e.string().min(1).max(200),sessionId:e.uuid(),operationId:e.string().min(1).max(200),action:e.enum(["message","seal"]),text:e.string().max(262144).optional()}).strict().superRefine((t,a)=>{t.action==="message"&&!t.text?.trim()&&a.addIssue({code:"custom",message:"A human intervention requires a message."}),t.action==="seal"&&t.text!==void 0&&a.addIssue({code:"custom",message:"Sealing does not add a prompt."})}),Yh=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:vs,sourceHash:qt,outputHash:qt,traceHash:qt,runtimeEventRefs:e.array(e.string().min(1).max(200)).min(1).max(2e4),eventCount:e.number().int().positive().max(2e4),startedAt:e.iso.datetime(),completedAt:e.iso.datetime(),cleanupComplete:e.literal(!0)}).strict().superRefine((t,a)=>{(t.runtimeEventRefs.length!==t.eventCount||new Set(t.runtimeEventRefs).size!==t.eventCount)&&a.addIssue({code:"custom",message:"Process event references must match the exact retained trace population."})}),ta=e.object({id:e.string().trim().min(1).max(240),revision:e.number().int().positive(),contentHash:e.string().regex(/^[a-f0-9]{64}$/),targetId:e.string().trim().min(1).max(240).nullable()}).strict(),wl=e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(1e5)}).strict()).max(100).superRefine((t,a)=>{t.reduce((r,n)=>r+n.content.length,0)>1e5&&a.addIssue({code:"custom",message:"Evaluation prompt exceeds 100,000 characters."})}),xl=e.object({schemaVersion:e.literal("openpond.experimentAttemptGrade.v1"),selectionHash:e.string().regex(/^[a-f0-9]{64}$/),grades:e.array(sa).min(1).max(100),score:e.number().min(0).max(1).nullable(),passed:e.boolean(),rewardEligible:e.boolean(),gradingStatus:e.enum(["scored","pending","unscorable","not_configured"]),failureClass:wa.nullable(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((t,a)=>{let{contentHash:r,...n}=t;f(n)!==r&&a.addIssue({code:"custom",message:"Experiment grading integrity failed."});let i=t.grades.flatMap(s=>s.components);(i.length!==t.grades.length||new Set(i.map(s=>s.graderId)).size!==i.length)&&a.addIssue({code:"custom",message:"Each selected criterion requires exactly one distinct grader result."});for(let s of t.grades){let{contentHash:o,...l}=s;f(l)!==o&&a.addIssue({code:"custom",message:"A retained criterion changed."});for(let u of s.components){let{contentHash:d,...m}=u;f(m)!==d&&a.addIssue({code:"custom",message:"A retained grader result changed."})}}}),O=e.string().trim().min(1).max(200),ft=e.string().regex(/^[a-f0-9]{64}$/),Ur=e.discriminatedUnion("kind",[e.object({kind:e.literal("hosted_chat"),modelId:O,localRuntime:e.union([e.object({providerId:e.literal("custom-openai-compatible"),configurationHash:ft,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict(),vs]).optional(),candidate:e.object({artifactId:O,contentHash:ft,preparationId:O,dispatchId:O,baseProfileId:O,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),harness:gn.optional(),messages:wl.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:O}).strict()]),bs=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptRequest.v1"),operationId:O,teamId:O,modelProjectId:O.nullable(),project:ta.optional(),taskset:N,taskId:O,environmentSeed:e.number().int().min(0).max(2147483647).default(0),policy:Ur}).strict(),Rl=e.object({modelProjectId:O.nullable(),taskset:N,afterTaskId:O.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Tl=e.object({modelProjectId:O.nullable(),taskset:N,available:e.boolean(),unavailableReason:e.string().max(1e3).nullable(),models:e.array(e.object({id:O,name:e.string().max(500)}).strict()).max(200),tasks:e.array(e.object({id:O,split:dn,inputPreview:e.string().max(500),fixtures:e.array(e.object({id:O,label:e.string().max(200)}).strict()).max(1e3)}).strict()).max(100),nextCursor:O.nullable()}).strict(),aa=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptSummary.v1"),id:O,revision:e.number().int().positive(),request:bs,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),policySnapshot:e.object({modelId:O,provider:O,upstreamModelId:e.string().min(1).max(500),configurationHash:ft}).strict().nullable(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),gradingStatus:e.enum(["not_started","pending","scored","unscorable","not_configured"]).default("not_started"),passed:e.boolean().nullable(),outputPreview:e.string().max(500).nullable(),error:e.object({code:O,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,a)=>{t.request.policy.kind==="fixture"!=(t.policySnapshot===null)&&a.addIssue({code:"custom",path:["policySnapshot"],message:"Fixture execution must not claim a model identity."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable||!t.completedAt)&&a.addIssue({code:"custom",message:"Completed attempts require retained results and confirmed cleanup."})}),Il=e.object({modelProjectId:O,afterId:O.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),_l=e.object({items:e.array(aa).max(100),nextCursor:O.nullable()}).strict(),Hl=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptResult.v1"),attempt:aa,output:e.string().max(1048576).nullable(),messages:e.array(e.record(e.string(),e.unknown())).max(4002),composition:fn.nullable(),grade:sa.nullable().optional(),experimentGrade:xl.nullable().optional(),environment:e.object({status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),collected:e.boolean(),definition:N,initialStateHash:ft.nullable(),finalStateHash:ft.nullable(),attemptHash:ft}).strict(),native:vn.optional(),providerRequestIds:e.array(O).max(1001),contentHash:ft}).strict().superRefine((t,a)=>{let r=t.attempt.request.policy.kind==="hosted_chat"?t.attempt.request.policy.harness:void 0;!!r!=!!t.native&&a.addIssue({code:"custom",path:["native"],message:"Standalone Harness results require their exact native evidence."}),t.native&&(!r||f(r)!==f(t.native.source)||t.native.modelConfigurationHash!==t.attempt.policySnapshot?.configurationHash||t.environment.initialStateHash!==null||t.environment.finalStateHash!==null||t.environment.status==="completed"&&(!t.environment.collected||t.output===null||t.native.partialOutputAvailable||t.native.outputHash!==f(t.output)))&&a.addIssue({code:"custom",path:["native"],message:"Native evidence differs from the admitted source, model or output."}),t.experimentGrade&&((t.grade||t.composition)&&a.addIssue({code:"custom",message:"Selected Experiment grading cannot claim another grade population."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.experimentGrade.score||t.attempt.gradingStatus!==t.experimentGrade.gradingStatus||t.attempt.passed!==(t.experimentGrade.score===null?null:t.experimentGrade.passed))&&a.addIssue({code:"custom",message:"Experiment grading differs from its retained attempt summary."})),t.grade&&(t.composition&&a.addIssue({code:"custom",path:["grade"],message:"An ordinary grade cannot also claim a Reward composition."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.grade.score||t.attempt.gradingStatus!==t.grade.gradingStatus||t.attempt.passed!==(t.grade.score===null?null:t.grade.passed))&&a.addIssue({code:"custom",path:["grade"],message:"Ordinary grade differs from its terminal attempt summary."}))}),Ze=class extends Error{static{c(this,"OpenPondModelStarterAttemptError")}constructor(t,a,r){super(r),this.status=t,this.code=a,this.name="OpenPondModelStarterAttemptError"}status;code},ig=class{static{c(this,"OpenPondModelStarterAttemptsClient")}#e;constructor(t){let a=new URL(t.baseUrl);if(!t.apiKey.trim()||!t.teamId.trim()||!["https:","http:"].includes(a.protocol)||a.username||a.password||a.search||a.hash)throw new Error("Starter attempts require an HTTP(S) endpoint and workspace credentials.");this.#e={...t,baseUrl:a.toString().replace(/\/+$/,"")}}async create(t,a={}){let r=bs.parse(t);if(r.teamId!==this.#e.teamId)throw new Error("Attempt belongs to another workspace.");let n=this.#t(await this.#a("","POST",r,a.signal));if(C(n.request)!==C(r))throw new Ze(502,"attempt_request_mismatch","Attempt receipt differs from the submitted request.");return n}async get(t,a={}){return this.#t(await this.#a(`/${encodeURIComponent(O.parse(t))}`,"GET",void 0,a.signal),t)}async choices(t,a={}){let r=Rl.parse(t),n=new URLSearchParams({...r.modelProjectId?{modelProjectId:r.modelProjectId}:{},tasksetId:r.taskset.id,revision:String(r.taskset.revision),contentHash:r.taskset.contentHash,limit:String(r.limit)});r.afterTaskId&&n.set("afterTaskId",r.afterTaskId);let i=Tl.parse(await this.#a(`/choices?${n}`,"GET",void 0,a.signal));if(i.modelProjectId!==r.modelProjectId||C(i.taskset)!==C(r.taskset)||i.tasks.length>r.limit||new Set(i.tasks.map(s=>s.id)).size!==i.tasks.length)throw new Ze(502,"attempt_choices_mismatch","Attempt choices differ from the selected model or Taskset.");return i}async cancel(t,a={}){return this.#t(await this.#a(`/${encodeURIComponent(O.parse(t))}/cancel`,"POST",void 0,a.signal),t)}async result(t,a={}){let r=Hl.parse(await this.#a(`/${encodeURIComponent(O.parse(t))}/result`,"GET",void 0,a.signal));this.#t(r.attempt,t);let{contentHash:n,...i}=r;if(!r.attempt.resultAvailable||await L(i)!==n)throw new Ze(502,"attempt_result_integrity","Attempt result integrity failed.");return r}async list(t,a={}){let r=Il.parse(t),n=new URLSearchParams({modelProjectId:r.modelProjectId,limit:String(r.limit)});r.afterId&&n.set("afterId",r.afterId);let i=_l.parse(await this.#a(`?${n}`,"GET",void 0,a.signal));if(i.items.length>r.limit||new Set(i.items.map(s=>s.id)).size!==i.items.length||i.items.some(s=>this.#t(s).request.modelProjectId!==r.modelProjectId))throw new Ze(502,"attempt_page_mismatch","Attempt page differs from the selected model.");return i}#t(t,a){let r=aa.parse(t);if(r.request.teamId!==this.#e.teamId||a&&r.id!==a)throw new Ze(502,"attempt_identity_mismatch","Attempt receipt belongs to another identity or workspace.");return r}async#a(t,a,r,n){let i=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/model-starter-attempts${t}`,{method:a,headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,"Content-Type":"application/json",Accept:"application/json"},...r===void 0?{}:{body:JSON.stringify(r)},signal:n,redirect:"error"}),s=i.body?.getReader();if(!s)throw new Ze(i.status,"attempt_empty_response","Attempt response was empty.");let o=0,l="",u=new TextDecoder;try{for(;;){let m=await s.read();if(m.done)break;if(o+=m.value.byteLength,o>16777216)throw new Ze(502,"attempt_response_too_large","Attempt response exceeded its byte limit.");l+=u.decode(m.value,{stream:!0})}l+=u.decode()}finally{await s.cancel(),s.releaseLock()}let d=JSON.parse(l);if(!i.ok){let m=e.object({code:O,message:e.string().max(2e3)}).safeParse(d);throw new Ze(i.status,m.success?m.data.code:"attempt_request_failed",m.success?m.data.message:"Attempt request failed.")}return d}};var Dt=e.string().trim().min(1).max(240),Gr=e.string().regex(/^[a-f0-9]{64}$/),Jr=e.object({kind:e.literal("hosted_harness"),modelId:Dt,candidate:e.object({artifactId:Dt,contentHash:Gr,preparationId:Dt,dispatchId:Dt,baseProfileId:Dt,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),sourceCandidate:rr.shape.sourceCandidate,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),profileRepositoryId:Dt,source:rr,modelConfigurationHash:Gr,packageHash:Gr,externalDatasetBinding:ua.optional()}).strict().superRefine((t,a)=>{JSON.stringify(t.externalDatasetBinding??null)!==JSON.stringify(t.source.externalDatasetBinding??null)&&a.addIssue({code:"custom",message:"The policy and source must bind the same external Dataset recipe."}),JSON.stringify(t.sourceCandidate??null)!==JSON.stringify(t.source.sourceCandidate??null)&&a.addIssue({code:"custom",message:"The policy and prepared source must bind the same actual source candidate."})}),we=e.string().trim().min(1).max(200),ks=e.string().regex(/^[a-f0-9]{64}$/),jl=e.discriminatedUnion("kind",[Ur.options[0],e.object({kind:e.literal("fixture")}).strict(),Jr]),ht=e.object({schemaVersion:e.literal("openpond.modelTasksetRunRequest.v1"),operationId:we,teamId:we,modelProjectId:we.nullable(),name:e.string().trim().min(1).max(200).optional(),project:ta.optional(),taskset:N,policy:jl,population:e.array(kn).min(1).max(1e4)}).strict().superRefine((t,a)=>{new Set(t.population.map(r=>r.receiptId)).size!==t.population.length&&a.addIssue({code:"custom",path:["population"],message:"Run receipt identities must be unique."}),t.population.some(r=>r.fixtureId!==null!=(t.policy.kind==="fixture"))&&a.addIssue({code:"custom",path:["population"],message:"Only fixture runs require a fixture identity for every member."}),t.population.some(r=>!/^(0|[1-9][0-9]*)$/.test(r.seed)||Number(r.seed)>2147483647)&&a.addIssue({code:"custom",path:["population"],message:"Hosted environment seeds must be integers from 0 to 2147483647."}),t.policy.kind==="hosted_harness"&&t.modelProjectId!==null&&a.addIssue({code:"custom",path:["modelProjectId"],message:"A Harness target retains its released Profile binding separately from Model artifacts."}),t.policy.kind==="hosted_harness"&&new Set(t.population.map(r=>C([r.taskId,r.seed]))).size!==t.population.length&&a.addIssue({code:"custom",path:["population"],message:"Harness case identities must be unique for each task and seed."})}),Ss=e.object({schemaVersion:e.literal("openpond.modelTasksetRunSummary.v1"),id:we,revision:e.number().int().positive(),teamId:we,modelProjectId:we.nullable(),name:e.string().trim().min(1).max(200).optional(),project:ta.optional(),operationId:we,taskset:N,policyKind:e.enum(["hosted_chat","fixture","hosted_harness"]),manifestHash:ks,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),totalCount:e.number().int().min(1).max(1e4),counts:e.object({pending:e.number().int().nonnegative(),running:e.number().int().nonnegative(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative()}).strict(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),metricName:e.string().min(1).max(240),error:e.object({code:we,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,a)=>{Object.values(t.counts).reduce((r,n)=>r+n,0)!==t.totalCount&&a.addIssue({code:"custom",path:["counts"],message:"Run counts must account for the complete population."}),t.status!=="completed"&&t.score!==null&&a.addIssue({code:"custom",path:["score"],message:"Only completed evaluations publish a metric value."}),["completed","failed","cancelled"].includes(t.status)&&(!t.completedAt||t.counts.pending||t.counts.running)&&a.addIssue({code:"custom",message:"Terminal runs require complete population accounting."}),t.status==="cancelled"&&!t.cleanupComplete&&a.addIssue({code:"custom",message:"Cancelled runs require confirmed cleanup."}),t.resultAvailable&&!["completed","failed","cancelled"].includes(t.status)&&a.addIssue({code:"custom",message:"Run results require terminal population accounting."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable)&&a.addIssue({code:"custom",message:"Completed evaluations require retained results and confirmed cleanup."})}),ys=e.object({summary:Ss,request:ht,manifest:pa,policySnapshot:aa.shape.policySnapshot}).strict(),bg=e.object({modelProjectId:we.optional(),projectId:ta.shape.id.optional(),afterId:we.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),kg=e.object({items:e.array(Ss).max(100),nextCursor:we.nullable()}).strict(),El=e.object({schemaVersion:e.literal("openpond.modelTasksetRunResult.v1"),run:ys,receipts:e.array(bn).min(1).max(1e4),metric:sn.nullable(),contentHash:ks}).strict();function Pl(t,a){He(a,"Taskset run manifest");let r=t.policy;if(r.kind!=="hosted_harness"||a.execution.kind!=="harness"||C(a.profileEvaluation)!==C(r.source)||C(a.execution.harnessRelease)!==C(r.source.harnessRelease)||a.metadata.profileRepositoryId!==r.profileRepositoryId||a.packageHash!==r.packageHash||a.policy.kind!=="model"||a.policy.model.provider!=="openpond"||a.policy.model.model!==r.modelId||a.policy.model.revision!==null||a.policy.model.artifactHash!==(r.candidate?.contentHash??null)||a.policy.model.tokenizerRevision!==null||a.policy.model.chatTemplateHash!==null||a.policy.configurationHash!==r.modelConfigurationHash||a.tasksetRelease.id!==t.taskset.id||a.tasksetRelease.contentHash!==t.taskset.contentHash||C(a.population)!==C(t.population)||a.population.some(n=>n.receiptId!==`evaluation-${f([a.id,n.taskId,n.seed]).slice(0,32)}`))throw new Error("Harness evaluation differs from its admitted source, package or model configuration.")}c(Pl,"verifyHarnessExperimentManifest");async function Al(t){let a=ys.parse(t),{summary:r,request:n,manifest:i,policySnapshot:s}=a;if(He(i,"Taskset run manifest"),i.contentHash!==r.manifestHash||i.id!==r.id||i.createdAt!==r.createdAt||r.teamId!==n.teamId||r.modelProjectId!==n.modelProjectId||C(r.project??null)!==C(n.project??null)||C(i.metadata.project??null)!==C(n.project??null)||(r.name??null)!==(n.name??null)||r.operationId!==n.operationId||r.policyKind!==n.policy.kind||r.totalCount!==n.population.length||r.metricName!==i.metricPolicy.primaryMetric||C(r.taskset)!==C(n.taskset)||i.tasksetRelease.id!==n.taskset.id||i.tasksetRelease.contentHash!==n.taskset.contentHash||C(i.population)!==C(n.population))throw new Error("Evaluation run differs from its admitted request or manifest.");if(n.policy.kind==="fixture"){if(i.policy.kind!=="fixture"||s!==null)throw new Error("Fixture checks cannot claim a model identity.")}else if(n.policy.kind==="hosted_harness"){if(Pl(n,i),s!==null)throw new Error("Harness evaluations retain the native host model configuration.")}else if(i.policy.kind!=="model"||!s||s.modelId!==n.policy.modelId||i.policy.model.provider!==s.provider||i.policy.model.model!==s.upstreamModelId||i.policy.model.revision!==null||i.policy.model.artifactHash!==(n.policy.candidate?.contentHash??null)||i.policy.model.tokenizerRevision!==null||i.policy.model.chatTemplateHash!==null||i.policy.configurationHash!==await L({policy:n.policy,snapshot:s}))throw new Error("Evaluation model differs from its admitted policy.");return a}c(Al,"verifyModelTasksetRunDetails");async function Sg(t){let a=El.parse(t),{contentHash:r,...n}=a;if(await L(n)!==r)throw new Error("Evaluation result integrity failed.");let{summary:i,manifest:s}=await Al(a.run);if(!i.resultAvailable||!["completed","failed","cancelled"].includes(i.status))throw new Error("Evaluation result is not terminal.");let o=Sn(s,a.receipts);if(C(o)!==C(a.receipts))throw new Error("Evaluation receipts differ from the admitted order.");if(i.status==="completed"!=(a.metric!==null))throw new Error("Only completed evaluations retain a metric.");if(a.metric&&(on(a.metric),a.metric.runManifest.id!==s.id||a.metric.runManifest.contentHash!==s.contentHash||C(a.metric.tasksetRelease)!==C(s.tasksetRelease)||C(a.metric.policy)!==C(s.metricPolicy)||C(a.metric.receiptRefs)!==C(a.receipts.map(({id:l,contentHash:u})=>({id:l,contentHash:u})))||a.metric.value!==i.score))throw new Error("Evaluation metric differs from its admitted run or receipt population.");return a}c(Sg,"verifyModelTasksetRunResult");var Ts=e.string().min(1).max(200).refine(t=>!["__proto__","prototype","constructor"].includes(t),"Use an ordinary field name."),Cl=e.array(Ts).min(1).max(20),ws=e.enum(["input","output","expectedOutput","evaluatorContext"]),Ml=e.object({destination:ws,path:Cl,source:ws,sourcePath:e.array(Ts).max(20)}).strict(),Kr=e.array(Ml).max(100).superRefine((t,a)=>{for(let[r,n]of t.entries())t.slice(0,r).some(i=>i.destination===n.destination&&(Rs(i.path,n.path)||Rs(n.path,i.path)))&&a.addIssue({code:"custom",path:[r,"path"],message:"Mapped destination paths must not overlap."})});function Ig(t,a){let r=Kr.parse(a),n=structuredClone(t);for(let i of r){let s=t[i.source];for(let l of i.sourcePath){if(!xs(s)||!Object.hasOwn(s,l))throw new Error("The configured grader source field is unavailable.");s=s[l]}if(s===void 0)throw new Error("The configured grader source field is unavailable.");let o=n[i.destination];o===null&&(n[i.destination]=o={});for(let l of i.path.slice(0,-1)){let u=Object.hasOwn(o,l)?o[l]:void 0;if(u!==void 0&&!xs(u))throw new Error("A grader destination path crosses a scalar field.");u===void 0&&(o[l]={}),o=o[l]}o[i.path.at(-1)]=structuredClone(s)}return n}c(Ig,"mapExperimentGradingFields");function xs(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}c(xs,"record");function Rs(t,a){return t.length<=a.length&&t.every((r,n)=>r===a[n])}c(Rs,"prefix");var re=e.string().trim().min(1).max(200),gt=e.string().regex(/^[a-f0-9]{64}$/),Wr=e.object({id:re,revision:e.number().int().positive(),contentHash:gt}).strict(),Yr=e.object({id:re,version:e.string().min(1).max(200),contentHash:gt,name:e.string().trim().min(1).max(500).optional(),feedbackKey:un,release:Wr.nullable(),mappings:Kr.optional()}).strict(),Xr=e.object({id:re,version:e.string().min(1).max(200),contentHash:gt,mappings:Kr}).strict(),Pg=e.object({operationId:re,id:re.optional(),expectedRevision:e.number().int().nonnegative(),request:ht,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Xr).min(1).max(100).optional()}).strict().superRefine((t,a)=>{t.request.name||a.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before saving it."}),!!t.id!=t.expectedRevision>0&&a.addIssue({code:"custom",path:["expectedRevision"],message:"An update requires its saved definition revision."}),Math.round(t.maximumCostUsd*1e6)<1&&a.addIssue({code:"custom",path:["maximumCostUsd"],message:"The budget must be at least $0.000001."}),t.graders&&new Set(t.graders.map(r=>r.id)).size!==t.graders.length&&a.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})}),$l=e.object({schemaVersion:e.literal("openpond.experimentDefinition.v1"),id:re,teamId:re,revision:e.number().int().positive(),request:ht,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Yr).min(1).max(100),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),Ag=$l.extend({contentHash:gt}),Cg=e.object({operationId:re,definition:Wr}).strict(),Mg=e.object({projectId:re.optional(),datasetHash:gt.optional(),search:e.string().trim().max(200).optional(),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]).optional(),afterId:re.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),$g=e.object({definition:Wr.nullable(),configurationHash:gt.optional(),admissionRequestHash:gt.optional(),sourceExperimentId:re.optional(),maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Yr).min(1).max(100)}).strict().superRefine((t,a)=>{t.definition===null&&(!t.configurationHash||!t.admissionRequestHash)&&a.addIssue({code:"custom",path:["configurationHash"],message:"A flat Experiment requires its sealed configuration hash."})}),qg=e.object({operationId:re,profileRepositoryId:re,definitionId:re,modelId:re,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),maximumCostUsd:e.number().finite().positive().max(1e4),externalDatasetBinding:ua.optional(),sourceCandidate:Jr.shape.sourceCandidate}).strict(),Dg=e.object({request:ht,manifest:pa,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Yr).min(1).max(100)}).strict();var Is=e.string().trim().min(1).max(200),Qr=e.object({operationId:Is,request:ht,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Xr).min(1).max(100).optional(),sourceExperimentId:Is.optional()}).strict().superRefine((t,a)=>{t.request.name||a.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before starting it."}),t.operationId!==t.request.operationId&&a.addIssue({code:"custom",path:["request","operationId"],message:"Use one operation identity for this Experiment."}),Math.round(t.maximumCostUsd*1e6)<1&&a.addIssue({code:"custom",path:["maximumCostUsd"],message:"The spending cap must be at least $0.000001."}),t.graders&&new Set(t.graders.map(r=>r.id)).size!==t.graders.length&&a.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})});var B=e.string().trim().min(1).max(200),Pe=e.string().regex(/^[a-f0-9]{64}$/),Ya=e.object({id:B,contentHash:Pe}).strict(),Qg=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:vt.nullable()}).strict(),_s=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:B,revision:e.number().int().positive(),contentHash:Pe}).strict(),projectId:B.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:B,configuration:Qr}).strict()).min(1).max(20),acceptancePlan:An.nullable()}).strict().superRefine((t,a)=>{if(new Set(t.experiments.map(r=>r.id)).size!==t.experiments.length&&a.addIssue({code:"custom",message:"Attach each evaluation once."}),t.experiments.reduce((r,n)=>r+n.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&a.addIssue({code:"custom",message:"Attached evaluation budgets exceed the total approved budget."}),t.experiments.some(r=>(r.configuration.request.project?.id??null)!==t.projectId)&&a.addIssue({code:"custom",message:"Attached experiments must use the training Project."}),t.acceptancePlan){let r=new Set(t.acceptancePlan.checks.map(i=>i.id));t.acceptancePlan.checks.some(i=>!t.experiments.some(s=>s.id===i.id))&&a.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),t.acceptancePlan.maximumSpendUsd+t.experiments.filter(i=>!r.has(i.id)).reduce((i,s)=>i+s.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&a.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var ql=e.object({baseline:Ya,checks:e.array(e.object({id:B,sourceRunId:B,sourceManifestHash:Pe,targetConfigurationHash:Pe,executionHash:Pe,populationHash:Pe,evaluator:Ya,feedbackKey:B,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),Dl=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),Hs=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:B,teamId:B,jobId:B,revision:e.number().int().positive(),planHash:Pe,automatic:e.boolean(),candidate:Ya.nullable(),state:Dl,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:B.nullable(),experimentIds:e.array(B).max(20),updatedAt:e.iso.datetime()}).strict().superRefine((t,a)=>{t.completed+t.failed>t.total&&a.addIssue({code:"custom",message:"Evaluation totals are inconsistent."}),["preparing","queued","running","cleaning","completed"].includes(t.state)&&!t.candidate&&a.addIssue({code:"custom",message:"Evaluation execution requires the exact trained candidate."})}),Ol=e.object({operationId:B,expectedRevision:e.number().int().positive(),planHash:Pe}).strict(),Bl=e.object({operationId:B,attachment:_s}).strict(),Vl=e.object({id:B,teamId:B,ownerUserId:B,attachment:_s,qualification:ql.nullable(),contentHash:Pe,createdAt:e.iso.datetime()}).strict();function zl(t){let a=Vl.parse(t);if(a.contentHash!==f({attachment:a.attachment,qualification:a.qualification}))throw new Error("The retained evaluation attachment or qualification changed.");return a}c(zl,"verifyPostTrainingPlan");function js(t){let{request:a}=t,r=c(i=>`/v1/training/jobs/${encodeURIComponent(B.parse(i))}/post-training`,"path");async function n(i,s,o){if(i===null)return null;let l=Hs.parse(i);if(l.teamId!==s||l.jobId!==o)throw new P("post_training_scope_mismatch","The evaluation summary belongs to another run or workspace.");return l}return c(n,"read"),{async attach(i,s){let o=Bl.parse(s),l=zl(await a("/v1/training/post-training-plans",{method:"POST",body:JSON.stringify(o)}));if(l.teamId!==i||await L(l.attachment)!==await L(o.attachment))throw new P("post_training_plan_mismatch","The retained attachment differs from the reviewed plan.");return l},async get(i,s){return n(await a(r(s)),i,s)},async control(i,s,o,l){let u=Ol.parse(l),d=await n(await a(`${r(s)}/${o}`,{method:"POST",body:JSON.stringify(u)}),i,s);if(!d||d.planHash!==u.planHash)throw new P("post_training_control_mismatch","Evaluation control did not retain the approved plan.");return d}}}c(js,"createPostTrainingClient");var Zg=e.object({teamId:B,actorId:B,projectId:B.nullable(),configuration:Me,batches:e.array(ga).max(1e4),sources:e.array(Ne).max(1e4),definitions:e.array(ie).max(1e4),experiments:e.array(e.object({id:B,name:e.string().max(500),configuration:Qr,graders:e.array(e.object({feedbackKey:B,name:e.string().max(500),ref:Ya}).strict()).max(100)}).strict()).max(1e4)}).strict(),ev=e.enum(["prepare","start","cancel","publish","attach"]),tv=e.object({teamId:B,actorId:B,configuration:Me,policy:wn,inspection:Hn,iterations:e.array(e.object({iteration:xn,evals:Hs.nullable()}).strict()).max(100),nextCursor:B.nullable()}).strict(),av=e.object({id:B,expectedRevision:e.number().int().positive(),policyHash:Pe,operationId:B,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:B.optional(),iterationRevision:e.number().int().positive().optional()}).strict();var Fe=e.string().trim().min(1).max(240),$s=j.extend({revision:e.number().int().positive()}).strict(),Fl=$s.extend({teamId:Fe,jobId:Fe,plan:j,baseline:j,candidate:j,state:Cn.shape.state,updatedAt:e.string().datetime()}).strict(),Ll=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:Fe,jobId:Fe,groups:e.array(Fl).max(100),nextCursor:Fe.nullable()}).strict(),Nl=e.object({cursor:Fe.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();function Ul(t){let a=c(r=>(Fe.parse(r.teamId),`/v1/training/jobs/${encodeURIComponent(Fe.parse(r.jobId))}/acceptance-groups`),"route");return{async acceptanceGroups(r,n={}){let i=Nl.parse(n),s=new URLSearchParams({limit:String(i.limit)});i.cursor&&s.set("cursor",i.cursor);let o=Ll.parse(await t(`${a(r)}?${s}`));if(o.teamId!==r.teamId||o.jobId!==r.jobId||o.groups.length>i.limit||o.groups.some(l=>l.teamId!==r.teamId||l.jobId!==r.jobId||i.cursor&&l.id<=i.cursor)||new Set(o.groups.map(l=>l.id)).size!==o.groups.length||o.nextCursor!==null&&o.nextCursor!==o.groups.at(-1)?.id)throw new P("acceptance_group_scope_mismatch","Acceptance groups do not match the requested workspace, job or cursor.");return o},async acceptanceGroup(r,n,i){let s=i?$s.parse({id:i.id,revision:i.revision,contentHash:i.contentHash}):null;if(s&&s.id!==n)throw new P("acceptance_group_identity_mismatch","The retained group reference differs from the requested group.");let o=s?`?revision=${s.revision}`:"",l=Mn(await t(`${a(r)}/${encodeURIComponent(Fe.parse(n))}${o}`));if(l.manifest.teamId!==r.teamId||l.manifest.trainingJob.id!==r.jobId||l.manifest.id!==n||s&&(l.revision!==s.revision||l.contentHash!==s.contentHash))throw new P("acceptance_group_identity_mismatch","Acceptance evidence does not match the requested workspace, job or retained revision.");return l}}}c(Ul,"createTrainingAcceptanceClient");var Z=e.string().trim().min(1).max(191),ia=e.string().regex(/^[a-f0-9]{64}$/),qs=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:Z,operationId:Z,projectId:Z.nullable(),configuration:e.object({id:Z,expectedRevision:e.number().int().positive(),expectedEtag:ia}).strict(),origin:vt.optional(),batch:N,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6)}).strict(),Gl=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:Z,creatorUserId:Z,request:qs,requestHash:ia,source:e.lazy(()=>Bs),submissionHash:ia,createdAt:e.string().datetime({offset:!0})}).strict(),Jl=Gl.extend({contentHash:ia}).strict(),Ds=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:Jl,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:Z.nullable()}).strict().superRefine((t,a)=>{t.state==="submitted"!=!!t.jobId&&a.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),Es=e.object({teamId:Z,planHash:ia,expectedRevision:e.number().int().positive()}).strict(),Kl=e.object({projectId:Z.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:Z.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Wl=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:Z,items:e.array(Ds).max(100),nextCursor:Z.nullable()}).strict();async function Yl(t){let a=Ds.parse(t),{contentHash:r,...n}=a.plan;if(await L(n)!==r||await L(n.request)!==n.requestHash||n.source.modelProject.id!==n.request.configuration.id||await L(n.source.origin??null)!==await L(n.request.origin??null))throw new P("training_preparation_mismatch","The prepared training inputs changed.");return a}c(Yl,"parseAndVerifyTrainingPreparationReceipt");function Xl(t){async function a(r,n,i){let s=await Yl(r);if(s.plan.request.teamId!==n||i&&s.plan.id!==i)throw new P("training_preparation_scope_mismatch","The training preparation belongs to a different workspace or request.");return s}return c(a,"read"),{async listPreparations(r,n={}){let i=Z.parse(r),s=Kl.parse(n),o=new URLSearchParams;for(let[d,m]of Object.entries(s))o.set(d,String(m));let l=Wl.parse(await t(`/v1/training/preparations?${o}`));if(l.teamId!==i||l.items.length>s.limit||new Set(l.items.map(d=>d.plan.id)).size!==l.items.length||l.nextCursor!==null&&(l.nextCursor!==l.items.at(-1)?.plan.id||l.nextCursor===s.afterId))throw new P("training_preparation_page_mismatch","The preparation page does not match its workspace or cursor.");let u=await Promise.all(l.items.map(async d=>{let m=await a(d,i);if(s.projectId&&m.plan.request.projectId!==s.projectId||s.state&&m.state!==s.state)throw new P("training_preparation_page_mismatch","A preparation does not match the requested Project or state.");return m}));return{...l,items:u}},async prepareRun(r){let n=qs.parse(r),i=await a(await t("/v1/training/preparations",{method:"POST",body:JSON.stringify(n)}),n.teamId);if(i.plan.requestHash!==await L(n))throw new P("training_preparation_request_mismatch","The preparation does not match the requested run.");return i},async getPreparation(r,n){return a(await t(`/v1/training/preparations/${encodeURIComponent(Z.parse(n))}`),Z.parse(r),n)},async startPreparation(r,n){let i=Es.parse(n),s=await a(await t(`/v1/training/preparations/${encodeURIComponent(Z.parse(r))}/start`,{method:"POST",body:JSON.stringify(i)}),i.teamId,r);if(s.plan.contentHash!==i.planHash||s.state!=="submitted")throw new P("training_preparation_start_mismatch","The submitted run does not match the approved preparation.");return s},async cancelPreparation(r,n){let i=Es.parse(n),s=await a(await t(`/v1/training/preparations/${encodeURIComponent(Z.parse(r))}/cancel`,{method:"POST",body:JSON.stringify(i)}),i.teamId,r);if(s.plan.contentHash!==i.planHash||s.state!=="cancelled")throw new P("training_preparation_cancel_mismatch","The preparation cancellation could not be verified.");return s}}}c(Xl,"createTrainingPreparationClient");var Ql=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:S,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(yt)}).strict();function Zl(t){let a=c(r=>{let n=S.parse(r);return`/v1/training/harness-sources/${encodeURIComponent(n.id)}/${n.contentHash}`},"route");return{async publishHarnessSource(r){$e(r,yt,"Training Harness source");let n=Sr(r),i=n.agentSnapshot.portability;if(!i.portable||i.blockers.length||i.localOnlyAssetRefs.length||i.hostPrivateAssetRefs.length||n.harnessRelease.files.some(o=>o.visibility!=="policy"))throw new Error("Hosted training Harness publication requires portable, policy-visible source.");let s=Ql.parse(await t(a({id:n.harnessRelease.id,contentHash:n.harnessRelease.contentHash}),{method:"PUT",body:JSON.stringify(n)}));if(s.harnessRelease.id!==n.harnessRelease.id||s.harnessRelease.contentHash!==n.harnessRelease.contentHash||s.sourcePackageHash!==n.contentHash)throw new Error("Published Harness source differs from the selected immutable package.");return s},async getHarnessSource(r){let n=await t(a(r),void 0,yt);return $e(n,yt,"Training Harness source"),Sr(n,r)}}}c(Zl,"createTrainingHarnessSourceClient");var tt=e.string().trim().min(1).max(500),em=e.string().regex(/^[a-f0-9]{64}$/),en=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecisionRequest.v1"),teamId:tt,jobId:tt,artifact:j,evaluation:j,executionReceipt:j,decision:e.enum(["accepted","rejected"]),reason:e.string().trim().min(1).max(5e3),idempotencyKey:tt,expectedDecision:j.nullable()}).strict(),tm=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecision.v1"),id:tt,request:en,revision:e.number().int().positive(),actor:e.object({userId:tt,kind:e.enum(["user","api_key","agent_delegate"]),id:tt}).strict(),decidedAt:e.string().datetime({offset:!0}),contentHash:em}).strict().superRefine((t,a)=>{t.revision===1!=(t.request.expectedDecision===null)&&a.addIssue({code:"custom",path:["revision"],message:"A first decision has no predecessor; later decisions must reference the prior decision."}),t.request.expectedDecision?.id===t.id&&a.addIssue({code:"custom",path:["request","expectedDecision"],message:"A decision cannot supersede itself."})});async function am(t){let{contentHash:a,...r}=t;return L(r)}c(am,"trainingCandidateDecisionHash");async function Ps(t,a){$e(t,32768,"Training candidate decision");let r=tm.parse(t);if(r.contentHash!==await am(r))throw new P("content_hash_mismatch","Training candidate decision content hash does not match.");if(r.request.teamId!==a.teamId||r.request.jobId!==a.jobId||r.request.artifact.id!==a.artifact.id||r.request.artifact.contentHash!==a.artifact.contentHash)throw new P("candidate_decision_identity_mismatch","Training candidate decision belongs to a different team, Job or artifact.");if(a.request&&await L(r.request)!==await L(en.parse(a.request)))throw new P("candidate_decision_request_mismatch","Training candidate decision does not match the submitted review.");return r}c(Ps,"parseAndVerifyTrainingCandidateDecision");function rm(t){function a(r){return`/v1/training/jobs/${encodeURIComponent(tt.parse(r.jobId))}/candidates/${encodeURIComponent(j.parse(r.artifact).id)}/decision`}return c(a,"route"),{async candidateDecision(r,n={}){tt.parse(r.teamId);let i=n.decision?j.parse(n.decision):void 0,s=i?`?decisionId=${encodeURIComponent(i.id)}`:"",o=e.object({decision:e.unknown().nullable()}).strict().parse(await t(`${a(r)}${s}`));if(o.decision===null&&!i)return null;let l=await Ps(o.decision,r);if(i&&(l.id!==i.id||l.contentHash!==i.contentHash))throw new P("candidate_decision_identity_mismatch","Training candidate decision does not match the requested history entry.");return l},async recordCandidateDecision(r){let n=en.parse(r),i=await t(a(n),{method:"POST",body:JSON.stringify(n)});return Ps(i,{...n,request:n})}}}c(rm,"createTrainingCandidateDecisionClient");var Ot=e.string().trim().min(1).max(500),na=e.string().regex(/^[a-f0-9]{64}$/),nm=e.object({taskId:Ot,taskSha256:na,resultSha256:na,input:e.object({instruction:e.string().max(1e6),context:e.record(e.string(),e.unknown())}).strict(),output:e.string().max(1e6),outputSha256:na,score:e.number().finite().min(0).max(1),evidence:e.object({kind:e.enum(["worker_command","hosted_trace","local_trace"]),id:Ot}).strict()}).strict(),im=e.object({schemaVersion:e.literal("openpond.trainingEvaluationTaskPage.v1"),jobId:Ot,teamId:Ot,evaluation:j,kind:e.enum(["baseline","candidate"]),policyVersion:e.number().int().nonnegative(),taskset:N,panelSha256:na,offset:e.number().int().nonnegative(),total:e.number().int().min(1).max(1e4),tasks:e.array(nm).min(1).max(100),nextCursor:e.string().regex(/^[1-9]\d*$/).nullable(),contentHash:na}).strict().superRefine((t,a)=>{let r=t.offset+t.tasks.length,n=r<t.total?String(r):null;(r>t.total||t.nextCursor!==n)&&a.addIssue({code:"custom",path:["nextCursor"],message:"Evaluation pagination must cover consecutive task positions."}),new Set(t.tasks.map(i=>i.taskId)).size!==t.tasks.length&&a.addIssue({code:"custom",path:["tasks"],message:"Evaluation task identities must be unique."})});async function sm(t){let{contentHash:a,...r}=t;return L(r)}c(sm,"trainingEvaluationTaskPageHash");async function om(t,a){$e(t,ur,"Training evaluation task page");let r=im.parse(t),n=j.parse(a.evaluation);if(r.jobId!==Ot.parse(a.jobId)||r.evaluation.id!==n.id||r.evaluation.contentHash!==n.contentHash||r.offset!==(a.offset??0)||a.teamId!==void 0&&r.teamId!==Ot.parse(a.teamId))throw new P("evaluation_page_identity_mismatch","Evaluation results differ from the requested Job, evaluation, or page.");if(await sm(r)!==r.contentHash)throw new P("evaluation_page_hash_mismatch","Evaluation task page content hash did not match.");for(let i of r.tasks)if(await L(i.output)!==i.outputSha256)throw new P("evaluation_output_hash_mismatch","A retained evaluation output hash did not match.");return r}c(om,"parseAndVerifyTrainingEvaluationTaskPage");var cm=e.array(e.object({id:e.string().trim().min(1)}).catchall(e.unknown())).min(1).max(1e3),dm=e.object({binding:Ae,rewards:e.array(at).min(1).max(100)}).strict();async function bv(t){let a=t.rewardExecution?dm.parse(t.rewardExecution):null,r=cm.parse(a?ne(a.binding,a.rewards):t.graders);if(new Set(r.map(i=>i.id)).size!==r.length)throw new Error("Training grader identities must be unique.");let n=await L({schemaVersion:"openpond.trainingGraderSet.v1",graders:r});return{kind:"deterministic",grader:{id:`training-graders-${n.slice(0,32)}`,contentHash:n},composer:a?{id:a.binding.id,contentHash:a.binding.contentHash}:null}}c(bv,"deterministicTrainingRewardSource");var Sv="evaluation-source.json",Zr=e.object({id:e.string().trim().min(1),clusterKey:e.string().trim().min(1),split:e.enum(["train","validation","frozen_eval"])}).passthrough(),lm=e.object({schemaVersion:e.literal("openpond.trainingEvaluationSource.v1"),taskset:N,tasks:e.array(Zr).min(1).max(1e4),assets:e.array(e.object({path:e.string().trim().min(1).max(2e3),sha256:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().nonnegative(),encoding:e.literal("base64"),content:e.string().max(32*1024*1024)}).strict()).max(1e4)}).strict().superRefine((t,a)=>{let r=new Set;t.tasks.forEach((n,i)=>{n.split==="train"&&a.addIssue({code:"custom",path:["tasks",i,"split"],message:"Evaluation sources require held-out tasks."}),r.has(n.id)&&a.addIssue({code:"custom",path:["tasks",i,"id"],message:"Evaluation task identities must be unique."}),r.add(n.id)})});function yv(t,a){let r=e.array(Zr).min(1).max(1e4).parse(t),n=e.array(Zr).min(1).max(1e4).parse(a),i=new Set,s=new Set;for(let l of r){if(l.split!=="train")throw new Error("The training population contains a held-out task.");if(i.has(l.id))throw new Error("Training task identities must be unique.");i.add(l.id),s.add(l.clusterKey)}let o=new Set;for(let l of n){if(l.split==="train")throw new Error("The evaluation population contains a training task.");if(o.has(l.id))throw new Error("Evaluation task identities must be unique.");if(i.has(l.id)||s.has(l.clusterKey))throw new Error("Training and evaluation tasks or families overlap.");o.add(l.id)}}c(yv,"assertTrainingEvaluationIsolation");async function wv(t){let a=lm.parse(t),r=await L(a);return{taskset:a.taskset,dataset:{id:`training-evaluation-${r.slice(0,32)}`,contentHash:r}}}c(wv,"trainingEvaluationSourceRef");var z=e.string().trim().min(1).max(500),se=e.string().regex(/^[a-f0-9]{64}$/),xe=e.string().datetime({offset:!0}),mm=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:j,payload:e.unknown(),contentHash:se}).strict(),um=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:j,artifactRef:e.string().trim().min(1).max(2e3),contentHash:se,sizeBytes:e.number().int().positive(),createdAt:xe}).strict();async function pm(t){let{contentHash:a,...r}=t;return L(r)}c(pm,"trainingInputArtifactUploadHash");async function fm(t){$e(t,yt,"Training input artifact");let a=mm.parse(t),r=await pm(a);if(a.contentHash!==r)throw new P("content_hash_mismatch",`Training input artifact contentHash ${a.contentHash} does not match ${r}.`);return a}c(fm,"parseAndVerifyTrainingInputArtifactUpload");var Os=e.enum(["reward_model_train","policy_optimize"]),hm=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),gm=e.object({id:z,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),Bs=e.object({origin:vt.optional(),modelProject:e.object({id:z,portableProjectId:z,revision:e.number().int().positive(),contentHash:se}).strict(),harnessRunManifest:j,harnessRelease:j,taskset:N,tasksetRelease:j,evaluation:e.object({taskset:N,dataset:j}).strict().nullable().optional(),dataset:j,evidenceSets:e.array(j).max(1e4)}).strict(),vm=e.object({kind:e.literal("reward_model_train"),baseModel:We,preferenceDatasetRelease:j,processorRelease:j,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(),bm=e.object({kind:e.literal("deterministic"),grader:j,composer:j.nullable().default(null)}).strict(),km=e.object({kind:e.literal("learned_reward"),rewardModelVersion:j,qualificationReport:j.nullable().default(null),evaluationReferences:e.array(j).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:se,executionReceipt:j}).strict(),processorRelease:j,rewardComposerRelease:j}).strict(),Sm=e.object({kind:e.literal("policy_optimize"),baseModel:We,recipe:fr,rewardSource:e.discriminatedUnion("kind",[bm,km]),resumeFrom:j.nullable().default(null)}).strict(),ym=e.discriminatedUnion("kind",[vm,Sm]),wm=e.object({approvalHash:se,approvedAt:xe,exportApproved:e.boolean(),maximumSpendUsd:e.number().nonnegative(),retentionDays:e.number().int().nonnegative().nullable(),region:e.string().trim().min(1).max(200).nullable().default(null)}).strict(),xm=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:Bs,job:ym,requestedCapabilities:e.array(gm).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:wm,contentHash:se}).strict().superRefine((t,a)=>{t.approval.maximumSpendUsd!==t.budget.maximumSpendUsd&&a.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});async function Rm(t){let{contentHash:a,...r}=t;return L(r)}c(Rm,"trainingJobSubmissionHash");async function Tm(t){$e(t,zn,"Training Job submission");let a=xm.parse(t),r=await Rm(a);if(a.contentHash!==r)throw new P("content_hash_mismatch",`Training Job contentHash ${a.contentHash} does not match ${r}.`);return a}c(Tm,"parseAndVerifyTrainingJobSubmission");var ra=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:z,teamId:z,kind:Os,modelProjectId:z,portableProjectId:z,sourceProjectRevision:e.number().int().positive(),submissionHash:se,state:hm,phase:e.string().trim().min(1).max(200),version:e.number().int().nonnegative(),progress:e.number().min(0).max(1),rolloutProgress:e.object({groupsCompleted:e.number().int().nonnegative(),groupsTarget:e.number().int().nonnegative(),optimizerUpdatesApplied:e.number().int().nonnegative(),optimizerUpdatesSkipped:e.number().int().nonnegative()}).strict(),accruedSpendUsd:e.number().nonnegative(),terminalReason:e.string().trim().min(1).max(5e3).nullable(),createdAt:xe,updatedAt:xe,completedAt:xe.nullable()}).strict(),Im=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(ra).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),_m=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:z,jobId:z,sequence:e.number().int().nonnegative(),type:z,phase:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3).nullable(),data:e.record(e.string(),e.unknown()).default({}),createdAt:xe}).strict(),Hm=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:z,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:xe}).strict(),As=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),jm=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:z,jobId:z,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:se,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:xe}).strict(),tn=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:z,teamId:z,jobId:z,submissionHash:se,manifestHash:se,recipeHash:se,capabilityHash:se,runtimeRelease:j,inputs:e.array(j).max(1e4),outputs:e.array(j).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),issuer:z,issuedAt:xe,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();async function Em(t){return L(tn.parse(t))}c(Em,"trainingExecutionReceiptHash");async function xv(t,a){let r=tn.parse(t),n=z.parse(a.id),i=se.parse(a.contentHash),s=await Em(r);if(r.id!==n||s!==i)throw new P("execution_receipt_mismatch","The execution receipt identity or canonical content hash did not match.");if(a.teamId!==void 0&&r.teamId!==z.parse(a.teamId))throw new P("execution_receipt_team_mismatch","The execution receipt belongs to a different team.");if(a.jobId!==void 0&&r.jobId!==z.parse(a.jobId))throw new P("execution_receipt_job_mismatch","The execution receipt belongs to a different Training Job.");if((a.requireCleanup??!0)&&!r.cleanupComplete)throw new P("execution_cleanup_incomplete","The execution receipt does not attest complete terminal cleanup.");return r}c(xv,"parseAndVerifyTrainingExecutionReceipt");var Pm=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(jm).max(1e4),receipt:tn.nullable()}).strict(),Am=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(),Vs=class extends Error{static{c(this,"OpenPondTrainingApiError")}status;code;retryable;requestId;details;constructor(t,a){super(a.message),this.name="OpenPondTrainingApiError",this.status=t,this.code=a.code,this.retryable=a.retryable,this.requestId=a.requestId,this.details=a.details}},Cm=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:se,jobKinds:e.array(Os),methods:e.array(e.string().trim().min(1).max(200)),placements:e.array(e.enum(["local","remote","colocated","provider_native"])),controls:e.object({cancel:e.boolean(),stopAfterGroup:e.boolean(),resumeFromCheckpoint:e.boolean()}).strict(),limits:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive(),maximumArtifactBytes:e.number().int().positive()}).strict(),checkedAt:xe,expiresAt:xe}).strict();function Cs(t){let a={};return new Headers(t).forEach((r,n)=>{a[n]=r}),a}c(Cs,"headersRecord");function Rv(t){let a=t.fetch??fetch,r=t.baseUrl.replace(/\/$/,"");async function n(i,s,o=ur){let u=s?.method===void 0||s.method.toUpperCase()==="GET"?3:1;for(let d=1;d<=u;d+=1){let m;try{let v=typeof t.headers=="function"?await t.headers():t.headers??{};m=await a(`${r}${i}`,{...s,headers:{accept:mr,...s?.body?{"content-type":mr}:{},...Cs(v),...Cs(s?.headers)}})}catch(v){if(d===u||s?.signal?.aborted||!Ms(null,v))throw v;await new Promise(g=>setTimeout(g,250*2**(d-1)));continue}let p=pr(await m.text(),o,"Training API response");if(m.ok)return p;let h=Mm(p,m.status);if(d===u||!Ms(m.status,h))throw h;await new Promise(v=>setTimeout(v,250*2**(d-1)))}throw new P("training_read_retry_exhausted","Training read retry loop exhausted without a response.")}return c(n,"request"),{postTraining:js({request:n}),...Xl(n),...Ul(n),...Zl(n),...rm(n),async capabilities(){return Cm.parse(et(await n("/v1/training/capabilities"),"capabilities"))},async stageArtifact(i){let s=await fm(i);return um.parse(et(await n("/v1/training/artifacts",{method:"POST",body:JSON.stringify(s)}),"artifact"))},async createJob(i){let s=await Tm(i);return ra.parse(et(await n("/v1/training/jobs",{method:"POST",body:JSON.stringify(s)}),"job"))},async listJobs(i={}){let s=new URLSearchParams;i.modelProjectId&&s.set("modelProjectId",z.parse(i.modelProjectId)),i.cursor&&s.set("cursor",e.string().trim().min(1).max(2e3).parse(i.cursor)),i.limit!==void 0&&s.set("limit",String(e.number().int().min(1).max(1e3).parse(i.limit)));let o=s.size>0?`?${s.toString()}`:"";return Im.parse(await n(`/v1/training/jobs${o}`))},async getJob(i){return ra.parse(et(await n(`/v1/training/jobs/${encodeURIComponent(z.parse(i))}`),"job"))},async cancelJob(i,s){let o=As.parse({expectedVersion:s});return ra.parse(et(await n(`/v1/training/jobs/${encodeURIComponent(z.parse(i))}/cancel`,{method:"POST",body:JSON.stringify(o)}),"job"))},async stopAfterGroup(i,s){let o=As.parse({expectedVersion:s});return ra.parse(et(await n(`/v1/training/jobs/${encodeURIComponent(z.parse(i))}/stop-after-group`,{method:"POST",body:JSON.stringify(o)}),"job"))},async events(i){return e.array(_m).parse(et(await n(`/v1/training/jobs/${encodeURIComponent(z.parse(i))}/events`),"events"))},async outputs(i){return Pm.parse(await n(`/v1/training/jobs/${encodeURIComponent(z.parse(i))}/outputs`))},async evaluationTasks(i,s,o={}){let l=z.parse(i),u=j.parse(s),d=new URLSearchParams,m=o.cursor===void 0?void 0:e.string().regex(/^[1-9]\d*$/).parse(o.cursor),p=m===void 0?0:e.number().int().min(1).max(9999).parse(Number(m));m!==void 0&&d.set("cursor",m),o.limit!==void 0&&d.set("limit",String(e.number().int().min(1).max(100).parse(o.limit)));let h=d.size?`?${d.toString()}`:"";return om(await n(`/v1/training/jobs/${encodeURIComponent(l)}/evaluations/${encodeURIComponent(u.id)}/tasks${h}`),{jobId:l,evaluation:u,offset:p})},async logs(i){return e.array(Hm).max(1e5).parse(et(await n(`/v1/training/jobs/${encodeURIComponent(z.parse(i))}/logs`),"logs"))}}}c(Rv,"createTrainingClient");function Ms(t,a){return t!==null?t===408||t===429||t>=500:a instanceof Vs?a.retryable:a instanceof P?a.code==="invalid_error_response":a instanceof TypeError}c(Ms,"trainingReadFailureIsRetryable");function et(t,a){return!t||typeof t!="object"||Array.isArray(t)?t:a in t?t[a]:t}c(et,"unwrapObject");function Mm(t,a){let r=Am.safeParse(t);return r.success?new Vs(a,r.data):new P("invalid_error_response",`Training request failed with HTTP ${a} and an invalid error envelope.`)}c(Mm,"trainingApiError");export{Qe as a,Ph as b,ka as c,or as d,ce as e,Dn as f,Gs as g,cr as h,dr as i,On as j,C as k,L as l,N as m,We as n,Fn as o,Ln as p,Ft as q,Zs as r,Nn as s,to as t,Um as u,ya as v,Gm as w,Me as x,Un as y,Jm as z,b as A,R as B,$ as C,S as D,qe as E,G as F,f as G,He as H,Ia as I,hu as J,gu as K,Do as L,bu as M,ku as N,Sr as O,dt as P,Gt as Q,up as R,pp as S,fp as T,hp as U,gp as V,Dc as W,vp as X,bp as Y,Lc as Z,Gc as _,Jc as $,Pa as aa,Zc as ba,_t as ca,Da as da,Kt as ea,Va as fa,de as ga,sd as ha,lt as ia,Ep as ja,ct as ka,Pp as la,Wt as ma,od as na,Ap as oa,_r as pa,qp as qa,Hr as ra,Pi as sa,Ai as ta,jr as ua,Ci as va,ze as wa,be as xa,Xe as ya,mt as za,$r as Aa,ut as Ba,X as Ca,jt as Da,us as Ea,ps as Fa,fs as Ga,le as Ha,yl as Ia,vd as Ja,bd as Ka,yf as La,kd as Ma,Sd as Na,wd as Oa,xd as Pa,ae as Qa,Td as Ra,zi as Sa,pt as Ta,Bd as Ua,Ee as Va,Ji as Wa,Or as Xa,Pt as Ya,Fd as Za,Ld as _a,Wi as $a,Br as ab,Ja as bb,Gd as cb,Vr as db,Zt as eb,Af as fb,Cf as gb,Mf as hb,$f as ib,ts as jb,qf as kb,Kd as lb,vs as mb,Wh as nb,Yh as ob,xl as pb,Rl as qb,ig as rb,ht as sb,ys as tb,bg as ub,kg as vb,Pl as wb,Al as xb,Sg as yb,Kr as zb,Ig as Ab,Wr as Bb,Yr as Cb,Xr as Db,Pg as Eb,Mg as Fb,$g as Gb,qg as Hb,Dg as Ib,Qr as Jb,Qg as Kb,_s as Lb,Hs as Mb,Ol as Nb,Bl as Ob,zl as Pb,Zg as Qb,tv as Rb,av as Sb,qs as Tb,Es as Ub,en as Vb,Ps as Wb,om as Xb,bv as Yb,Sv as Zb,lm as _b,yv as $b,wv as ac,pm as bc,fm as cc,Rm as dc,Tm as ec,ra as fc,_m as gc,Em as hc,xv as ic,Pm as jc,Vs as kc,Rv as lc,Ua as mc,Xt as nc,ns as oc,Fr as pc,Lr as qc,Qd as rc,Wa as sc,Na as tc,nl as uc,il as vc,ea as wc,dl as xc,ll as yc,ml as zc,pl as Ac,cs as Bc,fl as Cc,hl as Dc,ls as Ec,ms as Fc,gl as Gc};
|