openpond 0.2.15 → 0.2.17

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.
Files changed (110) hide show
  1. package/dist/app-server.d.ts +2 -0
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{app-layer-SSLVAUNI.js → app-layer-CFIW5CWC.js} +1 -1
  4. package/dist/chunks/{app-server-runtime-QUC4HPQU.js → app-server-runtime-Q7NJ6PXF.js} +1 -1
  5. package/dist/chunks/{apps-JEKTEGSW.js → apps-67PSSK6Q.js} +1 -1
  6. package/dist/chunks/{chunk-YNXFXNQM.js → chunk-BE35DIOI.js} +1 -1
  7. package/dist/chunks/{chunk-4E5ETWKU.js → chunk-CULWDNK3.js} +334 -332
  8. package/dist/chunks/{chunk-ZYG2PXY2.js → chunk-G54T4IWQ.js} +1 -1
  9. package/dist/chunks/{chunk-7I73OREC.js → chunk-GHKJKXDF.js} +1 -1
  10. package/dist/chunks/{chunk-K4ZKAHLG.js → chunk-MACBJI6D.js} +1 -1
  11. package/dist/chunks/{chunk-UOQHYTCK.js → chunk-N3KS3AJK.js} +1 -1
  12. package/dist/chunks/{chunk-FHBQ6OWG.js → chunk-PRA6LX2G.js} +1 -1
  13. package/dist/chunks/{chunk-VRXXKDF2.js → chunk-Q7QAKAGF.js} +1 -1
  14. package/dist/chunks/chunk-RB7BWSFJ.js +5 -0
  15. package/dist/chunks/{chunk-JTQDNX2J.js → chunk-SKKAWYCQ.js} +1 -1
  16. package/dist/chunks/{chunk-QLZ67Y6C.js → chunk-VL3RGI55.js} +2 -2
  17. package/dist/chunks/{cli-7YSRAC4Y.js → cli-BCBRWI2M.js} +1 -1
  18. package/dist/chunks/{configuration-command-DH4ZZUKL.js → configuration-command-D66B4TXT.js} +1 -1
  19. package/dist/chunks/{core-commands-TUUSA6WB.js → core-commands-D6OHIVUG.js} +1 -1
  20. package/dist/chunks/{desktop-test-S3RME4QT.js → desktop-test-RBRWSLEM.js} +1 -1
  21. package/dist/chunks/{extension-D64BYPFY.js → extension-MP3XCX56.js} +1 -1
  22. package/dist/chunks/{help-AOVE3SSY.js → help-XVBIPQHN.js} +1 -1
  23. package/dist/chunks/{opchat-KC2FL5TT.js → opchat-NYSALH7B.js} +1 -1
  24. package/dist/chunks/{organizations-AAES2P7W.js → organizations-ZCQX3SY3.js} +1 -1
  25. package/dist/chunks/{profile-FRYWK2IE.js → profile-PFR6PWNE.js} +1 -1
  26. package/dist/chunks/{project-agent-WPW6DWK7.js → project-agent-KSMTTZYC.js} +1 -1
  27. package/dist/chunks/{sandbox-command-ZHKJZ3FJ.js → sandbox-command-MVBSIKB6.js} +1 -1
  28. package/dist/chunks/{sandbox-template-SPVQIMG5.js → sandbox-template-2OWCTKBP.js} +1 -1
  29. package/dist/chunks/{src-LYFCDA5G.js → src-7TTHR4DL.js} +1 -1
  30. package/dist/chunks/{src-AADCZ2JW.js → src-ITECV3AD.js} +105 -105
  31. package/dist/chunks/{teams-bot-LD3QORJI.js → teams-bot-IUE3CWSW.js} +1 -1
  32. package/dist/chunks/{workspaces-P2WNCMXC.js → workspaces-WI56RXUN.js} +1 -1
  33. package/dist/cli.js +1 -1
  34. package/dist/web/assets/{App-kwt-UxX_.js → App-DQfdLgyV.js} +3 -3
  35. package/dist/web/assets/{AppDialog-LXQo_7oW.js → AppDialog-BnldMLvF.js} +1 -1
  36. package/dist/web/assets/{AppTerminalPanel-CUqrUrkA.js → AppTerminalPanel-DR5SeX9y.js} +2 -2
  37. package/dist/web/assets/{AppsView-5J2RX301.js → AppsView-Bu_XEgkd.js} +1 -1
  38. package/dist/web/assets/{BrowserSidebar-mZ8RjUOr.js → BrowserSidebar-BdKPWbN8.js} +1 -1
  39. package/dist/web/assets/{CartesianChart-7x3SO8Hj.js → CartesianChart-CSkLcF_5.js} +1 -1
  40. package/dist/web/assets/{CollaborationTabs-ByC9WJqu.js → CollaborationTabs-C9cRq5ob.js} +1 -1
  41. package/dist/web/assets/{CommandMenu-CqDb2Kb2.js → CommandMenu-Deqzk3u9.js} +1 -1
  42. package/dist/web/assets/{CommunityView-BmxYkWqC.js → CommunityView-B5dKYacH.js} +1 -1
  43. package/dist/web/assets/{ComposerCreateImproveStrip-2Tyj9KOQ.js → ComposerCreateImproveStrip-5LPlQFN4.js} +1 -1
  44. package/dist/web/assets/{GetStartedView-1WYkmevY.js → GetStartedView-DmuGykfx.js} +1 -1
  45. package/dist/web/assets/HostedModelLearningReview-BRPSFNza.js +1 -0
  46. package/dist/web/assets/{HostedModelLearningSettings-Brza5hSD.js → HostedModelLearningSettings-BsdX-CkH.js} +1 -1
  47. package/dist/web/assets/{LabModelVersionDetailPage-C4WtQKER.js → LabModelVersionDetailPage-BUO5cpDh.js} +1 -1
  48. package/dist/web/assets/{LabSkillSidebar-D3g6E0Ap.js → LabSkillSidebar-mTpdM-G8.js} +1 -1
  49. package/dist/web/assets/{LabsRoute-BO0yEsCR.js → LabsRoute-BhfxBg5_.js} +4 -4
  50. package/dist/web/assets/{MainChatThread-CKPR_rY0.js → MainChatThread-BAxA18lN.js} +2 -2
  51. package/dist/web/assets/{MainPane-B8mDzSqi.js → MainPane-Dv5USGqR.js} +4 -4
  52. package/dist/web/assets/{MarkdownText-D6_UI4Ly.js → MarkdownText-DWGLUbdE.js} +1 -1
  53. package/dist/web/assets/{Messages-DptbENmQ.js → Messages-CuhCtaya.js} +1 -1
  54. package/dist/web/assets/{NativeSkillSidebar-CF1NTAR6.js → NativeSkillSidebar-B8OMVpPT.js} +1 -1
  55. package/dist/web/assets/{NewExperienceSwitcher-CwlpLsXW.js → NewExperienceSwitcher-kIKV8_Wd.js} +1 -1
  56. package/dist/web/assets/{NewProjectDialog-Ls4K9a5S.js → NewProjectDialog-B-7dHoT6.js} +1 -1
  57. package/dist/web/assets/{OutputsPage-ClNuidPW.js → OutputsPage-C4DRT8pF.js} +1 -1
  58. package/dist/web/assets/{ProjectsPage-Sj83NsdP.js → ProjectsPage-CLjW6Kc3.js} +1 -1
  59. package/dist/web/assets/{RightChatPanelStack-m5-cI0NL.js → RightChatPanelStack-C4-4VLb-.js} +1 -1
  60. package/dist/web/assets/{RightSidebarHomePanel-B--t--OJ.js → RightSidebarHomePanel-CVbfOg2p.js} +1 -1
  61. package/dist/web/assets/{ScheduledWorkPage-JVfMtGMs.js → ScheduledWorkPage-CWzwbOOZ.js} +1 -1
  62. package/dist/web/assets/SettingsView-BIwO8elm.js +9 -0
  63. package/dist/web/assets/{SettingsView-B9Tn0_zX.css → SettingsView-BaWWvIJW.css} +1 -1
  64. package/dist/web/assets/{TeamChatView-D8ilbncz.js → TeamChatView-miR9w_53.js} +1 -1
  65. package/dist/web/assets/{TerminalOverlay-A6nSxm5C.js → TerminalOverlay-BOmx_hJX.js} +1 -1
  66. package/dist/web/assets/{TrainingCreationPanel-CwpnBbuN.js → TrainingCreationPanel-DSRejaYV.js} +1 -1
  67. package/dist/web/assets/{TrainingDraftPanel-B_Gh_0yq.js → TrainingDraftPanel-XBH6Uh0_.js} +1 -1
  68. package/dist/web/assets/{UsageSettingsSection-qTX3k9-f.js → UsageSettingsSection-DROtDdak.js} +1 -1
  69. package/dist/web/assets/{WorkSidebarPanel-B-fDRRRs.js → WorkSidebarPanel-CHwObGs6.js} +1 -1
  70. package/dist/web/assets/{WorkspaceDiffPanel-CfvvifJg.js → WorkspaceDiffPanel-BoB_1R8w.js} +3 -3
  71. package/dist/web/assets/{WorkspaceEnvironmentMenu-BL6WHWLO.js → WorkspaceEnvironmentMenu-Dvqy2NJP.js} +1 -1
  72. package/dist/web/assets/{WorkspaceGitDialogs-pyZQJL_2.js → WorkspaceGitDialogs-BC45mifk.js} +1 -1
  73. package/dist/web/assets/{WorkspaceMonacoEditor-C2cNf0UO.js → WorkspaceMonacoEditor-cDO3Elh0.js} +3 -3
  74. package/dist/web/assets/{arrow-up-right-BQv8RCGD.js → arrow-up-right-Dv3nebbh.js} +1 -1
  75. package/dist/web/assets/{chat-file-links-C3erG0P2.js → chat-file-links-DQYtkwit.js} +1 -1
  76. package/dist/web/assets/chevron-up-BUOpWd2a.js +1 -0
  77. package/dist/web/assets/{clipboard-BSPYX7yq.js → clipboard-CnNPmg50.js} +1 -1
  78. package/dist/web/assets/{cloud-upload-CJVhhG6P.js → cloud-upload-DisZOwXE.js} +1 -1
  79. package/dist/web/assets/{cssMode-RCJXPUO-.js → cssMode-Bd8sFlb5.js} +1 -1
  80. package/dist/web/assets/{folder-open-2a5riVSG.js → folder-open-D0PIN0Cj.js} +1 -1
  81. package/dist/web/assets/{folder-plus-DuVvIFve.js → folder-plus-DTNZNwa9.js} +1 -1
  82. package/dist/web/assets/{git-commit-horizontal-BifoV1dR.js → git-commit-horizontal-C0QdA7uv.js} +1 -1
  83. package/dist/web/assets/{htmlMode-DnEOXzjT.js → htmlMode-Cu-nKV7Z.js} +1 -1
  84. package/dist/web/assets/{index-B5RqBp_p.js → index-De4k_YMo.js} +2 -2
  85. package/dist/web/assets/{info-BWvLCbJ2.js → info-B-n_omgE.js} +1 -1
  86. package/dist/web/assets/{jsonMode-DQfml7E4.js → jsonMode-B377iBCv.js} +1 -1
  87. package/dist/web/assets/{lspLanguageFeatures-WKs-7xHz.js → lspLanguageFeatures-BBHfVtV0.js} +1 -1
  88. package/dist/web/assets/{minimize-2-C-_iqAbt.js → minimize-2-C6JQGKgk.js} +1 -1
  89. package/dist/web/assets/{monaco.contribution-B5y78DUP.js → monaco.contribution-B0l6Oe3a.js} +2 -2
  90. package/dist/web/assets/{monaco.contribution-DCekL-SI.js → monaco.contribution-BDLeUQLG.js} +2 -2
  91. package/dist/web/assets/{monaco.contribution-Qc1u700n.js → monaco.contribution-CCSCAu65.js} +2 -2
  92. package/dist/web/assets/{monaco.contribution-B29c98Aa.js → monaco.contribution-CIq6sYw4.js} +2 -2
  93. package/dist/web/assets/{play-DsP3gpGK.js → play-B5O4Hz_W.js} +1 -1
  94. package/dist/web/assets/{python-CJ1QdM8L.js → python-BQkq0gZA.js} +1 -1
  95. package/dist/web/assets/{refresh-cw-DaASy_i0.js → refresh-cw-D2E-pp4H.js} +1 -1
  96. package/dist/web/assets/{save-BBQ7L8VS.js → save-CPNNuWwp.js} +1 -1
  97. package/dist/web/assets/{square-DTl9YrMp.js → square-DUgXVoF0.js} +1 -1
  98. package/dist/web/assets/{toggleHighContrast-D-DNRZ-D.js → toggleHighContrast-BbQBtO9I.js} +1 -1
  99. package/dist/web/assets/{tsMode-CmWbxnjM.js → tsMode-CsVhouTE.js} +1 -1
  100. package/dist/web/assets/{upload-juEp2zRQ.js → upload-t7xHt3GY.js} +1 -1
  101. package/dist/web/assets/{useLocalAgentSchedules-DF_bIseW.js → useLocalAgentSchedules-D4lJelHt.js} +1 -1
  102. package/dist/web/assets/{wifi-off-DrkIaS1O.js → wifi-off-B_QPKtA-.js} +1 -1
  103. package/dist/web/assets/{workers-LygfviY3.js → workers-p7TrE4Qa.js} +1 -1
  104. package/dist/web/assets/{yaml-BIpimtDQ.js → yaml-C8adeAyH.js} +1 -1
  105. package/dist/web/index.html +1 -1
  106. package/package.json +1 -1
  107. package/dist/chunks/chunk-6C2EXO4H.js +0 -5
  108. package/dist/web/assets/HostedModelLearningReview-DHahsQJH.js +0 -1
  109. package/dist/web/assets/SettingsView-B7FnZ-b0.js +0 -9
  110. package/dist/web/assets/chevron-up-D9MMQKU3.js +0 -1
@@ -2196,4 +2196,4 @@ ${e.review.criteria.map(r=>`- **${r.label}** (${r.weight}): ${r.description}`).j
2196
2196
  ${e.review.rubric}${A}
2197
2197
  `}s(tf,"rubricMarkdown");function af(e){return e.length?`${e.map(A=>JSON.stringify(A)).join(`
2198
2198
  `)}
2199
- `:""}s(af,"jsonLines");var sr=64*1024*1024,tn=x.string().regex(/^[a-f0-9]{64}$/),an=x.object({path:sx,contentHash:tn,sizeBytes:x.number().int().nonnegative().max(sr),base64:x.string().max(sr)}).strict(),Ff=x.object({schemaVersion:x.literal("openpond.tasksetDraftWorkspace.v1"),draft:u0,files:x.array(an).max(1e4)}).strict(),nf=Ff.extend({contentHash:tn}).strict();var sn=x.object({schemaVersion:x.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:D,sourcePackageHash:x.string().regex(/^[a-f0-9]{64}$/),sizeBytes:x.number().int().positive().max(jx)}).strict();function sf(e){let A=s(r=>{let t=D.parse(r);return`/v1/training/harness-sources/${encodeURIComponent(t.id)}/${t.contentHash}`},"route");return{async publishHarnessSource(r){H0(r,jx,"Training Harness source");let t=oe(r),a=t.agentSnapshot.portability;if(!a.portable||a.blockers.length||a.localOnlyAssetRefs.length||a.hostPrivateAssetRefs.length||t.harnessRelease.files.some(F=>F.visibility!=="policy"))throw new Error("Hosted training Harness publication requires portable, policy-visible source.");let n=sn.parse(await e(A({id:t.harnessRelease.id,contentHash:t.harnessRelease.contentHash}),{method:"PUT",body:JSON.stringify(t)}));if(n.harnessRelease.id!==t.harnessRelease.id||n.harnessRelease.contentHash!==t.harnessRelease.contentHash||n.sourcePackageHash!==t.contentHash)throw new Error("Published Harness source differs from the selected immutable package.");return n},async getHarnessSource(r){let t=await e(A(r),void 0,jx);return H0(t,jx,"Training Harness source"),oe(t,r)}}}s(sf,"createTrainingHarnessSourceClient");var vx=x.string().trim().min(1).max(500),of=x.string().regex(/^[a-f0-9]{64}$/),H8=x.object({schemaVersion:x.literal("openpond.trainingCandidateDecisionRequest.v1"),teamId:vx,jobId:vx,artifact:I,evaluation:I,executionReceipt:I,decision:x.enum(["accepted","rejected"]),reason:x.string().trim().min(1).max(5e3),idempotencyKey:vx,expectedDecision:I.nullable()}).strict(),on=x.object({schemaVersion:x.literal("openpond.trainingCandidateDecision.v1"),id:vx,request:H8,revision:x.number().int().positive(),actor:x.object({userId:vx,kind:x.enum(["user","api_key","agent_delegate"]),id:vx}).strict(),decidedAt:x.string().datetime({offset:!0}),contentHash:of}).strict().superRefine((e,A)=>{e.revision===1!=(e.request.expectedDecision===null)&&A.addIssue({code:"custom",path:["revision"],message:"A first decision has no predecessor; later decisions must reference the prior decision."}),e.request.expectedDecision?.id===e.id&&A.addIssue({code:"custom",path:["request","expectedDecision"],message:"A decision cannot supersede itself."})});async function vn(e){let{contentHash:A,...r}=e;return f0(r)}s(vn,"trainingCandidateDecisionHash");async function vr(e,A){H0(e,32768,"Training candidate decision");let r=on.parse(e);if(r.contentHash!==await vn(r))throw new K("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 K("candidate_decision_identity_mismatch","Training candidate decision belongs to a different team, Job or artifact.");if(A.request&&await f0(r.request)!==await f0(H8.parse(A.request)))throw new K("candidate_decision_request_mismatch","Training candidate decision does not match the submitted review.");return r}s(vr,"parseAndVerifyTrainingCandidateDecision");function vf(e){function A(r){return`/v1/training/jobs/${encodeURIComponent(vx.parse(r.jobId))}/candidates/${encodeURIComponent(I.parse(r.artifact).id)}/decision`}return s(A,"route"),{async candidateDecision(r,t={}){vx.parse(r.teamId);let a=t.decision?I.parse(t.decision):void 0,n=a?`?decisionId=${encodeURIComponent(a.id)}`:"",F=x.object({decision:x.unknown().nullable()}).strict().parse(await e(`${A(r)}${n}`));if(F.decision===null&&!a)return null;let i=await vr(F.decision,r);if(a&&(i.id!==a.id||i.contentHash!==a.contentHash))throw new K("candidate_decision_identity_mismatch","Training candidate decision does not match the requested history entry.");return i},async recordCandidateDecision(r){let t=H8.parse(r),a=await e(A(t),{method:"POST",body:JSON.stringify(t)});return vr(a,{...t,request:t})}}}s(vf,"createTrainingCandidateDecisionClient");var Yx=x.string().trim().min(1).max(500),Te=x.string().regex(/^[a-f0-9]{64}$/),Bn=x.object({taskId:Yx,taskSha256:Te,resultSha256:Te,input:x.object({instruction:x.string().max(1e6),context:x.record(x.string(),x.unknown())}).strict(),output:x.string().max(1e6),outputSha256:Te,score:x.number().finite().min(0).max(1),evidence:x.object({kind:x.enum(["worker_command","hosted_trace","local_trace"]),id:Yx}).strict()}).strict(),fn=x.object({schemaVersion:x.literal("openpond.trainingEvaluationTaskPage.v1"),jobId:Yx,teamId:Yx,evaluation:I,kind:x.enum(["baseline","candidate"]),policyVersion:x.number().int().nonnegative(),taskset:o0,panelSha256:Te,offset:x.number().int().nonnegative(),total:x.number().int().min(1).max(1e4),tasks:x.array(Bn).min(1).max(100),nextCursor:x.string().regex(/^[1-9]\d*$/).nullable(),contentHash:Te}).strict().superRefine((e,A)=>{let r=e.offset+e.tasks.length,t=r<e.total?String(r):null;(r>e.total||e.nextCursor!==t)&&A.addIssue({code:"custom",path:["nextCursor"],message:"Evaluation pagination must cover consecutive task positions."}),new Set(e.tasks.map(a=>a.taskId)).size!==e.tasks.length&&A.addIssue({code:"custom",path:["tasks"],message:"Evaluation task identities must be unique."})});async function cn(e){let{contentHash:A,...r}=e;return f0(r)}s(cn,"trainingEvaluationTaskPageHash");async function ln(e,A){H0(e,m8,"Training evaluation task page");let r=fn.parse(e),t=I.parse(A.evaluation);if(r.jobId!==Yx.parse(A.jobId)||r.evaluation.id!==t.id||r.evaluation.contentHash!==t.contentHash||r.offset!==(A.offset??0)||A.teamId!==void 0&&r.teamId!==Yx.parse(A.teamId))throw new K("evaluation_page_identity_mismatch","Evaluation results differ from the requested Job, evaluation, or page.");if(await cn(r)!==r.contentHash)throw new K("evaluation_page_hash_mismatch","Evaluation task page content hash did not match.");for(let a of r.tasks)if(await f0(a.output)!==a.outputSha256)throw new K("evaluation_output_hash_mismatch","A retained evaluation output hash did not match.");return r}s(ln,"parseAndVerifyTrainingEvaluationTaskPage");var Bf=x.array(x.object({id:x.string().trim().min(1)}).catchall(x.unknown())).min(1).max(1e3),ff=x.object({binding:bx,rewards:x.array(dx).min(1).max(100)}).strict();async function cf(e){let A=e.rewardExecution?ff.parse(e.rewardExecution):null,r=Bf.parse(A?p0(A.binding,A.rewards):e.graders);if(new Set(r.map(a=>a.id)).size!==r.length)throw new Error("Training grader identities must be unique.");let t=await f0({schemaVersion:"openpond.trainingGraderSet.v1",graders:r});return{kind:"deterministic",grader:{id:`training-graders-${t.slice(0,32)}`,contentHash:t},composer:A?{id:A.binding.id,contentHash:A.binding.contentHash}:null}}s(cf,"deterministicTrainingRewardSource");var I8="evaluation-source.json",Br=x.object({id:x.string().trim().min(1),clusterKey:x.string().trim().min(1),split:x.enum(["train","validation","frozen_eval"])}).passthrough(),$e=x.object({schemaVersion:x.literal("openpond.trainingEvaluationSource.v1"),taskset:o0,tasks:x.array(Br).min(1).max(1e4),assets:x.array(x.object({path:x.string().trim().min(1).max(2e3),sha256:x.string().regex(/^[a-f0-9]{64}$/),sizeBytes:x.number().int().nonnegative(),encoding:x.literal("base64"),content:x.string().max(32*1024*1024)}).strict()).max(1e4)}).strict().superRefine((e,A)=>{let r=new Set;e.tasks.forEach((t,a)=>{t.split==="train"&&A.addIssue({code:"custom",path:["tasks",a,"split"],message:"Evaluation sources require held-out tasks."}),r.has(t.id)&&A.addIssue({code:"custom",path:["tasks",a,"id"],message:"Evaluation task identities must be unique."}),r.add(t.id)})});function cr(e,A){let r=x.array(Br).min(1).max(1e4).parse(e),t=x.array(Br).min(1).max(1e4).parse(A),a=new Set,n=new Set;for(let i of r){if(i.split!=="train")throw new Error("The training population contains a held-out task.");if(a.has(i.id))throw new Error("Training task identities must be unique.");a.add(i.id),n.add(i.clusterKey)}let F=new Set;for(let i of t){if(i.split==="train")throw new Error("The evaluation population contains a training task.");if(F.has(i.id))throw new Error("Evaluation task identities must be unique.");if(a.has(i.id)||n.has(i.clusterKey))throw new Error("Training and evaluation tasks or families overlap.");F.add(i.id)}}s(cr,"assertTrainingEvaluationIsolation");async function lr(e){let A=$e.parse(e),r=await f0(A);return{taskset:A.taskset,dataset:{id:`training-evaluation-${r.slice(0,32)}`,contentHash:r}}}s(lr,"trainingEvaluationSourceRef");var J=x.string().trim().min(1).max(500),c0=x.string().regex(/^[a-f0-9]{64}$/),q0=x.string().datetime({offset:!0}),En=x.object({schemaVersion:x.literal("openpond.trainingInputArtifactUpload.v2"),kind:x.enum(["portable_training_bundle","reward_model_dataset"]),idempotencyKey:x.string().trim().min(1).max(500),sourceManifest:I,payload:x.unknown(),contentHash:c0}).strict(),dn=x.object({schemaVersion:x.literal("openpond.trainingInputArtifact.v2"),kind:x.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:I,artifactRef:x.string().trim().min(1).max(2e3),contentHash:c0,sizeBytes:x.number().int().positive(),createdAt:q0}).strict();async function G8(e){let{contentHash:A,...r}=e;return f0(r)}s(G8,"trainingInputArtifactUploadHash");async function P8(e){H0(e,jx,"Training input artifact");let A=En.parse(e),r=await G8(A);if(A.contentHash!==r)throw new K("content_hash_mismatch",`Training input artifact contentHash ${A.contentHash} does not match ${r}.`);return A}s(P8,"parseAndVerifyTrainingInputArtifactUpload");var Er=x.enum(["reward_model_train","policy_optimize"]),bn=x.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),mn=x.object({id:J,version:x.string().trim().min(1).max(200).nullable().default(null),required:x.boolean().default(!0)}).strict(),un=x.object({modelProject:x.object({id:J,portableProjectId:J,revision:x.number().int().positive(),contentHash:c0}).strict(),harnessRunManifest:I,harnessRelease:I,taskset:o0,tasksetRelease:I,evaluation:x.object({taskset:o0,dataset:I}).strict().nullable().optional(),dataset:I,evidenceSets:x.array(I).max(1e4)}).strict(),jn=x.object({kind:x.literal("reward_model_train"),baseModel:z0,preferenceDatasetRelease:I,processorRelease:I,recipe:x.object({schemaVersion:x.literal("openpond.rewardModelRecipe.v1"),method:x.literal("reward_model"),parameterization:x.literal("lora_with_scalar_head")}).catchall(x.unknown())}).strict(),lf=x.object({kind:x.literal("deterministic"),grader:I,composer:I.nullable().default(null)}).strict(),Ef=x.object({kind:x.literal("learned_reward"),rewardModelVersion:I,qualificationReport:I.nullable().default(null),evaluationReferences:x.array(I).max(1e3).default([]),scorerArtifact:x.object({artifactRef:x.string().trim().min(1).max(2e3),contentHash:c0,executionReceipt:I}).strict(),processorRelease:I,rewardComposerRelease:I}).strict(),pn=x.object({kind:x.literal("policy_optimize"),baseModel:z0,recipe:j8,rewardSource:x.discriminatedUnion("kind",[lf,Ef]),resumeFrom:I.nullable().default(null)}).strict(),Cn=x.discriminatedUnion("kind",[jn,pn]),Dn=x.object({approvalHash:c0,approvedAt:q0,exportApproved:x.boolean(),maximumSpendUsd:x.number().nonnegative(),retentionDays:x.number().int().nonnegative().nullable(),region:x.string().trim().min(1).max(200).nullable().default(null)}).strict(),hn=x.object({schemaVersion:x.literal("openpond.trainingJobSubmission.v2"),idempotencyKey:x.string().trim().min(1).max(500),name:x.string().trim().min(1).max(200),source:un,job:Cn,requestedCapabilities:x.array(mn).max(1e3),placementObjective:x.enum(["fast","balanced","economical"]),budget:x.object({maximumSpendUsd:x.number().nonnegative(),maximumWallSeconds:x.number().int().positive()}).strict(),approval:Dn,contentHash:c0}).strict().superRefine((e,A)=>{e.approval.maximumSpendUsd!==e.budget.maximumSpendUsd&&A.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});async function Q8(e){let{contentHash:A,...r}=e;return f0(r)}s(Q8,"trainingJobSubmissionHash");async function M8(e){H0(e,PA,"Training Job submission");let A=hn.parse(e),r=await Q8(A);if(A.contentHash!==r)throw new K("content_hash_mismatch",`Training Job contentHash ${A.contentHash} does not match ${r}.`);return A}s(M8,"parseAndVerifyTrainingJobSubmission");var Wx=x.object({schemaVersion:x.literal("openpond.trainingJob.v2"),id:J,teamId:J,kind:Er,modelProjectId:J,portableProjectId:J,sourceProjectRevision:x.number().int().positive(),submissionHash:c0,state:bn,phase:x.string().trim().min(1).max(200),version:x.number().int().nonnegative(),progress:x.number().min(0).max(1),rolloutProgress:x.object({groupsCompleted:x.number().int().nonnegative(),groupsTarget:x.number().int().nonnegative(),optimizerUpdatesApplied:x.number().int().nonnegative(),optimizerUpdatesSkipped:x.number().int().nonnegative()}).strict(),accruedSpendUsd:x.number().nonnegative(),terminalReason:x.string().trim().min(1).max(5e3).nullable(),createdAt:q0,updatedAt:q0,completedAt:q0.nullable()}).strict(),kn=x.object({schemaVersion:x.literal("openpond.trainingJobPage.v2"),jobs:x.array(Wx).max(1e3),nextCursor:x.string().trim().min(1).max(2e3).nullable()}).strict(),gn=x.object({schemaVersion:x.literal("openpond.trainingJobEvent.v2"),id:J,jobId:J,sequence:x.number().int().nonnegative(),type:J,phase:x.string().trim().min(1).max(200),message:x.string().trim().min(1).max(5e3).nullable(),data:x.record(x.string(),x.unknown()).default({}),createdAt:q0}).strict(),Sn=x.object({schemaVersion:x.literal("openpond.trainingJobLog.v2"),jobId:J,sequence:x.number().int().nonnegative(),level:x.enum(["debug","info","warning","error"]),message:x.string().max(2e4),createdAt:q0}).strict(),fr=x.object({expectedVersion:x.number().int().nonnegative()}).strict(),Rn=x.object({schemaVersion:x.literal("openpond.trainingJobOutput.v2"),id:J,jobId:J,kind:x.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:x.string().trim().min(1).max(2e3),contentHash:c0,sizeBytes:x.number().int().nonnegative(),metadata:x.record(x.string(),x.unknown()).default({}),createdAt:q0}).strict(),N8=x.object({schemaVersion:x.literal("openpond.trainingExecutionReceipt.v2"),id:J,teamId:J,jobId:J,submissionHash:c0,manifestHash:c0,recipeHash:c0,capabilityHash:c0,runtimeRelease:I,inputs:x.array(I).max(1e4),outputs:x.array(I).max(1e4),spendUsd:x.number().nonnegative(),durationSeconds:x.number().nonnegative(),cleanupComplete:x.boolean(),issuer:J,issuedAt:q0,signature:x.string().trim().min(1).max(1e4).nullable()}).strict();async function wn(e){return f0(N8.parse(e))}s(wn,"trainingExecutionReceiptHash");async function df(e,A){let r=N8.parse(e),t=J.parse(A.id),a=c0.parse(A.contentHash),n=await wn(r);if(r.id!==t||n!==a)throw new K("execution_receipt_mismatch","The execution receipt identity or canonical content hash did not match.");if(A.teamId!==void 0&&r.teamId!==J.parse(A.teamId))throw new K("execution_receipt_team_mismatch","The execution receipt belongs to a different team.");if(A.jobId!==void 0&&r.jobId!==J.parse(A.jobId))throw new K("execution_receipt_job_mismatch","The execution receipt belongs to a different Training Job.");if((A.requireCleanup??!0)&&!r.cleanupComplete)throw new K("execution_cleanup_incomplete","The execution receipt does not attest complete terminal cleanup.");return r}s(df,"parseAndVerifyTrainingExecutionReceipt");var yn=x.object({schemaVersion:x.literal("openpond.trainingJobOutputs.v2"),outputs:x.array(Rn).max(1e4),receipt:N8.nullable()}).strict(),qn=x.object({schemaVersion:x.literal("openpond.trainingApiError.v2"),code:x.string().trim().min(1).max(200),message:x.string().trim().min(1).max(5e3),retryable:x.boolean().default(!1),requestId:x.string().trim().min(1).max(500).nullable().default(null),details:x.record(x.string(),x.unknown()).default({})}).strict(),dr=class extends Error{static{s(this,"OpenPondTrainingApiError")}status;code;retryable;requestId;details;constructor(e,A){super(A.message),this.name="OpenPondTrainingApiError",this.status=e,this.code=A.code,this.retryable=A.retryable,this.requestId=A.requestId,this.details=A.details}},_n=x.object({schemaVersion:x.literal("openpond.trainingCapabilities.v2"),capabilityHash:c0,jobKinds:x.array(Er),methods:x.array(x.string().trim().min(1).max(200)),placements:x.array(x.enum(["local","remote","colocated","provider_native"])),controls:x.object({cancel:x.boolean(),stopAfterGroup:x.boolean(),resumeFromCheckpoint:x.boolean()}).strict(),limits:x.object({maximumSpendUsd:x.number().nonnegative(),maximumWallSeconds:x.number().int().positive(),maximumArtifactBytes:x.number().int().positive()}).strict(),checkedAt:q0,expiresAt:q0}).strict();function Fn(e){let A={};return new Headers(e).forEach((r,t)=>{A[t]=r}),A}s(Fn,"headersRecord");function bf(e){let A=e.fetch??fetch,r=e.baseUrl.replace(/\/$/,"");async function t(a,n,F=m8){let f=n?.method===void 0||n.method.toUpperCase()==="GET"?3:1;for(let o=1;o<=f;o+=1){let B;try{let b=typeof e.headers=="function"?await e.headers():e.headers??{};B=await A(`${r}${a}`,{...n,headers:{accept:b8,...n?.body?{"content-type":b8}:{},...Fn(b),...Fn(n?.headers)}})}catch(b){if(o===f||n?.signal?.aborted||!nn(null,b))throw b;await new Promise(u=>setTimeout(u,250*2**(o-1)));continue}let v=u8(await B.text(),F,"Training API response");if(B.ok)return v;let c=mf(v,B.status);if(o===f||!nn(B.status,c))throw c;await new Promise(b=>setTimeout(b,250*2**(o-1)))}throw new K("training_read_retry_exhausted","Training read retry loop exhausted without a response.")}return s(t,"request"),{...sf(t),...vf(t),async capabilities(){return _n.parse(ox(await t("/v1/training/capabilities"),"capabilities"))},async stageArtifact(a){let n=await P8(a);return dn.parse(ox(await t("/v1/training/artifacts",{method:"POST",body:JSON.stringify(n)}),"artifact"))},async createJob(a){let n=await M8(a);return Wx.parse(ox(await t("/v1/training/jobs",{method:"POST",body:JSON.stringify(n)}),"job"))},async listJobs(a={}){let n=new URLSearchParams;a.modelProjectId&&n.set("modelProjectId",J.parse(a.modelProjectId)),a.cursor&&n.set("cursor",x.string().trim().min(1).max(2e3).parse(a.cursor)),a.limit!==void 0&&n.set("limit",String(x.number().int().min(1).max(1e3).parse(a.limit)));let F=n.size>0?`?${n.toString()}`:"";return kn.parse(await t(`/v1/training/jobs${F}`))},async getJob(a){return Wx.parse(ox(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}`),"job"))},async cancelJob(a,n){let F=fr.parse({expectedVersion:n});return Wx.parse(ox(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}/cancel`,{method:"POST",body:JSON.stringify(F)}),"job"))},async stopAfterGroup(a,n){let F=fr.parse({expectedVersion:n});return Wx.parse(ox(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}/stop-after-group`,{method:"POST",body:JSON.stringify(F)}),"job"))},async events(a){return x.array(gn).parse(ox(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}/events`),"events"))},async outputs(a){return yn.parse(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}/outputs`))},async evaluationTasks(a,n,F={}){let i=J.parse(a),f=I.parse(n),o=new URLSearchParams,B=F.cursor===void 0?void 0:x.string().regex(/^[1-9]\d*$/).parse(F.cursor),v=B===void 0?0:x.number().int().min(1).max(9999).parse(Number(B));B!==void 0&&o.set("cursor",B),F.limit!==void 0&&o.set("limit",String(x.number().int().min(1).max(100).parse(F.limit)));let c=o.size?`?${o.toString()}`:"";return ln(await t(`/v1/training/jobs/${encodeURIComponent(i)}/evaluations/${encodeURIComponent(f.id)}/tasks${c}`),{jobId:i,evaluation:f,offset:v})},async logs(a){return x.array(Sn).max(1e5).parse(ox(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}/logs`),"logs"))}}}s(bf,"createTrainingClient");function nn(e,A){return e!==null?e===408||e===429||e>=500:A instanceof dr?A.retryable:A instanceof K?A.code==="invalid_error_response":A instanceof TypeError}s(nn,"trainingReadFailureIsRetryable");function ox(e,A){return!e||typeof e!="object"||Array.isArray(e)?e:A in e?e[A]:e}s(ox,"unwrapObject");function mf(e,A){let r=qn.safeParse(e);return r.success?new dr(A,r.data):new K("invalid_error_response",`Training request failed with HTTP ${A} and an invalid error envelope.`)}s(mf,"trainingApiError");var Q0=u0.shape.id,_0=x.number().int().positive(),Sx=x.string().regex(/^[a-f0-9]{64}$/),Rx={teamId:Q0,modelId:Q0},fm=x.object({schemaVersion:x.literal("openpond.tasksetDraftCreate.v1"),operationId:Q0,modelId:Q0,expectedModelRevision:_0,name:u0.shape.name}).strict(),cm=x.object({schemaVersion:x.literal("openpond.tasksetDraftSourceDescriptor.v1"),...Rx,expectedModelRevision:_0,sourcePackageHash:Sx}).strict(),lm=x.object({schemaVersion:x.literal("openpond.tasksetDraftReadback.v1"),...Rx,draft:u0,workspaceHash:Sx,projectEtag:Sx}).strict().refine(e=>e.draft.profileId===e.teamId&&e.draft.modelScope?.modelId===e.modelId,"The hosted draft must belong to its declared workspace and Model."),uf=x.object({id:Q0,revision:_0,name:u0.shape.name,status:ir,updatedAt:u0.shape.updatedAt,sourceTasksetRef:O0.nullable()}).strict(),Em=x.object({schemaVersion:x.literal("openpond.tasksetDraftList.v1"),...Rx,drafts:x.array(uf).max(100),nextCursor:x.string().min(1).max(2e3).nullable()}).strict(),dm=x.object({expectedDraftRevision:_0,draft:u0}).strict(),bm=x.object({expectedDraftRevision:_0,expectedModelRevision:_0}).strict(),jf=x.object({expectedDraftRevision:_0,expectedWorkspaceHash:Sx}).strict(),mm=x.object({schemaVersion:x.literal("openpond.tasksetDraftValidation.v1"),...Rx,draftId:Q0,draftRevision:_0,workspaceHash:Sx,valid:x.boolean(),issues:x.array(x.object({code:x.string().min(1),severity:x.enum(["warning","error"]),message:x.string(),path:x.string().nullable()}).strict()),packageHash:Sx.nullable(),tasksetRef:O0.nullable()}).strict().refine(e=>e.valid?e.packageHash!==null&&e.tasksetRef!==null&&e.issues.every(A=>A.severity!=="error"):e.packageHash===null&&e.tasksetRef===null&&e.issues.some(A=>A.severity==="error"),"Validation must retain either a compiled package or publication errors."),um=jf.extend({operationId:Q0,expectedPackageHash:Sx,expectedTasksetRef:O0}).strict(),jm=x.object({schemaVersion:x.literal("openpond.tasksetDraftFileList.v1"),...Rx,draftId:Q0,draftRevision:_0,files:x.array(XA).max(10020)}).strict(),pm=x.object({schemaVersion:x.literal("openpond.tasksetDraftFileReadback.v1"),...Rx,draftId:Q0,draftRevision:_0,file:jF}).strict(),Cm=x.object({schemaVersion:x.literal("openpond.tasksetDraftDeletion.v1"),...Rx,draftId:Q0,revision:_0,deleted:x.literal(!0)}).strict(),hm=u0.shape.id,km=x.number().int().positive();var W0=x.string().trim().min(1).max(500),Sm=x.object({projectId:W0.optional(),tasksetId:W0.optional(),draftId:W0.optional(),taskId:W0.optional(),query:x.string().trim().max(1e3).default(""),split:x.enum(["train","validation","test","frozen_eval"]).optional(),after:x.string().min(1).max(2e3).optional(),limit:x.number().int().min(1).max(100).default(30)}).strict(),pf=x.object({id:W0,method:x.enum(["code","judge","human"]),required:x.boolean()}),Cf=x.object({tasksetId:W0,tasksetName:x.string(),tasksetRevision:x.number().int().positive(),tasksetHash:x.string(),taskId:W0,ordinal:x.number().int().nonnegative(),title:x.string(),description:x.string(),split:x.string(),scoring:x.array(pf),configuration:x.enum(["configured","needs_reward","needs_checks"]),draftId:W0.nullable().default(null),modelId:W0.nullable().default(null)}),Rm=x.object({items:x.array(Cf).max(100),nextCursor:x.string().nullable()});function wm(e,A){let r=[e.instruction,e.prompt,e.request,e.question,e.message].find(n=>typeof n=="string"&&n.trim().length>0),t=typeof e.title=="string"?e.title.trim():"",a=r?.trim()??"";return{title:(t||a||A).slice(0,180),description:a.slice(0,2e3)}}s(wm,"describeTaskInput");function ym(e){return e.map(A=>({id:A.id,method:A.kind==="model_judge"?"judge":A.kind==="human"?"human":"code",required:A.hardGate}))}s(ym,"summarizeTaskScoring");function qm(e){return e.some(A=>A.kind!=="human")?e.some(A=>A.kind==="model_judge"&&A.calibrationStatus!=="passed")?"needs_checks":"configured":"needs_reward"}s(qm,"taskConfiguration");function mr(e,A){let r=e.metadata.learning===void 0?null:eA.parse(e.metadata.learning),t=e.metadata.rewardExecution,a=A??(t?{binding:bx.parse(t.binding),rewards:dx.array().parse(t.rewards)}:r);if(e.metadata.rewardBinding!==void 0){let n=e.metadata.rewardBinding;if(!a||!n||n.id!==a.binding.id||n.revision!==a.binding.revision||n.contentHash!==a.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return a&&p0(a.binding,a.rewards),a?{binding:a.binding,rewards:a.rewards}:null}s(mr,"resolvePortableTasksetRewardExecution");function Om(e){let A=Hn(e.taskset),r=In(e.taskset),t=e.taskset.metadata.learning===void 0?null:eA.parse(e.taskset.metadata.learning),a=e.taskset.metadata.rewardExecution,n=mr(e.taskset,e.rewardExecution),F=n?p0(n.binding,n.rewards):e.taskset.graders.map(hf),i=e.selectedTasks?.length?e.selectedTasks:e.taskset.tasks;if(!i.length)throw new Error("A portable Taskset release requires at least one task.");let f=e.taskset.environment.metadata.portableExecutionResources;if(A.entrypoint==="openpond.javascript-environment.v1"&&!f)throw new Error("Tool Taskset publication requires its pinned execution resources.");let o=f?I0.parse(f.environment):D8({schemaVersion:"openpond.environmentRelease.v1",id:`environment-release-${e.taskset.id}-r${e.taskset.revision}`,revision:e.taskset.revision,contract:A,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{[e.adapterId]:p({adapterId:e.adapterId,environment:A,tools:r})},metadata:{sourceTasksetId:e.taskset.id,sourcePackageHash:e.taskset.metadata.sourcePackageHash??null,resources:e.taskset.environment.resources??[]}}),B=f?.verifierSet!==void 0?G0.parse(f.verifierSet):h8({schemaVersion:"openpond.verifierSetRelease.v1",id:`verifier-set-release-${e.taskset.id}-r${e.taskset.revision}`,revision:e.taskset.revision,graders:F,isolation:{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(e.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:{sourceTasksetId:e.taskset.id}});if(!Fx(o)||!nx(B)||p(o.contract)!==p(A)||p(B.graders)!==p(F))throw new Error("Taskset execution resources differ from its declared environment or graders.");let v=qx.parse({schemaVersion:"openpond.tasksetRelease.v2",id:e.taskset.metadata.derivedPortableMetadata===void 0?`taskset-release-${e.taskset.id}-r${e.taskset.revision}`:e.taskset.id,revision:e.taskset.revision,policy:{policyVisibleFields:e.taskset.policy.policyVisibleFields,privilegedFields:e.taskset.policy.privilegedFields,hiddenGraderRefs:e.taskset.policy.hiddenGraderRefs,connectedAppScopes:e.taskset.policy.connectedAppScopes},environment:A,tools:r,capabilities:kf(e.taskset),tasks:i.map(Df),graders:F,...e.taskset.metrics?{metrics:e.taskset.metrics}:{},metadata:e.taskset.metadata.derivedPortableMetadata??{sourceTasksetId:e.taskset.id,sourceTasksetHash:e.taskset.contentHash,sourcePackageHash:e.taskset.metadata.sourcePackageHash??null,environmentResources:e.taskset.environment.resources??[],ordinaryAuthoring:{instructions:e.taskset.objective,graderFixtures:e.taskset.graderFixtures,judgeCalibrationFixtures:Object.fromEntries(e.taskset.graders.filter(u=>u.kind==="model_judge").map(u=>[u.id,u.calibrationFixtureRefs]))},...t?{learning:t}:{},...n&&!t&&(e.rewardExecution||a)?{rewardExecution:{binding:n.binding,rewards:n.rewards}}:{}}}),c=e.admittedTasksetRelease?j0.parse(e.admittedTasksetRelease):j0.parse({...v,contentHash:p(v)}),b=c.environmentRelease?gf({draft:c,environmentRelease:o,verifierSetRelease:B}):Ya({taskset:c,environment:o,verifierSet:B});return{environmentRelease:o,verifierSetRelease:B,tasksetRelease:b}}s(Om,"materializePortableTasksetRelease");function Lm(e){return Hn(e)}s(Lm,"portableTasksetEnvironment");function Vm(e){return In(e)}s(Vm,"portableTasksetTools");function Df(e){let A=e.metadata.portableTaskRecord;if(A!==void 0){let r=Y8.parse(A),t=Y8.parse({...r,id:e.id,clusterKey:e.clusterKey,split:e.split,input:e.input,expectedOutput:Tn(e),policyVisibleContext:e.policyVisibleContext,privilegedContextRef:e.privilegedContextRef,tags:e.tags,artifactRefs:e.assets===void 0?r.artifactRefs:e.assets.map(a=>{let n=r.artifactRefs.find(F=>F.id===a.id);return{id:a.id,path:n?.path??`tasks/${xe(e.id)}/${xe(a.fileName)}`,contentHash:br(a.sha256),sizeBytes:a.sizeBytes,mediaType:a.mediaType,visibility:n?.visibility??"policy"}}),requiredOutputs:e.requiredOutputs===void 0?r.requiredOutputs:e.requiredOutputs.map(a=>{let n=r.requiredOutputs?.find(F=>F.path===a.path);return{path:a.path,mediaType:a.mediaType,schemaRef:n?.schemaRef&&n.schemaRef.id===a.schemaRef?n.schemaRef:null,maxBytes:a.maxBytes??null,metadata:{...a.metadata,...a.schemaRef&&n?.schemaRef?.id!==a.schemaRef?{legacySchemaRef:a.schemaRef}:{}}}})});return t.requiredOutputs===void 0&&delete t.requiredOutputs,t}return{id:e.id,clusterKey:e.clusterKey,split:e.split,input:e.input,expectedOutput:Tn(e),policyVisibleContext:e.policyVisibleContext,privilegedContextRef:e.privilegedContextRef,artifactRefs:(e.assets??[]).map(r=>({id:r.id,path:`tasks/${xe(e.id)}/${xe(r.fileName)}`,contentHash:br(r.sha256),sizeBytes:r.sizeBytes,mediaType:r.mediaType,visibility:"policy"})),requiredOutputs:(e.requiredOutputs??[]).map(r=>({path:r.path,mediaType:r.mediaType,schemaRef:null,maxBytes:r.maxBytes??null,metadata:{...r.metadata,legacySchemaRef:r.schemaRef??null}})),tags:e.tags}}s(Df,"projectPortableTaskRecord");function Tn(e){if(!e.expectedOutput)return null;if("artifactRenderer"in e.expectedOutput)throw new Error(`Task ${e.id} embeds an artifact renderer. Put shared renderer configuration in Environment resources and reference it from the Scenario.`);return e.expectedOutput}s(Tn,"portableExpectedOutput");function Hn(e){return{protocolVersion:"openpond.environment.v1",kind:e.environment.kind==="chat"?"text":e.environment.kind==="work"?"work":e.environment.kind==="program"?"custom_program":"agent",entrypoint:e.environment.entrypoint,stateful:e.environment.stateful,deterministicSeeds:e.environment.deterministicSeeds,lifecycle:["create","reset","step","collect","destroy"],networkPolicy:e.environment.networkPolicy,defaultTimeoutMs:e.environment.defaultTimeoutMs}}s(Hn,"portableEnvironment");function In(e){let A=e.environment.metadata.portableTools;if(A!==void 0)return Ye.array().max(200).parse(A);let r=e.environment.actionBindings??[];return r.length?r.map(t=>({name:t.modelToolName,description:t.description,inputSchema:t.inputSchema,inputSchemaHash:br(t.actionSchemaHash),sideEffect:t.sideEffect,timeoutMs:t.timeoutMs})):e.environment.toolNames.map(t=>({name:t,description:`Host-provided ${t} tool.`,inputSchema:{},inputSchemaHash:p({}),sideEffect:"write",timeoutMs:e.environment.defaultTimeoutMs}))}s(In,"portableTools");function hf(e){let A={id:e.id,version:e.version,weight:e.weight,hardGate:e.hardGate,rewardEligible:e.rewardEligible,privileged:e.privileged};if(e.kind==="model_judge")return{...A,kind:"model_judge",rubricRef:$n(e),model:Sf(e),temperature:e.temperature,calibrationStatus:e.calibrationStatus};if(e.kind==="custom_verifier"){if(e.metadata.portableVerifierRef===void 0)throw new Error(`Custom verifier ${e.id} requires its immutable executable asset before publication.`);let r=te.safeParse(e.metadata.portableGrader),t=r.success&&r.data.kind==="custom_verifier"&&r.data.exportName===void 0&&e.exportName==="verify";return{...A,kind:"custom_verifier",...e.runtime===void 0?{}:{runtime:e.runtime},verifierRef:d0.parse(e.metadata.portableVerifierRef),timeoutMs:e.timeoutMs,...t?{}:{exportName:e.exportName},networkPolicy:"none"}}return e.kind==="human"?{...A,kind:"human",rubricRef:$n(e),reviewerRole:e.reviewerRole}:{...A,...Tr(e)}}s(hf,"portableGrader");function kf(e){let A=e.metadata.portableCapabilities;return A!==void 0?CA.array().max(200).parse(A):[...e.capabilities.requiresTools?[{id:"tools",required:!0,scopes:e.environment.toolNames}]:[],...e.capabilities.requiresState?[{id:"local-state",required:!0,scopes:[]}]:[],...e.capabilities.requiresPrivilegedGrading?[{id:"private-verifier",required:!0,scopes:e.policy.hiddenGraderRefs}]:[],...e.policy.connectedAppScopes.map(r=>({id:`connected-app-${xe(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}s(kf,"portableCapabilities");function gf(e){if(e.draft.environmentRelease?.id!==e.environmentRelease.id||e.draft.environmentRelease.contentHash!==e.environmentRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Environment Release.");if(e.draft.verifierSetRelease?.id!==e.verifierSetRelease.id||e.draft.verifierSetRelease.contentHash!==e.verifierSetRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Verifier Set Release.");if(p(e.draft.environment)!==p(e.environmentRelease.contract))throw new Error("Admitted Taskset Environment differs from its bound Environment Release.");if(p(e.draft.graders)!==p(e.verifierSetRelease.graders))throw new Error("Admitted Taskset graders differ from its bound Verifier Set Release.");return e.draft}s(gf,"assertReleaseBindings");function Sf(e){let A=e.metadata.portableGrader===void 0?null:te.parse(e.metadata.portableGrader),r=A?.kind==="model_judge"&&A.model?.providerId===e.judge.providerId&&A.model.modelId===e.judge.modelId?A.model.revision:null;return{...e.judge,revision:r}}s(Sf,"modelJudgeRef");function $n(e){let A=a0(e.rubric),r=new TextEncoder().encode(e.rubric).byteLength,t=e.metadata.portableRubricRef;if(t!==void 0){let a=d0.parse(t);if(a.contentHash!==A||a.sizeBytes!==r||a.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return a}return{id:`rubric-${e.id}`,path:`graders/${xe(e.id)}/rubric.md`,contentHash:A,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}s($n,"rubricAsset");function br(e){return/^[a-f0-9]{64}$/.test(e)?e:p(e)}s(br,"hash");function xe(e){return e.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}s(xe,"segment");function Zm(e){let A=e.taskset.metadata.ordinaryAuthoring,r=x.record(x.string(),x.array(x.string().min(1)).max(1e5)).parse(A?.judgeCalibrationFixtures??{});return e.taskset.graders.map(t=>{let a={...t,label:t.id,metadata:{portableGrader:t}};if(t.kind==="custom_verifier")return m0.parse({...a,module:O8(t.verifierRef.contentHash),exportName:t.exportName??"verify",metadata:{...a.metadata,portableVerifierRef:t.verifierRef}});if(t.kind==="human"||t.kind==="model_judge"){let n=e.files.find(f=>f.asset.id===t.rubricRef.id);if(!n)throw new Error(`Imported rubric is missing: ${t.id}.`);let F=new TextDecoder("utf-8",{fatal:!0}).decode($8(n)),i={...a.metadata,portableRubricRef:t.rubricRef};if(t.kind==="human")return m0.parse({...a,rubric:F,metadata:i});if(!t.model)throw new Error(`Imported judge ${t.id} requires its declared model before local preparation.`);return m0.parse({...a,rubric:F,metadata:i,judge:t.model,temperature:t.temperature??0,calibrationStatus:"pending",calibrationFixtureRefs:r[t.id]??[]})}return m0.parse({...a,kind:t.kind==="artifact"?"file":t.kind,config:t.kind==="artifact"?{...t.config,...t.config.refIncludes===void 0?{}:{pathIncludes:t.config.refIncludes}}:t.config})})}s(Zm,"importedPackageGraders");function Gn(e,A,r=[]){let t=Pr(e,A);return p0(e,A).map(a=>{let n=t.find(({source:i})=>i.graderId===a.id).reward,F={...a,label:n.name,metadata:{rewardBinding:N(e)}};if(a.kind==="model_judge"){if(!a.model||a.calibrationStatus!=="passed"||!n.calibrationCheckRef||!n.fixtureSetRef)throw new Error(`Reward ${a.id} needs a retained passing calibration check before preparation.`);let i=r.find(B=>B.id===a.rubricRef.id),f=r.find(B=>B.id===n.fixtureSetRef.id);if(!i||!f)throw new Error(`Reward ${a.id} is missing its immutable rubric or calibration fixtures.`);let o=Vr.array().min(1).max(50).parse(JSON.parse(Y(f,n.fixtureSetRef)));return m0.parse({...F,rubric:Y(i,a.rubricRef),judge:a.model,temperature:a.temperature??0,calibrationFixtureRefs:o.map(B=>B.id),metadata:{...F.metadata,portableRubricRef:a.rubricRef,calibrationEvidenceHash:n.calibrationCheckRef.contentHash,calibrationCheckRef:n.calibrationCheckRef}})}if(a.kind==="custom_verifier")return m0.parse({...F,module:O8(a.verifierRef.contentHash),exportName:a.exportName??"verify",metadata:{...F.metadata,portableVerifierRef:a.verifierRef}});if(a.kind==="human"){let i=r.find(f=>f.id===a.rubricRef.id);if(!i)throw new Error(`Reward ${a.id} is missing its immutable rubric.`);return m0.parse({...F,rubric:Y(i,a.rubricRef)})}return m0.parse({...F,kind:a.kind==="artifact"?"file":a.kind})})}s(Gn,"projectLearningBatchGraders");function O8(e){return`graders/reward-${e}.js`}s(O8,"learningVerifierModule");var Rf=x.object({id:j,purpose:x.string().trim().min(1).max(500),audience:x.enum(["orchestrator","environment","privileged_scorer","trainer","infrastructure"]),required:x.boolean(),ttlSeconds:x.number().int().positive().max(86400),scopes:x.array(x.string().trim().min(1).max(500)).max(100).default([])}).strict(),wf=x.object({declarationId:j,leaseRef:x.string().trim().min(8).max(1e3),audience:Rf.shape.audience,expiresAt:H}).strict(),yf=x.object({adapterId:j,placement:x.enum(["local","remote","colocated","provider_native"]),capabilityReceipt:g,runtimeVersion:x.string().trim().min(1).max(200),dataPlane:x.object({provider:j,dataPlaneId:j,cellId:j,runnerPoolId:j,runtimeImageDigest:x.string().regex(/^sha256:[a-f0-9]{64}$/),capabilityReceipt:g}).strict().nullable()}).strict(),qf=x.object({adapterId:j,kind:x.enum(["local","ssh","managed","custom"]),deviceOrPool:x.string().trim().min(1).max(1e3),capabilityReceipt:g,provider:j.nullable()}).strict(),_f=x.object({adapterId:j,workerVersion:x.string().trim().min(1).max(200),workerImageDigest:x.string().regex(/^sha256:[a-f0-9]{64}$/).nullable(),upstreamRevision:x.string().trim().min(1).max(500),capabilityReceipt:g}).strict(),Qn=x.object({schemaVersion:x.literal("openpond.harnessRunManifest.v1"),id:j,harnessRelease:D,datasetRelease:D,evidenceSets:x.array(D).max(1e4),model:x.object({source:x.string().trim().min(1).max(200),revision:x.string().trim().min(1).max(500),artifactHash:g.nullable(),tokenizerRevision:x.string().trim().min(1).max(500),chatTemplateHash:g}).strict(),recipe:x.object({method:x.string().trim().min(1).max(100),version:x.string().trim().min(1).max(200),configHash:g}).strict(),runtimeTarget:yf,computeTarget:qf,engine:_f,resolvedBundleHash:g,secretLeaseRefs:x.array(wf).max(1e3),approval:x.object({approvalHash:g,approvedAt:H,maximumSpendUsd:x.number().nonnegative().nullable()}).strict(),createdAt:H}).strict(),Mn=Qn.extend({contentHash:g}).strict(),Nn=x.object({schemaVersion:x.literal("openpond.resolvedTrainingBundle.v1"),projection:x.literal("trainer"),harnessRelease:D,datasetRelease:D,evidenceSetRelease:D.nullable(),files:x.array(x.object({path:x.string().trim().min(1).max(2e3),sha256:g,sizeBytes:x.number().int().nonnegative()}).strict()).max(1e5)}).strict(),On=Nn.extend({contentHash:g}).strict(),Tf=[{label:"OpenAI-style API key",pattern:/\bsk-[A-Za-z0-9_-]{16,}\b/g},{label:"OpenPond API key",pattern:/\bopk_[A-Za-z0-9_-]{12,}\b/g},{label:"private key",pattern:/-----BEGIN (?:RSA |EC |OPENSSH )?PRIVATE KEY-----/g},{label:"credential assignment",pattern:/\b(?:api[_-]?key|password|secret|token)\s*[:=]\s*["']?[^\s"']{8,}/gi}],L8=/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi,V8=/\b(?:\+?1[-.\s]?)?\(?\d{3}\)?[-.\s]\d{3}[-.\s]\d{4}\b/g;function $f(e){let A=[],r=e;for(let n of Tf)n.pattern.lastIndex=0,n.pattern.test(r)&&A.push(n.label),n.pattern.lastIndex=0,r=r.replace(n.pattern,`[REDACTED ${n.label}]`);L8.lastIndex=0;let t=L8.test(r);L8.lastIndex=0,t&&A.push("email address"),r=r.replace(L8,"[REDACTED email]"),V8.lastIndex=0;let a=V8.test(r);return V8.lastIndex=0,a&&A.push("phone number"),r=r.replace(V8,"[REDACTED phone]"),{secretStatus:A.some(n=>!n.includes("email")&&!n.includes("phone"))?"blocked":"passed",piiStatus:t||a?"review":"passed",findings:A,redacted:r}}s($f,"scanAndRedactEvidence");function Hf(e){let A=new Map;return{tasks:e.tasks.map(({artifactRefs:t,...a})=>({...a,assets:t.map(n=>{if(n.visibility!=="policy")throw new Error("Learning task inputs must be policy-visible assets.");let F=e.assets?.find(o=>o.id===n.id),i=e.assetBytes?.get(n.id)??(F?new TextEncoder().encode(Y(F,n)):void 0);if(!i||i.byteLength!==n.sizeBytes||a0(i)!==n.contentHash)throw new Error(`Learning task input bytes are missing or changed: ${n.id}.`);let f=`learning/assets/${p({task:a.id,asset:n.id}).slice(0,40)}/${n.path}`;return A.set(f,new Uint8Array(i)),{id:n.id,sourceRefId:e.sourceId,artifactRef:f,fileName:n.path.split("/").at(-1),mediaType:n.mediaType,sha256:n.contentHash,sizeBytes:n.sizeBytes,split:a.split,metadata:{portableAsset:n}}}),...a.requiredOutputs?{requiredOutputs:a.requiredOutputs.map(n=>({...n,schemaRef:n.schemaRef?.id??null,maxBytes:n.maxBytes??void 0}))}:{}})),tasksetAssetBytes:A}}s(Hf,"materializeLearningBatchAssets");function If(e){let A=Oe(e),r=rx(A),t=A.environment.kind==="work";if(!t&&(A.environment.kind!=="text"||A.tools.length||A.tasks.some(v=>v.artifactRefs.length))||t&&A.tasks.some(v=>!v.requiredOutputs?.length))throw new Error("This learning batch requires a supported text or Work environment with declared outputs.");let a=e.source.id,n=Hf({tasks:A.tasks,sourceId:a,assets:e.assets,assetBytes:e.assetBytes}),F={demonstrations:[],preferences:[],corrections:[],feedback:[],rewards:[],labels:[]},i=[];for(let v of r.admissions){let c=e.evidence.find(u=>u.id===v.evidence.id),b=e.decisions.find(u=>u.id===v.decision.id);e.batch.purpose==="reward_training"&&b.grade?.training.status==="scored"&&F.rewards.push({id:`reward-${v.taskId}`,taskId:v.taskId,kind:"reward",task:e.definition.instructions,rules:[{id:e.binding.id,points:1,condition:"Execute the released Reward binding with its declared normalization, weights and gates."}],otherwisePoints:0,executable:!0,approved:!0,confidence:1,sourceRefs:[a],artifactRef:e.binding.id,metadata:{rewardBinding:N(e.binding),evidence:v.evidence,decision:v.decision}}),v.supervisedTarget!==null&&F.demonstrations.push({kind:"demonstration",id:`demo-${v.taskId}`,taskId:v.taskId,sourceRefs:[a],artifactRef:v.decision.id,approved:!0,confidence:1,prompt:null,response:JSON.stringify(v.supervisedTarget),metadata:{evidence:v.evidence,decision:v.decision,targetGradeHash:b.targetGrade?.contentHash}});for(let[u,m,h]of[["observed",c.submission.observedOutput,b.grade],["target",b.approvedTarget,b.targetGrade]]){let w=Gf(h);m===null||w===null||i.push({id:`fixture-${u}-${v.taskId}`,taskId:v.taskId,label:w.passed?"positive":"negative",output:m,infrastructureError:null,expectedPassed:w.passed,expectedRewardEligible:w.rewardEligible,metadata:{gradeReceiptHash:h.contentHash,evidence:v.evidence,decision:v.decision}})}}if(!i.length)throw new Error("Grade at least one reviewed response before preparing this batch. Grader fixtures must come from actual receipts.");let f=Gn(e.binding,e.rewards,e.assets),o=[];for(let v of A.graders){if(v.kind!=="custom_verifier")continue;let c=e.assets?.find(u=>u.id===v.verifierRef.id);if(!c)throw new Error(`Reward ${v.id} is missing its immutable verifier source.`);let b=O8(v.verifierRef.contentHash);o.some(u=>u.path===b)||o.push({path:b,role:"verifier",content:Y(c,v.verifierRef)})}let B=K0.parse({schemaVersion:"openpond.taskset.v1",id:`learning-${p([e.profileId,e.batch.contentHash]).slice(0,40)}`,revision:1,profileId:e.profileId,profileRelease:null,createImproveRunId:null,name:`${e.definition.name} \xB7 ${e.batch.examples.length} approved examples`,objective:e.definition.instructions,purpose:"general",benchmark:null,status:"needs_review",sourceRefs:[e.source],datasetArtifact:null,policy:A.policy,environment:{protocolVersion:"openpond.taskEnvironment.v1",kind:t?"work":"chat",entrypoint:A.environment.entrypoint,stateful:A.environment.stateful,deterministicSeeds:A.environment.deterministicSeeds,toolNames:A.tools.map(v=>v.name),lifecycle:["create","reset","step","grade","cleanup"],defaultTimeoutMs:A.environment.defaultTimeoutMs,networkPolicy:A.environment.networkPolicy,metadata:{portableEnvironment:A.environment,portableTools:A.tools}},capabilities:{schemaVersion:"openpond.tasksetCapabilities.v1",taskKind:t?"single_agent":"chat",supportedSignals:F.demonstrations.length?["demonstration","reward"]:["reward"],compatibleMethods:e.batch.purpose==="supervised_training"?["sft"]:e.batch.purpose==="reward_training"?["grpo","ppo"]:["none"],rewardKinds:[...new Set(A.graders.map(v=>v.kind==="human"?"human":v.kind==="model_judge"?"model_judge":"deterministic"))],requiresTools:A.tools.length>0,requiresState:A.environment.stateful,requiresPrivilegedGrading:!0,environmentPlacements:["local","remote"],exportable:!0,portabilityBlockers:[]},tasks:n.tasks.map(v=>({...v,schemaVersion:"openpond.taskData.v1",sourceRefs:[a],metadata:{admission:r.admissions.find(c=>c.taskId===v.id),exampleOrigin:e.evidence.find(c=>c.id===v.id)?.correctionFeedbackId?"corrected":"extracted"}})),graders:f,graderFixtures:i,learningSignals:F,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:p("openpond-learning-batch-v1"),promptTemplateVersion:"learning-batch-v1",buildIntent:e.batch.purpose==="supervised_training"?"demonstrations":"verifiable_reward",buildSpecification:null,evidenceHashes:e.batch.examples.map(v=>v.evidence.contentHash),tasksetSdkVersion:"learning-batch-v1",sourceCommit:null,repairHistory:[],createdAt:e.batch.sealedAt},readiness:null,contentHash:"00000000",createdAt:e.batch.sealedAt,updatedAt:e.batch.sealedAt,metadata:{learning:r,learningRelease:N(A),trainingMethod:e.batch.purpose==="supervised_training"?"sft":e.batch.purpose==="reward_training"?"grpo":"none",tasksetOutputContract:t?{mode:"artifacts",requiredOutputSource:"task.requiredOutputs"}:{mode:"structured_json",jsonSchema:e.definition.outputSchema,renderer:null}}});return{taskset:K0.parse({...B,contentHash:Nx(B)}),release:A,generatedFiles:o,tasksetAssetBytes:n.tasksetAssetBytes}}s(If,"materializeLearningBatchTaskset");function Gf(e){if(!e)return null;let A=e.training.status==="not_configured"?e.evaluation:e.training;return A.status!=="scored"?null:{passed:A.passed===!0,rewardEligible:e.training.status==="scored"}}s(Gf,"fixtureOutcome");function Bu(e){let A=[],r=0;for(let n of new Map(e.evidence.flatMap(F=>F.submission.assets.map(i=>[i.id,i]))).values()){let F=e.assetBytes?.get(n.id),i=e.assets?.find(o=>o.id===n.id),f=F?.byteLength??(i?new TextEncoder().encode(i.text).byteLength:0);if(r+=f,r>ix)throw new Error("Learning input assets exceed the training package limit.");F?A.push(new TextDecoder().decode(F)):i&&A.push(i.text)}let t=$f(JSON.stringify({tasks:e.evidence.map(n=>n.submission),targets:e.decisions.map(n=>n.approvedTarget),definition:e.definition,inputAssets:A}));if(t.secretStatus!=="passed"||t.piiStatus!=="passed")throw new Error(`Learning batch contains unresolved data findings (${t.findings.join(", ")}). Correct the source examples and seal a revised batch before training.`);let a=t8.parse({schemaVersion:"openpond.learningBatchDatasetSource.v1",kind:"learning_batch",id:`batch-source-${e.batch.contentHash.slice(0,40)}`,profileId:e.profileId,title:e.definition.name,sourceHash:e.batch.contentHash,occurredAt:e.batch.sealedAt,batch:N(e.batch),taskDefinition:e.batch.taskDefinition,admittedBy:e.batch.sealedBy,licensingStatus:"approved",secretScanStatus:t.secretStatus,piiScanStatus:t.piiStatus,metadata:{admission:e.admissionContext??"explicit_local_batch_review",privacyScanner:"openpond-evidence-v1",findings:t.findings}});return If({...e,source:a})}s(Bu,"prepareReviewedLearningBatch");async function cu(e){let A=structuredClone(e),{project:r,recipe:t,taskset:a,approval:n}=A,F=Mn.parse(A.manifest),i=On.parse(A.bundleManifest),{contentHash:f,...o}=F,{contentHash:B,...v}=i;if(p(o)!==f||p(v)!==B||F.resolvedBundleHash!==B||p(F.harnessRelease)!==p(i.harnessRelease)||p(F.datasetRelease)!==p(i.datasetRelease)||p(F.evidenceSets)!==p(i.evidenceSetRelease?[i.evidenceSetRelease]:[]))throw new Error("The managed training manifest or resolved bundle changed.");if(!r.hosted||r.hosted.syncedSourceRevision!==r.revision||r.hosted.portableProjectId!==r.id)throw new Error("Sync the exact Model Project revision before preparing managed training.");let c=r.trainingSetup.baseModel;if(!c||c.modelId!==F.model.source||c.revision!==F.model.revision||c.tokenizerRevision!==F.model.tokenizerRevision||c.chatTemplateHash!==F.model.chatTemplateHash)throw new Error("The synced Model Project base Model does not match the Run manifest.");if(t.method!=="grpo"||p(t)!==F.recipe.configHash||n.approvalHash!==F.approval.approvalHash||n.maximumSpendUsd!==F.approval.maximumSpendUsd)throw new Error("Managed training requires the exact approved GRPO recipe and spend ceiling.");let b=x.object({wallTimeMs:x.number().positive()}).parse(t.resourceLimits);A.idempotencyKey!==void 0&&x.string().trim().min(16).max(191).parse(A.idempotencyKey);let u=Pf(i,A.files),m=$e.parse(A.evaluationSource),h=u.find(P=>P.path===I8);if(!h||p(JSON.parse(Buffer.from(h.content,"base64").toString("utf8")))!==p(m))throw new Error("The evaluation source differs from the immutable training bundle.");let w=await lr(m),q={schemaVersion:"openpond.managedRlPortableSubmission.v1",sourceRunRef:`openpond:model-run:${F.id}`,name:`OpenPond Managed \xB7 ${r.id}`.slice(0,191),idempotencyKey:A.idempotencyKey??`openpond-managed:${f}`.slice(0,191),modelProject:{id:r.hosted.projectId,portableProjectId:r.hosted.portableProjectId},manifest:F,sourceTaskset:a,modelImprovementQualification:A.modelImprovementQualification??null,recipe:t,resolvedBundle:{manifest:i,files:u},validationTasks:m.tasks,validationAssets:m.assets},k={schemaVersion:"openpond.trainingInputArtifactUpload.v2",kind:"portable_training_bundle",idempotencyKey:`stage:${A.idempotencyKey??f}`,sourceManifest:{id:F.id,contentHash:f},payload:q},x0=await P8({...k,contentHash:await G8(k)}),_={schemaVersion:"openpond.trainingJobSubmission.v2",idempotencyKey:A.idempotencyKey??`openpond-training-v2:${f}`,name:`OpenPond Managed \xB7 ${r.id}`.slice(0,200),source:{modelProject:{id:r.hosted.projectId,portableProjectId:r.hosted.portableProjectId,revision:r.revision,contentHash:r.hosted.etag},harnessRunManifest:k.sourceManifest,harnessRelease:F.harnessRelease,taskset:a,tasksetRelease:{id:a.id,contentHash:a.contentHash},dataset:i.datasetRelease,evaluation:w,evidenceSets:i.evidenceSetRelease?[i.evidenceSetRelease]:[]},job:{kind:"policy_optimize",baseModel:c,recipe:t,rewardSource:A.rewardSource,resumeFrom:A.resumeFrom},requestedCapabilities:[{id:"managed_rl.policy.grpo",version:"1",required:!0},{id:`managed_rl.rollouts.${F.runtimeTarget.placement}`,version:"1",required:!0},...r.trainingSetup.managedGpuRequirement==="h100_hbm3"?[{id:"managed_rl.gpu.h100_hbm3",version:"1",required:!0}]:[]],placementObjective:r.trainingSetup.managedGpuPlacementObjective,budget:{maximumSpendUsd:n.maximumSpendUsd,maximumWallSeconds:Math.ceil(b.wallTimeMs/1e3)},approval:{...n,approvedAt:F.approval.approvedAt,exportApproved:!0}},$=await M8({..._,contentHash:await Q8(_)});return{artifact:x0,submission:$}}s(cu,"prepareManagedTrainingSubmission");function Pf(e,A){if(A.length!==e.files.length||new Set(A.map(t=>t.path)).size!==A.length)throw new Error("The managed bundle file inventory changed.");let r=new Map(A.map(t=>[t.path,t]));return e.files.map(t=>{let a=r.get(t.path);if(!a||a.path.includes("\\")||a.path.includes("\0")||a.path.split("/").some(F=>!F||F==="."||F==="..")||a.path==="bundle-manifest.json"||a.encoding!=="base64")throw new Error("The managed bundle contains an invalid file.");let n=Buffer.from(a.content,"base64");if(n.toString("base64")!==a.content||a.sha256!==t.sha256||a.sizeBytes!==t.sizeBytes||n.byteLength!==t.sizeBytes||a0(n)!==t.sha256)throw new Error(`Managed training bundle file ${a.path} changed before upload.`);return a})}s(Pf,"verifyFiles");var Qf=x.object({name:x.literal("adamw").default("adamw"),weightDecay:x.number().nonnegative().max(1).default(0),beta1:x.number().positive().lt(1).default(.9),beta2:x.number().positive().lt(1).default(.999),epsilon:x.number().positive().max(.01).default(1e-8)}).strict().default({name:"adamw",weightDecay:0,beta1:.9,beta2:.999,epsilon:1e-8});function Eu(e,A){if(!A||typeof A!="object"||Array.isArray(A))return A;let r=A;if(r.method==="dpo"){let q=F0(r.policyModel),k=F0(r.referenceModel),x0=F0(r.dataset),_=p({tasksetHash:e.contentHash,preferenceSignals:e.learningSignals.preferences.map($=>({id:$.id,artifactRef:$.artifactRef,prompt:$.prompt,chosen:$.chosen,rejected:$.rejected,approved:$.approved})),policyModel:q,referenceModel:k,dataset:x0});return{...r,referenceLogprobs:{cacheSchemaVersion:"openpond.dpoReferenceLogprobs.v1",cacheKey:p(["dpo-reference-logprobs",_]),invalidationHash:_}}}if(r.method==="ppo"){let q=F0(r.policyOptimization),k=F0(q.policyModel),x0=F0(q.referenceModel),_=F0(q.optimizer),$=F0(_.valueModel),P=F0(q.dataset),G=F0(q.reward),n0=p(k),S0=p(x0),B0=p($);return{...r,policyOptimization:{...q,dataset:{...P,tasksetId:e.id,tasksetHash:e.contentHash},reward:{...G,graderHash:p(e.graders)}},resume:{...F0(r.resume),policyHash:n0,referenceHash:S0,valueModelHash:B0}}}if(r.method!=="grpo")return A;let t=r.reward&&typeof r.reward=="object"&&!Array.isArray(r.reward)?r.reward:{},a=e.environment.metadata.toolContractHash,n=typeof a=="string"&&a.trim()?a:t.toolContractHash,F=F0(r.baseModel),i=F0(r.dataset),f=F0(r.rollout),o=F0(r.optimizer),B=F0(r.loss),v=F0(r.resourceLimits),c=g0(i.maxExamples,1),b=g0(f.groupSize,2),u=g0(f.maxOutputTokens,1),m=g0(i.maxPromptTokens,1),h=g0(o.maxSteps,1),w=g0(o.iterations,2);return{...r,resourceLimits:{...v,maxGpuSeconds:v.maxGpuSeconds??Math.min(10800,Math.ceil(g0(v.wallTimeMs,18e4)/1e3))},reward:{...t,graderHash:p(e.graders),toolContractHash:n},policyOptimization:{schemaVersion:"openpond.policyOptimization.v1",policyModel:F,referenceModel:F,dataset:{tasksetId:e.id,tasksetHash:e.contentHash,split:"train",selectionStrategy:i.selectionStrategy,selectionSeed:f.seed,maxExamples:c},sampler:{temperature:f.temperature,topP:f.topP,maxOutputTokens:u,maxTurns:f.maxTurns,concurrency:f.concurrency},environment:{id:t.environmentId,version:t.environmentVersion,toolContractHash:n},reward:{graderId:t.graderId,graderHash:p(e.graders),learnedPreference:t.learnedPreference??null},kl:{coefficient:B.klBeta??null,referenceConstraint:"fixed_reference"},budgets:{maxRollouts:g0(v.maxRollouts,c*b),maxEnvironmentExecutions:g0(v.maxRollouts,c*b),maxInputTokens:c*b*m,maxOutputTokens:c*b*u,maxOptimizerSteps:h*w,wallTimeMs:g0(v.wallTimeMs,18e4),maximumCostUsd:null},checkpointEverySteps:1,seed:f.seed,evaluationSplit:"frozen_eval",optimizer:{method:"grpo",groupSize:b,normalization:"group_standardized",advantageEpsilon:typeof o.advantageEpsilon=="number"?o.advantageEpsilon:1e-8,loss:B.method??"grpo",clipRange:typeof o.clipRange=="number"?o.clipRange:.2,iterations:w,microbatchSize:g0(o.microbatchSize,1),gradientAccumulationSteps:g0(o.gradientAccumulationSteps,1),adamw:Qf.parse(o.adamw)}}}}s(Eu,"withAuthoritativeRecipeHashes");function F0(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}s(F0,"record");function g0(e,A){return typeof e=="number"&&Number.isInteger(e)&&e>0?e:A}s(g0,"positiveInteger");function du(e){let A=e.sourceRelease,r=[],t=e.skills??[],a=e.agents??[];if([...t,...a].some(o=>o.visibility!=="policy"))throw new Error("The portable policy Harness requires policy-visible dependencies.");let n=Pn({id:"desktop-dependency-lock",path:".openpond/harness/dependency-lock.json",hashInput:{profileHead:e.profileHead??null,sourceRelease:A,tools:r,skills:t.map(({id:o,contentHash:B})=>({id:o,contentHash:B})),agents:a.map(({id:o,contentHash:B})=>({id:o,contentHash:B}))},mediaType:"application/json",visibility:"policy"}),F=St({schemaVersion:"openpond.agentSnapshot.v2",id:`agent-snapshot-${p([A,r,n.contentHash]).slice(0,24)}`,sourceRelease:A,instructions:[],skills:t,agents:a,toolDeclarations:r,capabilityRequirements:[],dependencyLock:n,portability:{portable:!0,blockers:[],localOnlyAssetRefs:[],hostPrivateAssetRefs:[]},metadata:{sourceReleaseId:A?.id??null}}),i=Pn({id:"desktop-harness-program",path:".openpond/harness/program.json",hashInput:{program:"openpond.desktop-agent-loop.v1"},mediaType:"application/json",visibility:"policy"}),f=Rt({schemaVersion:"openpond.harnessRelease.v2",id:`harness-${p([F.contentHash,i.contentHash,r]).slice(0,24)}`,agentSnapshot:{id:F.id,contentHash:F.contentHash},program:i,tools:r,lifecycle:{create:!0,reset:!0,step:!0,collect:!0,destroy:!0,resetScope:"attempt"},graderInterface:{visibleEvidence:["output","runtime_events","artifacts"],privilegedEvidence:["expected_output","private_verifier"],privateVerifierIsolation:!0},files:[...t,...a],metadata:{runtimeProtocol:"openpond.desktop-agent-loop.v1"}});return{agentSnapshot:F,harnessRelease:f}}s(du,"createPolicyHarnessContext");function Pn(e){let A=b0(e.hashInput);return{id:e.id,path:e.path,contentHash:p(e.hashInput),sizeBytes:new TextEncoder().encode(A).byteLength,mediaType:e.mediaType,visibility:e.visibility}}s(Pn,"asset");function bu(e){let{taskset:A,modelProject:r,harnessRelease:t,tasksetRelease:a}=e,n=r.trainingSetup,F=D.parse(t),i=D.parse(a);if(e.openpondRelease,e.workerProtocol,Nx(A)!==A.contentHash)throw new Error("Taskset authoring state changed after its release was selected.");if(!n.baseModel?.revision||!n.baseModel.tokenizerRevision||!n.baseModel.chatTemplateHash||!n.recipe||!n.tasksetRef||n.tasksetRef.id!==A.id||n.tasksetRef.contentHash!==A.contentHash)throw new Error("Model Run must bind an exact Taskset, Model revision, tokenizer, chat template, and Recipe.");let o=A.profileRelease??{id:`profile_${A.profileId}`,revision:A.revision,contentHash:p({profileId:A.profileId,sourceCommit:A.authoringProvenance.sourceCommit,skillHash:A.authoringProvenance.skillHash})},B=new Map;if(e.evaluationSource){let _=$e.parse(e.evaluationSource);if(p(_.taskset)!==p(n.evaluationTasksetRef))throw new Error("The evaluation source differs from the prepared Model configuration.");cr(A.tasks.filter($=>$.split==="train"),_.tasks),B.set(I8,new TextEncoder().encode(b0(_)))}else if(n.evaluationTasksetRef)throw new Error("The prepared Model requires its pinned evaluation source bytes.");let v=e.harnessSource?oe(e.harnessSource,F):null;if(n.harnessRelease&&!v)throw new Error("A selected Harness requires its complete immutable source package.");if(v&&(!n.harnessRelease||n.harnessRelease.id!==F.id||n.harnessRelease.contentHash!==F.contentHash))throw new Error("Harness source differs from the Model's explicit selection.");if(v){if((e.runtime.placement!=="local"||e.compute.kind!=="local")&&(!v.agentSnapshot.portability.portable||v.harnessRelease.files.some($=>$.visibility==="host_private")))throw new Error("The selected Harness contains source that cannot leave its local host.");Bx(B,"harness/source-package.json",v)}Bx(B,"harness/execution.json",yt.parse({schemaVersion:"openpond.harnessSourceSelection.v1",mode:v?"selected_release":"taskset_owned",harnessRelease:F,sourcePackageHash:v?.contentHash??null}));let c=mr(A,e.rewardExecution);if(c){let _=e.verifierAssets??[],$=p0(c.binding,c.rewards).flatMap(G=>G.kind==="custom_verifier"?[G.verifierRef]:G.kind==="model_judge"?[G.rubricRef]:[]),P=new Set($.map(G=>G.id));if(new Set(_.map(G=>G.id)).size!==_.length||_.some(G=>!P.has(G.id)))throw new Error("Unexpected or duplicate private verifier asset.");for(let G of $){let n0=_.find(S0=>S0.id===G.id);if(!n0||G.visibility!=="verifier")throw new Error("Training bundle requires its private verifier asset.");Y(n0,G)}Bx(B,"reward-binding.json",{kind:"reward_binding_v1",binding:c.binding,rewards:c.rewards,assets:_})}else if(e.verifierAssets?.length)throw new Error("Private verifier assets require a published Reward binding.");Bx(B,"environment.json",{schemaVersion:"openpond.harnessEnvironment.v1",environment:A.environment,capabilities:A.capabilities,policy:A.policy,outputContract:A.metadata.tasksetOutputContract?.mode==="text"?null:A.metadata.tasksetOutputContract??null}),Bx(B,"graders.json",{schemaVersion:"openpond.harnessGraders.v1",graders:A.graders,fixtures:A.graderFixtures}),Bx(B,"tool-contract.json",{schemaVersion:"openpond.harnessToolContract.v1",toolNames:A.environment.toolNames,actionBindings:A.environment.actionBindings??[],capabilities:A.capabilities,connectedAppScopes:A.policy.connectedAppScopes});let b=A.tasks.filter(_=>_.split==="train");if(b.length>0)Bx(B,"dataset/train.json",{schemaVersion:"openpond.datasetSplit.v1",split:"train",tasks:b}),Mf({assets:B,tasks:b,tasksetAssetBytes:e.tasksetAssetBytes??new Map});else if(A.datasetArtifact)Bx(B,"dataset/artifact.json",A.datasetArtifact);else throw new Error("Taskset has no training dataset.");let u=Object.values(A.learningSignals).flat().filter(_=>_.approved);for(let _ of u){let $=Ln(_);B.set(`evidence/signals/${a0($)}.json`,$)}let m={id:`dataset_${A.id}_r${A.revision}`,contentHash:p({taskset:i,sourceRefs:A.sourceRefs,datasetArtifact:A.datasetArtifact??null,trainTasks:b})},h=u.length>0?{id:`evidence_${A.id}_r${A.revision}`,contentHash:p({taskset:i,harnessRelease:F,datasetRelease:m,profileRelease:o,signals:u})}:null,w=Nn.parse({schemaVersion:"openpond.resolvedTrainingBundle.v1",projection:"trainer",harnessRelease:F,datasetRelease:m,evidenceSetRelease:h,files:[...B.entries()].sort(([_],[$])=>_.localeCompare($)).map(([_,$])=>({path:_,sha256:a0($),sizeBytes:$.byteLength}))}),q=On.parse({...w,contentHash:p(w)}),k=Qn.parse({schemaVersion:"openpond.harnessRunManifest.v1",id:`manifest_${e.modelRunId}_${e.approval.approvalHash.slice(0,16)}`,harnessRelease:t,datasetRelease:m,evidenceSets:h?[h]:[],model:{source:n.baseModel.modelId,revision:n.baseModel.revision,artifactHash:null,tokenizerRevision:n.baseModel.tokenizerRevision,chatTemplateHash:n.baseModel.chatTemplateHash},recipe:{method:n.recipe.method,version:"openpond.trainingRecipe.v1",configHash:p(n.recipe)},runtimeTarget:e.runtime,computeTarget:e.compute,engine:e.engine,resolvedBundleHash:q.contentHash,secretLeaseRefs:e.secretLeaseRefs??[],approval:e.approval,createdAt:r.updatedAt});return{manifest:Mn.parse({...k,contentHash:p(k)}),resolvedBundleManifest:q,assets:B,profileRelease:o,harnessRelease:F,tasksetRelease:i,datasetRelease:m,evidenceSetRelease:h}}s(bu,"buildTasksetTrainingBundle");function Mf(e){let A=new Set;for(let r of e.tasks)for(let t of r.assets??[]){if(A.has(t.artifactRef))throw new Error(`Training asset path ${t.artifactRef} is shared by multiple tasks.`);A.add(t.artifactRef);let a=e.tasksetAssetBytes.get(t.artifactRef);if(!a)throw new Error(`Resolved Training Bundle is missing Work asset ${t.artifactRef}.`);if(a.byteLength!==t.sizeBytes||a0(a)!==t.sha256)throw new Error(`Resolved Training Bundle Work asset ${t.artifactRef} failed immutable verification.`);e.assets.set(t.artifactRef,a)}for(let r of e.tasksetAssetBytes.keys())if(!A.has(r))throw new Error(`Resolved Training Bundle received unexpected Work asset ${r}.`)}s(Mf,"addTasksetAssets");function Bx(e,A,r){e.set(A,Ln(r))}s(Bx,"addJsonAsset");function Ln(e){return Buffer.from(b0(e),"utf8")}s(Ln,"bytes");export{ul as a,Nf as b,Of as c,tA as d,as as e,Lf as f,Vf as g,Jf as h,Fs as i,Je as j,Wr as k,Yr as l,Uf as m,Ue as n,Kf as o,oA as p,vA as q,Ke as r,Yf as s,Qs as t,x7 as u,e7 as v,A7 as w,nt as x,r7 as y,t7 as z,j as A,d0 as B,a0 as C,p as D,ze as E,$x as F,EA as G,Hx as H,zs as I,o7 as J,v7 as K,L0 as L,vt as M,bA as N,Ai as O,m7 as P,u7 as Q,ai as R,ne as S,R7 as T,Fi as U,w7 as V,uA as W,$c as X,Vt as Y,Hc as Z,ax as _,ce as $,_o as aa,To as ba,$o as ca,Ho as da,Io as ea,Yt as fa,Go as ga,Po as ha,Aa as ia,aa as ja,Be as ka,sa as la,i8 as ma,o8 as na,Ee as oa,va as pa,f8 as qa,m0 as ra,Ea as sa,l8 as ta,ua,ja as va,Ko as wa,pa as xa,Ca as ya,ha as za,ka as Aa,K0 as Ba,Sa as Ca,HA as Da,Nx as Ea,tB as Fa,zA as Ga,aB as Ha,uF as Ia,sx as Ja,pF as Ka,d8 as La,IA as Ma,px as Na,f0 as Oa,o0 as Pa,z0 as Qa,QA as Ra,MA as Sa,Ox as Ta,Na as Ua,NA as Va,La as Wa,ov as Xa,be as Ya,vv as Za,ux as _a,OA as $a,Bv as ab,me as bb,LA as cb,cv as db,je as eb,Dx as fb,pe as gb,D8 as hb,Ml as ib,h8 as jb,Nl as kb,Ol as lb,Ll as mb,Vl as nb,eF as ob,tF as pb,sF as qb,BF as rb,xE as sb,eE as tb,qv as ub,ZA as vb,_v as wb,AE as xb,Tv as yb,rE as zb,tE as Ab,Wv as Bb,iE as Cb,Yv as Db,dE as Eb,Ux as Fb,uB as Gb,xd as Hb,$F as Ib,IF as Jb,er as Kb,GF as Lb,Ar as Mb,Re as Nb,hd as Ob,Id as Pb,we as Qb,Gd as Rb,rr as Sb,hB as Tb,Pd as Ub,tr as Vb,Od as Wb,SB as Xb,OF as Yb,zd as Zb,RB as _b,ar as $b,wB as ac,ix as bc,$8 as cc,qB as dc,eb as ec,_B as fc,TB as gc,UF as hc,HB as ic,qe as jc,sb as kc,Bb as lc,MB as mc,NB as nc,XF as oc,y0 as pc,hb as qc,u0 as rc,UB as sc,KB as tc,ZB as uc,or as vc,rn as wc,YB as xc,xf as yc,ef as zc,Af as Ac,rf as Bc,H8 as Cc,vr as Dc,ln as Ec,cf as Fc,I8 as Gc,$e as Hc,cr as Ic,lr as Jc,G8 as Kc,Q8 as Lc,M8 as Mc,wn as Nc,df as Oc,dr as Pc,bf as Qc,Sm as Rc,Cf as Sc,Rm as Tc,wm as Uc,ym as Vc,qm as Wc,Om as Xc,Lm as Yc,Vm as Zc,Df as _c,Zm as $c,Gn as ad,O8 as bd,yf as cd,qf as dd,_f as ed,Mn as fd,On as gd,$f as hd,Bu as id,cu as jd,Qf as kd,Eu as ld,du as md,bu as nd};
2199
+ `:""}s(af,"jsonLines");var sr=64*1024*1024,tn=x.string().regex(/^[a-f0-9]{64}$/),an=x.object({path:sx,contentHash:tn,sizeBytes:x.number().int().nonnegative().max(sr),base64:x.string().max(sr)}).strict(),Ff=x.object({schemaVersion:x.literal("openpond.tasksetDraftWorkspace.v1"),draft:u0,files:x.array(an).max(1e4)}).strict(),nf=Ff.extend({contentHash:tn}).strict();var sn=x.object({schemaVersion:x.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:D,sourcePackageHash:x.string().regex(/^[a-f0-9]{64}$/),sizeBytes:x.number().int().positive().max(jx)}).strict();function sf(e){let A=s(r=>{let t=D.parse(r);return`/v1/training/harness-sources/${encodeURIComponent(t.id)}/${t.contentHash}`},"route");return{async publishHarnessSource(r){H0(r,jx,"Training Harness source");let t=oe(r),a=t.agentSnapshot.portability;if(!a.portable||a.blockers.length||a.localOnlyAssetRefs.length||a.hostPrivateAssetRefs.length||t.harnessRelease.files.some(F=>F.visibility!=="policy"))throw new Error("Hosted training Harness publication requires portable, policy-visible source.");let n=sn.parse(await e(A({id:t.harnessRelease.id,contentHash:t.harnessRelease.contentHash}),{method:"PUT",body:JSON.stringify(t)}));if(n.harnessRelease.id!==t.harnessRelease.id||n.harnessRelease.contentHash!==t.harnessRelease.contentHash||n.sourcePackageHash!==t.contentHash)throw new Error("Published Harness source differs from the selected immutable package.");return n},async getHarnessSource(r){let t=await e(A(r),void 0,jx);return H0(t,jx,"Training Harness source"),oe(t,r)}}}s(sf,"createTrainingHarnessSourceClient");var vx=x.string().trim().min(1).max(500),of=x.string().regex(/^[a-f0-9]{64}$/),H8=x.object({schemaVersion:x.literal("openpond.trainingCandidateDecisionRequest.v1"),teamId:vx,jobId:vx,artifact:I,evaluation:I,executionReceipt:I,decision:x.enum(["accepted","rejected"]),reason:x.string().trim().min(1).max(5e3),idempotencyKey:vx,expectedDecision:I.nullable()}).strict(),on=x.object({schemaVersion:x.literal("openpond.trainingCandidateDecision.v1"),id:vx,request:H8,revision:x.number().int().positive(),actor:x.object({userId:vx,kind:x.enum(["user","api_key","agent_delegate"]),id:vx}).strict(),decidedAt:x.string().datetime({offset:!0}),contentHash:of}).strict().superRefine((e,A)=>{e.revision===1!=(e.request.expectedDecision===null)&&A.addIssue({code:"custom",path:["revision"],message:"A first decision has no predecessor; later decisions must reference the prior decision."}),e.request.expectedDecision?.id===e.id&&A.addIssue({code:"custom",path:["request","expectedDecision"],message:"A decision cannot supersede itself."})});async function vn(e){let{contentHash:A,...r}=e;return f0(r)}s(vn,"trainingCandidateDecisionHash");async function vr(e,A){H0(e,32768,"Training candidate decision");let r=on.parse(e);if(r.contentHash!==await vn(r))throw new K("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 K("candidate_decision_identity_mismatch","Training candidate decision belongs to a different team, Job or artifact.");if(A.request&&await f0(r.request)!==await f0(H8.parse(A.request)))throw new K("candidate_decision_request_mismatch","Training candidate decision does not match the submitted review.");return r}s(vr,"parseAndVerifyTrainingCandidateDecision");function vf(e){function A(r){return`/v1/training/jobs/${encodeURIComponent(vx.parse(r.jobId))}/candidates/${encodeURIComponent(I.parse(r.artifact).id)}/decision`}return s(A,"route"),{async candidateDecision(r,t={}){vx.parse(r.teamId);let a=t.decision?I.parse(t.decision):void 0,n=a?`?decisionId=${encodeURIComponent(a.id)}`:"",F=x.object({decision:x.unknown().nullable()}).strict().parse(await e(`${A(r)}${n}`));if(F.decision===null&&!a)return null;let i=await vr(F.decision,r);if(a&&(i.id!==a.id||i.contentHash!==a.contentHash))throw new K("candidate_decision_identity_mismatch","Training candidate decision does not match the requested history entry.");return i},async recordCandidateDecision(r){let t=H8.parse(r),a=await e(A(t),{method:"POST",body:JSON.stringify(t)});return vr(a,{...t,request:t})}}}s(vf,"createTrainingCandidateDecisionClient");var Yx=x.string().trim().min(1).max(500),Te=x.string().regex(/^[a-f0-9]{64}$/),Bn=x.object({taskId:Yx,taskSha256:Te,resultSha256:Te,input:x.object({instruction:x.string().max(1e6),context:x.record(x.string(),x.unknown())}).strict(),output:x.string().max(1e6),outputSha256:Te,score:x.number().finite().min(0).max(1),evidence:x.object({kind:x.enum(["worker_command","hosted_trace","local_trace"]),id:Yx}).strict()}).strict(),fn=x.object({schemaVersion:x.literal("openpond.trainingEvaluationTaskPage.v1"),jobId:Yx,teamId:Yx,evaluation:I,kind:x.enum(["baseline","candidate"]),policyVersion:x.number().int().nonnegative(),taskset:o0,panelSha256:Te,offset:x.number().int().nonnegative(),total:x.number().int().min(1).max(1e4),tasks:x.array(Bn).min(1).max(100),nextCursor:x.string().regex(/^[1-9]\d*$/).nullable(),contentHash:Te}).strict().superRefine((e,A)=>{let r=e.offset+e.tasks.length,t=r<e.total?String(r):null;(r>e.total||e.nextCursor!==t)&&A.addIssue({code:"custom",path:["nextCursor"],message:"Evaluation pagination must cover consecutive task positions."}),new Set(e.tasks.map(a=>a.taskId)).size!==e.tasks.length&&A.addIssue({code:"custom",path:["tasks"],message:"Evaluation task identities must be unique."})});async function cn(e){let{contentHash:A,...r}=e;return f0(r)}s(cn,"trainingEvaluationTaskPageHash");async function ln(e,A){H0(e,m8,"Training evaluation task page");let r=fn.parse(e),t=I.parse(A.evaluation);if(r.jobId!==Yx.parse(A.jobId)||r.evaluation.id!==t.id||r.evaluation.contentHash!==t.contentHash||r.offset!==(A.offset??0)||A.teamId!==void 0&&r.teamId!==Yx.parse(A.teamId))throw new K("evaluation_page_identity_mismatch","Evaluation results differ from the requested Job, evaluation, or page.");if(await cn(r)!==r.contentHash)throw new K("evaluation_page_hash_mismatch","Evaluation task page content hash did not match.");for(let a of r.tasks)if(await f0(a.output)!==a.outputSha256)throw new K("evaluation_output_hash_mismatch","A retained evaluation output hash did not match.");return r}s(ln,"parseAndVerifyTrainingEvaluationTaskPage");var Bf=x.array(x.object({id:x.string().trim().min(1)}).catchall(x.unknown())).min(1).max(1e3),ff=x.object({binding:bx,rewards:x.array(dx).min(1).max(100)}).strict();async function cf(e){let A=e.rewardExecution?ff.parse(e.rewardExecution):null,r=Bf.parse(A?p0(A.binding,A.rewards):e.graders);if(new Set(r.map(a=>a.id)).size!==r.length)throw new Error("Training grader identities must be unique.");let t=await f0({schemaVersion:"openpond.trainingGraderSet.v1",graders:r});return{kind:"deterministic",grader:{id:`training-graders-${t.slice(0,32)}`,contentHash:t},composer:A?{id:A.binding.id,contentHash:A.binding.contentHash}:null}}s(cf,"deterministicTrainingRewardSource");var I8="evaluation-source.json",Br=x.object({id:x.string().trim().min(1),clusterKey:x.string().trim().min(1),split:x.enum(["train","validation","frozen_eval"])}).passthrough(),$e=x.object({schemaVersion:x.literal("openpond.trainingEvaluationSource.v1"),taskset:o0,tasks:x.array(Br).min(1).max(1e4),assets:x.array(x.object({path:x.string().trim().min(1).max(2e3),sha256:x.string().regex(/^[a-f0-9]{64}$/),sizeBytes:x.number().int().nonnegative(),encoding:x.literal("base64"),content:x.string().max(32*1024*1024)}).strict()).max(1e4)}).strict().superRefine((e,A)=>{let r=new Set;e.tasks.forEach((t,a)=>{t.split==="train"&&A.addIssue({code:"custom",path:["tasks",a,"split"],message:"Evaluation sources require held-out tasks."}),r.has(t.id)&&A.addIssue({code:"custom",path:["tasks",a,"id"],message:"Evaluation task identities must be unique."}),r.add(t.id)})});function cr(e,A){let r=x.array(Br).min(1).max(1e4).parse(e),t=x.array(Br).min(1).max(1e4).parse(A),a=new Set,n=new Set;for(let i of r){if(i.split!=="train")throw new Error("The training population contains a held-out task.");if(a.has(i.id))throw new Error("Training task identities must be unique.");a.add(i.id),n.add(i.clusterKey)}let F=new Set;for(let i of t){if(i.split==="train")throw new Error("The evaluation population contains a training task.");if(F.has(i.id))throw new Error("Evaluation task identities must be unique.");if(a.has(i.id)||n.has(i.clusterKey))throw new Error("Training and evaluation tasks or families overlap.");F.add(i.id)}}s(cr,"assertTrainingEvaluationIsolation");async function lr(e){let A=$e.parse(e),r=await f0(A);return{taskset:A.taskset,dataset:{id:`training-evaluation-${r.slice(0,32)}`,contentHash:r}}}s(lr,"trainingEvaluationSourceRef");var J=x.string().trim().min(1).max(500),c0=x.string().regex(/^[a-f0-9]{64}$/),q0=x.string().datetime({offset:!0}),En=x.object({schemaVersion:x.literal("openpond.trainingInputArtifactUpload.v2"),kind:x.enum(["portable_training_bundle","reward_model_dataset"]),idempotencyKey:x.string().trim().min(1).max(500),sourceManifest:I,payload:x.unknown(),contentHash:c0}).strict(),dn=x.object({schemaVersion:x.literal("openpond.trainingInputArtifact.v2"),kind:x.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:I,artifactRef:x.string().trim().min(1).max(2e3),contentHash:c0,sizeBytes:x.number().int().positive(),createdAt:q0}).strict();async function G8(e){let{contentHash:A,...r}=e;return f0(r)}s(G8,"trainingInputArtifactUploadHash");async function P8(e){H0(e,jx,"Training input artifact");let A=En.parse(e),r=await G8(A);if(A.contentHash!==r)throw new K("content_hash_mismatch",`Training input artifact contentHash ${A.contentHash} does not match ${r}.`);return A}s(P8,"parseAndVerifyTrainingInputArtifactUpload");var Er=x.enum(["reward_model_train","policy_optimize"]),bn=x.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),mn=x.object({id:J,version:x.string().trim().min(1).max(200).nullable().default(null),required:x.boolean().default(!0)}).strict(),un=x.object({modelProject:x.object({id:J,portableProjectId:J,revision:x.number().int().positive(),contentHash:c0}).strict(),harnessRunManifest:I,harnessRelease:I,taskset:o0,tasksetRelease:I,evaluation:x.object({taskset:o0,dataset:I}).strict().nullable().optional(),dataset:I,evidenceSets:x.array(I).max(1e4)}).strict(),jn=x.object({kind:x.literal("reward_model_train"),baseModel:z0,preferenceDatasetRelease:I,processorRelease:I,recipe:x.object({schemaVersion:x.literal("openpond.rewardModelRecipe.v1"),method:x.literal("reward_model"),parameterization:x.literal("lora_with_scalar_head")}).catchall(x.unknown())}).strict(),lf=x.object({kind:x.literal("deterministic"),grader:I,composer:I.nullable().default(null)}).strict(),Ef=x.object({kind:x.literal("learned_reward"),rewardModelVersion:I,qualificationReport:I.nullable().default(null),evaluationReferences:x.array(I).max(1e3).default([]),scorerArtifact:x.object({artifactRef:x.string().trim().min(1).max(2e3),contentHash:c0,executionReceipt:I}).strict(),processorRelease:I,rewardComposerRelease:I}).strict(),pn=x.object({kind:x.literal("policy_optimize"),baseModel:z0,recipe:j8,rewardSource:x.discriminatedUnion("kind",[lf,Ef]),resumeFrom:I.nullable().default(null)}).strict(),Cn=x.discriminatedUnion("kind",[jn,pn]),Dn=x.object({approvalHash:c0,approvedAt:q0,exportApproved:x.boolean(),maximumSpendUsd:x.number().nonnegative(),retentionDays:x.number().int().nonnegative().nullable(),region:x.string().trim().min(1).max(200).nullable().default(null)}).strict(),hn=x.object({schemaVersion:x.literal("openpond.trainingJobSubmission.v2"),idempotencyKey:x.string().trim().min(1).max(500),name:x.string().trim().min(1).max(200),source:un,job:Cn,requestedCapabilities:x.array(mn).max(1e3),placementObjective:x.enum(["fast","balanced","economical"]),budget:x.object({maximumSpendUsd:x.number().nonnegative(),maximumWallSeconds:x.number().int().positive()}).strict(),approval:Dn,contentHash:c0}).strict().superRefine((e,A)=>{e.approval.maximumSpendUsd!==e.budget.maximumSpendUsd&&A.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});async function Q8(e){let{contentHash:A,...r}=e;return f0(r)}s(Q8,"trainingJobSubmissionHash");async function M8(e){H0(e,PA,"Training Job submission");let A=hn.parse(e),r=await Q8(A);if(A.contentHash!==r)throw new K("content_hash_mismatch",`Training Job contentHash ${A.contentHash} does not match ${r}.`);return A}s(M8,"parseAndVerifyTrainingJobSubmission");var Wx=x.object({schemaVersion:x.literal("openpond.trainingJob.v2"),id:J,teamId:J,kind:Er,modelProjectId:J,portableProjectId:J,sourceProjectRevision:x.number().int().positive(),submissionHash:c0,state:bn,phase:x.string().trim().min(1).max(200),version:x.number().int().nonnegative(),progress:x.number().min(0).max(1),rolloutProgress:x.object({groupsCompleted:x.number().int().nonnegative(),groupsTarget:x.number().int().nonnegative(),optimizerUpdatesApplied:x.number().int().nonnegative(),optimizerUpdatesSkipped:x.number().int().nonnegative()}).strict(),accruedSpendUsd:x.number().nonnegative(),terminalReason:x.string().trim().min(1).max(5e3).nullable(),createdAt:q0,updatedAt:q0,completedAt:q0.nullable()}).strict(),kn=x.object({schemaVersion:x.literal("openpond.trainingJobPage.v2"),jobs:x.array(Wx).max(1e3),nextCursor:x.string().trim().min(1).max(2e3).nullable()}).strict(),gn=x.object({schemaVersion:x.literal("openpond.trainingJobEvent.v2"),id:J,jobId:J,sequence:x.number().int().nonnegative(),type:J,phase:x.string().trim().min(1).max(200),message:x.string().trim().min(1).max(5e3).nullable(),data:x.record(x.string(),x.unknown()).default({}),createdAt:q0}).strict(),Sn=x.object({schemaVersion:x.literal("openpond.trainingJobLog.v2"),jobId:J,sequence:x.number().int().nonnegative(),level:x.enum(["debug","info","warning","error"]),message:x.string().max(2e4),createdAt:q0}).strict(),fr=x.object({expectedVersion:x.number().int().nonnegative()}).strict(),Rn=x.object({schemaVersion:x.literal("openpond.trainingJobOutput.v2"),id:J,jobId:J,kind:x.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:x.string().trim().min(1).max(2e3),contentHash:c0,sizeBytes:x.number().int().nonnegative(),metadata:x.record(x.string(),x.unknown()).default({}),createdAt:q0}).strict(),N8=x.object({schemaVersion:x.literal("openpond.trainingExecutionReceipt.v2"),id:J,teamId:J,jobId:J,submissionHash:c0,manifestHash:c0,recipeHash:c0,capabilityHash:c0,runtimeRelease:I,inputs:x.array(I).max(1e4),outputs:x.array(I).max(1e4),spendUsd:x.number().nonnegative(),durationSeconds:x.number().nonnegative(),cleanupComplete:x.boolean(),issuer:J,issuedAt:q0,signature:x.string().trim().min(1).max(1e4).nullable()}).strict();async function wn(e){return f0(N8.parse(e))}s(wn,"trainingExecutionReceiptHash");async function df(e,A){let r=N8.parse(e),t=J.parse(A.id),a=c0.parse(A.contentHash),n=await wn(r);if(r.id!==t||n!==a)throw new K("execution_receipt_mismatch","The execution receipt identity or canonical content hash did not match.");if(A.teamId!==void 0&&r.teamId!==J.parse(A.teamId))throw new K("execution_receipt_team_mismatch","The execution receipt belongs to a different team.");if(A.jobId!==void 0&&r.jobId!==J.parse(A.jobId))throw new K("execution_receipt_job_mismatch","The execution receipt belongs to a different Training Job.");if((A.requireCleanup??!0)&&!r.cleanupComplete)throw new K("execution_cleanup_incomplete","The execution receipt does not attest complete terminal cleanup.");return r}s(df,"parseAndVerifyTrainingExecutionReceipt");var yn=x.object({schemaVersion:x.literal("openpond.trainingJobOutputs.v2"),outputs:x.array(Rn).max(1e4),receipt:N8.nullable()}).strict(),qn=x.object({schemaVersion:x.literal("openpond.trainingApiError.v2"),code:x.string().trim().min(1).max(200),message:x.string().trim().min(1).max(5e3),retryable:x.boolean().default(!1),requestId:x.string().trim().min(1).max(500).nullable().default(null),details:x.record(x.string(),x.unknown()).default({})}).strict(),dr=class extends Error{static{s(this,"OpenPondTrainingApiError")}status;code;retryable;requestId;details;constructor(e,A){super(A.message),this.name="OpenPondTrainingApiError",this.status=e,this.code=A.code,this.retryable=A.retryable,this.requestId=A.requestId,this.details=A.details}},_n=x.object({schemaVersion:x.literal("openpond.trainingCapabilities.v2"),capabilityHash:c0,jobKinds:x.array(Er),methods:x.array(x.string().trim().min(1).max(200)),placements:x.array(x.enum(["local","remote","colocated","provider_native"])),controls:x.object({cancel:x.boolean(),stopAfterGroup:x.boolean(),resumeFromCheckpoint:x.boolean()}).strict(),limits:x.object({maximumSpendUsd:x.number().nonnegative(),maximumWallSeconds:x.number().int().positive(),maximumArtifactBytes:x.number().int().positive()}).strict(),checkedAt:q0,expiresAt:q0}).strict();function Fn(e){let A={};return new Headers(e).forEach((r,t)=>{A[t]=r}),A}s(Fn,"headersRecord");function bf(e){let A=e.fetch??fetch,r=e.baseUrl.replace(/\/$/,"");async function t(a,n,F=m8){let f=n?.method===void 0||n.method.toUpperCase()==="GET"?3:1;for(let o=1;o<=f;o+=1){let B;try{let b=typeof e.headers=="function"?await e.headers():e.headers??{};B=await A(`${r}${a}`,{...n,headers:{accept:b8,...n?.body?{"content-type":b8}:{},...Fn(b),...Fn(n?.headers)}})}catch(b){if(o===f||n?.signal?.aborted||!nn(null,b))throw b;await new Promise(u=>setTimeout(u,250*2**(o-1)));continue}let v=u8(await B.text(),F,"Training API response");if(B.ok)return v;let c=mf(v,B.status);if(o===f||!nn(B.status,c))throw c;await new Promise(b=>setTimeout(b,250*2**(o-1)))}throw new K("training_read_retry_exhausted","Training read retry loop exhausted without a response.")}return s(t,"request"),{...sf(t),...vf(t),async capabilities(){return _n.parse(ox(await t("/v1/training/capabilities"),"capabilities"))},async stageArtifact(a){let n=await P8(a);return dn.parse(ox(await t("/v1/training/artifacts",{method:"POST",body:JSON.stringify(n)}),"artifact"))},async createJob(a){let n=await M8(a);return Wx.parse(ox(await t("/v1/training/jobs",{method:"POST",body:JSON.stringify(n)}),"job"))},async listJobs(a={}){let n=new URLSearchParams;a.modelProjectId&&n.set("modelProjectId",J.parse(a.modelProjectId)),a.cursor&&n.set("cursor",x.string().trim().min(1).max(2e3).parse(a.cursor)),a.limit!==void 0&&n.set("limit",String(x.number().int().min(1).max(1e3).parse(a.limit)));let F=n.size>0?`?${n.toString()}`:"";return kn.parse(await t(`/v1/training/jobs${F}`))},async getJob(a){return Wx.parse(ox(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}`),"job"))},async cancelJob(a,n){let F=fr.parse({expectedVersion:n});return Wx.parse(ox(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}/cancel`,{method:"POST",body:JSON.stringify(F)}),"job"))},async stopAfterGroup(a,n){let F=fr.parse({expectedVersion:n});return Wx.parse(ox(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}/stop-after-group`,{method:"POST",body:JSON.stringify(F)}),"job"))},async events(a){return x.array(gn).parse(ox(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}/events`),"events"))},async outputs(a){return yn.parse(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}/outputs`))},async evaluationTasks(a,n,F={}){let i=J.parse(a),f=I.parse(n),o=new URLSearchParams,B=F.cursor===void 0?void 0:x.string().regex(/^[1-9]\d*$/).parse(F.cursor),v=B===void 0?0:x.number().int().min(1).max(9999).parse(Number(B));B!==void 0&&o.set("cursor",B),F.limit!==void 0&&o.set("limit",String(x.number().int().min(1).max(100).parse(F.limit)));let c=o.size?`?${o.toString()}`:"";return ln(await t(`/v1/training/jobs/${encodeURIComponent(i)}/evaluations/${encodeURIComponent(f.id)}/tasks${c}`),{jobId:i,evaluation:f,offset:v})},async logs(a){return x.array(Sn).max(1e5).parse(ox(await t(`/v1/training/jobs/${encodeURIComponent(J.parse(a))}/logs`),"logs"))}}}s(bf,"createTrainingClient");function nn(e,A){return e!==null?e===408||e===429||e>=500:A instanceof dr?A.retryable:A instanceof K?A.code==="invalid_error_response":A instanceof TypeError}s(nn,"trainingReadFailureIsRetryable");function ox(e,A){return!e||typeof e!="object"||Array.isArray(e)?e:A in e?e[A]:e}s(ox,"unwrapObject");function mf(e,A){let r=qn.safeParse(e);return r.success?new dr(A,r.data):new K("invalid_error_response",`Training request failed with HTTP ${A} and an invalid error envelope.`)}s(mf,"trainingApiError");var Q0=u0.shape.id,_0=x.number().int().positive(),Sx=x.string().regex(/^[a-f0-9]{64}$/),Rx={teamId:Q0,modelId:Q0},fm=x.object({schemaVersion:x.literal("openpond.tasksetDraftCreate.v1"),operationId:Q0,modelId:Q0,expectedModelRevision:_0,name:u0.shape.name}).strict(),cm=x.object({schemaVersion:x.literal("openpond.tasksetDraftSourceDescriptor.v1"),...Rx,expectedModelRevision:_0,sourcePackageHash:Sx}).strict(),lm=x.object({schemaVersion:x.literal("openpond.tasksetDraftReadback.v1"),...Rx,draft:u0,workspaceHash:Sx,projectEtag:Sx}).strict().refine(e=>e.draft.profileId===e.teamId&&e.draft.modelScope?.modelId===e.modelId,"The hosted draft must belong to its declared workspace and Model."),uf=x.object({id:Q0,revision:_0,name:u0.shape.name,status:ir,updatedAt:u0.shape.updatedAt,sourceTasksetRef:O0.nullable()}).strict(),Em=x.object({schemaVersion:x.literal("openpond.tasksetDraftList.v1"),...Rx,drafts:x.array(uf).max(100),nextCursor:x.string().min(1).max(2e3).nullable()}).strict(),dm=x.object({expectedDraftRevision:_0,draft:u0}).strict(),bm=x.object({expectedDraftRevision:_0,expectedModelRevision:_0}).strict(),jf=x.object({expectedDraftRevision:_0,expectedWorkspaceHash:Sx}).strict(),mm=x.object({schemaVersion:x.literal("openpond.tasksetDraftValidation.v1"),...Rx,draftId:Q0,draftRevision:_0,workspaceHash:Sx,valid:x.boolean(),issues:x.array(x.object({code:x.string().min(1),severity:x.enum(["warning","error"]),message:x.string(),path:x.string().nullable()}).strict()),packageHash:Sx.nullable(),tasksetRef:O0.nullable()}).strict().refine(e=>e.valid?e.packageHash!==null&&e.tasksetRef!==null&&e.issues.every(A=>A.severity!=="error"):e.packageHash===null&&e.tasksetRef===null&&e.issues.some(A=>A.severity==="error"),"Validation must retain either a compiled package or publication errors."),um=jf.extend({operationId:Q0,expectedPackageHash:Sx,expectedTasksetRef:O0}).strict(),jm=x.object({schemaVersion:x.literal("openpond.tasksetDraftFileList.v1"),...Rx,draftId:Q0,draftRevision:_0,files:x.array(XA).max(10020)}).strict(),pm=x.object({schemaVersion:x.literal("openpond.tasksetDraftFileReadback.v1"),...Rx,draftId:Q0,draftRevision:_0,file:jF}).strict(),Cm=x.object({schemaVersion:x.literal("openpond.tasksetDraftDeletion.v1"),...Rx,draftId:Q0,revision:_0,deleted:x.literal(!0)}).strict(),hm=u0.shape.id,km=x.number().int().positive();var W0=x.string().trim().min(1).max(500),Sm=x.object({projectId:W0.optional(),tasksetId:W0.optional(),draftId:W0.optional(),taskId:W0.optional(),query:x.string().trim().max(1e3).default(""),split:x.enum(["train","validation","test","frozen_eval"]).optional(),after:x.string().min(1).max(2e3).optional(),limit:x.number().int().min(1).max(100).default(30)}).strict(),pf=x.object({id:W0,method:x.enum(["code","judge","human"]),required:x.boolean()}),Cf=x.object({tasksetId:W0,tasksetName:x.string(),tasksetRevision:x.number().int().positive(),tasksetHash:x.string(),taskId:W0,ordinal:x.number().int().nonnegative(),title:x.string(),description:x.string(),split:x.string(),scoring:x.array(pf),configuration:x.enum(["configured","needs_reward","needs_checks"]),draftId:W0.nullable().default(null),modelId:W0.nullable().default(null)}),Rm=x.object({items:x.array(Cf).max(100),nextCursor:x.string().nullable()});function wm(e,A){let r=[e.instruction,e.prompt,e.request,e.question,e.message].find(n=>typeof n=="string"&&n.trim().length>0),t=typeof e.title=="string"?e.title.trim():"",a=r?.trim()??"";return{title:(t||a||A).slice(0,180),description:a.slice(0,2e3)}}s(wm,"describeTaskInput");function ym(e){return e.map(A=>({id:A.id,method:A.kind==="model_judge"?"judge":A.kind==="human"?"human":"code",required:A.hardGate}))}s(ym,"summarizeTaskScoring");function qm(e){return e.some(A=>A.kind!=="human")?e.some(A=>A.kind==="model_judge"&&A.calibrationStatus!=="passed")?"needs_checks":"configured":"needs_reward"}s(qm,"taskConfiguration");function mr(e,A){let r=e.metadata.learning===void 0?null:eA.parse(e.metadata.learning),t=e.metadata.rewardExecution,a=A??(t?{binding:bx.parse(t.binding),rewards:dx.array().parse(t.rewards)}:r);if(e.metadata.rewardBinding!==void 0){let n=e.metadata.rewardBinding;if(!a||!n||n.id!==a.binding.id||n.revision!==a.binding.revision||n.contentHash!==a.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return a&&p0(a.binding,a.rewards),a?{binding:a.binding,rewards:a.rewards}:null}s(mr,"resolvePortableTasksetRewardExecution");function Om(e){let A=Hn(e.taskset),r=In(e.taskset),t=e.taskset.metadata.learning===void 0?null:eA.parse(e.taskset.metadata.learning),a=e.taskset.metadata.rewardExecution,n=mr(e.taskset,e.rewardExecution),F=n?p0(n.binding,n.rewards):e.taskset.graders.map(hf),i=e.selectedTasks?.length?e.selectedTasks:e.taskset.tasks;if(!i.length)throw new Error("A portable Taskset release requires at least one task.");let f=e.taskset.environment.metadata.portableExecutionResources;if(A.entrypoint==="openpond.javascript-environment.v1"&&!f)throw new Error("Tool Taskset publication requires its pinned execution resources.");let o=f?I0.parse(f.environment):D8({schemaVersion:"openpond.environmentRelease.v1",id:`environment-release-${e.taskset.id}-r${e.taskset.revision}`,revision:e.taskset.revision,contract:A,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{[e.adapterId]:p({adapterId:e.adapterId,environment:A,tools:r})},metadata:{sourceTasksetId:e.taskset.id,sourcePackageHash:e.taskset.metadata.sourcePackageHash??null,resources:e.taskset.environment.resources??[]}}),B=f?.verifierSet!==void 0?G0.parse(f.verifierSet):h8({schemaVersion:"openpond.verifierSetRelease.v1",id:`verifier-set-release-${e.taskset.id}-r${e.taskset.revision}`,revision:e.taskset.revision,graders:F,isolation:{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(e.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:{sourceTasksetId:e.taskset.id}});if(!Fx(o)||!nx(B)||p(o.contract)!==p(A)||p(B.graders)!==p(F))throw new Error("Taskset execution resources differ from its declared environment or graders.");let v=qx.parse({schemaVersion:"openpond.tasksetRelease.v2",id:e.taskset.metadata.derivedPortableMetadata===void 0?`taskset-release-${e.taskset.id}-r${e.taskset.revision}`:e.taskset.id,revision:e.taskset.revision,policy:{policyVisibleFields:e.taskset.policy.policyVisibleFields,privilegedFields:e.taskset.policy.privilegedFields,hiddenGraderRefs:e.taskset.policy.hiddenGraderRefs,connectedAppScopes:e.taskset.policy.connectedAppScopes},environment:A,tools:r,capabilities:kf(e.taskset),tasks:i.map(Df),graders:F,...e.taskset.metrics?{metrics:e.taskset.metrics}:{},metadata:e.taskset.metadata.derivedPortableMetadata??{sourceTasksetId:e.taskset.id,sourceTasksetHash:e.taskset.contentHash,sourcePackageHash:e.taskset.metadata.sourcePackageHash??null,environmentResources:e.taskset.environment.resources??[],ordinaryAuthoring:{instructions:e.taskset.objective,graderFixtures:e.taskset.graderFixtures,judgeCalibrationFixtures:Object.fromEntries(e.taskset.graders.filter(u=>u.kind==="model_judge").map(u=>[u.id,u.calibrationFixtureRefs]))},...t?{learning:t}:{},...n&&!t&&(e.rewardExecution||a)?{rewardExecution:{binding:n.binding,rewards:n.rewards}}:{}}}),c=e.admittedTasksetRelease?j0.parse(e.admittedTasksetRelease):j0.parse({...v,contentHash:p(v)}),b=c.environmentRelease?gf({draft:c,environmentRelease:o,verifierSetRelease:B}):Ya({taskset:c,environment:o,verifierSet:B});return{environmentRelease:o,verifierSetRelease:B,tasksetRelease:b}}s(Om,"materializePortableTasksetRelease");function Lm(e){return Hn(e)}s(Lm,"portableTasksetEnvironment");function Vm(e){return In(e)}s(Vm,"portableTasksetTools");function Df(e){let A=e.metadata.portableTaskRecord;if(A!==void 0){let r=Y8.parse(A),t=Y8.parse({...r,id:e.id,clusterKey:e.clusterKey,split:e.split,input:e.input,expectedOutput:Tn(e),policyVisibleContext:e.policyVisibleContext,privilegedContextRef:e.privilegedContextRef,tags:e.tags,artifactRefs:e.assets===void 0?r.artifactRefs:e.assets.map(a=>{let n=r.artifactRefs.find(F=>F.id===a.id);return{id:a.id,path:n?.path??`tasks/${xe(e.id)}/${xe(a.fileName)}`,contentHash:br(a.sha256),sizeBytes:a.sizeBytes,mediaType:a.mediaType,visibility:n?.visibility??"policy"}}),requiredOutputs:e.requiredOutputs===void 0?r.requiredOutputs:e.requiredOutputs.map(a=>{let n=r.requiredOutputs?.find(F=>F.path===a.path);return{path:a.path,mediaType:a.mediaType,schemaRef:n?.schemaRef&&n.schemaRef.id===a.schemaRef?n.schemaRef:null,maxBytes:a.maxBytes??null,metadata:{...a.metadata,...a.schemaRef&&n?.schemaRef?.id!==a.schemaRef?{legacySchemaRef:a.schemaRef}:{}}}})});return t.requiredOutputs===void 0&&delete t.requiredOutputs,t}return{id:e.id,clusterKey:e.clusterKey,split:e.split,input:e.input,expectedOutput:Tn(e),policyVisibleContext:e.policyVisibleContext,privilegedContextRef:e.privilegedContextRef,artifactRefs:(e.assets??[]).map(r=>({id:r.id,path:`tasks/${xe(e.id)}/${xe(r.fileName)}`,contentHash:br(r.sha256),sizeBytes:r.sizeBytes,mediaType:r.mediaType,visibility:"policy"})),requiredOutputs:(e.requiredOutputs??[]).map(r=>({path:r.path,mediaType:r.mediaType,schemaRef:null,maxBytes:r.maxBytes??null,metadata:{...r.metadata,legacySchemaRef:r.schemaRef??null}})),tags:e.tags}}s(Df,"projectPortableTaskRecord");function Tn(e){if(!e.expectedOutput)return null;if("artifactRenderer"in e.expectedOutput)throw new Error(`Task ${e.id} embeds an artifact renderer. Put shared renderer configuration in Environment resources and reference it from the Scenario.`);return e.expectedOutput}s(Tn,"portableExpectedOutput");function Hn(e){return{protocolVersion:"openpond.environment.v1",kind:e.environment.kind==="chat"?"text":e.environment.kind==="work"?"work":e.environment.kind==="program"?"custom_program":"agent",entrypoint:e.environment.entrypoint,stateful:e.environment.stateful,deterministicSeeds:e.environment.deterministicSeeds,lifecycle:["create","reset","step","collect","destroy"],networkPolicy:e.environment.networkPolicy,defaultTimeoutMs:e.environment.defaultTimeoutMs}}s(Hn,"portableEnvironment");function In(e){let A=e.environment.metadata.portableTools;if(A!==void 0)return Ye.array().max(200).parse(A);let r=e.environment.actionBindings??[];return r.length?r.map(t=>({name:t.modelToolName,description:t.description,inputSchema:t.inputSchema,inputSchemaHash:br(t.actionSchemaHash),sideEffect:t.sideEffect,timeoutMs:t.timeoutMs})):e.environment.toolNames.map(t=>({name:t,description:`Host-provided ${t} tool.`,inputSchema:{},inputSchemaHash:p({}),sideEffect:"write",timeoutMs:e.environment.defaultTimeoutMs}))}s(In,"portableTools");function hf(e){let A={id:e.id,version:e.version,weight:e.weight,hardGate:e.hardGate,rewardEligible:e.rewardEligible,privileged:e.privileged};if(e.kind==="model_judge")return{...A,kind:"model_judge",rubricRef:$n(e),model:Sf(e),temperature:e.temperature,calibrationStatus:e.calibrationStatus};if(e.kind==="custom_verifier"){if(e.metadata.portableVerifierRef===void 0)throw new Error(`Custom verifier ${e.id} requires its immutable executable asset before publication.`);let r=te.safeParse(e.metadata.portableGrader),t=r.success&&r.data.kind==="custom_verifier"&&r.data.exportName===void 0&&e.exportName==="verify";return{...A,kind:"custom_verifier",...e.runtime===void 0?{}:{runtime:e.runtime},verifierRef:d0.parse(e.metadata.portableVerifierRef),timeoutMs:e.timeoutMs,...t?{}:{exportName:e.exportName},networkPolicy:"none"}}return e.kind==="human"?{...A,kind:"human",rubricRef:$n(e),reviewerRole:e.reviewerRole}:{...A,...Tr(e)}}s(hf,"portableGrader");function kf(e){let A=e.metadata.portableCapabilities;return A!==void 0?CA.array().max(200).parse(A):[...e.capabilities.requiresTools?[{id:"tools",required:!0,scopes:e.environment.toolNames}]:[],...e.capabilities.requiresState?[{id:"local-state",required:!0,scopes:[]}]:[],...e.capabilities.requiresPrivilegedGrading?[{id:"private-verifier",required:!0,scopes:e.policy.hiddenGraderRefs}]:[],...e.policy.connectedAppScopes.map(r=>({id:`connected-app-${xe(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}s(kf,"portableCapabilities");function gf(e){if(e.draft.environmentRelease?.id!==e.environmentRelease.id||e.draft.environmentRelease.contentHash!==e.environmentRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Environment Release.");if(e.draft.verifierSetRelease?.id!==e.verifierSetRelease.id||e.draft.verifierSetRelease.contentHash!==e.verifierSetRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Verifier Set Release.");if(p(e.draft.environment)!==p(e.environmentRelease.contract))throw new Error("Admitted Taskset Environment differs from its bound Environment Release.");if(p(e.draft.graders)!==p(e.verifierSetRelease.graders))throw new Error("Admitted Taskset graders differ from its bound Verifier Set Release.");return e.draft}s(gf,"assertReleaseBindings");function Sf(e){let A=e.metadata.portableGrader===void 0?null:te.parse(e.metadata.portableGrader),r=A?.kind==="model_judge"&&A.model?.providerId===e.judge.providerId&&A.model.modelId===e.judge.modelId?A.model.revision:null;return{...e.judge,revision:r}}s(Sf,"modelJudgeRef");function $n(e){let A=a0(e.rubric),r=new TextEncoder().encode(e.rubric).byteLength,t=e.metadata.portableRubricRef;if(t!==void 0){let a=d0.parse(t);if(a.contentHash!==A||a.sizeBytes!==r||a.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return a}return{id:`rubric-${e.id}`,path:`graders/${xe(e.id)}/rubric.md`,contentHash:A,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}s($n,"rubricAsset");function br(e){return/^[a-f0-9]{64}$/.test(e)?e:p(e)}s(br,"hash");function xe(e){return e.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}s(xe,"segment");function Zm(e){let A=e.taskset.metadata.ordinaryAuthoring,r=x.record(x.string(),x.array(x.string().min(1)).max(1e5)).parse(A?.judgeCalibrationFixtures??{});return e.taskset.graders.map(t=>{let a={...t,label:t.id,metadata:{portableGrader:t}};if(t.kind==="custom_verifier")return m0.parse({...a,module:O8(t.verifierRef.contentHash),exportName:t.exportName??"verify",metadata:{...a.metadata,portableVerifierRef:t.verifierRef}});if(t.kind==="human"||t.kind==="model_judge"){let n=e.files.find(f=>f.asset.id===t.rubricRef.id);if(!n)throw new Error(`Imported rubric is missing: ${t.id}.`);let F=new TextDecoder("utf-8",{fatal:!0}).decode($8(n)),i={...a.metadata,portableRubricRef:t.rubricRef};if(t.kind==="human")return m0.parse({...a,rubric:F,metadata:i});if(!t.model)throw new Error(`Imported judge ${t.id} requires its declared model before local preparation.`);return m0.parse({...a,rubric:F,metadata:i,judge:t.model,temperature:t.temperature??0,calibrationStatus:"pending",calibrationFixtureRefs:r[t.id]??[]})}return m0.parse({...a,kind:t.kind==="artifact"?"file":t.kind,config:t.kind==="artifact"?{...t.config,...t.config.refIncludes===void 0?{}:{pathIncludes:t.config.refIncludes}}:t.config})})}s(Zm,"importedPackageGraders");function Gn(e,A,r=[]){let t=Pr(e,A);return p0(e,A).map(a=>{let n=t.find(({source:i})=>i.graderId===a.id).reward,F={...a,label:n.name,metadata:{rewardBinding:N(e)}};if(a.kind==="model_judge"){if(!a.model||a.calibrationStatus!=="passed"||!n.calibrationCheckRef||!n.fixtureSetRef)throw new Error(`Reward ${a.id} needs a retained passing calibration check before preparation.`);let i=r.find(B=>B.id===a.rubricRef.id),f=r.find(B=>B.id===n.fixtureSetRef.id);if(!i||!f)throw new Error(`Reward ${a.id} is missing its immutable rubric or calibration fixtures.`);let o=Vr.array().min(1).max(50).parse(JSON.parse(Y(f,n.fixtureSetRef)));return m0.parse({...F,rubric:Y(i,a.rubricRef),judge:a.model,temperature:a.temperature??0,calibrationFixtureRefs:o.map(B=>B.id),metadata:{...F.metadata,portableRubricRef:a.rubricRef,calibrationEvidenceHash:n.calibrationCheckRef.contentHash,calibrationCheckRef:n.calibrationCheckRef}})}if(a.kind==="custom_verifier")return m0.parse({...F,module:O8(a.verifierRef.contentHash),exportName:a.exportName??"verify",metadata:{...F.metadata,portableVerifierRef:a.verifierRef}});if(a.kind==="human"){let i=r.find(f=>f.id===a.rubricRef.id);if(!i)throw new Error(`Reward ${a.id} is missing its immutable rubric.`);return m0.parse({...F,rubric:Y(i,a.rubricRef)})}return m0.parse({...F,kind:a.kind==="artifact"?"file":a.kind})})}s(Gn,"projectLearningBatchGraders");function O8(e){return`graders/reward-${e}.js`}s(O8,"learningVerifierModule");var Rf=x.object({id:j,purpose:x.string().trim().min(1).max(500),audience:x.enum(["orchestrator","environment","privileged_scorer","trainer","infrastructure"]),required:x.boolean(),ttlSeconds:x.number().int().positive().max(86400),scopes:x.array(x.string().trim().min(1).max(500)).max(100).default([])}).strict(),wf=x.object({declarationId:j,leaseRef:x.string().trim().min(8).max(1e3),audience:Rf.shape.audience,expiresAt:H}).strict(),yf=x.object({adapterId:j,placement:x.enum(["local","remote","colocated","provider_native"]),capabilityReceipt:g,runtimeVersion:x.string().trim().min(1).max(200),dataPlane:x.object({provider:j,dataPlaneId:j,cellId:j,runnerPoolId:j,runtimeImageDigest:x.string().regex(/^sha256:[a-f0-9]{64}$/),capabilityReceipt:g}).strict().nullable()}).strict(),qf=x.object({adapterId:j,kind:x.enum(["local","ssh","managed","custom"]),deviceOrPool:x.string().trim().min(1).max(1e3),capabilityReceipt:g,provider:j.nullable()}).strict(),_f=x.object({adapterId:j,workerVersion:x.string().trim().min(1).max(200),workerImageDigest:x.string().regex(/^sha256:[a-f0-9]{64}$/).nullable(),upstreamRevision:x.string().trim().min(1).max(500),capabilityReceipt:g}).strict(),Qn=x.object({schemaVersion:x.literal("openpond.harnessRunManifest.v1"),id:j,harnessRelease:D,datasetRelease:D,evidenceSets:x.array(D).max(1e4),model:x.object({source:x.string().trim().min(1).max(200),revision:x.string().trim().min(1).max(500),artifactHash:g.nullable(),tokenizerRevision:x.string().trim().min(1).max(500),chatTemplateHash:g}).strict(),recipe:x.object({method:x.string().trim().min(1).max(100),version:x.string().trim().min(1).max(200),configHash:g}).strict(),runtimeTarget:yf,computeTarget:qf,engine:_f,resolvedBundleHash:g,secretLeaseRefs:x.array(wf).max(1e3),approval:x.object({approvalHash:g,approvedAt:H,maximumSpendUsd:x.number().nonnegative().nullable()}).strict(),createdAt:H}).strict(),Mn=Qn.extend({contentHash:g}).strict(),Nn=x.object({schemaVersion:x.literal("openpond.resolvedTrainingBundle.v1"),projection:x.literal("trainer"),harnessRelease:D,datasetRelease:D,evidenceSetRelease:D.nullable(),files:x.array(x.object({path:x.string().trim().min(1).max(2e3),sha256:g,sizeBytes:x.number().int().nonnegative()}).strict()).max(1e5)}).strict(),On=Nn.extend({contentHash:g}).strict(),Tf=[{label:"OpenAI-style API key",pattern:/\bsk-[A-Za-z0-9_-]{16,}\b/g},{label:"OpenPond API key",pattern:/\bopk_[A-Za-z0-9_-]{12,}\b/g},{label:"private key",pattern:/-----BEGIN (?:RSA |EC |OPENSSH )?PRIVATE KEY-----/g},{label:"credential assignment",pattern:/\b(?:api[_-]?key|password|secret|token)\s*[:=]\s*["']?[^\s"']{8,}/gi}],L8=/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi,V8=/\b(?:\+?1[-.\s]?)?\(?\d{3}\)?[-.\s]\d{3}[-.\s]\d{4}\b/g;function $f(e){let A=[],r=e;for(let n of Tf)n.pattern.lastIndex=0,n.pattern.test(r)&&A.push(n.label),n.pattern.lastIndex=0,r=r.replace(n.pattern,`[REDACTED ${n.label}]`);L8.lastIndex=0;let t=L8.test(r);L8.lastIndex=0,t&&A.push("email address"),r=r.replace(L8,"[REDACTED email]"),V8.lastIndex=0;let a=V8.test(r);return V8.lastIndex=0,a&&A.push("phone number"),r=r.replace(V8,"[REDACTED phone]"),{secretStatus:A.some(n=>!n.includes("email")&&!n.includes("phone"))?"blocked":"passed",piiStatus:t||a?"review":"passed",findings:A,redacted:r}}s($f,"scanAndRedactEvidence");function Hf(e){let A=new Map;return{tasks:e.tasks.map(({artifactRefs:t,...a})=>({...a,assets:t.map(n=>{if(n.visibility!=="policy")throw new Error("Learning task inputs must be policy-visible assets.");let F=e.assets?.find(o=>o.id===n.id),i=e.assetBytes?.get(n.id)??(F?new TextEncoder().encode(Y(F,n)):void 0);if(!i||i.byteLength!==n.sizeBytes||a0(i)!==n.contentHash)throw new Error(`Learning task input bytes are missing or changed: ${n.id}.`);let f=`learning/assets/${p({task:a.id,asset:n.id}).slice(0,40)}/${n.path}`;return A.set(f,new Uint8Array(i)),{id:n.id,sourceRefId:e.sourceId,artifactRef:f,fileName:n.path.split("/").at(-1),mediaType:n.mediaType,sha256:n.contentHash,sizeBytes:n.sizeBytes,split:a.split,metadata:{portableAsset:n}}}),...a.requiredOutputs?{requiredOutputs:a.requiredOutputs.map(n=>({...n,schemaRef:n.schemaRef?.id??null,maxBytes:n.maxBytes??void 0}))}:{}})),tasksetAssetBytes:A}}s(Hf,"materializeLearningBatchAssets");function If(e){let A=Oe(e),r=rx(A),t=A.environment.kind==="work";if(!t&&(A.environment.kind!=="text"||A.tools.length||A.tasks.some(v=>v.artifactRefs.length))||t&&A.tasks.some(v=>!v.requiredOutputs?.length))throw new Error("This learning batch requires a supported text or Work environment with declared outputs.");let a=e.source.id,n=Hf({tasks:A.tasks,sourceId:a,assets:e.assets,assetBytes:e.assetBytes}),F={demonstrations:[],preferences:[],corrections:[],feedback:[],rewards:[],labels:[]},i=[];for(let v of r.admissions){let c=e.evidence.find(u=>u.id===v.evidence.id),b=e.decisions.find(u=>u.id===v.decision.id);e.batch.purpose==="reward_training"&&b.grade?.training.status==="scored"&&F.rewards.push({id:`reward-${v.taskId}`,taskId:v.taskId,kind:"reward",task:e.definition.instructions,rules:[{id:e.binding.id,points:1,condition:"Execute the released Reward binding with its declared normalization, weights and gates."}],otherwisePoints:0,executable:!0,approved:!0,confidence:1,sourceRefs:[a],artifactRef:e.binding.id,metadata:{rewardBinding:N(e.binding),evidence:v.evidence,decision:v.decision}}),v.supervisedTarget!==null&&F.demonstrations.push({kind:"demonstration",id:`demo-${v.taskId}`,taskId:v.taskId,sourceRefs:[a],artifactRef:v.decision.id,approved:!0,confidence:1,prompt:null,response:JSON.stringify(v.supervisedTarget),metadata:{evidence:v.evidence,decision:v.decision,targetGradeHash:b.targetGrade?.contentHash}});for(let[u,m,h]of[["observed",c.submission.observedOutput,b.grade],["target",b.approvedTarget,b.targetGrade]]){let w=Gf(h);m===null||w===null||i.push({id:`fixture-${u}-${v.taskId}`,taskId:v.taskId,label:w.passed?"positive":"negative",output:m,infrastructureError:null,expectedPassed:w.passed,expectedRewardEligible:w.rewardEligible,metadata:{gradeReceiptHash:h.contentHash,evidence:v.evidence,decision:v.decision}})}}if(!i.length)throw new Error("Grade at least one reviewed response before preparing this batch. Grader fixtures must come from actual receipts.");let f=Gn(e.binding,e.rewards,e.assets),o=[];for(let v of A.graders){if(v.kind!=="custom_verifier")continue;let c=e.assets?.find(u=>u.id===v.verifierRef.id);if(!c)throw new Error(`Reward ${v.id} is missing its immutable verifier source.`);let b=O8(v.verifierRef.contentHash);o.some(u=>u.path===b)||o.push({path:b,role:"verifier",content:Y(c,v.verifierRef)})}let B=K0.parse({schemaVersion:"openpond.taskset.v1",id:`learning-${p([e.profileId,e.batch.contentHash]).slice(0,40)}`,revision:1,profileId:e.profileId,profileRelease:null,createImproveRunId:null,name:`${e.definition.name} \xB7 ${e.batch.examples.length} approved examples`,objective:e.definition.instructions,purpose:"general",benchmark:null,status:"needs_review",sourceRefs:[e.source],datasetArtifact:null,policy:A.policy,environment:{protocolVersion:"openpond.taskEnvironment.v1",kind:t?"work":"chat",entrypoint:A.environment.entrypoint,stateful:A.environment.stateful,deterministicSeeds:A.environment.deterministicSeeds,toolNames:A.tools.map(v=>v.name),lifecycle:["create","reset","step","grade","cleanup"],defaultTimeoutMs:A.environment.defaultTimeoutMs,networkPolicy:A.environment.networkPolicy,metadata:{portableEnvironment:A.environment,portableTools:A.tools}},capabilities:{schemaVersion:"openpond.tasksetCapabilities.v1",taskKind:t?"single_agent":"chat",supportedSignals:F.demonstrations.length?["demonstration","reward"]:["reward"],compatibleMethods:e.batch.purpose==="supervised_training"?["sft"]:e.batch.purpose==="reward_training"?["grpo","ppo"]:["none"],rewardKinds:[...new Set(A.graders.map(v=>v.kind==="human"?"human":v.kind==="model_judge"?"model_judge":"deterministic"))],requiresTools:A.tools.length>0,requiresState:A.environment.stateful,requiresPrivilegedGrading:!0,environmentPlacements:["local","remote"],exportable:!0,portabilityBlockers:[]},tasks:n.tasks.map(v=>({...v,schemaVersion:"openpond.taskData.v1",sourceRefs:[a],metadata:{admission:r.admissions.find(c=>c.taskId===v.id),exampleOrigin:e.evidence.find(c=>c.id===v.id)?.correctionFeedbackId?"corrected":"extracted"}})),graders:f,graderFixtures:i,learningSignals:F,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:p("openpond-learning-batch-v1"),promptTemplateVersion:"learning-batch-v1",buildIntent:e.batch.purpose==="supervised_training"?"demonstrations":"verifiable_reward",buildSpecification:null,evidenceHashes:e.batch.examples.map(v=>v.evidence.contentHash),tasksetSdkVersion:"learning-batch-v1",sourceCommit:null,repairHistory:[],createdAt:e.batch.sealedAt},readiness:null,contentHash:"00000000",createdAt:e.batch.sealedAt,updatedAt:e.batch.sealedAt,metadata:{learning:r,learningRelease:N(A),trainingMethod:e.batch.purpose==="supervised_training"?"sft":e.batch.purpose==="reward_training"?"grpo":"none",tasksetOutputContract:t?{mode:"artifacts",requiredOutputSource:"task.requiredOutputs"}:{mode:"structured_json",jsonSchema:e.definition.outputSchema,renderer:null}}});return{taskset:K0.parse({...B,contentHash:Nx(B)}),release:A,generatedFiles:o,tasksetAssetBytes:n.tasksetAssetBytes}}s(If,"materializeLearningBatchTaskset");function Gf(e){if(!e)return null;let A=e.training.status==="not_configured"?e.evaluation:e.training;return A.status!=="scored"?null:{passed:A.passed===!0,rewardEligible:e.training.status==="scored"}}s(Gf,"fixtureOutcome");function Bu(e){let A=[],r=0;for(let n of new Map(e.evidence.flatMap(F=>F.submission.assets.map(i=>[i.id,i]))).values()){let F=e.assetBytes?.get(n.id),i=e.assets?.find(o=>o.id===n.id),f=F?.byteLength??(i?new TextEncoder().encode(i.text).byteLength:0);if(r+=f,r>ix)throw new Error("Learning input assets exceed the training package limit.");F?A.push(new TextDecoder().decode(F)):i&&A.push(i.text)}let t=$f(JSON.stringify({tasks:e.evidence.map(n=>n.submission),targets:e.decisions.map(n=>n.approvedTarget),definition:e.definition,inputAssets:A}));if(t.secretStatus!=="passed"||t.piiStatus!=="passed")throw new Error(`Learning batch contains unresolved data findings (${t.findings.join(", ")}). Correct the source examples and seal a revised batch before training.`);let a=t8.parse({schemaVersion:"openpond.learningBatchDatasetSource.v1",kind:"learning_batch",id:`batch-source-${e.batch.contentHash.slice(0,40)}`,profileId:e.profileId,title:e.definition.name,sourceHash:e.batch.contentHash,occurredAt:e.batch.sealedAt,batch:N(e.batch),taskDefinition:e.batch.taskDefinition,admittedBy:e.batch.sealedBy,licensingStatus:"approved",secretScanStatus:t.secretStatus,piiScanStatus:t.piiStatus,metadata:{admission:e.admissionContext??"explicit_local_batch_review",privacyScanner:"openpond-evidence-v1",findings:t.findings}});return If({...e,source:a})}s(Bu,"prepareReviewedLearningBatch");async function cu(e){let A=structuredClone(e),{project:r,recipe:t,taskset:a,approval:n}=A,F=Mn.parse(A.manifest),i=On.parse(A.bundleManifest),{contentHash:f,...o}=F,{contentHash:B,...v}=i;if(p(o)!==f||p(v)!==B||F.resolvedBundleHash!==B||p(F.harnessRelease)!==p(i.harnessRelease)||p(F.datasetRelease)!==p(i.datasetRelease)||p(F.evidenceSets)!==p(i.evidenceSetRelease?[i.evidenceSetRelease]:[]))throw new Error("The managed training manifest or resolved bundle changed.");if(!r.hosted||r.hosted.syncedSourceRevision!==r.revision||r.hosted.portableProjectId!==r.id)throw new Error("Sync the exact Model Project revision before preparing managed training.");let c=r.trainingSetup.baseModel;if(!c||c.modelId!==F.model.source||c.revision!==F.model.revision||c.tokenizerRevision!==F.model.tokenizerRevision||c.chatTemplateHash!==F.model.chatTemplateHash)throw new Error("The synced Model Project base Model does not match the Run manifest.");if(t.method!=="grpo"||p(t)!==F.recipe.configHash||n.approvalHash!==F.approval.approvalHash||n.maximumSpendUsd!==F.approval.maximumSpendUsd)throw new Error("Managed training requires the exact approved GRPO recipe and spend ceiling.");let b=x.object({wallTimeMs:x.number().positive()}).parse(t.resourceLimits);A.idempotencyKey!==void 0&&x.string().trim().min(16).max(191).parse(A.idempotencyKey);let u=Pf(i,A.files),m=$e.parse(A.evaluationSource),h=u.find(P=>P.path===I8);if(!h||p(JSON.parse(Buffer.from(h.content,"base64").toString("utf8")))!==p(m))throw new Error("The evaluation source differs from the immutable training bundle.");let w=await lr(m),q={schemaVersion:"openpond.managedRlPortableSubmission.v1",sourceRunRef:`openpond:model-run:${F.id}`,name:`OpenPond Managed \xB7 ${r.id}`.slice(0,191),idempotencyKey:A.idempotencyKey??`openpond-managed:${f}`.slice(0,191),modelProject:{id:r.hosted.projectId,portableProjectId:r.hosted.portableProjectId},manifest:F,sourceTaskset:a,modelImprovementQualification:A.modelImprovementQualification??null,recipe:t,resolvedBundle:{manifest:i,files:u},validationTasks:m.tasks,validationAssets:m.assets},k={schemaVersion:"openpond.trainingInputArtifactUpload.v2",kind:"portable_training_bundle",idempotencyKey:`stage:${A.idempotencyKey??f}`,sourceManifest:{id:F.id,contentHash:f},payload:q},x0=await P8({...k,contentHash:await G8(k)}),_={schemaVersion:"openpond.trainingJobSubmission.v2",idempotencyKey:A.idempotencyKey??`openpond-training-v2:${f}`,name:`OpenPond Managed \xB7 ${r.id}`.slice(0,200),source:{modelProject:{id:r.hosted.projectId,portableProjectId:r.hosted.portableProjectId,revision:r.revision,contentHash:r.hosted.etag},harnessRunManifest:k.sourceManifest,harnessRelease:F.harnessRelease,taskset:a,tasksetRelease:{id:a.id,contentHash:a.contentHash},dataset:i.datasetRelease,evaluation:w,evidenceSets:i.evidenceSetRelease?[i.evidenceSetRelease]:[]},job:{kind:"policy_optimize",baseModel:c,recipe:t,rewardSource:A.rewardSource,resumeFrom:A.resumeFrom},requestedCapabilities:[{id:"managed_rl.policy.grpo",version:"1",required:!0},{id:`managed_rl.rollouts.${F.runtimeTarget.placement}`,version:"1",required:!0},...r.trainingSetup.managedGpuRequirement==="h100_hbm3"?[{id:"managed_rl.gpu.h100_hbm3",version:"1",required:!0}]:[]],placementObjective:r.trainingSetup.managedGpuPlacementObjective,budget:{maximumSpendUsd:n.maximumSpendUsd,maximumWallSeconds:Math.ceil(b.wallTimeMs/1e3)},approval:{...n,approvedAt:F.approval.approvedAt,exportApproved:!0}},$=await M8({..._,contentHash:await Q8(_)});return{artifact:x0,submission:$}}s(cu,"prepareManagedTrainingSubmission");function Pf(e,A){if(A.length!==e.files.length||new Set(A.map(t=>t.path)).size!==A.length)throw new Error("The managed bundle file inventory changed.");let r=new Map(A.map(t=>[t.path,t]));return e.files.map(t=>{let a=r.get(t.path);if(!a||a.path.includes("\\")||a.path.includes("\0")||a.path.split("/").some(F=>!F||F==="."||F==="..")||a.path==="bundle-manifest.json"||a.encoding!=="base64")throw new Error("The managed bundle contains an invalid file.");let n=Buffer.from(a.content,"base64");if(n.toString("base64")!==a.content||a.sha256!==t.sha256||a.sizeBytes!==t.sizeBytes||n.byteLength!==t.sizeBytes||a0(n)!==t.sha256)throw new Error(`Managed training bundle file ${a.path} changed before upload.`);return a})}s(Pf,"verifyFiles");var Qf=x.object({name:x.literal("adamw").default("adamw"),weightDecay:x.number().nonnegative().max(1).default(0),beta1:x.number().positive().lt(1).default(.9),beta2:x.number().positive().lt(1).default(.999),epsilon:x.number().positive().max(.01).default(1e-8)}).strict().default({name:"adamw",weightDecay:0,beta1:.9,beta2:.999,epsilon:1e-8});function Eu(e,A){if(!A||typeof A!="object"||Array.isArray(A))return A;let r=A;if(r.method==="dpo"){let q=F0(r.policyModel),k=F0(r.referenceModel),x0=F0(r.dataset),_=p({tasksetHash:e.contentHash,preferenceSignals:e.learningSignals.preferences.map($=>({id:$.id,artifactRef:$.artifactRef,prompt:$.prompt,chosen:$.chosen,rejected:$.rejected,approved:$.approved})),policyModel:q,referenceModel:k,dataset:x0});return{...r,referenceLogprobs:{cacheSchemaVersion:"openpond.dpoReferenceLogprobs.v1",cacheKey:p(["dpo-reference-logprobs",_]),invalidationHash:_}}}if(r.method==="ppo"){let q=F0(r.policyOptimization),k=F0(q.policyModel),x0=F0(q.referenceModel),_=F0(q.optimizer),$=F0(_.valueModel),P=F0(q.dataset),G=F0(q.reward),n0=p(k),S0=p(x0),B0=p($);return{...r,policyOptimization:{...q,dataset:{...P,tasksetId:e.id,tasksetHash:e.contentHash},reward:{...G,graderHash:p(e.graders)}},resume:{...F0(r.resume),policyHash:n0,referenceHash:S0,valueModelHash:B0}}}if(r.method!=="grpo")return A;let t=r.reward&&typeof r.reward=="object"&&!Array.isArray(r.reward)?r.reward:{},a=e.environment.metadata.toolContractHash,n=typeof a=="string"&&a.trim()?a:t.toolContractHash,F=F0(r.baseModel),i=F0(r.dataset),f=F0(r.rollout),o=F0(r.optimizer),B=F0(r.loss),v=F0(r.resourceLimits),c=g0(i.maxExamples,1),b=g0(f.groupSize,2),u=g0(f.maxOutputTokens,1),m=g0(i.maxPromptTokens,1),h=g0(o.maxSteps,1),w=g0(o.iterations,2);return{...r,resourceLimits:{...v,maxGpuSeconds:v.maxGpuSeconds??Math.min(10800,Math.ceil(g0(v.wallTimeMs,18e4)/1e3))},reward:{...t,graderHash:p(e.graders),toolContractHash:n},policyOptimization:{schemaVersion:"openpond.policyOptimization.v1",policyModel:F,referenceModel:F,dataset:{tasksetId:e.id,tasksetHash:e.contentHash,split:"train",selectionStrategy:i.selectionStrategy,selectionSeed:f.seed,maxExamples:c},sampler:{temperature:f.temperature,topP:f.topP,maxOutputTokens:u,maxTurns:f.maxTurns,concurrency:f.concurrency},environment:{id:t.environmentId,version:t.environmentVersion,toolContractHash:n},reward:{graderId:t.graderId,graderHash:p(e.graders),learnedPreference:t.learnedPreference??null},kl:{coefficient:B.klBeta??null,referenceConstraint:"fixed_reference"},budgets:{maxRollouts:g0(v.maxRollouts,c*b),maxEnvironmentExecutions:g0(v.maxRollouts,c*b),maxInputTokens:c*b*m,maxOutputTokens:c*b*u,maxOptimizerSteps:h*w,wallTimeMs:g0(v.wallTimeMs,18e4),maximumCostUsd:null},checkpointEverySteps:1,seed:f.seed,evaluationSplit:"frozen_eval",optimizer:{method:"grpo",groupSize:b,normalization:"group_standardized",advantageEpsilon:typeof o.advantageEpsilon=="number"?o.advantageEpsilon:1e-8,loss:B.method??"grpo",clipRange:typeof o.clipRange=="number"?o.clipRange:.2,iterations:w,microbatchSize:g0(o.microbatchSize,1),gradientAccumulationSteps:g0(o.gradientAccumulationSteps,1),adamw:Qf.parse(o.adamw)}}}}s(Eu,"withAuthoritativeRecipeHashes");function F0(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}s(F0,"record");function g0(e,A){return typeof e=="number"&&Number.isInteger(e)&&e>0?e:A}s(g0,"positiveInteger");function du(e){let A=e.sourceRelease,r=[],t=e.skills??[],a=e.agents??[];if([...t,...a].some(o=>o.visibility!=="policy"))throw new Error("The portable policy Harness requires policy-visible dependencies.");let n=Pn({id:"desktop-dependency-lock",path:".openpond/harness/dependency-lock.json",hashInput:{profileHead:e.profileHead??null,sourceRelease:A,tools:r,skills:t.map(({id:o,contentHash:B})=>({id:o,contentHash:B})),agents:a.map(({id:o,contentHash:B})=>({id:o,contentHash:B}))},mediaType:"application/json",visibility:"policy"}),F=St({schemaVersion:"openpond.agentSnapshot.v2",id:`agent-snapshot-${p([A,r,n.contentHash]).slice(0,24)}`,sourceRelease:A,instructions:[],skills:t,agents:a,toolDeclarations:r,capabilityRequirements:[],dependencyLock:n,portability:{portable:!0,blockers:[],localOnlyAssetRefs:[],hostPrivateAssetRefs:[]},metadata:{sourceReleaseId:A?.id??null}}),i=Pn({id:"desktop-harness-program",path:".openpond/harness/program.json",hashInput:{program:"openpond.desktop-agent-loop.v1"},mediaType:"application/json",visibility:"policy"}),f=Rt({schemaVersion:"openpond.harnessRelease.v2",id:`harness-${p([F.contentHash,i.contentHash,r]).slice(0,24)}`,agentSnapshot:{id:F.id,contentHash:F.contentHash},program:i,tools:r,lifecycle:{create:!0,reset:!0,step:!0,collect:!0,destroy:!0,resetScope:"attempt"},graderInterface:{visibleEvidence:["output","runtime_events","artifacts"],privilegedEvidence:["expected_output","private_verifier"],privateVerifierIsolation:!0},files:[...t,...a],metadata:{runtimeProtocol:"openpond.desktop-agent-loop.v1"}});return{agentSnapshot:F,harnessRelease:f}}s(du,"createPolicyHarnessContext");function Pn(e){let A=b0(e.hashInput);return{id:e.id,path:e.path,contentHash:p(e.hashInput),sizeBytes:new TextEncoder().encode(A).byteLength,mediaType:e.mediaType,visibility:e.visibility}}s(Pn,"asset");function bu(e){let{taskset:A,modelProject:r,harnessRelease:t,tasksetRelease:a}=e,n=r.trainingSetup,F=D.parse(t),i=D.parse(a);if(e.openpondRelease,e.workerProtocol,Nx(A)!==A.contentHash)throw new Error("Taskset authoring state changed after its release was selected.");if(!n.baseModel?.revision||!n.baseModel.tokenizerRevision||!n.baseModel.chatTemplateHash||!n.recipe||!n.tasksetRef||n.tasksetRef.id!==A.id||n.tasksetRef.contentHash!==A.contentHash)throw new Error("Model Run must bind an exact Taskset, Model revision, tokenizer, chat template, and Recipe.");let o=A.profileRelease??{id:`profile_${A.profileId}`,revision:A.revision,contentHash:p({profileId:A.profileId,sourceCommit:A.authoringProvenance.sourceCommit,skillHash:A.authoringProvenance.skillHash})},B=new Map;if(e.evaluationSource){let _=$e.parse(e.evaluationSource);if(p(_.taskset)!==p(n.evaluationTasksetRef))throw new Error("The evaluation source differs from the prepared Model configuration.");cr(A.tasks.filter($=>$.split==="train"),_.tasks),B.set(I8,new TextEncoder().encode(b0(_)))}else if(n.evaluationTasksetRef)throw new Error("The prepared Model requires its pinned evaluation source bytes.");let v=e.harnessSource?oe(e.harnessSource,F):null;if(n.harnessRelease&&!v)throw new Error("A selected Harness requires its complete immutable source package.");if(v&&(!n.harnessRelease||n.harnessRelease.id!==F.id||n.harnessRelease.contentHash!==F.contentHash))throw new Error("Harness source differs from the Model's explicit selection.");if(v){if((e.runtime.placement!=="local"||e.compute.kind!=="local")&&(!v.agentSnapshot.portability.portable||v.harnessRelease.files.some($=>$.visibility==="host_private")))throw new Error("The selected Harness contains source that cannot leave its local host.");Bx(B,"harness/source-package.json",v)}Bx(B,"harness/execution.json",yt.parse({schemaVersion:"openpond.harnessSourceSelection.v1",mode:v?"selected_release":"taskset_owned",harnessRelease:F,sourcePackageHash:v?.contentHash??null}));let c=mr(A,e.rewardExecution);if(c){let _=e.verifierAssets??[],$=p0(c.binding,c.rewards).flatMap(G=>G.kind==="custom_verifier"?[G.verifierRef]:G.kind==="model_judge"?[G.rubricRef]:[]),P=new Set($.map(G=>G.id));if(new Set(_.map(G=>G.id)).size!==_.length||_.some(G=>!P.has(G.id)))throw new Error("Unexpected or duplicate private verifier asset.");for(let G of $){let n0=_.find(S0=>S0.id===G.id);if(!n0||G.visibility!=="verifier")throw new Error("Training bundle requires its private verifier asset.");Y(n0,G)}Bx(B,"reward-binding.json",{kind:"reward_binding_v1",binding:c.binding,rewards:c.rewards,assets:_})}else if(e.verifierAssets?.length)throw new Error("Private verifier assets require a published Reward binding.");Bx(B,"environment.json",{schemaVersion:"openpond.harnessEnvironment.v1",environment:A.environment,capabilities:A.capabilities,policy:A.policy,outputContract:A.metadata.tasksetOutputContract?.mode==="text"?null:A.metadata.tasksetOutputContract??null}),Bx(B,"graders.json",{schemaVersion:"openpond.harnessGraders.v1",graders:A.graders,fixtures:A.graderFixtures}),Bx(B,"tool-contract.json",{schemaVersion:"openpond.harnessToolContract.v1",toolNames:A.environment.toolNames,actionBindings:A.environment.actionBindings??[],capabilities:A.capabilities,connectedAppScopes:A.policy.connectedAppScopes});let b=A.tasks.filter(_=>_.split==="train");if(b.length>0)Bx(B,"dataset/train.json",{schemaVersion:"openpond.datasetSplit.v1",split:"train",tasks:b}),Mf({assets:B,tasks:b,tasksetAssetBytes:e.tasksetAssetBytes??new Map});else if(A.datasetArtifact)Bx(B,"dataset/artifact.json",A.datasetArtifact);else throw new Error("Taskset has no training dataset.");let u=Object.values(A.learningSignals).flat().filter(_=>_.approved);for(let _ of u){let $=Ln(_);B.set(`evidence/signals/${a0($)}.json`,$)}let m={id:`dataset_${A.id}_r${A.revision}`,contentHash:p({taskset:i,sourceRefs:A.sourceRefs,datasetArtifact:A.datasetArtifact??null,trainTasks:b})},h=u.length>0?{id:`evidence_${A.id}_r${A.revision}`,contentHash:p({taskset:i,harnessRelease:F,datasetRelease:m,profileRelease:o,signals:u})}:null,w=Nn.parse({schemaVersion:"openpond.resolvedTrainingBundle.v1",projection:"trainer",harnessRelease:F,datasetRelease:m,evidenceSetRelease:h,files:[...B.entries()].sort(([_],[$])=>_.localeCompare($)).map(([_,$])=>({path:_,sha256:a0($),sizeBytes:$.byteLength}))}),q=On.parse({...w,contentHash:p(w)}),k=Qn.parse({schemaVersion:"openpond.harnessRunManifest.v1",id:`manifest_${e.modelRunId}_${e.approval.approvalHash.slice(0,16)}`,harnessRelease:t,datasetRelease:m,evidenceSets:h?[h]:[],model:{source:n.baseModel.modelId,revision:n.baseModel.revision,artifactHash:null,tokenizerRevision:n.baseModel.tokenizerRevision,chatTemplateHash:n.baseModel.chatTemplateHash},recipe:{method:n.recipe.method,version:"openpond.trainingRecipe.v1",configHash:p(n.recipe)},runtimeTarget:e.runtime,computeTarget:e.compute,engine:e.engine,resolvedBundleHash:q.contentHash,secretLeaseRefs:e.secretLeaseRefs??[],approval:e.approval,createdAt:r.updatedAt});return{manifest:Mn.parse({...k,contentHash:p(k)}),resolvedBundleManifest:q,assets:B,profileRelease:o,harnessRelease:F,tasksetRelease:i,datasetRelease:m,evidenceSetRelease:h}}s(bu,"buildTasksetTrainingBundle");function Mf(e){let A=new Set;for(let r of e.tasks)for(let t of r.assets??[]){if(A.has(t.artifactRef))throw new Error(`Training asset path ${t.artifactRef} is shared by multiple tasks.`);A.add(t.artifactRef);let a=e.tasksetAssetBytes.get(t.artifactRef);if(!a)throw new Error(`Resolved Training Bundle is missing Work asset ${t.artifactRef}.`);if(a.byteLength!==t.sizeBytes||a0(a)!==t.sha256)throw new Error(`Resolved Training Bundle Work asset ${t.artifactRef} failed immutable verification.`);e.assets.set(t.artifactRef,a)}for(let r of e.tasksetAssetBytes.keys())if(!A.has(r))throw new Error(`Resolved Training Bundle received unexpected Work asset ${r}.`)}s(Mf,"addTasksetAssets");function Bx(e,A,r){e.set(A,Ln(r))}s(Bx,"addJsonAsset");function Ln(e){return Buffer.from(b0(e),"utf8")}s(Ln,"bytes");export{ul as a,Nf as b,Of as c,tA as d,as as e,Lf as f,Vf as g,Jf as h,Fs as i,Je as j,Wr as k,Yr as l,Uf as m,Ue as n,Kf as o,oA as p,vA as q,Ke as r,Yf as s,Qs as t,x7 as u,e7 as v,A7 as w,nt as x,r7 as y,t7 as z,j as A,d0 as B,a0 as C,p as D,ze as E,$x as F,EA as G,Hx as H,zs as I,o7 as J,v7 as K,L0 as L,vt as M,Ze as N,bA as O,Ai as P,m7 as Q,u7 as R,ai as S,ne as T,R7 as U,Fi as V,w7 as W,uA as X,$c as Y,Vt as Z,Hc as _,ax as $,ce as aa,_o as ba,To as ca,$o as da,Ho as ea,Io as fa,Yt as ga,Go as ha,Po as ia,Aa as ja,aa as ka,Be as la,sa as ma,i8 as na,o8 as oa,Ee as pa,va as qa,f8 as ra,m0 as sa,Ea as ta,l8 as ua,ua as va,ja as wa,Ko as xa,pa as ya,Ca as za,ha as Aa,ka as Ba,K0 as Ca,Sa as Da,HA as Ea,Nx as Fa,tB as Ga,zA as Ha,aB as Ia,uF as Ja,sx as Ka,pF as La,d8 as Ma,IA as Na,px as Oa,f0 as Pa,o0 as Qa,z0 as Ra,QA as Sa,MA as Ta,Ox as Ua,Na as Va,NA as Wa,La as Xa,ov as Ya,be as Za,vv as _a,ux as $a,OA as ab,Bv as bb,me as cb,LA as db,cv as eb,je as fb,Dx as gb,pe as hb,D8 as ib,Ml as jb,h8 as kb,Nl as lb,Ol as mb,Ll as nb,Vl as ob,eF as pb,tF as qb,sF as rb,BF as sb,xE as tb,eE as ub,qv as vb,ZA as wb,_v as xb,AE as yb,Tv as zb,rE as Ab,tE as Bb,Wv as Cb,iE as Db,Yv as Eb,dE as Fb,Ux as Gb,uB as Hb,xd as Ib,$F as Jb,IF as Kb,er as Lb,GF as Mb,Ar as Nb,Re as Ob,hd as Pb,Id as Qb,we as Rb,Gd as Sb,rr as Tb,hB as Ub,Pd as Vb,tr as Wb,Od as Xb,SB as Yb,OF as Zb,zd as _b,RB as $b,ar as ac,wB as bc,ix as cc,$8 as dc,qB as ec,eb as fc,_B as gc,TB as hc,UF as ic,HB as jc,qe as kc,sb as lc,Bb as mc,MB as nc,NB as oc,XF as pc,y0 as qc,hb as rc,u0 as sc,UB as tc,KB as uc,ZB as vc,or as wc,rn as xc,YB as yc,xf as zc,ef as Ac,Af as Bc,rf as Cc,H8 as Dc,vr as Ec,ln as Fc,cf as Gc,I8 as Hc,$e as Ic,cr as Jc,lr as Kc,G8 as Lc,Q8 as Mc,M8 as Nc,wn as Oc,df as Pc,dr as Qc,bf as Rc,Sm as Sc,Cf as Tc,Rm as Uc,wm as Vc,ym as Wc,qm as Xc,Om as Yc,Lm as Zc,Vm as _c,Df as $c,Zm as ad,Gn as bd,O8 as cd,yf as dd,qf as ed,_f as fd,Mn as gd,On as hd,$f as id,Bu as jd,cu as kd,Qf as ld,Eu as md,du as nd,bu as od};
@@ -0,0 +1,5 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{c as j,e as E,f as z,g as H,i as N,kb as O}from"./chunk-NNLI4OWY.js";import{b as a}from"./chunk-ES2ISFJC.js";import{a as R,c as P,f as A,h as d}from"./chunk-H7IWJN7L.js";import{a as i}from"./chunk-FTQLQJQV.js";import b from"node:path";import{AsyncLocalStorage as V}from"node:async_hooks";import{promises as M}from"node:fs";var B=new V;function pe(e,t=!1){let r=B.getStore();r&&(t&&(r.length=0),r.push(e))}i(pe,"onStartupFailure");async function fe(e,t){await O(e);let r;try{r=await H(b.join(d(e).runtime,"server-owner"),100)}catch(s){if(s instanceof P&&s.issue.code==="STORAGE_BUSY"){let o=await N(b.join(d(e).runtime,"endpoint.json"),()=>null);throw new P({code:"RUNTIME_ALREADY_RUNNING",path:e,message:"An OpenPond runtime already owns this home.",action:o?.url?`Connect to the existing runtime at ${o.url}, or stop it before starting another.`:"Stop the existing runtime before starting another with this home."})}throw s}let n=[];try{let s=await R(e,()=>B.run(n,t)),o=s.close.bind(s);n.length=0;let l;return{...s,close:i(()=>l??=(async()=>{try{await R(e,o)}finally{await M.rm(b.join(d(e).runtime,"endpoint.json"),{force:!0}),await r()}})(),"close")}}catch(s){try{for(let o of n.reverse())await Promise.resolve().then(()=>R(e,o)).catch(()=>{});await M.rm(b.join(d(e).runtime,"endpoint.json"),{force:!0})}finally{await r()}throw s}}i(fe,"ownHomeRuntime");async function me(e,t,r){await E(b.join(d(e).runtime,"endpoint.json"),JSON.stringify({schemaVersion:"openpond.runtimeEndpoint.v1",pid:process.pid,url:t,serverId:r}))}i(me,"publishRuntimeEndpoint");function ge(e){if(!e.maxContextTokens||!e.usableContextTokens)return{shouldCompact:!1,projectedTokens:e.projectedTokens,thresholdTokens:Number.MAX_SAFE_INTEGER,usableContextTokens:0,maxContextTokens:0,tokenSource:"heuristic"};let t=Math.max(.01,Math.min(1,(e.triggerPercent??85)/100)),r=Math.max(1,Math.floor(e.usableContextTokens*t));return{shouldCompact:e.projectedTokens>=r,projectedTokens:e.projectedTokens,thresholdTokens:r,usableContextTokens:e.usableContextTokens,maxContextTokens:e.maxContextTokens,tokenSource:"heuristic"}}i(ge,"agentCompactionDecision");async function be(e){await e.started();try{return await e.compact()}catch(t){throw await e.failed(t),t}}i(be,"runAgentCompaction");async function xe(e){let t=e.host.projectEvents(e.events),r=e.host.selectEvents(t,e.maxContextTokens),{summaryEvents:n,preservedEvents:s,preservedEventIds:o}=r;if(n.length===0)throw new Error("There is not enough prior context to compact.");let l=e.host.normalizeRecords(n),c=e.host.normalizeRecords(s),h=e.host.buildFileLedger(e.host.normalizeRecords(t)),u=e.host.serializeRecords(l,e.host.inputCharBudget(e.maxContextTokens));if(!u.text.trim())throw new Error("There is not enough prior context to compact.");let p=e.host.buildSummaryMessages({serializedHistory:u.text,fileLedger:h}),v=Date.now(),w=(await e.host.streamSummary({model:e.model,messages:p,signal:e.signal})).trim(),k=Date.now()-v;if(!w)throw new Error("Compaction summary was empty.");let I=e.host.estimateProjection({events:t,preservedEvents:s,summary:w}),_=e.host.createMetrics({sourceEvents:t.length,summarizedEvents:n.length,preservedEvents:s.length,sourceRecords:u.sourceRecordCount,includedRecords:u.includedRecordCount,omittedRecords:u.omittedRecordCount,preservedRecords:c.length,truncatedRecords:u.truncatedRecordCount,summaryInputTruncated:u.inputTruncated,sourceSelectionStrategy:u.selectionStrategy,summaryInputChars:u.inputChars,retainedTailTokens:r.retainedTailTokens,retainedTailBudgetTokens:r.retainedTailBudgetTokens,finalProviderContextTokens:I.inputTokensAfter,durationMs:k,fileLedgerEntries:h.length,splitTurnId:r.splitTurnId});return{summary:w,model:e.model,compactedThroughEventId:t[t.length-1]?.id??null,compactedThroughTurnId:e.host.lastTurnId(t),preservedFromEventId:s[0]?.id??null,preservedEventIds:o,preservedResourceRefs:e.host.durableResourceRefs(e.events),sourceEventCount:n.length,preservedEventCount:s.length,fileLedger:h,inputTokensBefore:I.inputTokensBefore,inputTokensAfter:I.inputTokensAfter,maxContextTokens:e.maxContextTokens,tokenSource:"heuristic",metrics:_}}i(xe,"runAgentCompactionProgram");var y="2026-09-20",ye=["initialize","initialized","runtime/capabilities","thread/start","thread/resume","thread/read","turn/start","turn/steer","task/inbox","task/queue","task/inputUpdate","turn/interrupt","approval/resolve","userInput/resolve","profile/workflows","profile/evaluations","profile/evaluations/prepare","profile/evaluations/run","profile/evaluations/runSuite","profile/evaluations/executeCase","profile/evaluations/executeRun","profile/evaluations/compare","harness/inspect","harness/proposalReview","harness/review","harness/acceptEvaluationReview","harness/materializeEvaluationTaskset","harness/runEvaluationBaseline","harness/validate","harness/backgroundReview","harness/diff","harness/rollback","refiner/inspect","refiner/update","refiner/activate","refiner/rollback"],U=a.object({jsonrpc:a.literal("2.0"),id:a.union([a.string(),a.number()]),method:a.string().trim().min(1),params:a.unknown().optional()}).strict(),$=a.object({jsonrpc:a.literal("2.0"),method:a.string().trim().min(1),params:a.unknown().optional()}).strict(),G=a.object({jsonrpc:a.literal("2.0"),id:a.union([a.string(),a.number()]),result:a.unknown()}).strict(),W=a.object({jsonrpc:a.literal("2.0"),id:a.union([a.string(),a.number(),a.null()]),error:a.object({code:a.number().int(),message:a.string(),data:a.unknown().optional()}).strict()}).strict(),Se=a.union([U,$,G,W]),K=a.object({protocolVersion:a.string().trim().min(1),client:a.object({name:a.string().trim().min(1),version:a.string().trim().min(1)}).strict(),capabilities:a.record(a.string(),a.unknown()).default({})}).strict(),S=class{static{i(this,"AgentJsonRpcDispatcher")}#e;#n=null;#t=!1;constructor(t){this.#e=t}get initialized(){return this.#t}async handle(t){let r=$.safeParse(t);if(r.success&&!("id"in t)){if(r.data.method==="initialized"){if(!this.#n)throw new f(-32002,"initialize must be called first");this.#t=!0}return null}let n=U.safeParse(t);if(!n.success)return q(null,-32600,"Invalid Request",n.error.flatten());let s=n.data;try{let o=await this.#r(s.method,s.params);return{jsonrpc:"2.0",id:s.id,result:o}}catch(o){let l=o instanceof f?o:new f(-32603,o instanceof Error?o.message:String(o));return q(s.id,l.code,l.message,l.data)}}async#r(t,r){if(t==="initialize"){let n=K.parse(r);if(n.protocolVersion!==y)throw new f(-32001,"Incompatible agent protocol version",{requested:n.protocolVersion,supported:y});return this.#n=n,{protocolVersion:y,server:{name:"openpond-app-server",version:"1"},capabilities:await this.#e.capabilities()}}if(!this.#t)throw new f(-32002,"initialized notification is required");switch(t){case"runtime/capabilities":return this.#e.capabilities(r);case"thread/start":return this.#e.threadStart(r);case"thread/resume":return this.#e.threadResume(r);case"thread/read":return this.#e.threadRead(r);case"turn/start":return this.#e.turnStart(r);case"turn/steer":return this.#e.turnSteer(r);case"task/inbox":return this.#e.taskInbox(r);case"task/queue":return this.#e.taskQueue(r);case"task/inputUpdate":return this.#e.taskInputUpdate(r);case"turn/interrupt":return this.#e.turnInterrupt(r);case"approval/resolve":return this.#e.approvalResolve(r);case"userInput/resolve":return this.#e.userInputResolve(r);case"profile/workflows":return this.#e.profileWorkflows(r);case"profile/evaluations":return this.#e.profileEvaluations(r);case"profile/evaluations/prepare":return this.#e.profileEvaluationPrepare(r);case"profile/evaluations/run":return this.#e.profileEvaluationRun(r);case"profile/evaluations/runSuite":return this.#e.profileEvaluationRunSuite(r);case"profile/evaluations/executeCase":return this.#e.profileEvaluationExecuteCase(r);case"profile/evaluations/executeRun":return this.#e.profileEvaluationExecuteRun(r);case"profile/evaluations/compare":return this.#e.profileEvaluationCompare(r);case"harness/inspect":return this.#e.harnessInspect(r);case"harness/proposalReview":return this.#e.harnessProposalReview(r);case"harness/review":return this.#e.harnessReview(r);case"harness/acceptEvaluationReview":return this.#e.harnessAcceptEvaluationReview(r);case"harness/materializeEvaluationTaskset":return this.#e.harnessMaterializeEvaluationTaskset(r);case"harness/runEvaluationBaseline":return this.#e.harnessRunEvaluationBaseline(r);case"harness/validate":return this.#e.harnessValidate(r);case"harness/backgroundReview":return this.#e.harnessBackgroundReview(r);case"harness/diff":return this.#e.harnessDiff(r);case"harness/rollback":return this.#e.harnessRollback(r);case"refiner/inspect":return this.#e.refinerInspect(r);case"refiner/update":return this.#e.refinerUpdate(r);case"refiner/activate":return this.#e.refinerActivate(r);case"refiner/rollback":return this.#e.refinerRollback(r);default:throw new f(-32601,`Method not found: ${t}`)}}},f=class extends Error{static{i(this,"JsonRpcDispatchError")}code;data;constructor(t,r,n){super(r),this.code=t,this.data=n}};function q(e,t,r,n){return{jsonrpc:"2.0",id:e,error:{code:t,message:r,...n===void 0?{}:{data:n}}}}i(q,"jsonRpcError");import{createHash as Q}from"node:crypto";function C(e){if(e===null||typeof e=="boolean"||typeof e=="string")return e;if(typeof e=="number"){if(!Number.isFinite(e))throw new Error("Canonical JSON cannot encode a non-finite number.");return e}if(Array.isArray(e))return e.map(C);if(typeof e=="object"){let t={};for(let r of Object.keys(e).sort()){let n=e[r];n!==void 0&&(t[r]=C(n))}return t}throw new Error(`Canonical JSON cannot encode ${typeof e}.`)}i(C,"canonicalJson");function g(e){return Q("sha256").update(JSON.stringify(C(e)),"utf8").digest("hex")}i(g,"canonicalHash");var Y=a.enum(["thread.started","thread.resumed","turn.started","turn.steered","turn.interrupted","turn.completed","turn.failed","item.started","item.delta","item.completed","assistant.reasoning.delta","assistant.delta","tool.started","tool.completed","approval.requested","approval.resolved","user_input.requested","user_input.resolved","compaction.started","compaction.completed","harness.admitted","harness.refiner.queued","harness.refiner.started","harness.refiner.completed","harness.refiner.failed","diagnostic"]),X=a.object({sequence:a.number().int().nonnegative(),name:Y,source:a.enum(["runtime","provider","tool","host","refiner"]),status:a.string().trim().min(1).nullable().default(null),threadId:a.string().trim().min(1),turnId:a.string().trim().min(1).nullable().default(null),callId:a.string().trim().min(1).nullable().default(null),output:a.string().nullable().default(null),error:a.string().nullable().default(null),data:a.record(a.string(),a.unknown()).default({})}).strict();function He(e){return g(X.parse(e))}i(He,"canonicalEventHash");import{once as Z}from"node:events";import{createInterface as ee}from"node:readline";async function D(e){let t=new S(e.host),r=Promise.resolve(),n=[],s=i(u=>(r=r.then(async()=>{e.writable.write(`${JSON.stringify(u)}
3
+ `)||await Z(e.writable,"drain")}),r),"write"),o=i(()=>{if(!(!t.initialized||n.length===0))for(let u of n.splice(0))s(u)},"flushPendingNotifications"),l=e.host.subscribe?.(u=>{if(!t.initialized){n.push(u);return}s(u)}),c=new Set,h=ee({input:e.readable,crlfDelay:1/0});try{for await(let u of h){if(!u.trim())continue;let p;try{p=JSON.parse(u)}catch{await s({jsonrpc:"2.0",id:null,error:{code:-32700,message:"Parse error"}});continue}let v=(async()=>{let k=await t.handle(p);k&&await s(k),o()})(),w=p&&typeof p=="object"&&"method"in p?p.method:null;if(w==="initialize"||w==="initialized"){await v;continue}c.add(v),v.finally(()=>c.delete(v))}await Promise.all(c),await r}finally{l?.()}}i(D,"runAgentJsonlServer");var T=a.object({threadId:a.string().trim().min(1)}).passthrough(),te=a.object({session:a.unknown()}).strict(),x=T.extend({input:a.unknown()}),ne=x.extend({idempotencyKey:a.string().trim().min(1).max(200)}),re=x.extend({inputId:a.string().trim().min(1)}),ae=T.extend({reason:a.string().trim().min(1).optional()}),ie=a.object({approvalId:a.string().trim().min(1),input:a.unknown()}).strict();function L(e){let t=i(async(n,s,o)=>{let l=performance.now();e.telemetry?.({method:n,phase:"started",threadId:s,durationMs:null,errorClass:null});try{let c=await o();return e.telemetry?.({method:n,phase:"completed",threadId:s,durationMs:performance.now()-l,errorClass:null}),c}catch(c){throw e.telemetry?.({method:n,phase:"failed",threadId:s,durationMs:performance.now()-l,errorClass:c instanceof Error?c.name:"UnknownError"}),c}},"run"),r=i(async(n,s="thread/read")=>{let{threadId:o}=T.parse(n);return t(s,o,async()=>{let[l,c,h]=await Promise.all([e.readThread(o),e.listTurns(o),e.listEvents(o)]);return{thread:l,turns:c,events:h}})},"threadRead");return{capabilities:i(n=>t("runtime/capabilities",null,()=>e.capabilities(n)),"capabilities"),threadStart:i(async n=>t("thread/start",null,async()=>({thread:await e.createThread(te.parse(n).session)})),"threadStart"),threadResume:i(n=>r(n,"thread/resume"),"threadResume"),threadRead:r,turnStart:i(async n=>{let s=x.parse(n);return t("turn/start",s.threadId,async()=>({turn:await e.startTurn(s.threadId,s.input)}))},"turnStart"),turnSteer:i(async n=>{let s=x.parse(n);return t("turn/steer",s.threadId,async()=>({receipt:await e.steerTurn(s.threadId,s.input)}))},"turnSteer"),taskInbox:i(async n=>{let{threadId:s}=T.parse(n);return t("task/inbox",s,()=>e.readTaskInbox(s))},"taskInbox"),taskQueue:i(async n=>{let s=ne.parse(n);return t("task/queue",s.threadId,()=>e.queueTaskInput(s.threadId,s.input,s.idempotencyKey))},"taskQueue"),taskInputUpdate:i(async n=>{let s=re.parse(n);return t("task/inputUpdate",s.threadId,()=>e.updateTaskInput(s.threadId,s.inputId,s.input))},"taskInputUpdate"),turnInterrupt:i(async n=>{let s=ae.parse(n);return t("turn/interrupt",s.threadId,async()=>({turn:await e.interruptTurn(s.threadId,s.reason)}))},"turnInterrupt"),approvalResolve:i(async n=>{let s=ie.parse(n);return t("approval/resolve",null,async()=>({approval:await e.resolveApproval(s.approvalId,s.input)}))},"approvalResolve"),userInputResolve:i(async n=>{let s=x.parse(n);return t("userInput/resolve",s.threadId,async()=>(e.isTurnActive(s.threadId)&&await e.waitForTurnSettlement(s.threadId),{turn:await e.startTurn(s.threadId,s.input)}))},"userInputResolve"),profileWorkflows:i(()=>t("profile/workflows",null,()=>e.listProfileWorkflows()),"profileWorkflows"),profileEvaluations:i(()=>t("profile/evaluations",null,()=>e.listProfileEvaluations()),"profileEvaluations"),profileEvaluationPrepare:i(n=>t("profile/evaluations/prepare",null,()=>e.prepareProfileEvaluationRun(n)),"profileEvaluationPrepare"),profileEvaluationRun:i(n=>t("profile/evaluations/run",null,()=>e.runPreparedProfileEvaluation(n)),"profileEvaluationRun"),profileEvaluationRunSuite:i(n=>t("profile/evaluations/runSuite",null,()=>e.runProfileEvaluationSuite(n)),"profileEvaluationRunSuite"),profileEvaluationExecuteCase:i(n=>t("profile/evaluations/executeCase",null,()=>e.executeProfileEvaluationCase(n)),"profileEvaluationExecuteCase"),profileEvaluationExecuteRun:i(n=>t("profile/evaluations/executeRun",null,()=>e.executeProfileEvaluationRun(n)),"profileEvaluationExecuteRun"),profileEvaluationCompare:i(n=>t("profile/evaluations/compare",null,()=>e.compareProfileEvaluationRuns(n)),"profileEvaluationCompare"),harnessInspect:i(()=>t("harness/inspect",null,()=>e.inspectHarness()),"harnessInspect"),harnessProposalReview:i(n=>t("harness/proposalReview",null,()=>e.reviewHarnessProposal(n)),"harnessProposalReview"),harnessReview:i(n=>t("harness/review",null,()=>e.reviewHarness(n)),"harnessReview"),harnessAcceptEvaluationReview:i(n=>t("harness/acceptEvaluationReview",null,()=>e.acceptHarnessEvaluationReview(n)),"harnessAcceptEvaluationReview"),harnessMaterializeEvaluationTaskset:i(n=>t("harness/materializeEvaluationTaskset",null,()=>e.materializeHarnessEvaluationTaskset(n)),"harnessMaterializeEvaluationTaskset"),harnessRunEvaluationBaseline:i(n=>t("harness/runEvaluationBaseline",null,()=>e.runHarnessEvaluationBaseline(n)),"harnessRunEvaluationBaseline"),harnessValidate:i(()=>t("harness/validate",null,()=>e.validateHarness()),"harnessValidate"),harnessBackgroundReview:i(n=>t("harness/backgroundReview",null,()=>e.updateHarnessBackgroundReview(n)),"harnessBackgroundReview"),harnessDiff:i(n=>t("harness/diff",null,()=>e.diffHarness(n)),"harnessDiff"),harnessRollback:i(n=>t("harness/rollback",null,()=>e.rollbackHarness(n)),"harnessRollback"),refinerInspect:i(()=>t("refiner/inspect",null,()=>e.inspectRefiner()),"refinerInspect"),refinerUpdate:i(n=>t("refiner/update",null,()=>e.updateRefiner(n)),"refinerUpdate"),refinerActivate:i(n=>t("refiner/activate",null,()=>e.activateRefiner(n)),"refinerActivate"),refinerRollback:i(n=>t("refiner/rollback",null,()=>e.rollbackRefiner(n)),"refinerRollback"),subscribe:e.subscribeEvents&&e.eventNotification?n=>e.subscribeEvents(s=>n(e.eventNotification(s))):void 0}}i(L,"createAgentRuntimeService");var m=a.string().regex(/^[a-f0-9]{64}$/),et=a.object({harnessReleaseHash:m,instructionsHash:m,skillHashes:a.record(a.string(),m),agentAssetHashes:a.record(a.string(),m),toolCatalogHash:m,memoryRevision:a.number().int().nonnegative().nullable()}).strict(),se=a.object({protocolVersion:a.string().trim().min(1),threadId:a.string().trim().min(1),turnId:a.string().trim().min(1),harnessReleaseHash:m,toolCatalogHash:m,context:a.record(a.string(),a.unknown()),pendingInteraction:a.record(a.string(),a.unknown()).nullable(),usage:a.record(a.string(),a.unknown())}).strict();function tt(e){return g(se.parse(e))}i(tt,"checkpointHash");function nt(e){return[e.system,...e.harnessInstructions,...e.skillInstructions,...e.hostInstructions??[]].map(t=>t.trim()).filter(Boolean).join(`
4
+
5
+ `)}i(nt,"materializeAgentPrompt");function st(e){let t=new Set,r=[...e].map(o=>{let l=o.name.trim();if(!l)throw new Error("Agent tool names cannot be empty.");if(t.has(l))throw new Error(`Duplicate agent tool: ${l}.`);if(t.add(l),!o.unavailableReason&&!o.executorAvailable)throw new Error(`Agent tool ${l} is declared as available without an executor.`);return{...o,name:l}}).sort((o,l)=>o.name.localeCompare(l.name)),n=r.filter(o=>!o.unavailableReason).map(o=>({name:o.name,description:o.description,inputSchema:o.inputSchema})),s=r.map(o=>({name:o.name,displayLabel:o.displayLabel??o.name,placement:o.placement,available:!o.unavailableReason,unavailableReason:o.unavailableReason??null}));return{byName:new Map(r.map(o=>[o.name,o])),tools:r,modelTools:n,capabilities:s,hash:g({modelTools:n,capabilities:s})}}i(st,"createAgentToolCatalogProjection");async function ot(e,t){let r=e.byName.get(t.name);if(!r)throw new Error(`Unknown agent tool: ${t.name}.`);if(r.unavailableReason)throw new Error(`Agent tool ${t.name} is unavailable: ${r.unavailableReason}`);if(!r.execute)throw new Error(`Agent tool ${t.name} has no executor.`);let n=r.validateArguments?r.validateArguments(t.arguments):t.arguments;return r.execute(n,t.context)}i(ot,"executeProjectedAgentTool");var F=class{static{i(this,"TaskSignals")}#e=new Map;notify(t){for(let r of[...this.#e.get(t)??[]])r()}subscribe(t,r){let n=this.#e.get(t);return n||this.#e.set(t,n=new Set),n.add(r),()=>{n.delete(r),n.size===0&&this.#e.delete(t)}}async wait(t){let r=i(()=>{},"wake"),n=0,s=i(()=>{n+=1,r()},"changed"),o=[...new Set(t.taskIds)].map(c=>this.subscribe(c,s)),l=setTimeout(s,Math.max(0,t.deadline-Date.now()));t.signal.addEventListener("abort",s);try{for(;;){t.signal.throwIfAborted();let c=n,h=await t.read();if(h!==null)return h;if(Date.now()>=t.deadline)return null;n===c&&await new Promise(u=>{r=u,(n!==c||t.signal.aborted)&&u()})}}finally{clearTimeout(l),t.signal.removeEventListener("abort",s);for(let c of o)c()}}},J=class{static{i(this,"TaskSerialExecutor")}#e=new Map;async run(t,r){let s=(this.#e.get(t)??Promise.resolve()).then(r),o=s.then(()=>{},()=>{});this.#e.set(t,o);try{return await s}finally{this.#e.get(t)===o&&this.#e.delete(t)}}};function St(e){return oe({runtime:L(e.ports),close:e.close})}i(St,"createAppServer");function oe(e){let t=!1;return{runtime:e.runtime,close:i(async()=>{t||(t=!0,await e.close?.())},"close")}}i(oe,"attachAppServer");async function Tt(e){try{await D({host:e.appServer.runtime,readable:e.readable,writable:e.writable})}finally{await e.appServer.close()}}i(Tt,"runAppServerJsonl");import{randomBytes as le}from"node:crypto";function jt(){return A()}i(jt,"appDataDir");function zt(e){return d(e).config}i(zt,"providersConfigPath");function Ht(e){return d(e).credentials}i(Ht,"providerSecretsConfigPath");function Nt(e){return d(e).key}i(Nt,"providerSecretsKeyPath");async function Ot(e){let t=d(e).token;return z(t,async()=>{let r=(await j(t))?.trim(),n=process.env.OPENPOND_APP_TOKEN||r||le(32).toString("base64url");return n!==r&&await E(t,n),{token:n,tokenFile:t}})}i(Ot,"ensureCapabilityToken");export{pe as a,fe as b,me as c,g as d,ge as e,be as f,xe as g,X as h,He as i,y as j,ye as k,se as l,tt as m,nt as n,st as o,ot as p,F as q,J as r,St as s,Tt as t,jt as u,zt as v,Ht as w,Nt as x,Ot as y};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{e as g,g as $,h as O,i as C}from"./chunk-QLZ67Y6C.js";import{a as w}from"./chunk-3M53YXEI.js";import{a as r}from"./chunk-FTQLQJQV.js";var L=Symbol("openpondCliOptionValues"),a=class extends Error{static{r(this,"CliUsageError")}exitCode=2;constructor(t){super(t),this.name="CliUsageError"}},K=new Set(["maxOutputBytes","timeoutSec"]);function k(n){let t=[...n],o="",i={},e={},u=[];for(;t.length>0;){let s=t.shift();if(s==="--"){u.push(...t);break}if(s.startsWith("--")){let f=s.indexOf("="),c=f>=0?s.slice(2,f):s.slice(2),p=N(c),d=f>=0?s.slice(f+1):P(t,p,o);h(i,e,p,d,o)}else _(s)?y(s,t,i,e):o?u.push(s):o=s}return Object.defineProperty(i,L,{value:e,enumerable:!1,configurable:!1,writable:!1}),V(o,i),{command:o,options:i,rest:u}}r(k,"parseArgs");function N(n){return n.replace(/-([a-z])/g,(t,o)=>o.toUpperCase())}r(N,"normalizeCliOptionKey");function _(n){return/^-[^-].*/.test(n)&&!S(n)}r(_,"isShortOptionToken");function y(n,t,o,i){let e=n.slice(1);if(!e)return;let u=e.indexOf("="),s=u>=0?e.slice(0,u):e,f=u>=0?e.slice(u+1):null;if(s.length!==1){for(let d of s){let m=g[d];if(!m)throw new a(`unknown short option -${d}`);if(C(m)!=="boolean")throw new a(`short option -${d} requires its own value`);h(o,i,m,"true")}return}let c=g[s];if(!c)throw new a(`unknown short option -${s}`);let p=f??P(t,c);h(o,i,c,p)}r(y,"parseShortOptionToken");function P(n,t,o){let i=I(t,o);if(i==="boolean")return n[0]&&x(n[0])?n.shift():"true";if(i){let e=n.shift();if(e===void 0||R(e)&&!S(e))throw e!==void 0&&n.unshift(e),new a(`${l(t)} must be ${b(i)}`);return e}return n[0]&&!n[0].startsWith("--")?n.shift():"true"}r(P,"readOptionValue");function h(n,t,o,i,e){T(o,i,e),n[o]=i,(t[o]??=[]).push(i)}r(h,"setParsedOption");function T(n,t,o){let i=I(n,o);if(i){if(i==="boolean"){if(!x(t))throw new a(`${l(n)} must be a boolean`);return}if(t.trim().length===0||t==="true")throw new a(`${l(n)} must be ${b(i)}`);if(i==="number"||i==="integer"){let e=Number(t);if(!Number.isFinite(e))throw new a(`${l(n)} must be ${b(i)}`);if(i==="integer"&&!Number.isInteger(e))throw new a(`${l(n)} must be an integer`);if(i==="integer"&&K.has(n)&&e<=0)throw new a(`${l(n)} must be a positive integer`);return}if(i==="json")try{w(t,l(n))}catch(e){throw new a(e instanceof Error?e.message:String(e))}}}r(T,"validateParsedOptionValue");function I(n,t){return t?O(t,n):C(n)}r(I,"typedOptionKind");function l(n){return n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}r(l,"cliOptionLabel");function E(n){return n==="json"?"JSON value":n}r(E,"optionKindLabel");function b(n){let t=E(n);return/^[aeiou]/i.test(t)?`an ${t}`:`a ${t}`}r(b,"optionKindPhrase");function x(n){return/^(true|false|1|0|yes|no)$/i.test(n)}r(x,"isBooleanLiteral");function R(n){return n.startsWith("-")&&n!=="-"}r(R,"isOptionLike");function S(n){return/^-\d+(?:\.\d+)?$/.test(n)}r(S,"isNegativeNumber");function V(n,t){let o=n?$(n):null;for(let i of Object.keys(t))if(!O(n,i)){let e=l(i),u=o?` for ${o.name}`:"";throw new a(`unknown option --${e}${u}`)}}r(V,"validateCommandOptions");export{a,k as b};
2
+ import{e as g,g as $,h as O,i as C}from"./chunk-VL3RGI55.js";import{a as w}from"./chunk-3M53YXEI.js";import{a as r}from"./chunk-FTQLQJQV.js";var L=Symbol("openpondCliOptionValues"),a=class extends Error{static{r(this,"CliUsageError")}exitCode=2;constructor(t){super(t),this.name="CliUsageError"}},K=new Set(["maxOutputBytes","timeoutSec"]);function k(n){let t=[...n],o="",i={},e={},u=[];for(;t.length>0;){let s=t.shift();if(s==="--"){u.push(...t);break}if(s.startsWith("--")){let f=s.indexOf("="),c=f>=0?s.slice(2,f):s.slice(2),p=N(c),d=f>=0?s.slice(f+1):P(t,p,o);h(i,e,p,d,o)}else _(s)?y(s,t,i,e):o?u.push(s):o=s}return Object.defineProperty(i,L,{value:e,enumerable:!1,configurable:!1,writable:!1}),V(o,i),{command:o,options:i,rest:u}}r(k,"parseArgs");function N(n){return n.replace(/-([a-z])/g,(t,o)=>o.toUpperCase())}r(N,"normalizeCliOptionKey");function _(n){return/^-[^-].*/.test(n)&&!S(n)}r(_,"isShortOptionToken");function y(n,t,o,i){let e=n.slice(1);if(!e)return;let u=e.indexOf("="),s=u>=0?e.slice(0,u):e,f=u>=0?e.slice(u+1):null;if(s.length!==1){for(let d of s){let m=g[d];if(!m)throw new a(`unknown short option -${d}`);if(C(m)!=="boolean")throw new a(`short option -${d} requires its own value`);h(o,i,m,"true")}return}let c=g[s];if(!c)throw new a(`unknown short option -${s}`);let p=f??P(t,c);h(o,i,c,p)}r(y,"parseShortOptionToken");function P(n,t,o){let i=I(t,o);if(i==="boolean")return n[0]&&x(n[0])?n.shift():"true";if(i){let e=n.shift();if(e===void 0||R(e)&&!S(e))throw e!==void 0&&n.unshift(e),new a(`${l(t)} must be ${b(i)}`);return e}return n[0]&&!n[0].startsWith("--")?n.shift():"true"}r(P,"readOptionValue");function h(n,t,o,i,e){T(o,i,e),n[o]=i,(t[o]??=[]).push(i)}r(h,"setParsedOption");function T(n,t,o){let i=I(n,o);if(i){if(i==="boolean"){if(!x(t))throw new a(`${l(n)} must be a boolean`);return}if(t.trim().length===0||t==="true")throw new a(`${l(n)} must be ${b(i)}`);if(i==="number"||i==="integer"){let e=Number(t);if(!Number.isFinite(e))throw new a(`${l(n)} must be ${b(i)}`);if(i==="integer"&&!Number.isInteger(e))throw new a(`${l(n)} must be an integer`);if(i==="integer"&&K.has(n)&&e<=0)throw new a(`${l(n)} must be a positive integer`);return}if(i==="json")try{w(t,l(n))}catch(e){throw new a(e instanceof Error?e.message:String(e))}}}r(T,"validateParsedOptionValue");function I(n,t){return t?O(t,n):C(n)}r(I,"typedOptionKind");function l(n){return n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}r(l,"cliOptionLabel");function E(n){return n==="json"?"JSON value":n}r(E,"optionKindLabel");function b(n){let t=E(n);return/^[aeiou]/i.test(t)?`an ${t}`:`a ${t}`}r(b,"optionKindPhrase");function x(n){return/^(true|false|1|0|yes|no)$/i.test(n)}r(x,"isBooleanLiteral");function R(n){return n.startsWith("-")&&n!=="-"}r(R,"isOptionLike");function S(n){return/^-\d+(?:\.\d+)?$/.test(n)}r(S,"isNegativeNumber");function V(n,t){let o=n?$(n):null;for(let i of Object.keys(t))if(!O(n,i)){let e=l(i),u=o?` for ${o.name}`:"";throw new a(`unknown option --${e}${u}`)}}r(V,"validateCommandOptions");export{a,k as b};
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{f as S}from"./chunk-3M53YXEI.js";import{a as o}from"./chunk-FTQLQJQV.js";import{readFileSync as j}from"node:fs";import k from"node:path";function P(){let t=["../../../package.json","../../package.json","../package.json","./package.json","../../../../package.json"];for(let n of t)try{let s=new URL(n,import.meta.url),i=j(s,"utf-8"),r=JSON.parse(i);if(typeof r.version=="string")return r.version}catch{}try{let n=j(k.join(k.dirname(process.execPath),"package.json"),"utf-8"),s=JSON.parse(n);if(typeof s.version=="string")return s.version}catch{}return"unknown"}o(P,"getInstalledCliVersion");function I(t){let n=/^v?(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/.exec(t.trim());if(!n)return null;let s=Number.parseInt(n[1],10),i=Number.parseInt(n[2],10),r=Number.parseInt(n[3],10);return!Number.isFinite(s)||!Number.isFinite(i)||!Number.isFinite(r)?null:[s,i,r]}o(I,"parseSemver");function X(t,n){let s=I(t),i=I(n);if(!s||!i)return null;for(let r=0;r<3;r+=1){if(s[r]<i[r])return-1;if(s[r]>i[r])return 1}return 0}o(X,"compareSemver");async function Y(t){let n=new AbortController,s=setTimeout(()=>n.abort(),7e3);try{let i=await fetch(`https://registry.npmjs.org/${encodeURIComponent(t)}/latest`,{signal:n.signal});if(!i.ok){let d=await i.text().catch(()=>"");throw new Error(`npm registry request failed: ${i.status} ${d}`.trim())}let r=await i.json().catch(()=>({}));if(typeof r.version!="string"||r.version.trim().length===0)throw new Error("npm registry payload missing version");return r.version.trim()}finally{clearTimeout(s)}}o(Y,"fetchLatestNpmVersion");var a="boolean",m="integer",l="json",g="number",e="string",O={agent:e,approvalPolicy:e,cwd:e,json:a,maxOutputBytes:m,message:e,messageFile:e,model:e,noServerStart:a,nonInteractive:a,project:e,provider:e,resume:e,sandbox:e,server:e,stdin:a,timeoutSec:m,yes:a},x={access:e,agentId:e,all:a,artifactPaths:e,async:a,authHeader:e,authHeaderValue:e,authToken:e,autoStart:a,baseRef:e,branch:e,budget:g,budgetUsd:g,cleanup:a,cols:m,command:e,content:e,contentBase64:e,contents:e,contentsBase64:e,cpu:g,create:a,description:e,diskGb:g,dockerBuildArgs:l,dockerRegistrySecretRefs:e,dockerfile:e,dockerfileContext:e,dockerfileTarget:e,domain:e,env:e,environment:e,envLiteral:e,envName:e,envRef:e,expectedMppMode:e,expectedVersion:m,failOnUnpreservedChanges:a,ffOnly:a,forceWithLease:a,fork:a,fromPath:e,idempotencyKey:e,idleTimeoutSeconds:m,image:e,imageDigest:e,input:e,inputBase64:e,integrationCapabilities:e,integrationConnection:e,integrationScopes:e,intervalMs:m,json:a,keep:a,label:e,leaseId:e,lifecycleHint:l,manifestPath:e,maxDurationSeconds:m,maxEntries:g,maxResults:g,memoryGb:g,message:e,name:e,noPreview:a,overwrite:a,params:l,path:e,paths:e,payload:l,port:m,preview:a,projectId:e,publish:a,q:e,query:e,rebase:a,recursive:a,registrySecretRef:e,remote:e,replayState:e,repo:e,respondAsync:a,rows:m,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProfileId:e,runtimeProjectId:e,runtimePromotionPolicy:e,runtimeWorkspaceRoot:e,sandboxId:e,scope:e,since:m,snapshot:a,snapshotId:e,sourceProjectId:e,sourceRepoUrl:e,sourceSandboxId:e,startPoint:e,status:e,stdin:a,summary:a,tag:e,tags:e,targetId:e,targetType:e,teamId:e,templateName:e,templateVersion:e,templateVisibility:e,timeoutSeconds:m,toPath:e,type:e,useCase:e,validationCommand:e,value:e,version:e,volumeDeleteOnSandboxDelete:a,volumeMountPath:e,volumeName:e,volumeStorageGb:g,workflowMode:e},A={action:e,agentId:e,budget:g,budgetUsd:g,build:e,branch:e,commit:a,commitMessage:e,description:e,dir:e,disableSchedule:e,disableSchedules:e,enableSchedule:e,enableSchedules:e,entrypoint:e,env:l,envRef:e,file:e,force:a,idleTimeoutSeconds:m,inherit:a,input:l,inputFile:e,inputFiles:e,inputJson:l,inputs:l,json:a,keepTokenRemote:a,manifest:e,maxDurationSeconds:m,name:e,noPush:a,noWrite:a,out:e,outDir:e,output:e,outputDir:e,params:l,path:e,plan:e,projectId:e,repo:e,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProjectId:e,runtimePromotionPolicy:e,scheduleMode:e,scheduleOverride:l,scheduleOverrides:l,schedules:e,service:e,setRemoteToken:a,setupTimeoutSeconds:m,target:e,teamId:e,timeoutSeconds:m,token:e,workflowMode:e,yes:a},T={branch:e,commitMessage:e,defaultBranch:e,description:e,gitOwner:e,gitRepo:e,internalRepoPath:e,json:a,name:e,path:e,projectId:e,repo:e,sourceCheckDispatch:e,sourceType:e,teamId:e,templateRepoUrl:e},E={agentId:e,agentEdit:l,allowLatestSource:a,allowedActions:e,attachmentsJson:l,baseSha:e,chatMode:e,checkKind:e,conversationId:e,cwd:e,dispatch:e,entrypointName:e,entrypointScope:e,expectedManifestHash:e,evalStatus:e,expectedSourceCommitSha:e,idempotencyKey:e,input:l,inputFile:e,json:a,limit:m,message:e,metadata:l,name:e,path:e,payload:l,projectId:e,prompt:e,provider:e,publishedSnapshotId:e,ref:e,requirePublishedSnapshot:a,requiredEnv:e,requiredIntegrations:e,runtimePromotionPolicy:e,runtimeSourceMode:e,sourceCheckDispatch:e,sourceMode:e,sourceRef:e,status:e,targetProjectId:e,teamId:e,triggerType:e,workflowMode:e};var b={account:"string",apiBaseUrl:"string",apiBaseurl:"string",baseUrl:"string",baseurl:"string",chatApiBaseUrl:"string",chatApiBaseurl:"string",checkUpdate:"boolean",cwd:"string",help:"boolean",home:"string",json:"boolean",profile:"string",sandboxApiUrl:"string",sandboxApiurl:"string",tui:"boolean",version:"boolean"},ae={C:"cwd",f:"force",h:"help",j:"json",v:"version",y:"yes"},B={cwd:"string",input:"json",inputFile:"string",json:"boolean",path:"string"},C=[{name:"home",usage:"openpond home [--home <directory>]",optionSchema:{},handler:o(async()=>console.log((await import("./dist-UA2RQUA4.js")).resolveOpenPondHome()),"handler")},{name:"config",usage:"openpond config <get|set|unset|path|validate|schema|doctor|migrate|recover|restart-migration|revisions|replace|effective|trust|untrust|export|backup|restore|collect-orphans|clear-cache> [key] [value] [--home <directory>] [--json]",optionSchema:{keyPath:"json",value:"string",file:"string",project:"boolean",revision:"string",expectedRevision:"string",sourceAppHome:"string",sourceConfig:"string",sourceBrowserState:"string",dryRun:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./configuration-command-DH4ZZUKL.js")).runConfigurationCommand(t,n),"handler")},{name:"help",usage:"openpond help",optionSchema:{},handler:o(async()=>(await import("./help-AOVE3SSY.js")).printHelp(),"handler")},{name:"version",usage:"openpond version",optionSchema:{},handler:o(()=>console.log(P()),"handler")},{name:"check-update",usage:"openpond check-update",optionSchema:{},handler:o(async()=>(await import("./core-commands-TUUSA6WB.js")).runCheckUpdate(),"handler")},{name:"login",usage:"openpond login [--base-url <url>]",optionSchema:b,handler:o(async({options:t})=>(await import("./core-commands-TUUSA6WB.js")).runLogin(t),"handler")},{name:"init",usage:"openpond init [--path <dir>] [--profile <name>] [--template <name>] [--force] [--json]",optionSchema:{...b,force:"boolean",path:"string",template:"string"},handler:o(async({options:t})=>(await import("./profile-FRYWK2IE.js")).runOpenPondInitCommand(t),"handler")},{name:"profile",usage:"openpond profile <current|init|load|check|push|commit|diff|catalog>",optionSchema:{checkKind:"string",conversationId:"string",ensureHosted:"boolean",expectedManifestHash:"string",force:"boolean",hostedCheckKind:"string",hostedRunAgentId:"string",hostedRunConversationId:"string",hostedRunIdempotencyKey:"string",hostedRunInput:"json",hostedRunRetry:"boolean",hostedRunTargetProjectId:"string",hostedSourceDispatch:"string",hostedSourceAgentId:"string",hostedSourceChecks:"boolean",hostedSourceProjectId:"string",json:"boolean",kind:"string",path:"string",publishHostedSource:"boolean",teamId:"string"},handler:o(async({options:t,rest:n})=>(await import("./profile-FRYWK2IE.js")).runOpenPondProfileCommand(t,n),"handler")},{name:"agents",usage:"openpond agents [--json]",optionSchema:{json:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./profile-FRYWK2IE.js")).runOpenPondAgentsCommand(t,n),"handler")},{name:"actions",usage:"openpond actions <check|build|run|dev|publish> [action-id] [--cwd DIR] [--input JSON|--input-file PATH]",optionSchema:{apiKey:"string",baseUrl:"string",cwd:"string",input:"string",inputFile:"string",json:"boolean",outputDirectory:"string",sourceDirectory:"string",sourceCommitSha:"string",sourceRef:"string",projectId:"string",teamId:"string",timeoutMs:"integer"},handler:o(async({options:t,rest:n})=>(await import("./actions-command-33SJXJKC.js")).runProjectActionsCommand(t,n),"handler")},...K(),{name:"extension",usage:"openpond extension <add|preview|list|inspect|update|remove> [owner/repo]",usages:["openpond extension add <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update --all [--json]","openpond extension remove <owner/repo> [--json]"],optionSchema:{all:"boolean",json:"boolean",ref:"string"},handler:o(async({options:t,rest:n})=>(await import("./extension-D64BYPFY.js")).runOpenPondExtensionCommand(t,n),"handler")},{name:"profiles",usage:"openpond profiles [args]",optionSchema:{json:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./core-commands-TUUSA6WB.js")).runProfiles(t,n),"handler")},{name:"account",usage:"openpond account",optionSchema:{json:"boolean"},handler:o(async()=>(await import("./core-commands-TUUSA6WB.js")).runAccount(),"handler")},{name:"health",usage:"openpond health",optionSchema:{json:"boolean"},handler:o(async({options:t})=>(await import("./core-commands-TUUSA6WB.js")).runHealth(t),"handler")},{name:"app-server",usage:"openpond app-server [--home DIR]",optionSchema:{home:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-SSLVAUNI.js")).runOpenPondServerCommand("app-server",t,n),"handler")},{name:"serve",usage:"openpond serve [args]",optionSchema:{host:"string",hostname:"string",listen:"string",port:"integer"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-SSLVAUNI.js")).runOpenPondServerCommand("serve",t,n),"handler")},{name:"ui",usage:"openpond ui [--no-open] [--hostname HOST] [--port PORT]",optionSchema:{host:"string",hostname:"string",listen:"string",noOpen:"boolean",port:"integer",webRoot:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-SSLVAUNI.js")).runOpenPondServerCommand("web",t,n),"handler")},{name:"tui",aliases:["interactive"],usage:"openpond tui [--provider <id>] [--model <id>] [--project <id>]",optionSchema:{cwd:"string",model:"string",noServerStart:"boolean",project:"string",provider:"string",server:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-SSLVAUNI.js")).runOpenPondTerminalCommand(t,n),"handler")},{name:"chat",usage:"openpond chat (--message-file <path>|--message <text>|--stdin) --non-interactive [--provider <id>] [--model <id>] [--agent <id>] [--project <id>] [--resume <session-id>] [--yes] [--approval-policy <policy>] [--json] [--timeout-sec <n>] [--max-output-bytes <n>] [--sandbox <mode>]",optionSchema:O,handler:o(async({options:t,rest:n})=>(await import("./app-layer-SSLVAUNI.js")).runOpenPondTerminalCommand(t,n),"handler")},{name:"tool",usage:"openpond tool <list|run> <handle>/<repo> [args]",optionSchema:{body:"json",json:"boolean"},handler:F},{name:"backtest",usage:"openpond backtest <run|events|get> <handle>/<repo> [args]",optionSchema:{body:"json",branch:"string",deploymentId:"string",limit:"integer",runId:"string"},handler:$},{name:"deploy",usage:"openpond deploy watch <handle>/<repo> [--branch <branch>]",optionSchema:{branch:"string"},handler:G},{name:"template",usage:"openpond template <status|branches|update> <handle>/<repo> [--env preview|production]",optionSchema:{env:"string"},handler:J},{name:"sandbox-template",usage:"openpond sandbox-template <command> [args]",optionSchema:A,handler:o(async({options:t,rest:n})=>(await import("./sandbox-template-SPVQIMG5.js")).runSandboxTemplateCommand(t,n),"handler")},{name:"repo",usage:"openpond repo <create|push> [--name <name>] [--path <dir>] [--branch <branch>]",optionSchema:{branch:"string",name:"string",path:"string"},handler:V},{name:"organizations",aliases:["organization"],usage:"openpond organizations <login|list|use|logout|whoami> [args]",optionSchema:{accessToken:"string",arguments:"json",callbackPort:"integer",clientId:"string",customDomain:"string",displayName:"string",email:"string",env:"string",environment:"string",json:"boolean",name:"string",open:"boolean",origin:"string",primaryContactEmail:"string",printToken:"boolean",resourceUrl:"string",role:"string",scope:"string",scopes:"string",slug:"string",status:"string",timeout:"integer",timeoutSeconds:"integer",tool:"string",toolName:"string",toolset:"string",url:"string"},handler:o(async({options:t,rest:n})=>(await import("./organizations-AAES2P7W.js")).runOrganizationsCommand(t,n),"handler")},{name:"project",usage:"openpond project <list|create|upsert|get|update|sync|source-upload|archive> [args]",optionSchema:T,handler:o(async({options:t,rest:n})=>(await import("./project-agent-WPW6DWK7.js")).runProjectCommand(t,n),"handler")},{name:"agent",usage:"openpond agent <inspect|build|validate|eval|traces|list|create|upsert|get|update|run|run-test|bind-source|source|archive> [args]",usages:["openpond agent run <action> [--cwd <project>] [--input <json>]","openpond agent run <agentId> --team-id <id> [--conversation-id <id>] [--target-project-id <projectId>] [--input <json>]","openpond agent source checks <agentId> --team-id <id> [--check-kind <kind>]","openpond agent source publish <agentId> --team-id <id> [--expected-manifest-hash <hash>]"],optionSchema:E,handler:o(async({options:t,rest:n})=>(await import("./project-agent-WPW6DWK7.js")).runAgentCommand(t,n),"handler")},{name:"desktop-test",usage:"openpond desktop-test <run|attach> <scenario...> [--isolated|--attach|--packaged|--none] [--app <path>] [--artifacts-dir <path>] [--json <path>]",optionSchema:{artifactsDir:"string",attach:"boolean",cwd:"string",devtoolsPort:"integer",grep:"string",isolated:"boolean",json:"string",jsonPath:"string",keepHome:"boolean",none:"boolean",server:"string",timeoutMs:"integer",token:"string",tokenFile:"string"},handler:o(async({options:t,rest:n})=>(await import("./desktop-test-S3RME4QT.js")).runDesktopTestCommand(t,n),"handler")},{name:"sandbox",usage:"openpond sandbox <command> [args]",optionSchema:x,handler:o(async({options:t,rest:n})=>(await import("./sandbox-command-ZHKJZ3FJ.js")).runSandboxCommand(t,n),"handler")},{name:"continual",usage:"openpond continual <init|validate|run|report> [manifest-or-series-id]",usages:["openpond continual init --from <tasks.jsonl> [--output <continual-support.yaml>] [--non-interactive]","openpond continual validate <continual-support.yaml> [--json]","openpond continual run <continual-support.yaml> [--api-base-url <url>] [--json]","openpond continual report <comparison-series-id> [--output <report.json>] [--json]"],optionSchema:{apiBaseUrl:"string",commit:"string",correctionCasesPerFamily:"integer",correctionSelection:"string",description:"string",from:"string",grader:"string",id:"string",json:"boolean",license:"string",name:"string",nonInteractive:"boolean",output:"string",repository:"string",seed:"string",semanticSimilarityThreshold:"number"},handler:o(async({options:t,rest:n})=>(await import("./continual-OJYXVTIZ.js")).runContinualCommand(t,n),"handler")},{name:"training",usage:"openpond training <create-project|start|status|watch|logs|cancel|resume|artifacts|benchmark> <taskset-id|model-run-id|run-id|model-id>",usages:["openpond training create-project <taskset-id> --recipe <path> [--project-id <id>] [--profile <id>] [--name <name>] [--objective <text>] [--destination <id>] [--rollout-placement <local|remote>] [--gpu-placement-objective <fast|balanced|economical>] [--run-preset <preset>] [--max-spend <usd>] [--retention-days <days>] [--json]","openpond training start <model-project-id> [--comparison-series-entry <entry-id>] [--manifest <path>] [--yes] [--export-approved] [--max-spend <usd>] [--retention-days <days>] [--detach] [--json]","openpond training status <run-id> [--json]","openpond training watch <run-id> [--interval-ms <ms>] [--json]","openpond training logs <run-id> [--json]","openpond training cancel <run-id> [--json]","openpond training resume <model-run-id> [--json]","openpond training artifacts <run-id> [--json]","openpond training benchmark <model-id> [--provider <id>] [--model <id>] [--reasoning-effort <level>] [--max-spend <usd>] [--json]"],optionSchema:{apiBaseUrl:"string",comparisonSeriesEntry:"string",detach:"boolean",destination:"string",exportApproved:"boolean",gpuPlacementObjective:"string",intervalMs:"integer",json:"boolean",manifest:"string",maxSpend:"number",model:"string",name:"string",objective:"string",profile:"string",projectId:"string",provider:"string",recipe:"string",reasoningEffort:"string",retentionDays:"integer",rolloutPlacement:"string",runPreset:"string",yes:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./training-2NDOWH5S.js")).runTrainingCommand(t,n),"handler")},{name:"taskset",usage:"openpond taskset <import|publish|readiness|delete-draft> <package-path|draft-id|taskset-id> [--profile <id>] [--model <id>] [--json]",usages:["openpond taskset import <package-directory|taskset.json> [--profile <id>] [--json]","openpond taskset publish <draft-id> [--model <id>] [--json]","openpond taskset readiness <taskset-id> [--json]","openpond taskset delete-draft <draft-id> [--json]"],optionSchema:{apiBaseUrl:"string",json:"boolean",model:"string",profile:"string"},handler:o(async({options:t,rest:n})=>(await import("./taskset-PISBOILQ.js")).runTasksetCommand(t,n),"handler")},{name:"opchat",usage:"openpond opchat <command> [args]",optionSchema:{compatModel:"string",compatibilityModel:"string",env:"string",environment:"string",json:"boolean",message:"string",model:"string",opchatApiBaseUrl:"string",opchatApiUrl:"string",prompt:"string",skipStream:"boolean",skipTool:"boolean",stream:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./opchat-KC2FL5TT.js")).runOpChatCommand(t,n),"handler")},{name:"teams-bot",usage:"openpond teams-bot <command> [args]",optionSchema:{json:"boolean",teamId:"string"},handler:o(async({options:t,rest:n})=>(await import("./teams-bot-LD3QORJI.js")).runTeamsBotCommand(t,n),"handler")},{name:"apps",usage:"openpond apps <list|code-visibility|tools|deploy|env get|env set|performance|summary|assistant|agent create> [args]",optionSchema:{appId:"string",body:"json",env:"json",json:"boolean",limit:"integer",refresh:"boolean",teamId:"string",watch:"boolean"},handler:q},{name:"opentool",usage:"openpond opentool <init|validate|build> [args]",optionSchema:{},handler:o(async({rest:t})=>(await import("./core-commands-TUUSA6WB.js")).runOpentool(t),"handler")}],y=new Map;for(let t of C){y.set(t.name,t);for(let n of t.aliases??[])y.set(n,t)}function re(){return C}o(re,"listCliCommandDefinitions");function w(t){return y.get(t)??null}o(w,"getCliCommandDefinition");function ie(t,n){return w(t||"ui")?.optionSchema[n]??b[n]}o(ie,"getCliOptionKind");function se(t){let n=b[t];if(n)return n;for(let s of C){let i=s.optionSchema[t];if(i)return i}}o(se,"getAnyCliOptionKind");async function pe(t){let n=w(t.command);return n?S(t.options.help)?(L(n),!0):(await n.handler(t),!0):!1}o(pe,"runCliCommand");function H(t){let n=["Usage:",` ${t.usage}`,...(t.usages??[]).map(i=>` ${i}`)];t.aliases?.length&&n.push("","Aliases:",` ${t.aliases.join(", ")}`);let s=Object.entries(t.optionSchema).sort(([i],[r])=>i.localeCompare(r));if(s.length>0){n.push("","Options:");for(let[i,r]of s){let d=U(i);n.push(r==="boolean"?` --${d}`:` --${d} <${r}>`)}}return n.join(`
3
- `)}o(H,"formatCliCommandUsage");function L(t){console.log(H(t))}o(L,"printCliCommandUsage");function U(t){return t.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`)}o(U,"cliOptionName");function K(){return["inspect","build","validate","eval","run"].map(n=>({name:n,usage:`openpond ${n} [args]`,optionSchema:B,handler:o(async({options:s,rest:i})=>(await import("./profile-FRYWK2IE.js")).runOpenPondProfileSdkAlias(n,s,i),"handler")}))}o(K,"profileSdkAliasDefinitions");async function F({options:t,rest:n}){let{runToolList:s,runToolRun:i}=await import("./core-commands-TUUSA6WB.js"),r=n[0];if(r==="list"){let d=n[1];if(!d)throw new Error("usage: tool list <handle>/<repo>");await s(t,d);return}if(r==="run"){let d=n[1],c=n[2];if(!d||!c)throw new Error("usage: tool run <handle>/<repo> <tool> [--body <json>]");await i(t,d,c);return}throw new Error("usage: tool <list|run> <handle>/<repo> [args]")}o(F,"runToolCommand");async function $({options:t,rest:n}){let{runBacktestRun:s}=await import("./core-commands-TUUSA6WB.js"),{runBacktestEvents:i,runBacktestGet:r}=await import("./apps-JEKTEGSW.js"),d=n[0]||"run";if(d==="run"){let c=n[1],f=n[2];if(!c||!f)throw new Error("usage: backtest run <handle>/<repo> <tool> [--body <json>] [--branch <branch>] [--deployment-id <id>]");await s(t,c,f);return}if(d==="events"){let c=n[1];if(!c)throw new Error("usage: backtest events <handle>/<repo> [--run-id <id>] [--limit <n>]");await i(t,c);return}if(d==="get"){let c=n[1];if(!c)throw new Error("usage: backtest get <handle>/<repo> --run-id <id>");await r(t,c);return}throw new Error("usage: backtest <run|events|get> <handle>/<repo> [args]")}o($,"runBacktestCommand");async function G({options:t,rest:n}){let{runDeployWatch:s}=await import("./core-commands-TUUSA6WB.js");if((n[0]||"watch")!=="watch")throw new Error("usage: deploy watch <handle>/<repo> [--branch <branch>]");let r=n[1];if(!r)throw new Error("usage: deploy watch <handle>/<repo> [--branch <branch>]");await s(t,r)}o(G,"runDeployCommand");async function J({options:t,rest:n}){let{runTemplateBranches:s,runTemplateStatus:i,runTemplateUpdate:r}=await import("./core-commands-TUUSA6WB.js"),d=n[0]||"status",c=n[1];if(!c)throw new Error("usage: template <status|branches|update> <handle>/<repo> [--env preview|production]");if(d==="status"){await i(t,c);return}if(d==="branches"){await s(t,c);return}if(d==="update"){await r(t,c);return}throw new Error("usage: template <status|branches|update> <handle>/<repo> [--env preview|production]")}o(J,"runTemplateCommand");async function V({options:t,rest:n}){let{runRepoCreate:s,runRepoPush:i}=await import("./core-commands-TUUSA6WB.js"),r=n[0]||"create";if(r==="create"){await s(t,n.slice(1));return}if(r==="push"){await i(t);return}throw new Error("usage: repo <create|push> [--name <name>] [--path <dir>] [--branch <branch>]")}o(V,"runRepoCommand");async function q({options:t,rest:n}){let{runAppsAgentCreate:s,runAppsAssistant:i,runAppsCodeVisibility:r,runAppsDeploy:d,runAppsEnvGet:c,runAppsEnvSet:f,runAppsList:R,runAppsPerformance:N,runAppsSummary:M,runAppsTools:_,runAppsToolsExecute:D}=await import("./apps-JEKTEGSW.js"),u=n[0];if(u==="list"){await R(t);return}if(u==="code-visibility"){let p=n[1];if(!p)throw new Error("usage: apps code-visibility <handle>/<repo> --visibility public|private");await r(t,p);return}if(u==="tools"){if(n[1]==="execute"){let p=n[2],h=n[3],v=n[4];if(!p||!h||!v)throw new Error("usage: apps tools execute <appId> <deploymentId> <tool> [--body <json>]");await D(t,p,h,v);return}await _();return}if(u==="deploy"){let p=n[1];if(!p)throw new Error("usage: apps deploy <handle>/<repo> [--env preview|production] [--watch]");await d(t,p);return}if(u==="env"&&n[1]==="get"){let p=n[2];if(!p)throw new Error("usage: apps env get <handle>/<repo>");await c(t,p);return}if(u==="env"&&n[1]==="set"){let p=n[2];if(!p)throw new Error("usage: apps env set <handle>/<repo> --env <json>");await f(t,p);return}if(u==="performance"){await N(t);return}if(u==="summary"){let p=n[1];if(!p)throw new Error("usage: apps summary <handle>/<repo>");await M(t,p);return}if(u==="assistant"){let p=n[1],h=n[2];if(p!=="plan"&&p!=="performance"||!h)throw new Error("usage: apps assistant <plan|performance> <handle>/<repo> --prompt <text>");await i(t,p,h,n.slice(3));return}if(u==="agent"&&n[1]==="create"){await s(t,n.slice(2));return}throw new Error("usage: apps <list|code-visibility|tools|deploy|env get|env set|performance|summary|assistant|agent create> [args]")}o(q,"runAppsCommand");export{P as a,X as b,Y as c,b as d,ae as e,re as f,w as g,ie as h,se as i,pe as j,H as k};
2
+ import{f as S}from"./chunk-3M53YXEI.js";import{a as o}from"./chunk-FTQLQJQV.js";import{readFileSync as j}from"node:fs";import k from"node:path";function P(){let t=["../../../package.json","../../package.json","../package.json","./package.json","../../../../package.json"];for(let n of t)try{let s=new URL(n,import.meta.url),i=j(s,"utf-8"),r=JSON.parse(i);if(typeof r.version=="string")return r.version}catch{}try{let n=j(k.join(k.dirname(process.execPath),"package.json"),"utf-8"),s=JSON.parse(n);if(typeof s.version=="string")return s.version}catch{}return"unknown"}o(P,"getInstalledCliVersion");function I(t){let n=/^v?(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/.exec(t.trim());if(!n)return null;let s=Number.parseInt(n[1],10),i=Number.parseInt(n[2],10),r=Number.parseInt(n[3],10);return!Number.isFinite(s)||!Number.isFinite(i)||!Number.isFinite(r)?null:[s,i,r]}o(I,"parseSemver");function X(t,n){let s=I(t),i=I(n);if(!s||!i)return null;for(let r=0;r<3;r+=1){if(s[r]<i[r])return-1;if(s[r]>i[r])return 1}return 0}o(X,"compareSemver");async function Y(t){let n=new AbortController,s=setTimeout(()=>n.abort(),7e3);try{let i=await fetch(`https://registry.npmjs.org/${encodeURIComponent(t)}/latest`,{signal:n.signal});if(!i.ok){let d=await i.text().catch(()=>"");throw new Error(`npm registry request failed: ${i.status} ${d}`.trim())}let r=await i.json().catch(()=>({}));if(typeof r.version!="string"||r.version.trim().length===0)throw new Error("npm registry payload missing version");return r.version.trim()}finally{clearTimeout(s)}}o(Y,"fetchLatestNpmVersion");var a="boolean",m="integer",l="json",g="number",e="string",O={agent:e,approvalPolicy:e,cwd:e,json:a,maxOutputBytes:m,message:e,messageFile:e,model:e,noServerStart:a,nonInteractive:a,project:e,provider:e,resume:e,sandbox:e,server:e,stdin:a,timeoutSec:m,yes:a},x={access:e,agentId:e,all:a,artifactPaths:e,async:a,authHeader:e,authHeaderValue:e,authToken:e,autoStart:a,baseRef:e,branch:e,budget:g,budgetUsd:g,cleanup:a,cols:m,command:e,content:e,contentBase64:e,contents:e,contentsBase64:e,cpu:g,create:a,description:e,diskGb:g,dockerBuildArgs:l,dockerRegistrySecretRefs:e,dockerfile:e,dockerfileContext:e,dockerfileTarget:e,domain:e,env:e,environment:e,envLiteral:e,envName:e,envRef:e,expectedMppMode:e,expectedVersion:m,failOnUnpreservedChanges:a,ffOnly:a,forceWithLease:a,fork:a,fromPath:e,idempotencyKey:e,idleTimeoutSeconds:m,image:e,imageDigest:e,input:e,inputBase64:e,integrationCapabilities:e,integrationConnection:e,integrationScopes:e,intervalMs:m,json:a,keep:a,label:e,leaseId:e,lifecycleHint:l,manifestPath:e,maxDurationSeconds:m,maxEntries:g,maxResults:g,memoryGb:g,message:e,name:e,noPreview:a,overwrite:a,params:l,path:e,paths:e,payload:l,port:m,preview:a,projectId:e,publish:a,q:e,query:e,rebase:a,recursive:a,registrySecretRef:e,remote:e,replayState:e,repo:e,respondAsync:a,rows:m,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProfileId:e,runtimeProjectId:e,runtimePromotionPolicy:e,runtimeWorkspaceRoot:e,sandboxId:e,scope:e,since:m,snapshot:a,snapshotId:e,sourceProjectId:e,sourceRepoUrl:e,sourceSandboxId:e,startPoint:e,status:e,stdin:a,summary:a,tag:e,tags:e,targetId:e,targetType:e,teamId:e,templateName:e,templateVersion:e,templateVisibility:e,timeoutSeconds:m,toPath:e,type:e,useCase:e,validationCommand:e,value:e,version:e,volumeDeleteOnSandboxDelete:a,volumeMountPath:e,volumeName:e,volumeStorageGb:g,workflowMode:e},A={action:e,agentId:e,budget:g,budgetUsd:g,build:e,branch:e,commit:a,commitMessage:e,description:e,dir:e,disableSchedule:e,disableSchedules:e,enableSchedule:e,enableSchedules:e,entrypoint:e,env:l,envRef:e,file:e,force:a,idleTimeoutSeconds:m,inherit:a,input:l,inputFile:e,inputFiles:e,inputJson:l,inputs:l,json:a,keepTokenRemote:a,manifest:e,maxDurationSeconds:m,name:e,noPush:a,noWrite:a,out:e,outDir:e,output:e,outputDir:e,params:l,path:e,plan:e,projectId:e,repo:e,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProjectId:e,runtimePromotionPolicy:e,scheduleMode:e,scheduleOverride:l,scheduleOverrides:l,schedules:e,service:e,setRemoteToken:a,setupTimeoutSeconds:m,target:e,teamId:e,timeoutSeconds:m,token:e,workflowMode:e,yes:a},T={branch:e,commitMessage:e,defaultBranch:e,description:e,gitOwner:e,gitRepo:e,internalRepoPath:e,json:a,name:e,path:e,projectId:e,repo:e,sourceCheckDispatch:e,sourceType:e,teamId:e,templateRepoUrl:e},E={agentId:e,agentEdit:l,allowLatestSource:a,allowedActions:e,attachmentsJson:l,baseSha:e,chatMode:e,checkKind:e,conversationId:e,cwd:e,dispatch:e,entrypointName:e,entrypointScope:e,expectedManifestHash:e,evalStatus:e,expectedSourceCommitSha:e,idempotencyKey:e,input:l,inputFile:e,json:a,limit:m,message:e,metadata:l,name:e,path:e,payload:l,projectId:e,prompt:e,provider:e,publishedSnapshotId:e,ref:e,requirePublishedSnapshot:a,requiredEnv:e,requiredIntegrations:e,runtimePromotionPolicy:e,runtimeSourceMode:e,sourceCheckDispatch:e,sourceMode:e,sourceRef:e,status:e,targetProjectId:e,teamId:e,triggerType:e,workflowMode:e};var b={account:"string",apiBaseUrl:"string",apiBaseurl:"string",baseUrl:"string",baseurl:"string",chatApiBaseUrl:"string",chatApiBaseurl:"string",checkUpdate:"boolean",cwd:"string",help:"boolean",home:"string",json:"boolean",profile:"string",sandboxApiUrl:"string",sandboxApiurl:"string",tui:"boolean",version:"boolean"},ae={C:"cwd",f:"force",h:"help",j:"json",v:"version",y:"yes"},B={cwd:"string",input:"json",inputFile:"string",json:"boolean",path:"string"},C=[{name:"home",usage:"openpond home [--home <directory>]",optionSchema:{},handler:o(async()=>console.log((await import("./dist-UA2RQUA4.js")).resolveOpenPondHome()),"handler")},{name:"config",usage:"openpond config <get|set|unset|path|validate|schema|doctor|migrate|recover|restart-migration|revisions|replace|effective|trust|untrust|export|backup|restore|collect-orphans|clear-cache> [key] [value] [--home <directory>] [--json]",optionSchema:{keyPath:"json",value:"string",file:"string",project:"boolean",revision:"string",expectedRevision:"string",sourceAppHome:"string",sourceConfig:"string",sourceBrowserState:"string",dryRun:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./configuration-command-D66B4TXT.js")).runConfigurationCommand(t,n),"handler")},{name:"help",usage:"openpond help",optionSchema:{},handler:o(async()=>(await import("./help-XVBIPQHN.js")).printHelp(),"handler")},{name:"version",usage:"openpond version",optionSchema:{},handler:o(()=>console.log(P()),"handler")},{name:"check-update",usage:"openpond check-update",optionSchema:{},handler:o(async()=>(await import("./core-commands-D6OHIVUG.js")).runCheckUpdate(),"handler")},{name:"login",usage:"openpond login [--base-url <url>]",optionSchema:b,handler:o(async({options:t})=>(await import("./core-commands-D6OHIVUG.js")).runLogin(t),"handler")},{name:"init",usage:"openpond init [--path <dir>] [--profile <name>] [--template <name>] [--force] [--json]",optionSchema:{...b,force:"boolean",path:"string",template:"string"},handler:o(async({options:t})=>(await import("./profile-PFR6PWNE.js")).runOpenPondInitCommand(t),"handler")},{name:"profile",usage:"openpond profile <current|init|load|check|push|commit|diff|catalog>",optionSchema:{checkKind:"string",conversationId:"string",ensureHosted:"boolean",expectedManifestHash:"string",force:"boolean",hostedCheckKind:"string",hostedRunAgentId:"string",hostedRunConversationId:"string",hostedRunIdempotencyKey:"string",hostedRunInput:"json",hostedRunRetry:"boolean",hostedRunTargetProjectId:"string",hostedSourceDispatch:"string",hostedSourceAgentId:"string",hostedSourceChecks:"boolean",hostedSourceProjectId:"string",json:"boolean",kind:"string",path:"string",publishHostedSource:"boolean",teamId:"string"},handler:o(async({options:t,rest:n})=>(await import("./profile-PFR6PWNE.js")).runOpenPondProfileCommand(t,n),"handler")},{name:"agents",usage:"openpond agents [--json]",optionSchema:{json:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./profile-PFR6PWNE.js")).runOpenPondAgentsCommand(t,n),"handler")},{name:"actions",usage:"openpond actions <check|build|run|dev|publish> [action-id] [--cwd DIR] [--input JSON|--input-file PATH]",optionSchema:{apiKey:"string",baseUrl:"string",cwd:"string",input:"string",inputFile:"string",json:"boolean",outputDirectory:"string",sourceDirectory:"string",sourceCommitSha:"string",sourceRef:"string",projectId:"string",teamId:"string",timeoutMs:"integer"},handler:o(async({options:t,rest:n})=>(await import("./actions-command-33SJXJKC.js")).runProjectActionsCommand(t,n),"handler")},...K(),{name:"extension",usage:"openpond extension <add|preview|list|inspect|update|remove> [owner/repo]",usages:["openpond extension add <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update --all [--json]","openpond extension remove <owner/repo> [--json]"],optionSchema:{all:"boolean",json:"boolean",ref:"string"},handler:o(async({options:t,rest:n})=>(await import("./extension-MP3XCX56.js")).runOpenPondExtensionCommand(t,n),"handler")},{name:"profiles",usage:"openpond profiles [args]",optionSchema:{json:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./core-commands-D6OHIVUG.js")).runProfiles(t,n),"handler")},{name:"account",usage:"openpond account",optionSchema:{json:"boolean"},handler:o(async()=>(await import("./core-commands-D6OHIVUG.js")).runAccount(),"handler")},{name:"health",usage:"openpond health",optionSchema:{json:"boolean"},handler:o(async({options:t})=>(await import("./core-commands-D6OHIVUG.js")).runHealth(t),"handler")},{name:"app-server",usage:"openpond app-server [--home DIR]",optionSchema:{home:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-CFIW5CWC.js")).runOpenPondServerCommand("app-server",t,n),"handler")},{name:"serve",usage:"openpond serve [args]",optionSchema:{host:"string",hostname:"string",listen:"string",port:"integer"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-CFIW5CWC.js")).runOpenPondServerCommand("serve",t,n),"handler")},{name:"ui",usage:"openpond ui [--no-open] [--hostname HOST] [--port PORT]",optionSchema:{host:"string",hostname:"string",listen:"string",noOpen:"boolean",port:"integer",webRoot:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-CFIW5CWC.js")).runOpenPondServerCommand("web",t,n),"handler")},{name:"tui",aliases:["interactive"],usage:"openpond tui [--provider <id>] [--model <id>] [--project <id>]",optionSchema:{cwd:"string",model:"string",noServerStart:"boolean",project:"string",provider:"string",server:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-CFIW5CWC.js")).runOpenPondTerminalCommand(t,n),"handler")},{name:"chat",usage:"openpond chat (--message-file <path>|--message <text>|--stdin) --non-interactive [--provider <id>] [--model <id>] [--agent <id>] [--project <id>] [--resume <session-id>] [--yes] [--approval-policy <policy>] [--json] [--timeout-sec <n>] [--max-output-bytes <n>] [--sandbox <mode>]",optionSchema:O,handler:o(async({options:t,rest:n})=>(await import("./app-layer-CFIW5CWC.js")).runOpenPondTerminalCommand(t,n),"handler")},{name:"tool",usage:"openpond tool <list|run> <handle>/<repo> [args]",optionSchema:{body:"json",json:"boolean"},handler:F},{name:"backtest",usage:"openpond backtest <run|events|get> <handle>/<repo> [args]",optionSchema:{body:"json",branch:"string",deploymentId:"string",limit:"integer",runId:"string"},handler:$},{name:"deploy",usage:"openpond deploy watch <handle>/<repo> [--branch <branch>]",optionSchema:{branch:"string"},handler:G},{name:"template",usage:"openpond template <status|branches|update> <handle>/<repo> [--env preview|production]",optionSchema:{env:"string"},handler:J},{name:"sandbox-template",usage:"openpond sandbox-template <command> [args]",optionSchema:A,handler:o(async({options:t,rest:n})=>(await import("./sandbox-template-2OWCTKBP.js")).runSandboxTemplateCommand(t,n),"handler")},{name:"repo",usage:"openpond repo <create|push> [--name <name>] [--path <dir>] [--branch <branch>]",optionSchema:{branch:"string",name:"string",path:"string"},handler:V},{name:"organizations",aliases:["organization"],usage:"openpond organizations <login|list|use|logout|whoami> [args]",optionSchema:{accessToken:"string",arguments:"json",callbackPort:"integer",clientId:"string",customDomain:"string",displayName:"string",email:"string",env:"string",environment:"string",json:"boolean",name:"string",open:"boolean",origin:"string",primaryContactEmail:"string",printToken:"boolean",resourceUrl:"string",role:"string",scope:"string",scopes:"string",slug:"string",status:"string",timeout:"integer",timeoutSeconds:"integer",tool:"string",toolName:"string",toolset:"string",url:"string"},handler:o(async({options:t,rest:n})=>(await import("./organizations-ZCQX3SY3.js")).runOrganizationsCommand(t,n),"handler")},{name:"project",usage:"openpond project <list|create|upsert|get|update|sync|source-upload|archive> [args]",optionSchema:T,handler:o(async({options:t,rest:n})=>(await import("./project-agent-KSMTTZYC.js")).runProjectCommand(t,n),"handler")},{name:"agent",usage:"openpond agent <inspect|build|validate|eval|traces|list|create|upsert|get|update|run|run-test|bind-source|source|archive> [args]",usages:["openpond agent run <action> [--cwd <project>] [--input <json>]","openpond agent run <agentId> --team-id <id> [--conversation-id <id>] [--target-project-id <projectId>] [--input <json>]","openpond agent source checks <agentId> --team-id <id> [--check-kind <kind>]","openpond agent source publish <agentId> --team-id <id> [--expected-manifest-hash <hash>]"],optionSchema:E,handler:o(async({options:t,rest:n})=>(await import("./project-agent-KSMTTZYC.js")).runAgentCommand(t,n),"handler")},{name:"desktop-test",usage:"openpond desktop-test <run|attach> <scenario...> [--isolated|--attach|--packaged|--none] [--app <path>] [--artifacts-dir <path>] [--json <path>]",optionSchema:{artifactsDir:"string",attach:"boolean",cwd:"string",devtoolsPort:"integer",grep:"string",isolated:"boolean",json:"string",jsonPath:"string",keepHome:"boolean",none:"boolean",server:"string",timeoutMs:"integer",token:"string",tokenFile:"string"},handler:o(async({options:t,rest:n})=>(await import("./desktop-test-RBRWSLEM.js")).runDesktopTestCommand(t,n),"handler")},{name:"sandbox",usage:"openpond sandbox <command> [args]",optionSchema:x,handler:o(async({options:t,rest:n})=>(await import("./sandbox-command-MVBSIKB6.js")).runSandboxCommand(t,n),"handler")},{name:"continual",usage:"openpond continual <init|validate|run|report> [manifest-or-series-id]",usages:["openpond continual init --from <tasks.jsonl> [--output <continual-support.yaml>] [--non-interactive]","openpond continual validate <continual-support.yaml> [--json]","openpond continual run <continual-support.yaml> [--api-base-url <url>] [--json]","openpond continual report <comparison-series-id> [--output <report.json>] [--json]"],optionSchema:{apiBaseUrl:"string",commit:"string",correctionCasesPerFamily:"integer",correctionSelection:"string",description:"string",from:"string",grader:"string",id:"string",json:"boolean",license:"string",name:"string",nonInteractive:"boolean",output:"string",repository:"string",seed:"string",semanticSimilarityThreshold:"number"},handler:o(async({options:t,rest:n})=>(await import("./continual-OJYXVTIZ.js")).runContinualCommand(t,n),"handler")},{name:"training",usage:"openpond training <create-project|start|status|watch|logs|cancel|resume|artifacts|benchmark> <taskset-id|model-run-id|run-id|model-id>",usages:["openpond training create-project <taskset-id> --recipe <path> [--project-id <id>] [--profile <id>] [--name <name>] [--objective <text>] [--destination <id>] [--rollout-placement <local|remote>] [--gpu-placement-objective <fast|balanced|economical>] [--run-preset <preset>] [--max-spend <usd>] [--retention-days <days>] [--json]","openpond training start <model-project-id> [--comparison-series-entry <entry-id>] [--manifest <path>] [--yes] [--export-approved] [--max-spend <usd>] [--retention-days <days>] [--detach] [--json]","openpond training status <run-id> [--json]","openpond training watch <run-id> [--interval-ms <ms>] [--json]","openpond training logs <run-id> [--json]","openpond training cancel <run-id> [--json]","openpond training resume <model-run-id> [--json]","openpond training artifacts <run-id> [--json]","openpond training benchmark <model-id> [--provider <id>] [--model <id>] [--reasoning-effort <level>] [--max-spend <usd>] [--json]"],optionSchema:{apiBaseUrl:"string",comparisonSeriesEntry:"string",detach:"boolean",destination:"string",exportApproved:"boolean",gpuPlacementObjective:"string",intervalMs:"integer",json:"boolean",manifest:"string",maxSpend:"number",model:"string",name:"string",objective:"string",profile:"string",projectId:"string",provider:"string",recipe:"string",reasoningEffort:"string",retentionDays:"integer",rolloutPlacement:"string",runPreset:"string",yes:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./training-2NDOWH5S.js")).runTrainingCommand(t,n),"handler")},{name:"taskset",usage:"openpond taskset <import|publish|readiness|delete-draft> <package-path|draft-id|taskset-id> [--profile <id>] [--model <id>] [--json]",usages:["openpond taskset import <package-directory|taskset.json> [--profile <id>] [--json]","openpond taskset publish <draft-id> [--model <id>] [--json]","openpond taskset readiness <taskset-id> [--json]","openpond taskset delete-draft <draft-id> [--json]"],optionSchema:{apiBaseUrl:"string",json:"boolean",model:"string",profile:"string"},handler:o(async({options:t,rest:n})=>(await import("./taskset-PISBOILQ.js")).runTasksetCommand(t,n),"handler")},{name:"opchat",usage:"openpond opchat <command> [args]",optionSchema:{compatModel:"string",compatibilityModel:"string",env:"string",environment:"string",json:"boolean",message:"string",model:"string",opchatApiBaseUrl:"string",opchatApiUrl:"string",prompt:"string",skipStream:"boolean",skipTool:"boolean",stream:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./opchat-NYSALH7B.js")).runOpChatCommand(t,n),"handler")},{name:"teams-bot",usage:"openpond teams-bot <command> [args]",optionSchema:{json:"boolean",teamId:"string"},handler:o(async({options:t,rest:n})=>(await import("./teams-bot-IUE3CWSW.js")).runTeamsBotCommand(t,n),"handler")},{name:"apps",usage:"openpond apps <list|code-visibility|tools|deploy|env get|env set|performance|summary|assistant|agent create> [args]",optionSchema:{appId:"string",body:"json",env:"json",json:"boolean",limit:"integer",refresh:"boolean",teamId:"string",watch:"boolean"},handler:q},{name:"opentool",usage:"openpond opentool <init|validate|build> [args]",optionSchema:{},handler:o(async({rest:t})=>(await import("./core-commands-D6OHIVUG.js")).runOpentool(t),"handler")}],y=new Map;for(let t of C){y.set(t.name,t);for(let n of t.aliases??[])y.set(n,t)}function re(){return C}o(re,"listCliCommandDefinitions");function w(t){return y.get(t)??null}o(w,"getCliCommandDefinition");function ie(t,n){return w(t||"ui")?.optionSchema[n]??b[n]}o(ie,"getCliOptionKind");function se(t){let n=b[t];if(n)return n;for(let s of C){let i=s.optionSchema[t];if(i)return i}}o(se,"getAnyCliOptionKind");async function pe(t){let n=w(t.command);return n?S(t.options.help)?(L(n),!0):(await n.handler(t),!0):!1}o(pe,"runCliCommand");function H(t){let n=["Usage:",` ${t.usage}`,...(t.usages??[]).map(i=>` ${i}`)];t.aliases?.length&&n.push("","Aliases:",` ${t.aliases.join(", ")}`);let s=Object.entries(t.optionSchema).sort(([i],[r])=>i.localeCompare(r));if(s.length>0){n.push("","Options:");for(let[i,r]of s){let d=U(i);n.push(r==="boolean"?` --${d}`:` --${d} <${r}>`)}}return n.join(`
3
+ `)}o(H,"formatCliCommandUsage");function L(t){console.log(H(t))}o(L,"printCliCommandUsage");function U(t){return t.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`)}o(U,"cliOptionName");function K(){return["inspect","build","validate","eval","run"].map(n=>({name:n,usage:`openpond ${n} [args]`,optionSchema:B,handler:o(async({options:s,rest:i})=>(await import("./profile-PFR6PWNE.js")).runOpenPondProfileSdkAlias(n,s,i),"handler")}))}o(K,"profileSdkAliasDefinitions");async function F({options:t,rest:n}){let{runToolList:s,runToolRun:i}=await import("./core-commands-D6OHIVUG.js"),r=n[0];if(r==="list"){let d=n[1];if(!d)throw new Error("usage: tool list <handle>/<repo>");await s(t,d);return}if(r==="run"){let d=n[1],c=n[2];if(!d||!c)throw new Error("usage: tool run <handle>/<repo> <tool> [--body <json>]");await i(t,d,c);return}throw new Error("usage: tool <list|run> <handle>/<repo> [args]")}o(F,"runToolCommand");async function $({options:t,rest:n}){let{runBacktestRun:s}=await import("./core-commands-D6OHIVUG.js"),{runBacktestEvents:i,runBacktestGet:r}=await import("./apps-67PSSK6Q.js"),d=n[0]||"run";if(d==="run"){let c=n[1],f=n[2];if(!c||!f)throw new Error("usage: backtest run <handle>/<repo> <tool> [--body <json>] [--branch <branch>] [--deployment-id <id>]");await s(t,c,f);return}if(d==="events"){let c=n[1];if(!c)throw new Error("usage: backtest events <handle>/<repo> [--run-id <id>] [--limit <n>]");await i(t,c);return}if(d==="get"){let c=n[1];if(!c)throw new Error("usage: backtest get <handle>/<repo> --run-id <id>");await r(t,c);return}throw new Error("usage: backtest <run|events|get> <handle>/<repo> [args]")}o($,"runBacktestCommand");async function G({options:t,rest:n}){let{runDeployWatch:s}=await import("./core-commands-D6OHIVUG.js");if((n[0]||"watch")!=="watch")throw new Error("usage: deploy watch <handle>/<repo> [--branch <branch>]");let r=n[1];if(!r)throw new Error("usage: deploy watch <handle>/<repo> [--branch <branch>]");await s(t,r)}o(G,"runDeployCommand");async function J({options:t,rest:n}){let{runTemplateBranches:s,runTemplateStatus:i,runTemplateUpdate:r}=await import("./core-commands-D6OHIVUG.js"),d=n[0]||"status",c=n[1];if(!c)throw new Error("usage: template <status|branches|update> <handle>/<repo> [--env preview|production]");if(d==="status"){await i(t,c);return}if(d==="branches"){await s(t,c);return}if(d==="update"){await r(t,c);return}throw new Error("usage: template <status|branches|update> <handle>/<repo> [--env preview|production]")}o(J,"runTemplateCommand");async function V({options:t,rest:n}){let{runRepoCreate:s,runRepoPush:i}=await import("./core-commands-D6OHIVUG.js"),r=n[0]||"create";if(r==="create"){await s(t,n.slice(1));return}if(r==="push"){await i(t);return}throw new Error("usage: repo <create|push> [--name <name>] [--path <dir>] [--branch <branch>]")}o(V,"runRepoCommand");async function q({options:t,rest:n}){let{runAppsAgentCreate:s,runAppsAssistant:i,runAppsCodeVisibility:r,runAppsDeploy:d,runAppsEnvGet:c,runAppsEnvSet:f,runAppsList:R,runAppsPerformance:N,runAppsSummary:M,runAppsTools:_,runAppsToolsExecute:D}=await import("./apps-67PSSK6Q.js"),u=n[0];if(u==="list"){await R(t);return}if(u==="code-visibility"){let p=n[1];if(!p)throw new Error("usage: apps code-visibility <handle>/<repo> --visibility public|private");await r(t,p);return}if(u==="tools"){if(n[1]==="execute"){let p=n[2],h=n[3],v=n[4];if(!p||!h||!v)throw new Error("usage: apps tools execute <appId> <deploymentId> <tool> [--body <json>]");await D(t,p,h,v);return}await _();return}if(u==="deploy"){let p=n[1];if(!p)throw new Error("usage: apps deploy <handle>/<repo> [--env preview|production] [--watch]");await d(t,p);return}if(u==="env"&&n[1]==="get"){let p=n[2];if(!p)throw new Error("usage: apps env get <handle>/<repo>");await c(t,p);return}if(u==="env"&&n[1]==="set"){let p=n[2];if(!p)throw new Error("usage: apps env set <handle>/<repo> --env <json>");await f(t,p);return}if(u==="performance"){await N(t);return}if(u==="summary"){let p=n[1];if(!p)throw new Error("usage: apps summary <handle>/<repo>");await M(t,p);return}if(u==="assistant"){let p=n[1],h=n[2];if(p!=="plan"&&p!=="performance"||!h)throw new Error("usage: apps assistant <plan|performance> <handle>/<repo> --prompt <text>");await i(t,p,h,n.slice(3));return}if(u==="agent"&&n[1]==="create"){await s(t,n.slice(2));return}throw new Error("usage: apps <list|code-visibility|tools|deploy|env get|env set|performance|summary|assistant|agent create> [args]")}o(q,"runAppsCommand");export{P as a,X as b,Y as c,b as d,ae as e,re as f,w as g,ie as h,se as i,pe as j,H as k};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{i as a,j as b,k as c}from"./chunk-ZYG2PXY2.js";import"./chunk-6C2EXO4H.js";import"./chunk-YNXFXNQM.js";import"./chunk-UOQHYTCK.js";import"./chunk-FHBQ6OWG.js";import"./chunk-VRXXKDF2.js";import"./chunk-6MI4KKWF.js";import"./chunk-SDO4FC4Q.js";import"./chunk-IR3YJWPW.js";import"./chunk-J2S7BOZU.js";import"./chunk-A2PIGBPD.js";import"./chunk-6FA3GG5B.js";import"./chunk-NNLI4OWY.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-FTQLQJQV.js";export{a as resolveWebLaunchMessages,c as runOpenPondAppServerCli,b as runOpenPondServerCli};
2
+ import{i as a,j as b,k as c}from"./chunk-G54T4IWQ.js";import"./chunk-RB7BWSFJ.js";import"./chunk-BE35DIOI.js";import"./chunk-N3KS3AJK.js";import"./chunk-PRA6LX2G.js";import"./chunk-Q7QAKAGF.js";import"./chunk-6MI4KKWF.js";import"./chunk-SDO4FC4Q.js";import"./chunk-IR3YJWPW.js";import"./chunk-J2S7BOZU.js";import"./chunk-A2PIGBPD.js";import"./chunk-6FA3GG5B.js";import"./chunk-NNLI4OWY.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-FTQLQJQV.js";export{a as resolveWebLaunchMessages,c as runOpenPondAppServerCli,b as runOpenPondServerCli};