openpond 0.2.42 → 0.2.43

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 (148) hide show
  1. package/dist/app-server.d.ts +20 -0
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{actions-command-6EMO4BIK.js → actions-command-DWQ3VGGP.js} +1 -1
  4. package/dist/chunks/{app-layer-ETI5QXQ3.js → app-layer-OV7RVSQW.js} +1 -1
  5. package/dist/chunks/app-server-runtime-JVLXE5LF.js +2 -0
  6. package/dist/chunks/{apps-LH5AJCUI.js → apps-5DQAYDNI.js} +1 -1
  7. package/dist/chunks/{chunk-ZQWXPDCB.js → chunk-3D4QN4NM.js} +1 -1
  8. package/dist/chunks/{chunk-GC4OCTP6.js → chunk-45UOD2DA.js} +1 -1
  9. package/dist/chunks/{chunk-KCENW4ME.js → chunk-5IN3HQJU.js} +1 -1
  10. package/dist/chunks/{chunk-VI3ZF54E.js → chunk-6KKQXETR.js} +1 -1
  11. package/dist/chunks/{chunk-QZ4KTU65.js → chunk-6UPCR6EL.js} +1 -1
  12. package/dist/chunks/{chunk-VTWY3U4M.js → chunk-7EDOA6KD.js} +1 -1
  13. package/dist/chunks/{chunk-AT6XYNQ5.js → chunk-7KC5LWCU.js} +1 -1
  14. package/dist/chunks/{chunk-2Z6H32OC.js → chunk-7R7O2XXP.js} +1 -1
  15. package/dist/chunks/{chunk-LRGLV6JX.js → chunk-B3O2GAQH.js} +1 -1
  16. package/dist/chunks/{chunk-TPOW52DO.js → chunk-DGD52VZC.js} +1 -1
  17. package/dist/chunks/{chunk-R6YJY7F2.js → chunk-E6WT4HWF.js} +1 -1
  18. package/dist/chunks/{chunk-2VTXKZNK.js → chunk-EWQZASG4.js} +1 -1
  19. package/dist/chunks/{chunk-76YP4FDQ.js → chunk-G2WJC6DE.js} +2 -2
  20. package/dist/chunks/{chunk-BAQ3DWH2.js → chunk-HI7W3IVO.js} +1 -1
  21. package/dist/chunks/{chunk-ZLQQUZH7.js → chunk-IE2WZ3I3.js} +1 -1
  22. package/dist/chunks/{chunk-XJAK6DDB.js → chunk-IFI24VF6.js} +1 -1
  23. package/dist/chunks/{chunk-S2MLTFZF.js → chunk-KDOS6YMH.js} +1 -1
  24. package/dist/chunks/{chunk-VQG25QBJ.js → chunk-KPDWQCF6.js} +1 -1
  25. package/dist/chunks/chunk-KRC2S5QF.js +5 -0
  26. package/dist/chunks/{chunk-NT2UKDF7.js → chunk-LLNCHGE4.js} +1 -1
  27. package/dist/chunks/{chunk-MOMDY22U.js → chunk-MDE3HHLH.js} +1 -1
  28. package/dist/chunks/{chunk-JYM3O4G7.js → chunk-O277DPTX.js} +1 -1
  29. package/dist/chunks/{chunk-6UGTLC7Z.js → chunk-OJVIH7J6.js} +1 -1
  30. package/dist/chunks/{chunk-4F2Q4CFS.js → chunk-P45OSKQL.js} +1 -1
  31. package/dist/chunks/{chunk-Z7VAZVC5.js → chunk-ROJX6IYW.js} +177 -177
  32. package/dist/chunks/{chunk-AUOMUBLE.js → chunk-SXN3QOW4.js} +2 -2
  33. package/dist/chunks/{chunk-SUAT5DR4.js → chunk-T5QA4W2H.js} +1 -1
  34. package/dist/chunks/{chunk-EEJ3HL6O.js → chunk-T7MJBBHE.js} +1 -1
  35. package/dist/chunks/{chunk-BJSXEGWG.js → chunk-V44RF57H.js} +1 -1
  36. package/dist/chunks/{chunk-TPMXLA5Y.js → chunk-VG7XO6PR.js} +5 -5
  37. package/dist/chunks/{chunk-ANCZVBMI.js → chunk-VJJ3UXOI.js} +1 -1
  38. package/dist/chunks/{chunk-AANEPCEZ.js → chunk-W3NG7YLC.js} +1 -1
  39. package/dist/chunks/{chunk-3CKJETWW.js → chunk-XMKAMR7M.js} +1 -1
  40. package/dist/chunks/{chunk-MJC26GOX.js → chunk-Z3D4C7BG.js} +6 -6
  41. package/dist/chunks/cli-7D7CYCIY.js +2 -0
  42. package/dist/chunks/{configuration-command-N2FD7DWB.js → configuration-command-ANYM5UYG.js} +1 -1
  43. package/dist/chunks/{core-commands-D2MJ7QFZ.js → core-commands-TYWE3TNW.js} +1 -1
  44. package/dist/chunks/datasets-FM3UBK4R.js +13 -0
  45. package/dist/chunks/{desktop-test-IWDHFDSZ.js → desktop-test-Z5IKJU3P.js} +1 -1
  46. package/dist/chunks/dist-GC7DXKTI.js +2 -0
  47. package/dist/chunks/experiments-IWBRIDQE.js +2 -0
  48. package/dist/chunks/{extension-7GYFAHRP.js → extension-5LQRULQP.js} +1 -1
  49. package/dist/chunks/{help-MD7Z72QS.js → help-NTSTG6RR.js} +1 -1
  50. package/dist/chunks/hosted-harness-runtime-S75BLD57.js +2 -0
  51. package/dist/chunks/hosted-profile-compiler-JNNYWLC7.js +2 -0
  52. package/dist/chunks/{hosted-profile-evaluation-control-VV2NXFBE.js → hosted-profile-evaluation-control-IK4Y2EQZ.js} +1 -1
  53. package/dist/chunks/{hosted-profile-evaluation-inspection-XMPRKON6.js → hosted-profile-evaluation-inspection-YWKUB7RT.js} +1 -1
  54. package/dist/chunks/{hosted-profile-evaluation-preparation-ZZ3MZJDR.js → hosted-profile-evaluation-preparation-JXOF73BB.js} +1 -1
  55. package/dist/chunks/{opchat-URWW53CK.js → opchat-77PRAQ5W.js} +1 -1
  56. package/dist/chunks/{organizations-BPBJV7LZ.js → organizations-2KWTYIPU.js} +1 -1
  57. package/dist/chunks/{profile-BZDCYKGL.js → profile-HVLH672B.js} +1 -1
  58. package/dist/chunks/{project-agent-U6YNYPHS.js → project-agent-7NLKJMAM.js} +1 -1
  59. package/dist/chunks/{sandbox-command-TTLFWUXV.js → sandbox-command-FNS4JBVC.js} +1 -1
  60. package/dist/chunks/{sandbox-template-ZYXK4QCI.js → sandbox-template-QMB6DSTS.js} +1 -1
  61. package/dist/chunks/{src-5Z35O6L7.js → src-N447LUPO.js} +1 -1
  62. package/dist/chunks/{src-NABQMSR3.js → src-TZBL6NA7.js} +112 -112
  63. package/dist/chunks/{teams-bot-WXGP3PA6.js → teams-bot-RNHQMPQA.js} +1 -1
  64. package/dist/chunks/{workspaces-7WY3ZVQW.js → workspaces-V5YTXJLV.js} +1 -1
  65. package/dist/cli.js +1 -1
  66. package/dist/index.js +1 -1
  67. package/dist/web/assets/{App-BpYDvJ6x.js → App-BEQmrTGQ.js} +78 -78
  68. package/dist/web/assets/{AppDialog-DMymIOcU.js → AppDialog-v-BfV1lA.js} +1 -1
  69. package/dist/web/assets/{AppTerminalPanel-CFsUD-di.js → AppTerminalPanel-CnKcllS2.js} +2 -2
  70. package/dist/web/assets/{AppsView-CUrRKOiz.js → AppsView-Dl-37F0w.js} +1 -1
  71. package/dist/web/assets/{BrowserSidebar-C5psWtoF.js → BrowserSidebar-DltF217k.js} +1 -1
  72. package/dist/web/assets/{CartesianChart-DVGs4fGn.js → CartesianChart-gK-Ll3kX.js} +1 -1
  73. package/dist/web/assets/{CollaborationTabs-D6eqNw88.js → CollaborationTabs-BuWquQYn.js} +1 -1
  74. package/dist/web/assets/{CommandMenu--GRjuf3j.js → CommandMenu-Cs5S8t-Q.js} +1 -1
  75. package/dist/web/assets/{CommunityView-CHGceVA_.js → CommunityView-BJBkQEMV.js} +1 -1
  76. package/dist/web/assets/{ComposerCreateImproveStrip-D08PAaxI.js → ComposerCreateImproveStrip-C36fKc-v.js} +1 -1
  77. package/dist/web/assets/{GetStartedView-BPZcWzsG.js → GetStartedView-9A49MgYA.js} +1 -1
  78. package/dist/web/assets/HostedModelLearningReview-JgxDUDio.js +1 -0
  79. package/dist/web/assets/{HostedModelLearningSettings-BmEMKcoy.js → HostedModelLearningSettings-CH7CsAhw.js} +1 -1
  80. package/dist/web/assets/{LabModelVersionDetailPage-CX5pOLl2.js → LabModelVersionDetailPage-N2qcy1Yv.js} +1 -1
  81. package/dist/web/assets/{LabSkillSidebar-C4vAz_0b.js → LabSkillSidebar-BAKym5GY.js} +1 -1
  82. package/dist/web/assets/LabsRoute-DooCmsN8.css +1 -0
  83. package/dist/web/assets/LabsRoute-Y992kQoQ.js +52 -0
  84. package/dist/web/assets/{MainChatThread-BSwHDALr.js → MainChatThread-CPhREQso.js} +2 -2
  85. package/dist/web/assets/{MainPane-EwtIf5_E.js → MainPane-gPkr0OWu.js} +4 -4
  86. package/dist/web/assets/{MarkdownText-Bj9uRWtM.js → MarkdownText-B-au2zEv.js} +1 -1
  87. package/dist/web/assets/{NativeSkillSidebar-U7PHw5DO.js → NativeSkillSidebar-DHFKZ7P1.js} +1 -1
  88. package/dist/web/assets/{NewExperienceSwitcher-DneuamYK.js → NewExperienceSwitcher-Dhbf5KJT.js} +1 -1
  89. package/dist/web/assets/{NewProjectDialog-CrpXYCYV.js → NewProjectDialog-hlAzFK2Y.js} +1 -1
  90. package/dist/web/assets/{OutputsPage-C1SPqz45.js → OutputsPage-C0N2rOxE.js} +1 -1
  91. package/dist/web/assets/{ProjectsPage-CCW3mGQb.js → ProjectsPage-CkHBgLPx.js} +1 -1
  92. package/dist/web/assets/{RightChatPanelStack-D7ECzLfp.js → RightChatPanelStack-BiW6ZzPN.js} +1 -1
  93. package/dist/web/assets/{RightSidebarHomePanel-B-4r-yLc.js → RightSidebarHomePanel-BS9YSdYB.js} +1 -1
  94. package/dist/web/assets/{ScheduledWorkPage-XjmcT64Z.js → ScheduledWorkPage-819sQcDR.js} +1 -1
  95. package/dist/web/assets/{SettingsView-BEBpD7W0.js → SettingsView-BZrOUPZb.js} +3 -3
  96. package/dist/web/assets/{TeamChatView-n9GnPY4F.js → TeamChatView-CUNcbSa7.js} +1 -1
  97. package/dist/web/assets/{TerminalOverlay-CNaaMo7W.js → TerminalOverlay-MIlGPpXe.js} +1 -1
  98. package/dist/web/assets/{TrainingCreationPanel-CEEXMmC5.js → TrainingCreationPanel-BNcyNoa8.js} +1 -1
  99. package/dist/web/assets/{TrainingDraftPanel-CwyoL_Dy.js → TrainingDraftPanel-CKV16LNC.js} +1 -1
  100. package/dist/web/assets/{UsageSettingsSection-BNjgosYd.js → UsageSettingsSection-SVgUHnUL.js} +1 -1
  101. package/dist/web/assets/{WorkSidebarPanel-BatJltaq.js → WorkSidebarPanel-CfkaaFHA.js} +1 -1
  102. package/dist/web/assets/{WorkspaceDiffPanel-Cbr7qcqm.js → WorkspaceDiffPanel-CQhqlqg5.js} +3 -3
  103. package/dist/web/assets/{WorkspaceEnvironmentMenu-DYu-PXRv.js → WorkspaceEnvironmentMenu-CJB-z2tS.js} +1 -1
  104. package/dist/web/assets/{WorkspaceGitDialogs-BoamHtgk.js → WorkspaceGitDialogs-B3xtasTt.js} +1 -1
  105. package/dist/web/assets/{WorkspaceMonacoEditor-yg83VXk5.js → WorkspaceMonacoEditor-DVfyICNZ.js} +3 -3
  106. package/dist/web/assets/{arrow-up-right-CN9lcbsD.js → arrow-up-right-CYG4Vm07.js} +1 -1
  107. package/dist/web/assets/{clipboard-DfLDGpSz.js → clipboard-DGSnfljX.js} +1 -1
  108. package/dist/web/assets/{cloud-upload-hk4EBTu-.js → cloud-upload-Bw_zrS2y.js} +1 -1
  109. package/dist/web/assets/{cssMode-DkhTpCaH.js → cssMode-CSpYOKj-.js} +1 -1
  110. package/dist/web/assets/{folder-open-BmhusYOx.js → folder-open-CcGOldH7.js} +1 -1
  111. package/dist/web/assets/{folder-plus-Bedc_RqV.js → folder-plus-DEIDaX2B.js} +1 -1
  112. package/dist/web/assets/{git-commit-horizontal-D2Zvz4i7.js → git-commit-horizontal-B-Ao6y--.js} +1 -1
  113. package/dist/web/assets/{htmlMode-Bf3_KJ2b.js → htmlMode-DstkgJXG.js} +1 -1
  114. package/dist/web/assets/{index-CpTHPmvd.js → index-C8_8-lW7.js} +2 -2
  115. package/dist/web/assets/{info-CayXQYUk.js → info-DwOXHkN_.js} +1 -1
  116. package/dist/web/assets/{jsonMode-_Ywm0ZC4.js → jsonMode-txmGM7K6.js} +1 -1
  117. package/dist/web/assets/{lspLanguageFeatures-Caw_TPYu.js → lspLanguageFeatures-D59Drc_9.js} +1 -1
  118. package/dist/web/assets/{minimize-2-sPQtjkx8.js → minimize-2-C5UCV16_.js} +1 -1
  119. package/dist/web/assets/{monaco.contribution-CngZuH1Z.js → monaco.contribution-5HcktwaM.js} +2 -2
  120. package/dist/web/assets/{monaco.contribution-DmEqb8O2.js → monaco.contribution-BOmcYK8k.js} +2 -2
  121. package/dist/web/assets/{monaco.contribution-DKY5M77J.js → monaco.contribution-BomZ1gys.js} +2 -2
  122. package/dist/web/assets/{monaco.contribution-Bqi-s2-g.js → monaco.contribution-CbK7796k.js} +2 -2
  123. package/dist/web/assets/{monitor-BuaCDSIZ.js → monitor-D4hpNTai.js} +1 -1
  124. package/dist/web/assets/{python-D6SoZF70.js → python-Cie4Ghu8.js} +1 -1
  125. package/dist/web/assets/{refresh-cw-DmpWkVF6.js → refresh-cw-CIOzrJnj.js} +1 -1
  126. package/dist/web/assets/{save-Di43Sc13.js → save-D7EtdMHG.js} +1 -1
  127. package/dist/web/assets/{square-Cui64whj.js → square-JpDfrqp_.js} +1 -1
  128. package/dist/web/assets/{toggleHighContrast-e8XiQRTr.js → toggleHighContrast-DdGkc-Be.js} +1 -1
  129. package/dist/web/assets/{tsMode-Cvh0MpFm.js → tsMode-DwgEL7oI.js} +1 -1
  130. package/dist/web/assets/{upload-Dphgk6dy.js → upload-BkwOzqS-.js} +1 -1
  131. package/dist/web/assets/{useLocalAgentSchedules-CDN8WQld.js → useLocalAgentSchedules-bO0Qycih.js} +1 -1
  132. package/dist/web/assets/{useSessionTurnCache-Bvcc_al6.js → useSessionTurnCache-DxUh5scW.js} +1 -1
  133. package/dist/web/assets/{wifi-off-CIWXrn3o.js → wifi-off-D6Keejtn.js} +1 -1
  134. package/dist/web/assets/{workers-XU4YZxHD.js → workers-BgG66q0n.js} +1 -1
  135. package/dist/web/assets/{yaml-BZ0UGaZH.js → yaml-COMRGPWg.js} +1 -1
  136. package/dist/web/index.html +1 -1
  137. package/package.json +1 -1
  138. package/dist/chunks/app-server-runtime-CJ7SJTTF.js +0 -2
  139. package/dist/chunks/chunk-OUN6VQDO.js +0 -5
  140. package/dist/chunks/cli-FM3DESGO.js +0 -2
  141. package/dist/chunks/datasets-UYIZCMNZ.js +0 -13
  142. package/dist/chunks/dist-JPRXSUXC.js +0 -2
  143. package/dist/chunks/experiments-Q6TAHJV3.js +0 -2
  144. package/dist/chunks/hosted-harness-runtime-LMYM7PYZ.js +0 -2
  145. package/dist/chunks/hosted-profile-compiler-H2J5HFT3.js +0 -2
  146. package/dist/web/assets/HostedModelLearningReview-DiS-n3XW.js +0 -1
  147. package/dist/web/assets/LabsRoute-BL04wKhE.js +0 -52
  148. package/dist/web/assets/LabsRoute-Cq9XLVDP.css +0 -1
@@ -1 +1 @@
1
- import{c as v,w as s}from"./App-BpYDvJ6x.js";import{r as c}from"./index-CpTHPmvd.js";const m=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],x=v("rotate-ccw",m),I=5e3;function C(t){const[S,n]=c.useState([]),[y,r]=c.useState(!1),[w,l]=c.useState(null),[o,p]=c.useState(()=>new Set);c.useEffect(()=>{if(!t){n([]),l(null),r(!1);return}const e=t;let a=!1;async function d(g){if(!a){g&&r(!0);try{const h=await s.localAgentSchedules(e);if(a)return;n(h.schedules),l(null)}catch(h){a||l(f(h))}finally{!a&&g&&r(!1)}}}d(!0);const u=window.setInterval(()=>{d(!1)},I);return()=>{a=!0,window.clearInterval(u)}},[t]);async function L(){if(t){r(!0);try{const e=await s.syncLocalAgentSchedules(t);n(e.schedules),l(null)}catch(e){l(f(e))}finally{r(!1)}}}async function A(e){if(!(!t||o.has(e.id))){i(e.id,!0);try{await s.runLocalAgentSchedule(t,e.id);const a=await s.localAgentSchedules(t);n(a.schedules),l(null)}catch(a){l(f(a))}finally{i(e.id,!1)}}}async function E(e){if(!(!t||o.has(e.id))){i(e.id,!0);try{await s.patchLocalAgentSchedule(t,e.id,{enabled:!e.enabled});const a=await s.localAgentSchedules(t);n(a.schedules),l(null)}catch(a){l(f(a))}finally{i(e.id,!1)}}}function i(e,a){p(d=>{const u=new Set(d);return a?u.add(e):u.delete(e),u})}return{error:w,loading:y,pendingScheduleIds:o,refresh:L,run:A,schedules:S,toggle:E}}function f(t){return t instanceof Error?t.message:String(t)}export{x as R,C as u};
1
+ import{c as v,w as s}from"./App-BEQmrTGQ.js";import{r as c}from"./index-C8_8-lW7.js";const m=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],x=v("rotate-ccw",m),I=5e3;function C(t){const[S,n]=c.useState([]),[y,r]=c.useState(!1),[w,l]=c.useState(null),[o,p]=c.useState(()=>new Set);c.useEffect(()=>{if(!t){n([]),l(null),r(!1);return}const e=t;let a=!1;async function d(g){if(!a){g&&r(!0);try{const h=await s.localAgentSchedules(e);if(a)return;n(h.schedules),l(null)}catch(h){a||l(f(h))}finally{!a&&g&&r(!1)}}}d(!0);const u=window.setInterval(()=>{d(!1)},I);return()=>{a=!0,window.clearInterval(u)}},[t]);async function L(){if(t){r(!0);try{const e=await s.syncLocalAgentSchedules(t);n(e.schedules),l(null)}catch(e){l(f(e))}finally{r(!1)}}}async function A(e){if(!(!t||o.has(e.id))){i(e.id,!0);try{await s.runLocalAgentSchedule(t,e.id);const a=await s.localAgentSchedules(t);n(a.schedules),l(null)}catch(a){l(f(a))}finally{i(e.id,!1)}}}async function E(e){if(!(!t||o.has(e.id))){i(e.id,!0);try{await s.patchLocalAgentSchedule(t,e.id,{enabled:!e.enabled});const a=await s.localAgentSchedules(t);n(a.schedules),l(null)}catch(a){l(f(a))}finally{i(e.id,!1)}}}function i(e,a){p(d=>{const u=new Set(d);return a?u.add(e):u.delete(e),u})}return{error:w,loading:y,pendingScheduleIds:o,refresh:L,run:A,schedules:S,toggle:E}}function f(t){return t instanceof Error?t.message:String(t)}export{x as R,C as u};
@@ -1 +1 @@
1
- import{r as f}from"./index-CpTHPmvd.js";import{w as C}from"./App-BpYDvJ6x.js";function S(n,e,t){return new Set(n.filter(i=>{if(e.has(i.id))return!1;if(t===void 0)return!0;if(typeof i.timestamp!="string")return!1;const a=Date.parse(i.timestamp);return Number.isFinite(a)&&a>=t}).map(i=>i.id))}function h(n){let e=null;for(const t of n){if(typeof t.timestamp!="string")continue;const i=Date.parse(t.timestamp);Number.isFinite(i)&&(e=e===null?i:Math.max(e,i))}return e}function E(n,e){const t=f.useRef({scopeKey:e,ids:new Set(n.map(r=>r.id)),initialized:!1,liveCutoff:null}),i=t.current.scopeKey===e,d=i&&t.current.initialized?S(n,t.current.ids,t.current.liveCutoff??void 0):new Set;return f.useLayoutEffect(()=>{const r=t.current,s=r.scopeKey!==e,u=Date.now();t.current={scopeKey:e,ids:new Set(n.map(l=>l.id)),initialized:!s,liveCutoff:s?Math.max(u,h(n)??0):r.liveCutoff??Math.max(u,h(n)??0)}},[n,i,e]),d}const v=new Map,M=[200,600,1500];function x({connection:n,latestTurnId:e,sessionId:t,turnRunning:i}){const[a,d]=f.useState(()=>({sessionId:null,summaries:v}));return f.useEffect(()=>{if(!n||!t)return;let r=!1,s=null;const u=i?null:e,l=o=>{const c=M[o];c===void 0||r||(s=setTimeout(()=>{m(o+1)},c))},m=async o=>{try{const c=await C.usageTurnCache(n,t);if(r)return;const p=new Map(c.turns.map(w=>[w.turnId,w]));d({sessionId:t,summaries:p}),u&&!p.has(u)&&l(o)}catch{l(o)}};return m(0),()=>{r=!0,s!==null&&clearTimeout(s)}},[n,e,t,i]),a.sessionId===t?a.summaries:v}export{x as a,E as u};
1
+ import{r as f}from"./index-C8_8-lW7.js";import{w as C}from"./App-BEQmrTGQ.js";function S(n,e,t){return new Set(n.filter(i=>{if(e.has(i.id))return!1;if(t===void 0)return!0;if(typeof i.timestamp!="string")return!1;const a=Date.parse(i.timestamp);return Number.isFinite(a)&&a>=t}).map(i=>i.id))}function h(n){let e=null;for(const t of n){if(typeof t.timestamp!="string")continue;const i=Date.parse(t.timestamp);Number.isFinite(i)&&(e=e===null?i:Math.max(e,i))}return e}function E(n,e){const t=f.useRef({scopeKey:e,ids:new Set(n.map(r=>r.id)),initialized:!1,liveCutoff:null}),i=t.current.scopeKey===e,d=i&&t.current.initialized?S(n,t.current.ids,t.current.liveCutoff??void 0):new Set;return f.useLayoutEffect(()=>{const r=t.current,s=r.scopeKey!==e,u=Date.now();t.current={scopeKey:e,ids:new Set(n.map(l=>l.id)),initialized:!s,liveCutoff:s?Math.max(u,h(n)??0):r.liveCutoff??Math.max(u,h(n)??0)}},[n,i,e]),d}const v=new Map,M=[200,600,1500];function x({connection:n,latestTurnId:e,sessionId:t,turnRunning:i}){const[a,d]=f.useState(()=>({sessionId:null,summaries:v}));return f.useEffect(()=>{if(!n||!t)return;let r=!1,s=null;const u=i?null:e,l=o=>{const c=M[o];c===void 0||r||(s=setTimeout(()=>{m(o+1)},c))},m=async o=>{try{const c=await C.usageTurnCache(n,t);if(r)return;const p=new Map(c.turns.map(w=>[w.turnId,w]));d({sessionId:t,summaries:p}),u&&!p.has(u)&&l(o)}catch{l(o)}};return m(0),()=>{r=!0,s!==null&&clearTimeout(s)}},[n,e,t,i]),a.sessionId===t?a.summaries:v}export{x as a,E as u};
@@ -1 +1 @@
1
- import{c as a}from"./App-BpYDvJ6x.js";const e=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],y=a("bell",e);const t=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742",key:"178tsu"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05",key:"1hqiys"}]],c=a("bell-off",t);const o=[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]],k=a("scroll-text",o);const h=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],p=a("wifi-off",h);export{c as B,k as S,p as W,y as a};
1
+ import{c as a}from"./App-BEQmrTGQ.js";const e=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],y=a("bell",e);const t=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742",key:"178tsu"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05",key:"1hqiys"}]],c=a("bell-off",t);const o=[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]],k=a("scroll-text",o);const h=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],p=a("wifi-off",h);export{c as B,k as S,p as W,y as a};
@@ -1 +1 @@
1
- import{j7 as c}from"./WorkspaceMonacoEditor-yg83VXk5.js";import"./toggleHighContrast-e8XiQRTr.js";function a(e,o){const r=globalThis.MonacoEnvironment;if(r?.createTrustedTypesPolicy)try{return r.createTrustedTypesPolicy(e,o)}catch(t){console.error(t);return}try{return globalThis.trustedTypes?.createPolicy(e,o)}catch(t){console.error(t);return}}let n;typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope"&&globalThis.workerttPolicy!==void 0?n=globalThis.workerttPolicy:n=a("defaultWorkerFactory",{createScriptURL:e=>e});function l(e){const o=e.label,r=globalThis.MonacoEnvironment;if(r){if(typeof r.getWorker=="function")return r.getWorker("workerMain.js",o);if(typeof r.getWorkerUrl=="function"){const t=r.getWorkerUrl("workerMain.js",o);return new Worker(n?n.createScriptURL(t):t,{name:o,type:"module"})}}if(e.createWorker)return e.createWorker();throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function u(e){const o=Promise.resolve(l({label:e.label??"monaco-editor-worker",moduleId:e.moduleId,createWorker:e.createWorker})).then(r=>(r.postMessage("ignore"),r.postMessage(e.createData),r));return c.createWebWorker({worker:o,host:e.host,keepIdleModels:e.keepIdleModels})}export{u as c};
1
+ import{j7 as c}from"./WorkspaceMonacoEditor-DVfyICNZ.js";import"./toggleHighContrast-DdGkc-Be.js";function a(e,o){const r=globalThis.MonacoEnvironment;if(r?.createTrustedTypesPolicy)try{return r.createTrustedTypesPolicy(e,o)}catch(t){console.error(t);return}try{return globalThis.trustedTypes?.createPolicy(e,o)}catch(t){console.error(t);return}}let n;typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope"&&globalThis.workerttPolicy!==void 0?n=globalThis.workerttPolicy:n=a("defaultWorkerFactory",{createScriptURL:e=>e});function l(e){const o=e.label,r=globalThis.MonacoEnvironment;if(r){if(typeof r.getWorker=="function")return r.getWorker("workerMain.js",o);if(typeof r.getWorkerUrl=="function"){const t=r.getWorkerUrl("workerMain.js",o);return new Worker(n?n.createScriptURL(t):t,{name:o,type:"module"})}}if(e.createWorker)return e.createWorker();throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function u(e){const o=Promise.resolve(l({label:e.label??"monaco-editor-worker",moduleId:e.moduleId,createWorker:e.createWorker})).then(r=>(r.postMessage("ignore"),r.postMessage(e.createData),r));return c.createWebWorker({worker:o,host:e.host,keepIdleModels:e.keepIdleModels})}export{u as c};
@@ -1 +1 @@
1
- import{l as e}from"./WorkspaceMonacoEditor-yg83VXk5.js";import"./toggleHighContrast-e8XiQRTr.js";import"./index-CpTHPmvd.js";const r={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:e.IndentAction.Indent}}]},l={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}};export{r as conf,l as language};
1
+ import{l as e}from"./WorkspaceMonacoEditor-DVfyICNZ.js";import"./toggleHighContrast-DdGkc-Be.js";import"./index-C8_8-lW7.js";const r={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:e.IndentAction.Indent}}]},l={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}};export{r as conf,l as language};
@@ -7,7 +7,7 @@
7
7
  <link rel="icon" type="image/png" sizes="16x16" href="./favicon-16x16.png" />
8
8
  <link rel="apple-touch-icon" href="./openpond-icon.png" />
9
9
  <title>OpenPond App</title>
10
- <script type="module" crossorigin src="./assets/index-CpTHPmvd.js"></script>
10
+ <script type="module" crossorigin src="./assets/index-C8_8-lW7.js"></script>
11
11
  <link rel="stylesheet" crossorigin href="./assets/index-DUIWDN8o.css">
12
12
  </head>
13
13
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openpond",
3
- "version": "0.2.42",
3
+ "version": "0.2.43",
4
4
  "openpondReleaseVersioned": true,
5
5
  "license": "MIT",
6
6
  "description": "OpenPond CLI and local harness",
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{Qc as c,Rc as d}from"./chunk-Z7VAZVC5.js";import"./chunk-NT2UKDF7.js";import{e as b}from"./chunk-BJSXEGWG.js";import"./chunk-JYM3O4G7.js";import{i as a}from"./chunk-OUN6VQDO.js";import"./chunk-VTWY3U4M.js";import"./chunk-GC4OCTP6.js";import"./chunk-SUAT5DR4.js";import"./chunk-R6YJY7F2.js";import"./chunk-AT6XYNQ5.js";import"./chunk-2VTXKZNK.js";import"./chunk-EEJ3HL6O.js";import"./chunk-MOMDY22U.js";import"./chunk-S2MLTFZF.js";import"./chunk-BAQ3DWH2.js";import"./chunk-AANEPCEZ.js";import"./chunk-VI3ZF54E.js";import"./chunk-L3KS6MOV.js";import"./chunk-3CKJETWW.js";import"./chunk-XEOEKFG6.js";import"./chunk-ZQWXPDCB.js";import"./chunk-6MI4KKWF.js";import"./chunk-TPMXLA5Y.js";import"./chunk-KCENW4ME.js";import"./chunk-2Z6H32OC.js";import"./chunk-MJC26GOX.js";import"./chunk-TPOW52DO.js";import"./chunk-QUNRWDVO.js";import"./chunk-6FA3GG5B.js";import"./chunk-SDO4FC4Q.js";import"./chunk-IR3YJWPW.js";import"./chunk-ALZRXBEC.js";import"./chunk-MTJNKRXL.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-FTQLQJQV.js";export{a as AGENT_PROTOCOL_VERSION,c as APP_SERVER_COMPOSITION,d as createOpenPondAppServer,b as runAppServerJsonl};
@@ -1,5 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{b as e}from"./chunk-ES2ISFJC.js";import{a}from"./chunk-FTQLQJQV.js";import{createHash as he}from"node:crypto";function V(r){if(r===null||typeof r=="boolean"||typeof r=="string")return r;if(typeof r=="number"){if(!Number.isFinite(r))throw new Error("Canonical JSON cannot encode a non-finite number.");return r}if(Array.isArray(r))return r.map(V);if(typeof r=="object"){let t={};for(let i of Object.keys(r).sort()){let n=r[i];n!==void 0&&(t[i]=V(n))}return t}throw new Error(`Canonical JSON cannot encode ${typeof r}.`)}a(V,"canonicalJson");function I(r){return he("sha256").update(JSON.stringify(V(r)),"utf8").digest("hex")}a(I,"canonicalHash");function Oe(r){if(!r.maxContextTokens||!r.usableContextTokens)return{shouldCompact:!1,projectedTokens:r.projectedTokens,thresholdTokens:Number.MAX_SAFE_INTEGER,usableContextTokens:0,maxContextTokens:0,tokenSource:"heuristic"};let t=Math.max(.01,Math.min(1,(r.triggerPercent??85)/100)),i=Math.max(1,Math.floor(r.usableContextTokens*t));return{shouldCompact:r.projectedTokens>=i,projectedTokens:r.projectedTokens,thresholdTokens:i,usableContextTokens:r.usableContextTokens,maxContextTokens:r.maxContextTokens,tokenSource:"heuristic"}}a(Oe,"agentCompactionDecision");async function Ne(r){await r.started();try{return await r.compact()}catch(t){throw await r.failed(t),t}}a(Ne,"runAgentCompaction");async function Be(r){let t=r.host.projectEvents(r.events),i=r.host.selectEvents(t,r.maxContextTokens),{summaryEvents:n,preservedEvents:o,preservedEventIds:l}=i;if(n.length===0)throw new Error("There is not enough prior context to compact.");let u=r.host.normalizeRecords(n),p=r.host.normalizeRecords(o),f=r.host.buildFileLedger(r.host.normalizeRecords(t)),h=r.host.serializeRecords(u,r.host.inputCharBudget(r.maxContextTokens));if(!h.text.trim())throw new Error("There is not enough prior context to compact.");let y=r.host.buildSummaryMessages({serializedHistory:h.text,fileLedger:f}),S=Date.now(),R=(await r.host.streamSummary({model:r.model,messages:y,signal:r.signal})).trim(),z=Date.now()-S;if(!R)throw new Error("Compaction summary was empty.");let m=r.host.estimateProjection({events:t,preservedEvents:o,summary:R}),g=r.host.createMetrics({sourceEvents:t.length,summarizedEvents:n.length,preservedEvents:o.length,sourceRecords:h.sourceRecordCount,includedRecords:h.includedRecordCount,omittedRecords:h.omittedRecordCount,preservedRecords:p.length,truncatedRecords:h.truncatedRecordCount,summaryInputTruncated:h.inputTruncated,sourceSelectionStrategy:h.selectionStrategy,summaryInputChars:h.inputChars,retainedTailTokens:i.retainedTailTokens,retainedTailBudgetTokens:i.retainedTailBudgetTokens,finalProviderContextTokens:m.inputTokensAfter,durationMs:z,fileLedgerEntries:f.length,splitTurnId:i.splitTurnId});return{summary:R,model:r.model,compactedThroughEventId:t[t.length-1]?.id??null,compactedThroughTurnId:r.host.lastTurnId(t),preservedFromEventId:o[0]?.id??null,preservedEventIds:l,preservedResourceRefs:r.host.durableResourceRefs(r.events),sourceEventCount:n.length,preservedEventCount:o.length,fileLedger:f,inputTokensBefore:m.inputTokensBefore,inputTokensAfter:m.inputTokensAfter,maxContextTokens:r.maxContextTokens,tokenSource:"heuristic",metrics:g}}a(Be,"runAgentCompactionProgram");var be=e.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"]),fe=e.object({sequence:e.number().int().nonnegative(),name:be,source:e.enum(["runtime","provider","tool","host","refiner"]),status:e.string().trim().min(1).nullable().default(null),threadId:e.string().trim().min(1),turnId:e.string().trim().min(1).nullable().default(null),callId:e.string().trim().min(1).nullable().default(null),output:e.string().nullable().default(null),error:e.string().nullable().default(null),data:e.record(e.string(),e.unknown()).default({})}).strict();function Le(r){return I(fe.parse(r))}a(Le,"canonicalEventHash");var E="2026-09-20",Ke=["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/trainingSource","profile/evaluations/prepare","profile/evaluations/run","profile/evaluations/runSuite","profile/evaluations/executeCase","profile/evaluations/executeRun","profile/evaluations/compare","profile/evaluations/report","experiments/executeCase","experiments/cancelCase","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=e.object({jsonrpc:e.literal("2.0"),id:e.union([e.string(),e.number()]),method:e.string().trim().min(1),params:e.unknown().optional()}).strict(),J=e.object({jsonrpc:e.literal("2.0"),method:e.string().trim().min(1),params:e.unknown().optional()}).strict(),O=e.object({jsonrpc:e.literal("2.0"),id:e.union([e.string(),e.number()]),result:e.unknown()}).strict(),N=e.object({jsonrpc:e.literal("2.0"),id:e.union([e.string(),e.number(),e.null()]),error:e.object({code:e.number().int(),message:e.string(),data:e.unknown().optional()}).strict()}).strict(),Ge=e.union([U,J,O,N]),ge=e.object({protocolVersion:e.string().trim().min(1),client:e.object({name:e.string().trim().min(1),version:e.string().trim().min(1)}).strict(),capabilities:e.record(e.string(),e.unknown()).default({})}).strict(),P=class{static{a(this,"AgentJsonRpcDispatcher")}#e;#t=null;#r=!1;constructor(t){this.#e=t}get initialized(){return this.#r}async handle(t){let i=J.safeParse(t);if(i.success&&!("id"in t)){if(i.data.method==="initialized"){if(!this.#t)throw new w(-32002,"initialize must be called first");this.#r=!0}return null}let n=U.safeParse(t);if(!n.success)return M(null,-32600,"Invalid Request",n.error.flatten());let o=n.data;try{let l=await this.#n(o.method,o.params);return{jsonrpc:"2.0",id:o.id,result:l}}catch(l){let u=l instanceof w?l:new w(-32603,l instanceof Error?l.message:String(l));return M(o.id,u.code,u.message,u.data)}}async#n(t,i){if(t==="initialize"){let n=ge.parse(i);if(n.protocolVersion!==E)throw new w(-32001,"Incompatible agent protocol version",{requested:n.protocolVersion,supported:E});return this.#t=n,{protocolVersion:E,server:{name:"openpond-app-server",version:"1"},capabilities:await this.#e.capabilities()}}if(!this.#r)throw new w(-32002,"initialized notification is required");switch(t){case"runtime/capabilities":return this.#e.capabilities(i);case"thread/start":return this.#e.threadStart(i);case"thread/resume":return this.#e.threadResume(i);case"thread/read":return this.#e.threadRead(i);case"turn/start":return this.#e.turnStart(i);case"turn/steer":return this.#e.turnSteer(i);case"task/inbox":return this.#e.taskInbox(i);case"task/queue":return this.#e.taskQueue(i);case"task/inputUpdate":return this.#e.taskInputUpdate(i);case"turn/interrupt":return this.#e.turnInterrupt(i);case"approval/resolve":return this.#e.approvalResolve(i);case"userInput/resolve":return this.#e.userInputResolve(i);case"profile/workflows":return this.#e.profileWorkflows(i);case"profile/evaluations":return this.#e.profileEvaluations(i);case"profile/trainingSource":return this.#e.profileTrainingSource(i);case"profile/evaluations/prepare":return this.#e.profileEvaluationPrepare(i);case"profile/evaluations/run":return this.#e.profileEvaluationRun(i);case"experiments/executeCase":{if(!this.#e.experimentExecuteCase)throw new Error("Experiment execution is unavailable in this runtime.");return this.#e.experimentExecuteCase(i)}case"experiments/cancelCase":{if(!this.#e.experimentCancelCase)throw new Error("Experiment cancellation is unavailable in this runtime.");return this.#e.experimentCancelCase(i)}case"profile/evaluations/runSuite":return this.#e.profileEvaluationRunSuite(i);case"profile/evaluations/executeCase":return this.#e.profileEvaluationExecuteCase(i);case"profile/evaluations/executeRun":return this.#e.profileEvaluationExecuteRun(i);case"profile/evaluations/compare":return this.#e.profileEvaluationCompare(i);case"profile/evaluations/report":return this.#e.profileEvaluationReport(i);case"harness/inspect":return this.#e.harnessInspect(i);case"harness/proposalReview":return this.#e.harnessProposalReview(i);case"harness/review":return this.#e.harnessReview(i);case"harness/acceptEvaluationReview":return this.#e.harnessAcceptEvaluationReview(i);case"harness/materializeEvaluationTaskset":return this.#e.harnessMaterializeEvaluationTaskset(i);case"harness/runEvaluationBaseline":return this.#e.harnessRunEvaluationBaseline(i);case"harness/validate":return this.#e.harnessValidate(i);case"harness/backgroundReview":return this.#e.harnessBackgroundReview(i);case"harness/diff":return this.#e.harnessDiff(i);case"harness/rollback":return this.#e.harnessRollback(i);case"refiner/inspect":return this.#e.refinerInspect(i);case"refiner/update":return this.#e.refinerUpdate(i);case"refiner/activate":return this.#e.refinerActivate(i);case"refiner/rollback":return this.#e.refinerRollback(i);default:throw new w(-32601,`Method not found: ${t}`)}}},w=class extends Error{static{a(this,"JsonRpcDispatchError")}code;data;constructor(t,i,n){super(i),this.code=t,this.data=n}};function M(r,t,i,n){return{jsonrpc:"2.0",id:r,error:{code:t,message:i,...n===void 0?{}:{data:n}}}}a(M,"jsonRpcError");var L=class{static{a(this,"AgentRpcClient")}#e;#t;constructor(t){this.#e=t.request.bind(t),this.#t=t.notify.bind(t)}async initialize(t,i={}){let n=await this.#e("initialize",{protocolVersion:E,client:t,capabilities:i});return await this.#t("initialized"),n}capabilities=a((t={})=>this.#e("runtime/capabilities",t),"capabilities");threadStart=a(t=>this.#e("thread/start",t),"threadStart");threadResume=a(t=>this.#e("thread/resume",t),"threadResume");threadRead=a(t=>this.#e("thread/read",t),"threadRead");turnStart=a(t=>this.#e("turn/start",t),"turnStart");turnSteer=a(t=>this.#e("turn/steer",t),"turnSteer");taskInbox=a(t=>this.#e("task/inbox",t),"taskInbox");taskQueue=a(t=>this.#e("task/queue",t),"taskQueue");taskInputUpdate=a(t=>this.#e("task/inputUpdate",t),"taskInputUpdate");turnInterrupt=a(t=>this.#e("turn/interrupt",t),"turnInterrupt");approvalResolve=a(t=>this.#e("approval/resolve",t),"approvalResolve");userInputResolve=a(t=>this.#e("userInput/resolve",t),"userInputResolve");profileWorkflows=a(t=>this.#e("profile/workflows",t),"profileWorkflows");profileEvaluations=a(t=>this.#e("profile/evaluations",t),"profileEvaluations");profileEvaluationPrepare=a(t=>this.#e("profile/evaluations/prepare",t),"profileEvaluationPrepare");profileEvaluationRun=a(t=>this.#e("profile/evaluations/run",t),"profileEvaluationRun");profileEvaluationRunSuite=a(t=>this.#e("profile/evaluations/runSuite",t),"profileEvaluationRunSuite");profileEvaluationExecuteCase=a(t=>this.#e("profile/evaluations/executeCase",t),"profileEvaluationExecuteCase");profileEvaluationExecuteRun=a(t=>this.#e("profile/evaluations/executeRun",t),"profileEvaluationExecuteRun");profileEvaluationCompare=a(t=>this.#e("profile/evaluations/compare",t),"profileEvaluationCompare");experimentExecuteCase=a(t=>this.#e("experiments/executeCase",t),"experimentExecuteCase");experimentCancelCase=a(t=>this.#e("experiments/cancelCase",t),"experimentCancelCase");harnessInspect=a((t={})=>this.#e("harness/inspect",t),"harnessInspect");harnessProposalReview=a((t={})=>this.#e("harness/proposalReview",t),"harnessProposalReview");harnessReview=a((t={})=>this.#e("harness/review",t),"harnessReview");harnessAcceptEvaluationReview=a((t={})=>this.#e("harness/acceptEvaluationReview",t),"harnessAcceptEvaluationReview");harnessMaterializeEvaluationTaskset=a((t={})=>this.#e("harness/materializeEvaluationTaskset",t),"harnessMaterializeEvaluationTaskset");harnessRunEvaluationBaseline=a((t={})=>this.#e("harness/runEvaluationBaseline",t),"harnessRunEvaluationBaseline");harnessValidate=a((t={})=>this.#e("harness/validate",t),"harnessValidate");harnessBackgroundReview=a((t={})=>this.#e("harness/backgroundReview",t),"harnessBackgroundReview");harnessDiff=a((t={})=>this.#e("harness/diff",t),"harnessDiff");harnessRollback=a((t={})=>this.#e("harness/rollback",t),"harnessRollback");refinerInspect=a(t=>this.#e("refiner/inspect",t),"refinerInspect");refinerUpdate=a(t=>this.#e("refiner/update",t),"refinerUpdate");refinerActivate=a(t=>this.#e("refiner/activate",t),"refinerActivate");refinerRollback=a(t=>this.#e("refiner/rollback",t),"refinerRollback")};var c=e.string().trim().min(1).max(200),A=e.string().trim().min(1).max(32e3),T=e.number().int().nonnegative(),D=e.object({id:c,sessionId:c,senderSessionId:c.nullable(),senderKind:e.enum(["user","task","runtime"]),kind:e.enum(["steer","message","followup","queued","result"]),body:A,payload:e.record(e.string(),e.unknown()),idempotencyKey:c,replyTo:c.nullable(),expectedTurnId:c.nullable()}).strict(),ve=e.discriminatedUnion("action",[e.object({action:e.literal("resume"),expectedRevision:e.number().int().positive()}).strict(),e.object({action:e.literal("cancel"),expectedRevision:e.number().int().positive()}).strict(),e.object({action:e.literal("edit"),expectedRevision:e.number().int().positive(),body:A}).strict(),e.object({action:e.literal("steer"),expectedRevision:e.number().int().positive(),expectedTurnId:c}).strict()]),F=e.object({id:c,sessionId:c,turnId:c,targetSessionId:c.nullable(),targetTurnId:c.nullable(),targetInputId:c.nullable(),afterSequence:T,deadline:e.string(),state:e.enum(["waiting","message","completed","failed","interrupted","unavailable","timeout","cancelled"]),createdAt:e.string(),updatedAt:e.string()}).strict(),W=e.record(e.string(),e.unknown()),xe=e.enum(["queued","running","completed","failed","cancelled","needs_resume"]),Ie=e.object({parentSessionId:c.nullable().optional(),childSessionId:c.nullable().optional(),status:e.array(xe).nullable().optional(),afterId:e.string().max(200),limit:e.number().int().min(1).max(10)}).strict(),K=e.discriminatedUnion("action",[e.object({action:e.literal("recoverTaskInboxOwners"),ownerId:c}).strict(),e.object({action:e.literal("hasTaskCompletion"),turnId:c}).strict(),e.object({action:e.literal("taskInboxSnapshot"),sessionId:c}).strict(),e.object({action:e.literal("taskInboxSnapshotInputs"),sessionId:c,afterSequence:T}).strict(),e.object({action:e.literal("declareTaskWork"),sessionId:c,turnId:c,ownerId:c,areas:e.array(A).max(100)}).strict(),e.object({action:e.literal("taskWorkAreas"),sessionId:c}).strict(),e.object({action:e.literal("admitTaskInput"),input:D}).strict(),e.object({action:e.literal("admitTaskInputs"),inputs:e.array(D).max(50)}).strict(),e.object({action:e.literal("rejectTaskInput"),id:c,error:A}).strict(),e.object({action:e.literal("getTaskInput"),id:c}).strict(),e.object({action:e.literal("taskInputsForSession"),sessionId:c,query:e.object({afterSequence:T.optional(),pendingOnly:e.boolean().optional(),limit:e.number().int().min(1).max(500).optional()}).strict()}).strict(),e.object({action:e.literal("mutateTaskInput"),sessionId:c,inputId:c,change:ve}).strict(),e.object({action:e.literal("openTaskInboxTurn"),sessionId:c,turnId:c,ownerId:c}).strict(),e.object({action:e.literal("renewTaskInboxTurn"),sessionId:c,turnId:c,ownerId:c}).strict(),e.object({action:e.literal("pendingTaskInputs"),sessionId:c,turnId:c,afterSequence:T}).strict(),e.object({action:e.literal("taskAssignmentInputs"),turnId:c,afterSequence:T}).strict(),e.object({action:e.literal("pauseTaskInboxTurn"),sessionId:c,turnId:c,ownerId:c}).strict(),e.object({action:e.literal("includeTaskInputs"),sessionId:c,turnId:c,ownerId:c,requestId:c}).strict(),e.object({action:e.literal("settleTaskInputRequest"),requestId:c,outcome:e.enum(["resolved","failed","replaced"])}).strict(),e.object({action:e.literal("sealTaskInboxTurn"),sessionId:c,turnId:c,ownerId:c}).strict(),e.object({action:e.literal("sealNativeTaskInboxTurn"),sessionId:c,turnId:c,ownerId:c}).strict(),e.object({action:e.literal("closeTaskInboxTurn"),sessionId:c,turnId:c,ownerId:c,outcome:e.enum(["completed","failed","interrupted"])}).strict(),e.object({action:e.literal("taskInboxPaused"),sessionId:c}).strict(),e.object({action:e.literal("reserveTaskFollowup"),sessionId:c,turnId:c,ownerId:c}).strict(),e.object({action:e.literal("taskInboxWakeTargets"),afterSessionId:e.string().max(200)}).strict(),e.object({action:e.literal("createTaskWait"),value:F}).strict(),e.object({action:e.literal("settleTaskWait"),id:c,state:F.shape.state}).strict(),e.object({action:e.literal("taskWaitsForSession"),sessionId:c,afterId:e.string().max(200)}).strict(),e.object({action:e.literal("commitSubagentCompletion"),value:W,turnId:c}).strict(),e.object({action:e.literal("pendingTaskCompletions"),afterTurnId:e.string().max(200)}).strict(),e.object({action:e.literal("settleTaskCompletion"),turnId:c,inputId:c}).strict(),e.object({action:e.literal("upsertSubagentRun"),value:W}).strict(),e.object({action:e.literal("getSubagentRun"),id:c}).strict(),e.object({action:e.literal("listSubagentRuns"),query:Ie}).strict()]);var q=e.string().trim().min(1).max(191),G=e.object({createdAt:e.string().min(1),id:q}).strict(),Q=e.enum(["trigger_decision","route_decision","refiner_outcome","proposal","targeted_validation","apply_receipt"]),X=e.discriminatedUnion("action",[e.object({action:e.literal("active_release"),workspaceId:q}).strict(),e.object({action:e.literal("put_artifact"),workspaceId:q,kind:Q,artifact:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("artifact_page"),workspaceId:q,kind:Q,before:G.nullable(),limit:e.number().int().min(1).max(200)}).strict(),e.object({action:e.literal("pending_trigger_page"),workspaceId:q,before:G.nullable(),limit:e.number().int().min(1).max(200)}).strict()]);var b=e.string().trim().min(1).max(240),Y=e.string().regex(/^[a-f0-9]{64}$/),Z=e.enum(["run_overlay","observation","trigger_decision","route_decision","proposal","targeted_validation","apply_receipt","refiner_outcome"]),ee=e.object({createdAt:e.string().datetime(),id:b}).strict(),te=e.discriminatedUnion("action",[e.object({action:e.literal("artifact_put"),workspaceId:b,kind:Z,artifact:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("artifact_page"),workspaceId:b,kind:Z,before:ee.nullable(),limit:e.number().int().min(1).max(100)}).strict(),e.object({action:e.literal("pending_page"),workspaceId:b,before:ee.nullable(),limit:e.number().int().min(1).max(100)}).strict(),e.object({action:e.literal("workspace_get"),workspaceId:b}).strict(),e.object({action:e.literal("background_get"),workspaceId:b}).strict(),e.object({action:e.literal("overlay_get"),runId:b}).strict(),e.object({action:e.literal("overlay_freeze"),runId:b,expectedRevision:e.number().int().nonnegative(),overlay:e.record(e.string(),e.unknown()),proposal:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("memory_get"),workspaceId:b,sessionId:b,key:b}).strict(),e.object({action:e.literal("memory_page"),workspaceId:b,sessionId:b,before:e.object({updatedAt:e.string().datetime(),key:b}).strict().nullable(),limit:e.number().int().min(1).max(20),includeDeleted:e.boolean()}).strict(),e.object({action:e.literal("memory_write"),sessionId:b,input:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("release_get"),contentHash:Y}).strict(),e.object({action:e.literal("release_put"),record:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("session_get"),sessionId:b}).strict(),e.object({action:e.literal("turn_get"),turnId:b}).strict(),e.object({action:e.literal("turn_page"),sessionId:b,before:e.number().int().positive().nullable(),limit:e.number().int().min(1).max(100)}).strict(),e.object({action:e.literal("event_page"),turnId:b,afterSequence:e.number().int().nonnegative(),names:e.array(b).max(40),limit:e.number().int().min(1).max(100)}).strict(),e.object({action:e.literal("event_append"),event:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("usage_put"),record:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("snapshot_restore"),turnId:b,expectedHash:Y,snapshot:e.record(e.string(),e.unknown())}).strict()]);var v=e.string().trim().min(1).max(200),re=e.string().regex(/^[a-f0-9]{64}$/),we=e.object({kind:e.enum(["structural","visual","test","user_review"]),status:e.enum(["passed","failed","not_run"]),label:e.string().trim().min(1).max(240),detail:e.string().trim().max(4e3).nullable().optional(),ref:e.string().trim().max(4096).nullable().optional()}),ne=e.object({id:v,title:e.string().trim().min(1).max(240),sourceTaskId:v,sourceTurnId:v,revision:e.number().int().positive(),createdAt:e.string().datetime(),contentType:e.string().trim().min(1).max(200),sizeBytes:e.number().int().min(1).max(1e7),sha256:re,validation:e.array(we).max(32)}).strict(),ae=e.object({sessionId:v,turnId:v,output:ne}).strict(),ie=e.object({uploadId:v,index:e.number().int().min(0).max(1024),offset:e.number().int().min(0).max(1e7),sha256:re,contentsBase64:e.string().min(1).max(131072)}).strict(),se=e.object({uploadId:v}).strict(),ke=ne.pick({id:!0,title:!0,sourceTaskId:!0,sourceTurnId:!0,revision:!0,createdAt:!0,validation:!0}),oe=e.object({sessionId:v,turnId:v,output:ke,sandboxPath:e.string().trim().min(1).max(4096)}).strict();var _=e.string().trim().min(1).max(200),je=e.object({type:e.enum(["create","get","start","stop","exec","open_port","list_files","download_file","upload_file","search_files","delete_file","stat_file","mkdir","move_file","process_start","process_get","git_status","git_diff","git_export_patch","git_branch","git_commit","git_pull","git_push"]),sandboxId:_.optional(),payload:e.unknown().optional(),processId:_.optional(),failOnUnpreservedChanges:e.boolean().optional()}).strict().superRefine((r,t)=>{r.type!=="create"&&!r.sandboxId&&t.addIssue({code:"custom",message:"Sandbox identity is required."}),r.type==="create"&&r.sandboxId&&t.addIssue({code:"custom",message:"Create cannot target a sandbox identity."}),r.type==="process_get"&&!r.processId&&t.addIssue({code:"custom",message:"Process identity is required."})}),ce=e.object({action:je}).strict(),le=e.object({sessionId:_,turnId:_,name:_}).strict();var d=1,s=e.string().trim().min(1).max(191),k=e.number().int().min(1).max(200),gt=e.object({teamId:s,ownerUserId:s,workspaceId:s,conversationId:s,turnId:s,attempt:e.number().int().min(1),leaseGeneration:e.number().int().min(1)}).strict(),ue=e.discriminatedUnion("operation",[e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("experiment/policy"),params:e.object({caseId:s,admissionHash:e.string().regex(/^[a-f0-9]{64}$/),ordinal:e.number().int().nonnegative(),messages:e.array(e.record(e.string(),e.unknown())).max(2e3),tools:e.array(e.record(e.string(),e.unknown())).max(200)}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("sandbox/request"),params:ce}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("embedding/authorize"),params:le}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/begin"),params:ae}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/chunk"),params:ie}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/complete"),params:se}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/saveSandboxFile"),params:oe}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("settings/get"),params:e.object({}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/get"),params:e.object({reference:e.object({id:s,contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().nullable()}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/overlay/get"),params:e.object({runId:s}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/overlay/put"),params:e.object({runId:s,expectedRevision:e.number().int().min(0).nullable(),overlay:e.record(e.string(),e.unknown())}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/overlay/freezeProposal"),params:e.object({runId:s,expectedRevision:e.number().int().min(0),overlay:e.record(e.string(),e.unknown()),proposal:e.record(e.string(),e.unknown())}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/memory/get"),params:e.object({workspaceId:s,key:e.string().min(1).max(120)}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/memory/list"),params:e.object({workspaceId:s,includeDeleted:e.boolean(),before:e.object({updatedAt:e.string(),key:e.string()}).strict().nullable(),limit:k}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/memory/search"),params:e.object({workspaceId:s,query:e.string().trim().min(1).max(500),limit:e.number().int().min(1).max(20)}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/memory/write"),params:e.object({input:e.record(e.string(),e.unknown())}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/state/read"),params:e.object({workspaceId:s,kind:e.enum(["selection","workspace_settings","evaluation_review_settings","candidates","cross_run_requests"]),afterId:s.nullable(),limit:e.number().int().min(1).max(100)}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("profile-evaluations/execute"),params:e.discriminatedUnion("action",[e.object({action:e.literal("get"),kind:e.enum(["grade","receipt","run","comparison","suite"]),id:s}).strict(),e.object({action:e.literal("page"),kind:e.enum(["grade","receipt","run","comparison","suite"]),profileKey:e.string().regex(/^[a-f0-9]{64}$/),before:e.object({createdAt:e.string(),id:s}).strict().nullable(),limit:e.number().int().min(1).max(100)}).strict(),e.object({action:e.literal("put"),kind:e.enum(["grade","receipt","run","comparison","suite"]),payload:e.record(e.string(),e.unknown()),profileKey:e.string().regex(/^[a-f0-9]{64}$/).nullable(),createdAt:e.string()}).strict()])}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/workspace/transition"),params:e.discriminatedUnion("action",[e.object({action:e.literal("advance"),receiptId:s,workspaceId:s,proposal:e.record(e.string(),e.unknown()),validations:e.array(e.record(e.string(),e.unknown())).max(100),nextRelease:e.object({id:s,contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict(),nextSourceRevision:e.string().min(1),now:e.string()}).strict(),e.object({action:e.literal("reviewedAdvance"),receiptId:s,workspaceId:s,proposal:e.record(e.string(),e.unknown()),validations:e.array(e.record(e.string(),e.unknown())).max(100),nextRelease:e.object({id:s,contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict(),nextSourceRevision:e.string().min(1),reviewer:s,now:e.string()}).strict(),e.object({action:e.literal("rollback"),receiptId:s,workspaceId:s,expectedWorkspaceRevision:e.number().int().nonnegative(),expectedChannelRevision:e.number().int().nonnegative(),targetRelease:e.object({id:s,contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict(),targetSourceRevision:e.string().min(1),rollbackOf:e.object({id:s,contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict(),now:e.string()}).strict()])}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("task-inbox/execute"),params:K}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/review/execute"),params:te}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("refiner/execute"),params:e.object({action:X}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("create-improve/execute"),params:e.discriminatedUnion("action",[e.object({action:e.literal("get"),runId:s}).strict(),e.object({action:e.literal("page"),query:e.object({profileId:s.nullable(),targetKind:s.nullable(),targetId:s.nullable(),state:e.array(s).max(20)}).strict(),before:e.object({updatedAt:e.string(),id:s}).strict().nullable(),limit:k}).strict(),e.object({action:e.literal("put"),run:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("mutate"),mutation:e.record(e.string(),e.unknown()),next:e.record(e.string(),e.unknown())}).strict()])}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("approval/get"),params:e.object({approvalId:s}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("approval/upsert"),params:e.object({approval:e.record(e.string(),e.unknown()),expectedRevision:e.number().int().min(1).nullable()}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("usage/getByRequestId"),params:e.object({requestId:s}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("usage/upsert"),params:e.object({record:e.record(e.string(),e.unknown())}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("usage/page"),params:e.object({query:e.object({sessionId:s.optional(),turnId:s.optional(),provider:s.optional(),model:s.optional(),startedAtFrom:e.string().optional(),startedAtTo:e.string().optional(),visibility:e.enum(["user_facing","background","system"]).optional(),status:e.enum(["started","completed","failed","interrupted","missing"]).optional()}).strict(),before:e.object({startedAt:e.string(),requestOrdinal:e.number().int().min(0),id:s}).strict().nullable(),limit:k}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("capabilities"),params:e.object({}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("session/count"),params:e.object({}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("session/get"),params:e.object({sessionId:s}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("session/page"),params:e.object({afterId:s.nullable(),limit:k}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("session/put"),params:e.object({sessionId:s,expectedRevision:e.number().int().min(1).nullable(),session:e.record(e.string(),e.unknown())}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("turn/count"),params:e.object({sessionId:s}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("turn/wakeCount"),params:e.object({sessionId:s,key:e.enum(["messageId","fromRunId"]),value:s}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("turn/get"),params:e.object({turnId:s}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("turn/put"),params:e.object({sessionId:s,turnId:s,expectedRevision:e.number().int().min(1).nullable(),turn:e.record(e.string(),e.unknown())}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("turn/latest"),params:e.object({sessionId:s,status:e.enum(["in_progress","completed","failed","interrupted"]).nullable()}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("turn/page"),params:e.object({sessionId:s,beforeSortIndex:e.number().int().min(0).nullable().optional(),limit:k}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("thread/turnPage"),params:e.object({sessionId:s,beforeSortIndex:e.number().int().min(0).nullable().optional(),limit:k}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("event/append"),params:e.object({event:e.record(e.string(),e.unknown())}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("events/page"),params:e.object({sessionId:s.nullable(),afterSequence:e.number().int().min(0),beforeSequence:e.number().int().min(1).nullable().optional(),limit:k,excludeReasoningDeltas:e.boolean().optional()}).strict()}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("events/latestAssistantText"),params:e.object({sessionId:s}).strict()}).strict()]),vt=e.object({contractVersion:e.literal(d),operations:e.array(e.enum(["sandbox/request","embedding/authorize","output/begin","output/chunk","output/complete","output/saveSandboxFile","settings/get","harness/get","harness/overlay/get","harness/overlay/put","harness/overlay/freezeProposal","harness/memory/get","harness/memory/list","harness/memory/search","harness/memory/write","harness/state/read","profile-evaluations/execute","harness/review/execute","harness/workspace/transition","task-inbox/execute","refiner/execute","create-improve/execute","approval/get","approval/upsert","usage/getByRequestId","usage/upsert","usage/page","session/count","session/get","session/page","session/put","turn/count","turn/wakeCount","turn/get","turn/put","turn/latest","turn/page","thread/turnPage","event/append","events/page","events/latestAssistantText"])).max(48),allowedTools:e.array(s).max(128),maxPageSize:k,maxRequestBytes:e.number().int().min(1).max(8388608),maxInFlight:e.number().int().min(1).max(64)}).strict();var de=class{static{a(this,"AgentHostStorageClient")}#e=new Map;#t=null;#r=1;bind(t){if(this.#t)throw new Error("Host storage client is already bound.");this.#t=t}async request(t,i=15e3){let n=ue.parse(t);if(!this.#t)throw new Error("Host storage transport is unavailable.");if(this.#e.size>=32)throw new Error("Host storage request limit exceeded.");let o=`host-storage:${this.#r++}`,l={jsonrpc:"2.0",id:o,method:"host/storage",params:n};if(Buffer.byteLength(JSON.stringify(l))>(n.operation==="experiment/policy"?8388608:256e3))throw new Error("Host storage request is too large.");let u=new Promise((p,f)=>{let h=n.operation==="sandbox/request"||n.operation==="experiment/policy"?3e5:6e4,y=setTimeout(()=>{this.#e.delete(o),f(new Error("Host storage request timed out."))},Math.max(1,Math.min(h,i)));this.#e.set(o,{resolve:p,reject:f,timer:y})});try{await this.#t(l)}catch(p){let f=this.#e.get(o);f&&(clearTimeout(f.timer),this.#e.delete(o),f.reject(p instanceof Error?p:new Error(String(p))))}return u}accept(t){let i=O.safeParse(t),n=i.success?null:N.safeParse(t),o=i.success?i.data:n?.success?n.data:null;if(!o||typeof o.id!="string"||!o.id.startsWith("host-storage:"))return!1;let l=this.#e.get(o.id);return l?(clearTimeout(l.timer),this.#e.delete(o.id),Buffer.byteLength(JSON.stringify(o))>1e6?(l.reject(new Error("Host storage response is too large.")),!0):("error"in o?l.reject(new Error(`Host storage request failed: ${o.error.message}`)):l.resolve(o.result),!0)):!0}close(){this.#t=null;for(let t of this.#e.values())clearTimeout(t.timer),t.reject(new Error("Host storage transport closed."));this.#e.clear()}};import{once as ye}from"node:events";import{createInterface as Re}from"node:readline";async function Et(r){let t=null,i=Promise.resolve(),n=[],o=a(m=>(i=i.then(async()=>{r.writable.write(`${JSON.stringify(m)}
3
- `)||await ye(r.writable,"drain")}),i),"write");r.hostStorageClient?.bind(m=>o(m));let l=a(()=>{if(!(!t?.initialized||n.length===0))for(let m of n.splice(0))o(m)},"flushPendingNotifications"),u,p=new Set,f=Re({input:r.readable,crlfDelay:1/0}),h=[],y=!1,S=null,R=a(async m=>{let g=t;if(!g)throw new Error("Agent runtime dispatcher is unavailable.");let x=(async()=>{let $=await g.handle(m);$&&await o($),l()})(),B=m&&typeof m=="object"&&"method"in m?m.method:null;if(B==="initialize"||B==="initialized"){await x;return}p.add(x),x.finally(()=>p.delete(x))},"dispatch"),z=(async()=>{let m=typeof r.host=="function"?await r.host():r.host;for(t=new P(m),u=m.subscribe?.(g=>{if(!t?.initialized){n.push(g);return}o(g)});h.length>0;)await R(h.shift());y=!0})().catch(m=>{S=m,f.close()});try{for await(let m of f){if(!m.trim())continue;if(Buffer.byteLength(m,"utf8")>1e6){await o({jsonrpc:"2.0",id:null,error:{code:-32600,message:"Request exceeds the JSONL size limit"}});continue}let g;try{g=JSON.parse(m)}catch{await o({jsonrpc:"2.0",id:null,error:{code:-32700,message:"Parse error"}});continue}if(!r.hostStorageClient?.accept(g))if(y)await R(g);else if(h.length>=64){let x=g&&typeof g=="object"&&"id"in g?g.id:null;(typeof x=="string"||typeof x=="number")&&await o({jsonrpc:"2.0",id:x,error:{code:-32e3,message:"Runtime startup request limit exceeded"}})}else h.push(g)}if(await z,S)throw S;await Promise.all(p),await i}finally{r.hostStorageClient?.close(),u?.()}}a(Et,"runAgentJsonlServer");var H=e.object({threadId:e.string().trim().min(1)}).passthrough(),Se=H.extend({includeHistory:e.boolean().optional()}),Ee=e.object({session:e.unknown()}).strict(),C=H.extend({input:e.unknown()}),Te=C.extend({idempotencyKey:e.string().trim().min(1).max(200)}),qe=C.extend({inputId:e.string().trim().min(1)}),_e=H.extend({reason:e.string().trim().min(1).optional()}),Ce=e.object({approvalId:e.string().trim().min(1),input:e.unknown()}).strict();function Vt(r){let t=a(async(n,o,l)=>{let u=performance.now();r.telemetry?.({method:n,phase:"started",threadId:o,durationMs:null,errorClass:null});try{let p=await l();return r.telemetry?.({method:n,phase:"completed",threadId:o,durationMs:performance.now()-u,errorClass:null}),p}catch(p){throw r.telemetry?.({method:n,phase:"failed",threadId:o,durationMs:performance.now()-u,errorClass:p instanceof Error?p.name:"UnknownError"}),p}},"run"),i=a(async(n,o="thread/read")=>{let{threadId:l,includeHistory:u}=Se.parse(n);return t(o,l,async()=>{if(u===!1)return{thread:await r.readThread(l),turns:[],events:[]};let[p,f,h]=await Promise.all([r.readThread(l),r.listTurns(l),r.listEvents(l)]);return{thread:p,turns:f,events:h}})},"threadRead");return{capabilities:a(n=>t("runtime/capabilities",null,()=>r.capabilities(n)),"capabilities"),threadStart:a(async n=>t("thread/start",null,async()=>({thread:await r.createThread(Ee.parse(n).session)})),"threadStart"),threadResume:a(n=>i(n,"thread/resume"),"threadResume"),threadRead:i,turnStart:a(async n=>{let o=C.parse(n);return t("turn/start",o.threadId,async()=>({turn:await r.startTurn(o.threadId,o.input)}))},"turnStart"),turnSteer:a(async n=>{let o=C.parse(n);return t("turn/steer",o.threadId,async()=>({receipt:await r.steerTurn(o.threadId,o.input)}))},"turnSteer"),taskInbox:a(async n=>{let{threadId:o}=H.parse(n);return t("task/inbox",o,()=>r.readTaskInbox(o))},"taskInbox"),taskQueue:a(async n=>{let o=Te.parse(n);return t("task/queue",o.threadId,()=>r.queueTaskInput(o.threadId,o.input,o.idempotencyKey))},"taskQueue"),taskInputUpdate:a(async n=>{let o=qe.parse(n);return t("task/inputUpdate",o.threadId,()=>r.updateTaskInput(o.threadId,o.inputId,o.input))},"taskInputUpdate"),turnInterrupt:a(async n=>{let o=_e.parse(n);return t("turn/interrupt",o.threadId,async()=>({turn:await r.interruptTurn(o.threadId,o.reason)}))},"turnInterrupt"),approvalResolve:a(async n=>{let o=Ce.parse(n);return t("approval/resolve",null,async()=>({approval:await r.resolveApproval(o.approvalId,o.input)}))},"approvalResolve"),userInputResolve:a(async n=>{let o=C.parse(n);return t("userInput/resolve",o.threadId,async()=>(r.isTurnActive(o.threadId)&&await r.waitForTurnSettlement(o.threadId),{turn:await r.startTurn(o.threadId,o.input)}))},"userInputResolve"),profileWorkflows:a(()=>t("profile/workflows",null,()=>r.listProfileWorkflows()),"profileWorkflows"),profileEvaluations:a(n=>t("profile/evaluations",null,()=>r.listProfileEvaluations(n)),"profileEvaluations"),profileTrainingSource:a(()=>t("profile/trainingSource",null,()=>r.loadProfileTrainingSource()),"profileTrainingSource"),profileEvaluationPrepare:a(n=>t("profile/evaluations/prepare",null,()=>r.prepareProfileEvaluationRun(n)),"profileEvaluationPrepare"),profileEvaluationRun:a(n=>t("profile/evaluations/run",null,()=>r.runPreparedProfileEvaluation(n)),"profileEvaluationRun"),...r.executeExperimentCase?{experimentExecuteCase:a(n=>t("experiments/executeCase",null,()=>r.executeExperimentCase(n)),"experimentExecuteCase")}:{},...r.cancelExperimentCase?{experimentCancelCase:a(n=>t("experiments/cancelCase",null,()=>r.cancelExperimentCase(n)),"experimentCancelCase")}:{},profileEvaluationRunSuite:a(n=>t("profile/evaluations/runSuite",null,()=>r.runProfileEvaluationSuite(n)),"profileEvaluationRunSuite"),profileEvaluationExecuteCase:a(n=>t("profile/evaluations/executeCase",null,()=>r.executeProfileEvaluationCase(n)),"profileEvaluationExecuteCase"),profileEvaluationExecuteRun:a(n=>t("profile/evaluations/executeRun",null,()=>r.executeProfileEvaluationRun(n)),"profileEvaluationExecuteRun"),profileEvaluationCompare:a(n=>t("profile/evaluations/compare",null,()=>r.compareProfileEvaluationRuns(n)),"profileEvaluationCompare"),profileEvaluationReport:a(n=>t("profile/evaluations/report",null,()=>r.buildProfileEvaluationReport(n)),"profileEvaluationReport"),harnessInspect:a(()=>t("harness/inspect",null,()=>r.inspectHarness()),"harnessInspect"),harnessProposalReview:a(n=>t("harness/proposalReview",null,()=>r.reviewHarnessProposal(n)),"harnessProposalReview"),harnessReview:a(n=>t("harness/review",null,()=>r.reviewHarness(n)),"harnessReview"),harnessAcceptEvaluationReview:a(n=>t("harness/acceptEvaluationReview",null,()=>r.acceptHarnessEvaluationReview(n)),"harnessAcceptEvaluationReview"),harnessMaterializeEvaluationTaskset:a(n=>t("harness/materializeEvaluationTaskset",null,()=>r.materializeHarnessEvaluationTaskset(n)),"harnessMaterializeEvaluationTaskset"),harnessRunEvaluationBaseline:a(n=>t("harness/runEvaluationBaseline",null,()=>r.runHarnessEvaluationBaseline(n)),"harnessRunEvaluationBaseline"),harnessValidate:a(()=>t("harness/validate",null,()=>r.validateHarness()),"harnessValidate"),harnessBackgroundReview:a(n=>t("harness/backgroundReview",null,()=>r.updateHarnessBackgroundReview(n)),"harnessBackgroundReview"),harnessDiff:a(n=>t("harness/diff",null,()=>r.diffHarness(n)),"harnessDiff"),harnessRollback:a(n=>t("harness/rollback",null,()=>r.rollbackHarness(n)),"harnessRollback"),refinerInspect:a(()=>t("refiner/inspect",null,()=>r.inspectRefiner()),"refinerInspect"),refinerUpdate:a(n=>t("refiner/update",null,()=>r.updateRefiner(n)),"refinerUpdate"),refinerActivate:a(n=>t("refiner/activate",null,()=>r.activateRefiner(n)),"refinerActivate"),refinerRollback:a(n=>t("refiner/rollback",null,()=>r.rollbackRefiner(n)),"refinerRollback"),subscribe:r.subscribeEvents&&r.eventNotification?n=>r.subscribeEvents(o=>n(r.eventNotification(o))):void 0}}a(Vt,"createAgentRuntimeService");var j=e.string().regex(/^[a-f0-9]{64}$/),Pe=e.object({harnessReleaseHash:j,instructionsHash:j,skillHashes:e.record(e.string(),j),agentAssetHashes:e.record(e.string(),j),toolCatalogHash:j,memoryRevision:e.number().int().nonnegative().nullable()}).strict(),Ae=e.object({protocolVersion:e.string().trim().min(1),threadId:e.string().trim().min(1),turnId:e.string().trim().min(1),harnessReleaseHash:j,toolCatalogHash:j,context:e.record(e.string(),e.unknown()),pendingInteraction:e.record(e.string(),e.unknown()).nullable(),usage:e.record(e.string(),e.unknown())}).strict();function Mt(r){return I(Pe.parse(r))}a(Mt,"effectiveSurfaceHash");function Ut(r){return I(Ae.parse(r))}a(Ut,"checkpointHash");function Jt(r){return[r.system,...r.harnessInstructions,...r.skillInstructions,...r.hostInstructions??[]].map(t=>t.trim()).filter(Boolean).join(`
4
-
5
- `)}a(Jt,"materializeAgentPrompt");function Kt(r){let t=new Map;for(let u of r){let p=u.name.trim();if(!p)throw new Error("Agent tool names cannot be empty.");if(t.has(p))throw new Error(`Duplicate agent tool: ${p}.`);if(!u.unavailableReason&&!u.execute)throw new Error(`Agent tool ${p} is declared as available without an executor.`);t.set(p,{...u,name:p})}let i=[...t.values()].sort((u,p)=>u.name.localeCompare(p.name)),n=i.filter(u=>!u.unavailableReason).map(u=>({name:u.name,description:u.description,inputSchema:e.toJSONSchema(u.inputSchema,{target:"draft-7",unrepresentable:"any"})})),o=i.map(u=>({name:u.name,displayLabel:u.displayLabel??u.name,placement:u.placement,available:!u.unavailableReason,unavailableReason:u.unavailableReason??null})),l=I({modelTools:n,capabilities:o});return{byName:t,tools:i,modelTools:n,capabilities:o,hash:l}}a(Kt,"createAgentToolCatalog");async function Gt(r,t){let i=r.byName.get(t.name);if(!i)throw new Error(`Unknown agent tool: ${t.name}.`);if(i.unavailableReason)throw new Error(`Agent tool ${t.name} is unavailable: ${i.unavailableReason}`);if(!i.execute)throw new Error(`Agent tool ${t.name} has no executor.`);return i.execute(i.inputSchema.parse(t.arguments),t.context)}a(Gt,"executeAgentTool");function Qt(r){let t=new Set,i=[...r].map(l=>{let u=l.name.trim();if(!u)throw new Error("Agent tool names cannot be empty.");if(t.has(u))throw new Error(`Duplicate agent tool: ${u}.`);if(t.add(u),!l.unavailableReason&&!l.executorAvailable)throw new Error(`Agent tool ${u} is declared as available without an executor.`);return{...l,name:u}}).sort((l,u)=>l.name.localeCompare(u.name)),n=i.filter(l=>!l.unavailableReason).map(l=>({name:l.name,description:l.description,inputSchema:l.inputSchema})),o=i.map(l=>({name:l.name,displayLabel:l.displayLabel??l.name,placement:l.placement,available:!l.unavailableReason,unavailableReason:l.unavailableReason??null}));return{byName:new Map(i.map(l=>[l.name,l])),tools:i,modelTools:n,capabilities:o,hash:I({modelTools:n,capabilities:o})}}a(Qt,"createAgentToolCatalogProjection");async function Xt(r,t){let i=r.byName.get(t.name);if(!i)throw new Error(`Unknown agent tool: ${t.name}.`);if(i.unavailableReason)throw new Error(`Agent tool ${t.name} is unavailable: ${i.unavailableReason}`);if(!i.execute)throw new Error(`Agent tool ${t.name} has no executor.`);let n=i.validateArguments?i.validateArguments(t.arguments):t.arguments;return i.execute(n,t.context)}a(Xt,"executeProjectedAgentTool");var pe=class{static{a(this,"TaskSignals")}#e=new Map;notify(t){for(let i of[...this.#e.get(t)??[]])i()}subscribe(t,i){let n=this.#e.get(t);return n||this.#e.set(t,n=new Set),n.add(i),()=>{n.delete(i),n.size===0&&this.#e.delete(t)}}async wait(t){let i=a(()=>{},"wake"),n=0,o=a(()=>{n+=1,i()},"changed"),l=[...new Set(t.taskIds)].map(p=>this.subscribe(p,o)),u=setTimeout(o,Math.max(0,t.deadline-Date.now()));t.signal.addEventListener("abort",o);try{for(;;){t.signal.throwIfAborted();let p=n,f=await t.read();if(f!==null)return f;if(Date.now()>=t.deadline)return null;n===p&&await new Promise(h=>{i=h,(n!==p||t.signal.aborted)&&h()})}}finally{clearTimeout(u),t.signal.removeEventListener("abort",o);for(let p of l)p()}}},me=class{static{a(this,"TaskSerialExecutor")}#e=new Map;async run(t,i){let o=(this.#e.get(t)??Promise.resolve()).then(i),l=o.then(()=>{},()=>{});this.#e.set(t,l);try{return await o}finally{this.#e.get(t)===l&&this.#e.delete(t)}}};export{V as a,I as b,Oe as c,Ne as d,Be as e,be as f,fe as g,Le as h,E as i,Ke as j,U as k,J as l,O as m,N as n,Ge as o,ge as p,P as q,L as r,K as s,X as t,te as u,ne as v,ae as w,ie as x,se as y,ke as z,oe as A,je as B,ce as C,le as D,d as E,gt as F,ue as G,vt as H,de as I,Et as J,Vt as K,Pe as L,Ae as M,Mt as N,Ut as O,Jt as P,Kt as Q,Gt as R,Qt as S,Xt as T,pe as U,me as V};
@@ -1,2 +0,0 @@
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-ANCZVBMI.js";import"./chunk-BJSXEGWG.js";import"./chunk-JYM3O4G7.js";import"./chunk-OUN6VQDO.js";import"./chunk-VTWY3U4M.js";import"./chunk-SUAT5DR4.js";import"./chunk-2VTXKZNK.js";import"./chunk-EEJ3HL6O.js";import"./chunk-MOMDY22U.js";import"./chunk-S2MLTFZF.js";import"./chunk-BAQ3DWH2.js";import"./chunk-AANEPCEZ.js";import"./chunk-VI3ZF54E.js";import"./chunk-L3KS6MOV.js";import"./chunk-3CKJETWW.js";import"./chunk-ZQWXPDCB.js";import"./chunk-6MI4KKWF.js";import"./chunk-TPMXLA5Y.js";import"./chunk-2Z6H32OC.js";import"./chunk-MJC26GOX.js";import"./chunk-TPOW52DO.js";import"./chunk-QUNRWDVO.js";import"./chunk-6FA3GG5B.js";import"./chunk-SDO4FC4Q.js";import"./chunk-IR3YJWPW.js";import"./chunk-ALZRXBEC.js";import"./chunk-MTJNKRXL.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};
@@ -1,13 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import"./chunk-LRGLV6JX.js";import{c as Pa}from"./chunk-65BW2QXY.js";import{c as Ea,f as Aa}from"./chunk-BSHAIAXY.js";import"./chunk-QZ4KTU65.js";import"./chunk-AUOMUBLE.js";import"./chunk-XWPC3AN4.js";import{c as G,f as oa}from"./chunk-3M53YXEI.js";import{d as xa}from"./chunk-AANEPCEZ.js";import"./chunk-VI3ZF54E.js";import"./chunk-3CKJETWW.js";import"./chunk-ZQWXPDCB.js";import"./chunk-6MI4KKWF.js";import{Q as ne,T as se,W as xe,Y as Re,Z as wa,aa as he,c as ya,ca as ge,wa as pt,za as Ta}from"./chunk-TPMXLA5Y.js";import"./chunk-OGPHXXCD.js";import{a as _e,b as x,c as M,d as Vt,e as Ra,i as _a}from"./chunk-XJAK6DDB.js";import"./chunk-Z2BYC6TP.js";import{d as Ia}from"./chunk-DXAZUJPA.js";import"./chunk-GLUWATL5.js";import"./chunk-KCENW4ME.js";import"./chunk-2Z6H32OC.js";import"./chunk-MJC26GOX.js";import{$ as ba,B as ue,H as fe,P as Fe,R as Ue,T as ha,W as ga,_ as ka,b as pe,d as zt,f as pa,fa as I,ga as D,ha as E,ia as mt,j as ct,ka as re,la as va,m as la,ma as X,o as ua,p as qt,q as Oe,r as fa,s as O,t as dt,va as Bt,wa as Sa,xa as Ge,y as le}from"./chunk-TPOW52DO.js";import{g as da,h as ma}from"./chunk-QUNRWDVO.js";import"./chunk-6FA3GG5B.js";import"./chunk-SDO4FC4Q.js";import"./chunk-IR3YJWPW.js";import"./chunk-ALZRXBEC.js";import"./chunk-MTJNKRXL.js";import{a as nt,b as st,e as it,f as ca,g as K,j as ae,k as z,l as g,q as ot}from"./chunk-HZP5U2AA.js";import{b as e}from"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import{a as c}from"./chunk-FTQLQJQV.js";var ke=Fe.shape.id,Ne=e.string().regex(/^[a-f0-9]{64}$/),ja=e.object({scopeId:ke,modelId:ke}).strict(),Ot=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:ja,root:Fe,parent:Fe}).strict(),Vr=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:ke,modelId:ke,expectedModelRevision:e.number().int().positive(),sourcePackageHash:Ne}).strict(),Ie=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:ke,requestHash:Ne,sourcePackageHash:Ne,sourceTasksetRef:Fe,tasksetId:ke,tasksetRevision:e.number().int().positive(),lineage:Ot,authoringGraph:e.literal("bound").optional()}).strict(),Q=e.string().min(1).max(1024).refine(t=>!t.includes("\\")&&!t.includes(":")&&!t.includes("\0")&&!t.startsWith("/")&&!t.split("/").some(a=>!a||a==="."||a===".."||a.startsWith(".env")),"Use a relative Taskset file path without environment files."),Or=e.object({path:Q,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),Ft=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),$s=Or.extend({contentHash:Ne,content:Ft}).strict(),Fr=e.object({draftId:ke,expectedDraftRevision:e.number().int().positive(),path:Q,expectedFileHash:Ne.nullable(),content:Ft.nullable()}).strict();var F=e.string().trim().min(1).max(240),Y=e.string().trim().min(1),ie=e.string().trim().min(8).max(256),Da=e.string().trim().min(1).max(1e3).refine(t=>!t.startsWith("/")&&!t.startsWith("\\")&&!t.split(/[\\/]/).includes(".."),"Artifact paths must be relative and stay inside the Dataset."),oe=e.enum(["train","validation","test","frozen_eval"]),Ur=e.object({name:e.string().trim().min(1).max(500),semanticRole:e.enum(["row_id","cluster_id","prompt","messages","demonstration","chosen","rejected","expected_output","privileged_context","reward","feedback","tag","metadata"]),logicalType:e.enum(["string","integer","float","boolean","json","messages"]),nullable:e.boolean(),policy:e.enum(["visible","privileged","metadata"])}),Gr=e.object({schemaVersion:e.literal("openpond.datasetSemanticSchema.v1"),fields:e.array(Ur).min(1).max(1e4),schemaHash:ie}),Nr=e.object({id:F,split:oe,path:Da,contentHash:ie,schemaHash:ie,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),Le=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:F,tasksetId:F,tasksetRevision:e.number().int().positive(),contentHash:ie,format:e.literal("parquet"),schema:Gr,shards:e.array(Nr).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(oe,e.number().int().nonnegative()),sourceReceiptRefs:e.array(F).min(1).max(1e5),mappingHash:ie,qualityReportHash:ie,createdAt:Y}),Bs=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:F,tasksetId:F,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(oe,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:ie,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Y}),Lr=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:F,tasksetRevision:e.number().int().positive(),artifactId:F.nullable(),name:e.string().trim().min(1).max(500),status:e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),storageKind:e.enum(["inline","parquet"]),rowCount:e.number().int().nonnegative(),splitCounts:e.record(oe,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Y,updatedAt:Y}),Vs=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:F,datasets:e.array(Lr),generatedAt:Y}),Os=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:Le,profileId:F,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:Da,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:Y.nullable(),createdAt:Y,updatedAt:Y}),Fs=e.object({split:oe.nullable().default(null),cursor:e.string().trim().min(1).max(2e3).nullable().default(null),limit:e.number().int().min(1).max(100).default(25),columns:e.array(e.string().trim().min(1).max(500)).max(100).default([])}),Us=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:F,tasksetRevision:e.number().int().positive(),artifactHash:ie,split:oe.nullable(),rows:e.array(e.record(e.string(),e.unknown())).max(100),nextCursor:e.string().max(2e3).nullable(),totalRows:e.number().int().nonnegative(),returnedRows:e.number().int().nonnegative()}),Jr=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:Y}),Wr=e.object({id:F,label:e.string().trim().min(1).max(500),path:e.string().trim().min(1).max(4e3),datasetStorePath:e.string().trim().min(1).max(4e3),kind:e.enum(["local","network","removable","cache"]),configured:e.boolean(),mounted:e.boolean(),writable:e.boolean(),totalBytes:e.number().int().nonnegative().nullable(),freeBytes:e.number().int().nonnegative().nullable()}),Gs=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:Jr,storageRoots:e.array(Wr)}),Ns=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)});var Pe=e.string().trim().min(1).max(240),Kr=e.string().trim().min(1),Ee=e.string().trim().min(8).max(256),Xr=e.record(e.string(),e.unknown()).default({}),Qr=e.string().trim().min(7).max(256),Yr=e.enum(["pending","approved","review","blocked"]),lt=e.object({id:Pe,profileId:Pe,title:e.string().trim().min(1).max(500),sourceHash:Ee,occurredAt:Kr,licensingStatus:Yr,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:Xr}),Zr=lt.extend({schemaVersion:e.literal("openpond.huggingFaceDatasetSource.v1"),kind:e.literal("huggingface"),repositoryId:e.string().trim().regex(/^[^/\s]+\/[^/\s]+$/).max(500),repositoryUrl:e.string().url().max(2e3),revision:Qr,configuration:e.string().trim().min(1).max(500),upstreamSplits:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),gated:e.boolean(),private:e.boolean(),declaredLicense:e.string().trim().min(1).max(500).nullable(),sourceFileHashes:e.array(Ee).min(1).max(1e5)}),en=lt.extend({schemaVersion:e.literal("openpond.uploadedFileDatasetSource.v1"),kind:e.literal("uploaded_file"),originalFileNames:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),mediaTypes:e.array(e.string().trim().min(1).max(200)).min(1).max(1e3),sourceFileHashes:e.array(Ee).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),tn=lt.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:Pe,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:Ee}),an=lt.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:Pe,revision:e.number().int().positive(),contentHash:Ee}).strict(),taskDefinition:e.object({id:Pe,revision:e.number().int().positive(),contentHash:Ee}).strict(),admittedBy:Pe}),Ha=e.discriminatedUnion("kind",[Zr,en,tn,an]);var Ca=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:nt,modelToolName:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(1e3),inputSchema:e.record(e.string(),e.unknown()),actionSchemaHash:st,agentRelease:it,implementationHash:st,runtimeBindingId:nt,capabilityReceiptHash:st,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:nt,source:e.literal("case_id")}).strict()).max(20).default([])}).strict();var w=e.string().trim().min(1).max(240),Ut=e.string().trim().min(1),rn=e.string().trim().min(8).max(256),Gt=e.string().trim().regex(/^[a-f0-9]{64}$/),nn=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),N=e.record(e.string(),e.unknown()).default({}),ft=w.nullable();function Je(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}c(Je,"safeRelativeFilePath");function sn(t){let a=t.trim();return a.length>0&&a!=="."&&a!==".."&&!a.includes("/")&&!a.includes("\\")&&!a.includes("\0")}c(sn,"safeFileName");var ut=oe,ht=e.enum(["general","benchmark"]),gt=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:w,releaseId:w,releaseHash:Gt,managedReleasePath:e.string().trim().min(1).max(1e3).refine(Je,"Benchmark release paths must remain relative."),adaptationSplit:ut,evaluationSplit:ut,primaryMetric:e.enum(["foreground_tokens","success_rate","latency_ms","cost_usd"]),qualityGate:e.enum(["none","non_regression","all_pass"]),source:e.enum(["builtin","imported"]),metadata:N}),kt=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:w,releaseHash:Gt,publishedAt:Ut,metadata:N}),on=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:ft,grantedAt:Ut.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),cn=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:w,profileId:w,sessionId:w,turnIds:e.array(w).max(1e3).default([]),workspaceId:ft,sourceHash:rn,clusterKey:w,title:e.string().trim().min(1).max(500),occurredAt:Ut,consent:on,connectedAppIds:e.array(w).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:N}),bt=e.union([cn,Ha]),vt=e.object({policyVisibleFields:e.array(w).max(1e3).default([]),privilegedFields:e.array(w).max(1e3).default([]),hiddenGraderRefs:e.array(w).max(100).default([]),connectedAppScopes:e.array(w).max(100).default([])}),dn=e.object({id:w,sourceRefId:w,artifactRef:e.string().trim().min(1).max(4e3).refine(Je,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(sn,"Task asset file names must not contain path separators."),mediaType:e.string().trim().min(1).max(200),sha256:Gt,sizeBytes:e.number().int().nonnegative().max(25e7),split:ut,metadata:N}),mn=e.object({path:e.string().trim().min(1).max(1e3).refine(Je,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:w.nullable().optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:N}),Ae=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:w,clusterKey:w,split:ut,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:ft,sourceRefs:e.array(w).min(1).max(100),assets:e.array(dn).max(1e3).optional(),resourceRefs:e.array(w).max(1e3).optional(),requiredOutputs:e.array(mn).max(100).optional(),tags:e.array(w).max(100).default([]),metadata:N}),pn=e.object({id:w,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(Je,"Environment resource paths must remain relative."),mediaType:e.string().trim().min(1).max(200).nullable().optional(),visibility:e.enum(["policy_visible","policy_hidden","privileged"]),required:e.boolean(),metadata:N}),je=e.object({id:w,taskId:ft,sourceRefs:e.array(w).min(1).max(100),artifactRef:w,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:N}),Ma=je.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),$a=je.extend({kind:e.literal("preference"),prompt:e.string().max(1e5),chosen:e.string().max(2e5),rejected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),za=je.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),qa=je.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),Ba=je.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:w,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),Va=je.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:w,label:e.string().trim().min(1).max(500),description:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),calibrationExamples:e.object({positive:e.string().trim().min(1).max(2e5),negative:e.string().trim().min(1).max(2e5),boundary:e.string().trim().min(1).max(2e5)})}),ni=e.discriminatedUnion("kind",[Ma,$a,za,qa,Ba,Va]),St=e.object({demonstrations:e.array(Ma).max(1e5).default([]),preferences:e.array($a).max(1e5).default([]),corrections:e.array(za).max(1e5).default([]),feedback:e.array(qa).max(1e5).default([]),rewards:e.array(Ba).max(1e5).default([]),labels:e.array(Va).max(1e5).default([])}),yt=e.object({protocolVersion:e.literal("openpond.taskEnvironment.v1"),kind:e.enum(["chat","agent","program","stateful_harness","work"]),entrypoint:e.string().trim().min(1).max(1e3),stateful:e.boolean(),deterministicSeeds:e.boolean(),toolNames:e.array(w).max(200).default([]),actionBindings:e.array(Ca).max(200).optional(),lifecycle:e.array(e.enum(["create","reset","step","grade","cleanup"])).min(1),defaultTimeoutMs:e.number().int().positive().max(36e5),networkPolicy:e.enum(["none","declared_read_only","declared_scoped"]),resources:e.array(pn).max(1e4).optional(),metadata:N}),wt=e.object({schemaVersion:e.literal("openpond.tasksetCapabilities.v1"),taskKind:e.enum(["chat","single_agent","multi_agent","custom_program"]),supportedSignals:e.array(e.enum(["demonstration","preference","correction","feedback","reward","label"])),compatibleMethods:e.array(e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"])),rewardKinds:e.array(e.enum(["none","exact","deterministic","model_judge","human"])),requiresTools:e.boolean(),requiresState:e.boolean(),requiresPrivilegedGrading:e.boolean(),environmentPlacements:e.array(e.enum(["local","remote","colocated","provider_native"])),exportable:e.boolean(),portabilityBlockers:e.array(e.string().trim().min(1).max(2e3)).default([])}),Tt=e.object({id:w,version:e.string().trim().min(1).max(100),label:e.string().trim().min(1).max(500),weight:e.number().min(0).max(1e3).default(1),hardGate:e.boolean().default(!1),rewardEligible:e.boolean().default(!1),privileged:e.boolean().default(!1),metadata:N}),ln=Tt.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),un=Tt.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:ot,calibrationFixtureRefs:e.array(w).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),fn=Tt.extend({kind:e.literal("human"),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),hn=Tt.extend({kind:e.literal("custom_verifier"),runtime:ua.optional(),module:e.string().trim().min(1).max(1e3).refine(Je,"Custom verifier modules must use a safe relative path."),exportName:nn,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),xt=e.union([ln,un,fn,hn]),gn=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),Rt=e.object({id:w,taskId:w,label:gn,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:N});var De=e.string().trim().min(1).max(240),Oa=e.string().trim().min(1),kn=e.string().trim().min(8).max(256),bn=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),vn=e.record(e.string(),e.unknown()).default({});function Fa(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}c(Fa,"safeRelativeFilePath");var Sn=Ae.extend({sourceRefs:e.array(De).max(100).default([])}),yn=e.enum(["draft","validating","needs_review","published"]),wn=e.object({enabled:e.boolean(),candidateCount:e.number().int().min(2).max(4),minimumSamples:e.number().int().min(1).max(1e4).default(100),allowTies:e.boolean(),allowRejectAll:e.boolean(),rubric:e.string().trim().max(5e4),criteria:e.array(e.object({id:De,label:e.string().trim().min(1).max(500),description:e.string().trim().max(1e4),weight:e.number().nonnegative().max(1e3)})).max(100)}),Tn=e.object({mode:e.enum(["text","structured_json","artifacts"]),jsonSchema:e.record(e.string(),e.unknown()).nullable(),renderer:e.object({module:e.string().trim().min(1).max(1e3).refine(Fa,"Renderer modules must use a safe relative path."),exportName:bn,configRef:e.string().trim().min(1).max(1e3).refine(Fa,"Renderer configuration must use a safe relative path.").nullable().default(null)}).nullable()}).superRefine((t,a)=>{t.mode==="structured_json"&&!t.jsonSchema&&a.addIssue({code:"custom",message:"Structured JSON output requires a JSON Schema.",path:["jsonSchema"]}),t.mode==="text"&&t.renderer&&a.addIssue({code:"custom",message:"Text output cannot configure an artifact renderer.",path:["renderer"]})}),be=e.object({schemaVersion:e.literal("openpond.tasksetDraft.v1"),id:De,revision:e.number().int().positive(),profileId:De,modelScope:e.object({modelId:De,expectedModelRevision:e.number().int().positive(),source:Ie.optional()}).strict().nullable().default(null),name:e.string().trim().max(500),objective:e.string().trim().max(2e4),purpose:ht.default("general"),benchmark:gt.nullable().default(null),preferenceComparison:kt.nullable().default(null),status:yn,sourceRefs:e.array(bt).max(1e5).default([]),datasetArtifact:Le.nullable().optional(),policy:vt,environment:yt,output:Tn.default({mode:"text",jsonSchema:null,renderer:null}),capabilities:wt,metrics:ct,review:wn,tasks:e.array(Sn).max(1e6).default([]),graders:e.array(xt).max(1e3).default([]),graderFixtures:e.array(Rt).max(1e5).default([]),learningSignals:St,publishedTasksetRef:e.object({id:De,revision:e.number().int().positive(),contentHash:kn}).nullable(),createdAt:Oa,updatedAt:Oa,metadata:vn}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark drafts require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark drafts may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed drafts may not duplicate canonical rows inline.",path:["tasks"]}),t.status==="published"&&!t.publishedTasksetRef&&a.addIssue({code:"custom",message:"Published drafts require an immutable Taskset reference.",path:["publishedTasksetRef"]})});var xn=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","tasks/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","metrics/policy.json","assets/manifest.json","environment/contract.json","environment/taskset.ts","rubrics/preference-review.md","comparisons/policy.json"]);function Ua(t){return xn.has(Q.parse(t))}c(Ua,"isManagedTasksetDraftFilePath");function Nt(t){let a=be.parse(t);return new Map([["taskset.json",ae(a)],["tasks/tasks.jsonl",_n(a.tasks)],["graders/graders.json",ae(a.graders)],["fixtures/grader-fixtures.json",ae(a.graderFixtures)],["metrics/policy.json",ae(a.metrics)],["assets/manifest.json",ae(a.tasks.flatMap(r=>r.assets??[]))],["environment/contract.json",ae(a.environment)],["rubrics/preference-review.md",Rn(a)],["comparisons/policy.json",ae(a.review)]])}c(Nt,"renderTasksetDraftManifests");function Rn(t){let a=t.review.criteria.length?`
3
-
4
- ## Criteria
5
-
6
- ${t.review.criteria.map(r=>`- **${r.label}** (${r.weight}): ${r.description}`).join(`
7
- `)}`:"";return`# Preference review rubric
8
-
9
- ${t.review.rubric}${a}
10
- `}c(Rn,"rubricMarkdown");function _n(t){return t.length?`${t.map(a=>JSON.stringify(a)).join(`
11
- `)}
12
- `:""}c(_n,"jsonLines");var Lt=64*1024*1024,Ga=e.string().regex(/^[a-f0-9]{64}$/),Na=e.object({path:Q,contentHash:Ga,sizeBytes:e.number().int().nonnegative().max(Lt),base64:e.string().max(Lt)}).strict(),In=e.object({schemaVersion:e.literal("openpond.tasksetDraftWorkspace.v1"),draft:be,files:e.array(Na).max(1e4)}).strict(),_t=In.extend({contentHash:Ga}).strict();function We(t){pe(t,Lt);let a=_t.parse(t),{contentHash:r,...n}=a;if(g(n)!==r)throw new Error("Taskset draft workspace differs from its retained bytes.");let s=null,i=new Set;for(let o of a.files){if(Ua(o.path))throw new Error("Managed Taskset files are represented by the draft document.");if(s!==null&&s>=o.path)throw new Error("Taskset draft file paths must be unique and sorted.");let u=o.path.split("/");for(let l=1;l<u.length;l++)if(i.has(u.slice(0,l).join("/")))throw new Error("A Taskset draft file occupies another file's directory.");Jt(o),i.add(o.path),s=o.path}return a}c(We,"validateTasksetDraftWorkspace");function Jt(t){let a=Na.parse(t),r;try{r=atob(a.base64)}catch{throw new Error("Taskset draft file contains invalid base64.")}if(btoa(r)!==a.base64)throw new Error("Taskset draft file contains noncanonical base64.");let n=Uint8Array.from(r,s=>s.charCodeAt(0));if(n.byteLength!==a.sizeBytes||z(n)!==a.contentHash)throw new Error("Taskset draft file differs from its retained bytes.");return n}c(Jt,"decodeTasksetDraftWorkspaceFile");var He=e.string().trim().min(1).max(500),Pn=e.string().regex(/^[a-f0-9]{64}$/),ve=e.object({id:He,revision:e.number().int().positive(),contentHash:Pn}).strict(),En=e.object({schemaVersion:e.literal("openpond.hostedTasksetSummary.v1"),id:He,teamId:He,release:ve,name:e.string().min(1).max(500),description:e.string().max(2e4),taskCount:e.number().int().nonnegative(),buildIntent:e.string().min(1).max(100),methodHint:e.string().min(1).max(100).nullable(),packageBytes:e.number().int().nonnegative().nullable(),storedBytes:e.number().int().nonnegative().nullable(),createdAt:e.string().datetime({offset:!0})}).strict(),zi=e.object({afterId:He.optional(),limit:e.number().int().min(1).max(100).default(30),modelProjectId:He.optional()}).strict(),qi=e.object({items:e.array(En).max(100),nextCursor:He.nullable()}).strict(),Bi=e.object({code:e.string().min(1),message:e.string().min(1)}).strict();function La(t){return`model-authored-taskset-${g({owner:t.owner,root:t.root})}`}c(La,"modelAuthoredTasksetId");function Wt(t){if(t.metadata.modelTasksetAuthoring===void 0)return null;let a=Ot.parse(t.metadata.modelTasksetAuthoring);if(t.id!==La(a)||(t.revision===1?!D(a.parent,a.root):a.parent.id!==t.id||a.parent.revision!==t.revision-1))throw new Error("Authored Taskset revision differs from its ownership lineage.");return a}c(Wt,"assertModelTasksetAuthoring");var eo=e.string().regex(/^[a-f0-9]{64}$/);var ce=e.object({environment:ne,verifierSet:se,javascript:pt}).strict(),to=e.object({actions:e.array(e.object({name:e.string().min(1).max(64),arguments:e.record(e.string(),e.unknown())}).strict()).max(1e3)}).strict();function Ke(t){if(!t.environmentRelease||!t.verifierSetRelease)throw new Error("Starter execution release references are missing.");return`starter-execution-${E({environment:t.environmentRelease,verifiers:t.verifierSetRelease}).contentHash}`}c(Ke,"modelStarterExecutionAssetId");function Ja(t){let a=ce.parse(t);Wa(a);let r=Ke({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),n=va({text:_e(a),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:s,...i}=n;return E({...i,id:r,asset:{...i.asset,id:r}})}c(Ja,"createModelStarterExecutionAsset");function Se(t,a){return E({value:t}).contentHash===E({value:a}).contentHash}c(Se,"equal");function Wa(t){Ta(t.javascript);for(let a of[t.environment,t.verifierSet]){let{contentHash:r,...n}=a;if(E(n).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${a.id}.`)}if(!Se(t.environment.metadata.javascriptEnvironment,I(t.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}c(Wa,"assertExecutionIntegrity");function It(t,a,r){if(!t){if(a.environment.entrypoint==="openpond.javascript-environment.v1")throw new Error("Starter JavaScript execution resources are missing.");return}let{environment:n,verifierSet:s,javascript:i}=t;if(Wa(t),!Se(a.environmentRelease,{id:n.id,contentHash:n.contentHash})||!Se(a.verifierSetRelease,{id:s.id,contentHash:s.contentHash})||!Se(n.contract,a.environment)||!Se(s.graders,a.graders)||!Se(a.tools,i.tools)||!Se(n.metadata.javascriptEnvironment,I(i)))throw new Error("Starter execution resources differ from its declared task context.");let o=n.contract;if(o.entrypoint!=="openpond.javascript-environment.v1"||o.kind!=="agent"||!o.stateful||!o.deterministicSeeds||o.networkPolicy!=="none"||new Set(o.lifecycle).size!==5||a.capabilities.length||a.policy.connectedAppScopes.length)throw new Error("Starter JavaScript environment declares unsupported host capabilities.");for(let u of[i.module,n.actionSchemaRef,n.observationSchemaRef,n.stateSchemaRef]){if(!u)continue;let l=r.find(d=>d.id===u.id);if(!l)throw new Error(`Starter environment asset is missing: ${u.id}.`);X(l,u)}for(let u of a.tasks){let l=r.find(m=>m.id===u.privilegedContextRef);if(!l||l.asset.visibility!=="host_private"||l.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${u.id}.`);let d=JSON.parse(X(l,l.asset));if(!d||typeof d!="object"||Array.isArray(d))throw new Error(`Starter initial state must be a JSON object: ${u.id}.`);pe(d,i.maxStateBytes)}}c(It,"validateModelStarterExecution");var Ka=e.object({environment:ne,verifierSet:se}).strict();var Qa=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),Kt=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:Qa,root:M,parent:M}).strict(),Xt=e.object({taskset:O,taskDefinition:Ue,rewardBinding:ue,rewards:e.array(le).min(1).max(100),assets:e.array(re).max(1e3),executionResources:Ka.optional(),execution:ce.optional(),instructionMode:e.literal("per_task").optional()}).strict(),Z=c((t,a)=>E({value:t}).contentHash===E({value:a}).contentHash,"same"),Xa=c((t,a)=>`model-taskset-${E({owner:t,root:a}).contentHash}`,"identity");function Ya(t){let a=Qa.parse(t.owner),r=t.source,n=t.edits??r,s=r.taskset.metadata.modelTasksetDerivation===void 0?null:Kt.parse(r.taskset.metadata.modelTasksetDerivation);if(s&&r.taskset.id!==Xa(s.owner,s.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let i=s&&Z(s.owner,a),o=i?s.root:I(r.taskset),u=i?r.taskset.id:Xa(a,o),l=i?r.taskset.revision+1:1,d=ue.parse(t.rewardBinding),m=t.rewards.map(me=>le.parse(me)),p=fe(d,m);if(d.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let f={...n.taskset.policy,hiddenGraderRefs:p.filter(me=>me.privileged).map(me=>me.id)},v=n.executionResources??n.execution,k=v?.environment??xe({schemaVersion:"openpond.environmentRelease.v1",id:`${u}-environment`,revision:1,contract:n.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),b=Re({schemaVersion:"openpond.verifierSetRelease.v1",id:`${u}-verifiers`,revision:l,graders:p,isolation:v?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(n.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:v?{sourceVerifierSet:I(v.verifierSet)}:{}}),R={environment:k,verifierSet:b},P=n.execution?{...n.execution,verifierSet:b}:void 0,{contentHash:C,...S}=n.taskset,{contentHash:Te,...te}=n.taskDefinition,h={...te.execution,policy:f,environmentRelease:{id:k.id,contentHash:k.contentHash},verifierSetRelease:{id:b.id,contentHash:b.contentHash}},y=Ue.parse(E({...te,id:`${u}-definition`,revision:l,rewardBinding:I(d),execution:h})),T=r.taskset.metadata.starterAuthoring??r.taskset.metadata.ordinaryAuthoring,A=T&&typeof T=="object"&&!Array.isArray(T)&&"graderFixtures"in T?T.graderFixtures:void 0,q=O.parse(E({...S,...h,id:u,revision:l,graders:p,metadata:{starter:{taskDefinition:I(y),rewardBinding:I(d)},rewardExecution:{binding:d,rewards:m},...A===void 0?{}:{starterAuthoring:{graderFixtures:A}},...n.taskset.metadata.environmentResources===void 0?{}:{environmentResources:n.taskset.metadata.environmentResources},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:a,root:o,parent:I(r.taskset)}}}));return Qt({taskset:q,taskDefinition:y,rewardBinding:d,rewards:m,assets:t.assets,executionResources:R,...P?{execution:P}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}c(Ya,"compileModelTasksetReward");function Qt(t){let a=Xt.parse(t),{taskset:r,taskDefinition:n,rewardBinding:s,rewards:i,assets:o,execution:u}=a;for(let b of[r,n,s,...i,...o])mt(b);if(dt(r),s.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!D(n.rewardBinding,I(s)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:l,environment:d,environmentRelease:m,tools:p,capabilities:f,verifierSetRelease:v}=r;if(!Z(n.execution,{policy:l,environment:d,...m?{environmentRelease:m}:{},tools:p,capabilities:f,...v?{verifierSetRelease:v}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!Z(r.graders,fe(s,i)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let b=e.object({taskDefinition:M,rewardBinding:M}).passthrough().parse(r.metadata.starter);if(!D(b.taskDefinition,I(n))||!D(b.rewardBinding,I(s)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!Z(r.metadata.rewardExecution,{binding:s,rewards:i}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!D(M.parse(r.metadata.rewardBinding),I(s)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let k=a.executionResources??u;if(r.environmentRelease&&!k)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(k&&(!he(k.environment)||!ge(k.verifierSet)||!Z(r.environmentRelease,{id:k.environment.id,contentHash:k.environment.contentHash})||!Z(r.verifierSetRelease,{id:k.verifierSet.id,contentHash:k.verifierSet.contentHash})||!Z(r.environment,k.environment.contract)||!Z(r.graders,k.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(It(u,r,o),new Set(o.map(b=>b.id)).size!==o.length)throw new Error("Taskset asset identities must be unique.");for(let b of o)X(b,b.asset);for(let b of k?[k.environment.actionSchemaRef,k.environment.observationSchemaRef,k.environment.stateSchemaRef]:[]){if(!b)continue;let R=o.find(P=>P.id===b.id);if(!R)throw new Error(`Taskset environment asset is missing: ${b.id}.`);X(R,b)}for(let b of r.tasks){if(n.requiredOutputs&&!Z(b.requiredOutputs,n.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${b.id}.`);if(a.instructionMode!=="per_task"&&b.policyVisibleContext.instructions!==n.instructions||!zt(n.inputSchema,b.input).valid||b.expectedOutput!==null&&!zt(n.outputSchema,b.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${b.id}.`);if(b.privilegedContextRef&&!o.some(R=>R.id===b.privilegedContextRef&&R.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${b.id}.`)}for(let b of i){let R=b.implementation,P=[...b.assets,..."verifierRef"in R?[R.verifierRef]:[],..."rubricRef"in R?[R.rubricRef]:[],..."inputContract"in R?[R.inputContract]:[]];for(let C of P){let S=o.find(Te=>Te.id===C.id);if(!S||C.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${C.id}.`);X(S,C)}}return a}c(Qt,"validateModelTasksetPackage");var Ce=e.string().trim().min(1).max(240),Za=x.extend({revision:e.number().int().positive()}).strict(),er=Za.extend({teamId:Ce,jobId:Ce,plan:x,baseline:x,candidate:x,state:ya.shape.state,updatedAt:e.string().datetime()}).strict(),An=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:Ce,jobId:Ce,groups:e.array(er).max(100),nextCursor:Ce.nullable()}).strict(),jn=e.object({cursor:Ce.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();var U=e.string().trim().min(1).max(191),Qe=e.string().regex(/^[a-f0-9]{64}$/),tr=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:U,operationId:U,projectId:U.nullable(),configuration:e.object({id:U,expectedRevision:e.number().int().positive(),expectedEtag:Qe}).strict(),batch:M,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6)}).strict(),ar=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:U,creatorUserId:U,request:tr,requestHash:Qe,source:e.lazy(()=>Yt),submissionHash:Qe,createdAt:e.string().datetime({offset:!0})}).strict(),rr=ar.extend({contentHash:Qe}).strict(),nr=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:rr,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:U.nullable()}).strict().superRefine((t,a)=>{t.state==="submitted"!=!!t.jobId&&a.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),Dn=e.object({teamId:U,planHash:Qe,expectedRevision:e.number().int().positive()}).strict(),Hn=e.object({projectId:U.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:U.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Cn=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:U,items:e.array(nr).max(100),nextCursor:U.nullable()}).strict();var Mn=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:it,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(67108864)}).strict();var Qo=e.array(e.object({id:e.string().trim().min(1)}).catchall(e.unknown())).min(1).max(1e3),Yo=e.object({binding:ue,rewards:e.array(le).min(1).max(100)}).strict();var $n=e.object({id:e.string().trim().min(1),clusterKey:e.string().trim().min(1),split:e.enum(["train","validation","frozen_eval"])}).passthrough(),zn=e.object({schemaVersion:e.literal("openpond.trainingEvaluationSource.v1"),taskset:M,tasks:e.array($n).min(1).max(1e4),assets:e.array(e.object({path:e.string().trim().min(1).max(2e3),sha256:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().nonnegative(),encoding:e.literal("base64"),content:e.string().max(32*1024*1024)}).strict()).max(1e4)}).strict().superRefine((t,a)=>{let r=new Set;t.tasks.forEach((n,s)=>{n.split==="train"&&a.addIssue({code:"custom",path:["tasks",s,"split"],message:"Evaluation sources require held-out tasks."}),r.has(n.id)&&a.addIssue({code:"custom",path:["tasks",s,"id"],message:"Evaluation task identities must be unique."}),r.add(n.id)})});var j=e.string().trim().min(1).max(500),B=e.string().regex(/^[a-f0-9]{64}$/),L=e.string().datetime({offset:!0}),Dc=e.object({schemaVersion:e.literal("openpond.trainingInputArtifactUpload.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),idempotencyKey:e.string().trim().min(1).max(500),sourceManifest:x,payload:e.unknown(),contentHash:B}).strict(),Hc=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:x,artifactRef:e.string().trim().min(1).max(2e3),contentHash:B,sizeBytes:e.number().int().positive(),createdAt:L}).strict();var ir=e.enum(["reward_model_train","policy_optimize"]),Fn=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),Un=e.object({id:j,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),Yt=e.object({modelProject:e.object({id:j,portableProjectId:j,revision:e.number().int().positive(),contentHash:B}).strict(),harnessRunManifest:x,harnessRelease:x,taskset:M,tasksetRelease:x,evaluation:e.object({taskset:M,dataset:x}).strict().nullable().optional(),dataset:x,evidenceSets:e.array(x).max(1e4)}).strict(),Gn=e.object({kind:e.literal("reward_model_train"),baseModel:Vt,preferenceDatasetRelease:x,processorRelease:x,recipe:e.object({schemaVersion:e.literal("openpond.rewardModelRecipe.v1"),method:e.literal("reward_model"),parameterization:e.literal("lora_with_scalar_head")}).catchall(e.unknown())}).strict(),Nn=e.object({kind:e.literal("deterministic"),grader:x,composer:x.nullable().default(null)}).strict(),Ln=e.object({kind:e.literal("learned_reward"),rewardModelVersion:x,qualificationReport:x.nullable().default(null),evaluationReferences:e.array(x).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:B,executionReceipt:x}).strict(),processorRelease:x,rewardComposerRelease:x}).strict(),Jn=e.object({kind:e.literal("policy_optimize"),baseModel:Vt,recipe:Ra,rewardSource:e.discriminatedUnion("kind",[Nn,Ln]),resumeFrom:x.nullable().default(null)}).strict(),Wn=e.discriminatedUnion("kind",[Gn,Jn]),Kn=e.object({approvalHash:B,approvedAt:L,exportApproved:e.boolean(),maximumSpendUsd:e.number().nonnegative(),retentionDays:e.number().int().nonnegative().nullable(),region:e.string().trim().min(1).max(200).nullable().default(null)}).strict(),Cc=e.object({schemaVersion:e.literal("openpond.trainingJobSubmission.v2"),idempotencyKey:e.string().trim().min(1).max(500),name:e.string().trim().min(1).max(200),source:Yt,job:Wn,requestedCapabilities:e.array(Un).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:Kn,contentHash:B}).strict().superRefine((t,a)=>{t.approval.maximumSpendUsd!==t.budget.maximumSpendUsd&&a.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});var Xn=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:j,teamId:j,kind:ir,modelProjectId:j,portableProjectId:j,sourceProjectRevision:e.number().int().positive(),submissionHash:B,state:Fn,phase:e.string().trim().min(1).max(200),version:e.number().int().nonnegative(),progress:e.number().min(0).max(1),rolloutProgress:e.object({groupsCompleted:e.number().int().nonnegative(),groupsTarget:e.number().int().nonnegative(),optimizerUpdatesApplied:e.number().int().nonnegative(),optimizerUpdatesSkipped:e.number().int().nonnegative()}).strict(),accruedSpendUsd:e.number().nonnegative(),terminalReason:e.string().trim().min(1).max(5e3).nullable(),createdAt:L,updatedAt:L,completedAt:L.nullable()}).strict(),Mc=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(Xn).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),$c=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:j,jobId:j,sequence:e.number().int().nonnegative(),type:j,phase:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3).nullable(),data:e.record(e.string(),e.unknown()).default({}),createdAt:L}).strict(),zc=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:j,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:L}).strict(),qc=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),Qn=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:j,jobId:j,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:B,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:L}).strict(),Yn=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:j,teamId:j,jobId:j,submissionHash:B,manifestHash:B,recipeHash:B,capabilityHash:B,runtimeRelease:x,inputs:e.array(x).max(1e4),outputs:e.array(x).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),issuer:j,issuedAt:L,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();var Bc=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(Qn).max(1e4),receipt:Yn.nullable()}).strict(),Vc=e.object({schemaVersion:e.literal("openpond.trainingApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict();var Oc=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:B,jobKinds:e.array(ir),methods:e.array(e.string().trim().min(1).max(200)),placements:e.array(e.enum(["local","remote","colocated","provider_native"])),controls:e.object({cancel:e.boolean(),stopAfterGroup:e.boolean(),resumeFromCheckpoint:e.boolean()}).strict(),limits:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive(),maximumArtifactBytes:e.number().int().positive()}).strict(),checkedAt:L,expiresAt:L}).strict();var ea=e.object({batch:ba,evidence:e.array(ga).min(1).max(1e4),decisions:e.array(ka).min(1).max(1e4),sources:e.array(ha).min(1).max(1e4),assets:e.array(re).max(1e3)}).strict();function or(t){return t.evidence.filter(a=>a.submission.evaluatorContext!==null).map(a=>{let r=_e(a.submission.evaluatorContext),n=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${a.contentHash}`,path:`learning/context/${a.contentHash}.json`,contentHash:z(n),sizeBytes:n.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(n,s=>String.fromCharCode(s)).join(""))}})}c(or,"learningPackageContextFiles");function cr(t,a){let r=ea.parse(a),n=Ge(t);if(!D(I(r.batch),n.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let d of[r.evidence,r.decisions,r.sources,r.assets]){let m=new Set;for(let p of d){mt(p);let f=`${p.id}:${p.revision}`;if(m.has(f))throw new Error("Taskset learning resource identities must be unique.");m.add(f)}}if(r.evidence.length!==r.batch.examples.length||r.decisions.length!==r.batch.examples.length)throw new Error("Taskset learning snapshots must match the admitted batch inventory.");for(let d of r.evidence){let m=r.sources.find(p=>D(I(p),d.source));if(!m||!D(m.taskDefinition,I(n.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(d=>!r.evidence.some(m=>D(m.source,I(d)))))throw new Error("Taskset package includes an unrelated learning source.");let s=n.rewards.flatMap(d=>[...d.assets,...d.implementation.kind==="custom_verifier"?[d.implementation.verifierRef]:d.implementation.kind==="model_judge"||d.implementation.kind==="human"?[d.implementation.rubricRef]:[],..."inputContract"in d.implementation?[d.implementation.inputContract]:[]]);for(let d of s){let m=r.assets.find(p=>p.id===d.id);if(!m)throw new Error("Taskset learning Reward asset is missing.");X(m,d)}if(r.assets.some(d=>!s.some(m=>m.id===d.id)))throw new Error("Taskset package includes an unrelated learning asset.");let i=Sa({batch:r.batch,definition:n.definition,binding:n.binding,rewards:n.rewards,evidence:r.evidence,decisions:r.decisions}),o=Ge(i);if(g(o)!==g(n))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let u=c(d=>({policy:d.policy,environment:d.environment,tools:d.tools}),"execution");if(g(u(i))!==g(u(t)))throw new Error("Taskset execution differs from its reviewed task definition.");let l=c(d=>({id:d.id,clusterKey:d.clusterKey,split:d.split,input:d.input,expectedOutput:d.expectedOutput,policyVisibleContext:d.policyVisibleContext,privilegedContextRef:d.privilegedContextRef,artifactRefs:d.artifactRefs,requiredOutputs:d.requiredOutputs??[],tags:d.tags}),"taskContent");if(g(i.tasks.map(l))!==g(t.tasks.map(l)))throw new Error("Taskset rows differ from their reviewed evidence.");return r}c(cr,"validateTasksetLearningResources");var ye=64*1024*1024,Et=e.object({asset:K,base64:e.string().max(Math.ceil(ye/3)*4)}).strict();function ee(t){let a=Et.parse(t),r=atob(a.base64);if(btoa(r)!==a.base64)throw new Error(`Taskset asset ${a.asset.id} has noncanonical base64.`);let n=Uint8Array.from(r,s=>s.charCodeAt(0));if(n.byteLength!==a.asset.sizeBytes||z(n)!==a.asset.contentHash)throw new Error(`Taskset asset ${a.asset.id} differs from its immutable bytes.`);return n}c(ee,"decodeTasksetPackageFile");function de(t){if(t.taskset.environment.entrypoint!=="openpond.javascript-environment.v1")return null;let a=new Map(t.files.map(o=>[o.asset.id,o])),r=c(o=>{let u=a.get(o);if(!u)throw new Error(`Taskset environment asset is missing: ${o}.`);if(u.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let l=new TextDecoder("utf-8",{fatal:!0}).decode(ee(u));return re.parse(E({schemaVersion:"openpond.learningTextAsset.v1",id:o,revision:1,asset:u.asset,text:l}))},"read"),n;if(t.modelResources){if(!t.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");n=ce.parse(t.modelResources.execution)}else{let o=r(Ke(t.taskset));if(o.asset.visibility!=="host_private"||o.asset.mediaType!=="application/json"||o.asset.path!=="environment/execution.json")throw new Error("Taskset execution declaration must be private JSON at environment/execution.json.");n=ce.parse(JSON.parse(o.text))}let i=[...new Set([n.javascript.module.id,...[n.environment.actionSchemaRef,n.environment.observationSchemaRef,n.environment.stateSchemaRef].flatMap(o=>o?[o.id]:[]),...t.taskset.tasks.flatMap(o=>o.privilegedContextRef?[o.privilegedContextRef]:[])])].map(r);return It(n,t.taskset,i),{execution:n,assets:i}}c(de,"resolveTasksetPackageExecution");function Ye(t){let a=Ja(t),r=new TextEncoder().encode(a.text),n="";for(let s of r)n+=String.fromCharCode(s);return{asset:a.asset,base64:btoa(n)}}c(Ye,"createTasksetPackageExecutionFile");var Zn=Xt.omit({taskset:!0,executionResources:!0}),dr=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:O,environment:ne,verifierSet:se,files:e.array(Et).max(1e4),modelResources:Zn.optional(),learningResources:ea.optional()}).strict(),es=dr.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function ta(t){return t.learningResources?Ge(t.taskset).definition.instructions:t.modelResources?t.modelResources.taskDefinition.instructions:e.object({instructions:e.string().max(2e4).optional()}).passthrough().parse(t.taskset.metadata.ordinaryAuthoring??{}).instructions??""}c(ta,"resolveTasksetPackageInstructions");function ze(t){pe(t,ye);let a=es.parse(t),{contentHash:r,...n}=a;if(g(n)!==r)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:s,environment:i,verifierSet:o}=a;if(dt(s),Wt(s)&&(a.modelResources||a.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!he(i)||!ge(o)||!$e(s.environmentRelease,{id:i.id,contentHash:i.contentHash})||!$e(s.verifierSetRelease,{id:o.id,contentHash:o.contentHash})||!$e(s.environment,i.contract)||!$e(s.graders,o.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let l=new Map;for(let m of a.files){if(l.has(m.asset.id))throw new Error(`Duplicate Taskset asset identity: ${m.asset.id}.`);ee(m),l.set(m.asset.id,m)}function d(m){let p=l.get(m.id);if(!p||!$e(p.asset,m))throw new Error(`Taskset package asset is missing or mismatched: ${m.id}.`)}c(d,"requireAsset");for(let m of s.tasks){for(let p of m.artifactRefs)d(p);for(let p of m.requiredOutputs??[])p.schemaRef&&d(p.schemaRef);if(m.privilegedContextRef&&l.get(m.privilegedContextRef)?.asset.visibility!=="host_private")throw new Error(`Taskset package private context is missing: ${m.id}.`)}for(let m of[i.actionSchemaRef,i.observationSchemaRef,i.stateSchemaRef])m&&d(m);for(let m of s.graders){let p="verifierRef"in m?m.verifierRef:"rubricRef"in m?m.rubricRef:null;if(p&&(d(p),p.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${p.id}.`)}if(s.metrics?.customAggregator){let m=s.metrics.customAggregator,p=a.files.filter(f=>f.asset.path===m.module);if(p.length!==1||p[0].asset.contentHash!==m.contentHash||p[0].asset.sizeBytes>524288||p[0].asset.visibility==="policy")throw new Error("Taskset metric module is missing or mismatched, public, or exceeds the source limit.")}for(let m of[s.metadata.environmentResources,i.metadata.resources])if(m!==void 0){for(let p of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(m))if(!a.files.some(f=>f.asset.path===p.path))throw new Error(`Taskset environment resource is missing: ${p.path}.`)}if(a.learningResources){if(a.modelResources)throw new Error("Taskset package cannot declare competing authoring graphs.");let m=cr(s,a.learningResources);for(let p of or(m))if(!$e(l.get(p.asset.id),p))throw new Error("Taskset private context differs from its reviewed evidence.");for(let p of m.assets)d(p.asset)}else if(a.modelResources){let m=Qt({...a.modelResources,taskset:s,executionResources:{environment:i,verifierSet:o}});for(let p of m.assets)d(p.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(m=>s.metadata[m]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return de(a),ta(a),a}c(ze,"validateTasksetPackage");function qe(t){pe(t,ye);let a=dr.parse(t);return ze({...a,contentHash:g(a)})}c(qe,"createTasksetPackage");function $e(t,a){return g({value:t})===g({value:a})}c($e,"same");function mr(t){let a=ze(t.source),r=ze(t.edited),n=t.preparation;if(n.authoringGraph!=="bound"||!a.modelResources||a.learningResources||r.modelResources||r.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(a.contentHash!==n.sourcePackageHash||!D(I(a.taskset),n.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let s=c(_=>_.taskset.graders.map(J=>J.kind==="custom_verifier"?{...J,exportName:J.exportName??"verify"}:J),"normalizedGraders");if(g(s(a))!==g(s(r)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let i=a.modelResources,o=new Map(i.assets.map(_=>[_.id,_])),u=de(r),l=de(a),d=c(_=>{let{id:J,revision:Ct,contentHash:Mt,metadata:$t,...Br}=_,{javascriptEnvironment:Hs,...ia}=$t;return{...Br,metadata:{...ia,resources:ia.resources??[]}}},"environmentContent"),m=c(_=>{if(!_)return null;let{id:J,revision:Ct,contentHash:Mt,...$t}=_.execution.javascript;return $t},"javascriptContent"),p=g(d(a.environment))===g(d(r.environment))&&g(m(l))===g(m(u)),f=p?a.environment:r.environment,v=p?l:u,k=new Set([...i.assets.map(_=>_.id),...r.taskset.tasks.flatMap(_=>_.privilegedContextRef?[_.privilegedContextRef]:[]),...[r.environment.actionSchemaRef,r.environment.observationSchemaRef,r.environment.stateSchemaRef].flatMap(_=>_?[_.id]:[]),...u?.assets.map(_=>_.id)??[]]);for(let _ of k){let J=r.files.find(Mt=>Mt.asset.id===_);if(!J)throw new Error(`Bound Taskset asset is missing: ${_}.`);let Ct=new TextDecoder("utf-8",{fatal:!0}).decode(ee(J));o.set(_,re.parse(E({schemaVersion:"openpond.learningTextAsset.v1",id:_,revision:1,asset:J.asset,text:Ct})))}let b=ta(r),{contentHash:R,...P}=i.taskDefinition,{policy:C,environment:S,environmentRelease:Te,tools:te,capabilities:h,verifierSetRelease:y}=r.taskset,T=Ue.parse(E({...P,instructions:b,execution:{policy:C,environment:S,environmentRelease:Te,tools:te,capabilities:h,verifierSetRelease:y}})),{contentHash:A,...q}=r.taskset,me=O.parse(E({...q,tasks:r.taskset.tasks.map(_=>i.instructionMode==="per_task"?_:{..._,policyVisibleContext:{..._.policyVisibleContext,instructions:b}})})),rt=Ya({owner:n.lineage.owner,source:{...i,taskset:a.taskset,executionResources:{environment:a.environment,verifierSet:a.verifierSet}},rewardBinding:i.rewardBinding,rewards:i.rewards,assets:[...o.values()],edits:{taskset:me,taskDefinition:T,executionResources:{environment:f,verifierSet:r.verifierSet},...v?{execution:v.execution}:{}}}),Mr=Kt.parse(rt.taskset.metadata.modelTasksetDerivation);if(rt.taskset.id!==n.tasksetId||rt.taskset.revision!==n.tasksetRevision||g({...Mr,schemaVersion:n.lineage.schemaVersion})!==g(n.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:$r,executionResources:zr,...qr}=rt;return qe({schemaVersion:"openpond.tasksetPackage.v1",taskset:$r,...zr,modelResources:qr,files:r.files})}c(mr,"publishBoundModelTasksetDraftPackage");function pr(t){let a=Ie.parse(t.preparation);if(!D(a.sourceTasksetRef,a.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(a.authoringGraph==="bound"){if(!t.source)throw new Error("Bound Taskset authoring requires its retained source package.");return mr({preparation:a,source:t.source,edited:t.edited})}let r=ts(t.edited),{contentHash:n,...s}=r.verifierSet,i=Re({...s,id:`${a.tasksetId}-verifiers`,revision:a.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:I(r.verifierSet)}}),{contentHash:o,...u}=r.taskset,l=O.parse(E({...u,id:a.tasksetId,revision:a.tasksetRevision,verifierSetRelease:{id:i.id,contentHash:i.contentHash},metadata:{modelTasksetAuthoring:a.lineage,...r.taskset.metadata.environmentResources===void 0?{}:{environmentResources:r.taskset.metadata.environmentResources},...r.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:r.taskset.metadata.ordinaryAuthoring}}})),d=de(r),m=d?[...r.files.filter(p=>p.asset.id!==Ke(r.taskset)),Ye({...d.execution,verifierSet:i})]:r.files;return qe({schemaVersion:"openpond.tasksetPackage.v1",taskset:l,environment:r.environment,verifierSet:i,files:m})}c(pr,"publishModelTasksetDraftPackage");function ts(t){let a=ze(t);if(a.modelResources||a.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return a}c(ts,"requireOrdinaryPackage");var W=e.string().trim().min(1).max(240),Ze=e.string().trim().min(1),At=e.string().trim().min(8).max(256),ur=e.record(e.string(),e.unknown()).default({}),as=W.nullable(),fr=["work_capabilities","work_environment","work_list_files","work_read_file","work_read_document","work_write_file","work_write_docx","work_edit_file","work_delete_file","work_exec","work_save_output","work_stop"],rs=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),ns=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),$=e.string().trim().max(1e5),ss=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:$,examples:e.array(e.object({id:W,prompt:$,response:$})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:$,pairs:e.array(e.object({id:W,prompt:$,chosen:$,rejected:$,rationale:$})).max(1e3).default([])}),e.object({kind:e.literal("verifiable_reward"),task:$,rules:e.array(e.object({id:W,points:e.number().finite(),condition:$})).max(1e3).default([]),otherwisePoints:e.number().finite().default(0)}),e.object({kind:e.literal("rubric"),task:$,criteria:e.array(e.object({id:W,label:e.string().trim().max(500),description:$})).max(1e3).default([]),positiveExample:$,negativeExample:$,boundaryExample:$})]),nm=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),is=e.object({primaryMethod:e.enum(["sft","dpo","grpo","ppo","sdft","opsd","sdpo"]),bootstrap:e.object({method:e.literal("sft"),purpose:e.literal("trajectory_bootstrap"),demonstrationRefs:e.array(W).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),os=e.enum(["taskset_not_ready","demonstrations_missing","preference_pairs_missing","preference_pairs_invalid","executable_reward_missing","reward_not_calibrated","reward_model_missing","value_model_required","frozen_eval_missing"]),cs=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(os).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),lr=e.object({code:W,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),ds=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:W,tasksetHash:At,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:is.nullable().default(null),methodReadiness:e.array(cs).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(lr).default([]),advisories:e.array(lr).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:Ze}),ms=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:Ze}),ps=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:ot.nullable(),modelConfig:ur,skillHash:At,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:ns.default("demonstrations"),buildSpecification:ss.nullable().default(null),evidenceHashes:e.array(At).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(ms).max(1e3),createdAt:Ze}),V=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:W,revision:e.number().int().positive().default(1),profileId:W,profileRelease:ca.nullable().optional(),createImproveRunId:as.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:ht.default("general"),benchmark:gt.nullable().default(null),preferenceComparison:kt.nullable().default(null),status:rs,sourceRefs:e.array(bt).min(1).max(1e5),datasetArtifact:Le.nullable().optional(),policy:vt,environment:yt,capabilities:wt,metrics:ct.optional(),tasks:e.array(Ae).max(1e6),graders:e.array(xt).min(1).max(1e3),graderFixtures:e.array(Rt).max(1e5),learningSignals:St,authoringProvenance:ps,readiness:ds.nullable(),contentHash:At,createdAt:Ze,updatedAt:Ze,metadata:ur}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark Tasksets require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark Tasksets may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed Tasksets may not duplicate canonical rows inline.",path:["tasks"]}),!t.datasetArtifact&&t.tasks.length===0&&a.addIssue({code:"custom",message:"A Taskset requires inline tasks or a Dataset artifact manifest.",path:["tasks"]})});function hr(t){return t.schemaVersion==="openpond.trainingSource.v1"}c(hr,"isTrainingSourceRef");var et=class extends Error{static{c(this,"TasksetDraftPublishError")}issues;constructor(a){super(a.map(r=>r.message).join(`
13
- `)),this.name="TasksetDraftPublishError",this.issues=a}};function gr(t){let a=[];t.name.trim()||a.push({code:"name_missing",message:"Name is required.",path:"name"}),t.objective.trim()||a.push({code:"objective_missing",message:"Objective is required.",path:"objective"}),!t.datasetArtifact&&t.tasks.length===0&&a.push({code:"tasks_missing",message:"Add at least one task or Dataset artifact.",path:"tasks"}),t.graders.length===0&&a.push({code:"graders_missing",message:"Add at least one grader.",path:"graders"}),t.graderFixtures.length===0&&a.push({code:"grader_fixtures_missing",message:"Add grader fixtures before publishing.",path:"graderFixtures"});let r=new Set(t.sourceRefs.map(n=>n.id));for(let n of t.tasks)for(let s of n.sourceRefs)r.has(s)||a.push({code:"task_source_missing",message:`Task ${n.id} references missing source ${s}.`,path:`tasks.${n.id}.sourceRefs`});return a}c(gr,"draftPublishIssues");function kr(t,a={}){let r=V.safeParse(t);if(!r.success)return{valid:!1,taskset:null,computedHash:null,issues:r.error.issues.map(o=>({code:"schema_invalid",severity:"error",message:o.message,path:o.path.join(".")}))};let n=r.data,s=[];fs(n,s),us(n,s),hs(n,s),ks(n,s),bs(n,s),ls(n,s,a),vs(n,s),Ss(n.capabilities,s,n),gs(n,s);let i=br(n);return n.contentHash!==i&&s.push({code:"content_hash_mismatch",severity:"error",message:`Taskset contentHash is ${n.contentHash}, expected ${i}.`,path:"contentHash"}),{valid:!s.some(o=>o.severity==="error"),taskset:n,computedHash:i,issues:s}}c(kr,"validateTaskset");function ls(t,a,r){!t.graderFixtures.length&&!(r.allowUnscoredOnlineRewardBatch&&t.metadata.trainingMethod==="grpo"&&t.metadata.learning)&&a.push({code:"grader_fixtures_required",severity:"error",message:"Taskset admission requires authored grader fixtures.",path:"graderFixtures"});let n=new Set(t.tasks.map(i=>i.id)),s=new Set(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]);for(let i of t.graderFixtures)!t.datasetArtifact&&!n.has(i.taskId)&&a.push({code:"grader_fixture_task_missing",severity:"warning",message:`Fixture ${i.id} references a task outside this Taskset revision (${i.taskId}).`,path:`graderFixtures.${i.id}.taskId`}),s.delete(i.label),i.label==="infrastructure_failure"&&!i.infrastructureError&&a.push({code:"infrastructure_fixture_error_missing",severity:"error",message:`Infrastructure fixture ${i.id} must declare an infrastructure error.`,path:`graderFixtures.${i.id}.infrastructureError`});for(let i of s)a.push({code:"grader_fixture_missing",severity:"warning",message:`Taskset does not include the optional ${i} grader calibration fixture.`,path:"graderFixtures"})}c(ls,"validateGraderFixtures");function us(t,a){let r=t.datasetArtifact;if(!r)return;(r.tasksetId!==t.id||r.tasksetRevision!==t.revision)&&a.push({code:"dataset_artifact_taskset_mismatch",severity:"error",message:"Dataset artifact identity does not match its Taskset revision.",path:"datasetArtifact"});let n=Object.values(r.splitCounts).reduce((l,d)=>l+d,0),s=r.shards.reduce((l,d)=>l+d.rowCount,0);(n!==r.rowCount||s!==r.rowCount)&&a.push({code:"dataset_artifact_row_count_mismatch",severity:"error",message:"Dataset artifact row, split, and shard counts do not agree.",path:"datasetArtifact.rowCount"});let i=new Map;for(let l of r.shards)i.set(l.split,(i.get(l.split)??0)+l.rowCount);for(let[l,d]of Object.entries(r.splitCounts))(i.get(l)??0)!==d&&a.push({code:"dataset_artifact_split_count_mismatch",severity:"error",message:`Dataset artifact ${l} shard counts do not match its manifest.`,path:`datasetArtifact.splitCounts.${l}`});let{contentHash:o,...u}=r;g(u)!==r.contentHash&&a.push({code:"dataset_artifact_hash_mismatch",severity:"error",message:"Dataset artifact manifest content hash is invalid.",path:"datasetArtifact.contentHash"})}c(us,"validateDatasetArtifact");function Be(t){return br(t)}c(Be,"computeTasksetHash");function br(t){let{contentHash:a,status:r,readiness:n,updatedAt:s,...i}=t;return g(i)}c(br,"tasksetContentHash");function fs(t,a){for(let[r,n]of t.sourceRefs.entries())hr(n)&&n.consent.status!=="granted"&&a.push({code:"source_consent_missing",severity:"error",message:`Source ${n.id} is not consented.`,path:`sourceRefs.${r}.consent.status`}),n.secretScanStatus!=="passed"&&a.push({code:"source_secret_scan",severity:"error",message:`Source ${n.id} did not pass secret scanning.`,path:`sourceRefs.${r}.secretScanStatus`}),n.piiScanStatus!=="passed"&&a.push({code:"source_pii_scan",severity:"error",message:`Source ${n.id} has unresolved PII policy.`,path:`sourceRefs.${r}.piiScanStatus`}),n.licensingStatus!=="approved"&&a.push({code:"source_license",severity:"error",message:`Source ${n.id} has unresolved licensing policy.`,path:`sourceRefs.${r}.licensingStatus`})}c(fs,"validateSourceConsent");function hs(t,a){let r=new Map;for(let s of t.tasks){let i=r.get(s.clusterKey)??new Set;i.add(s.split),r.set(s.clusterKey,i)}for(let[s,i]of r)i.size>1&&a.push({code:"split_cluster_contamination",severity:"error",message:`Source cluster ${s} appears in multiple splits: ${[...i].join(", ")}.`,path:"tasks"});(t.datasetArtifact?t.datasetArtifact.splitCounts.frozen_eval??0:t.tasks.filter(s=>s.split==="frozen_eval").length)===0&&a.push({code:"frozen_eval_missing",severity:"warning",message:"Add an independent test example before training.",path:"tasks"})}c(hs,"validateSplitIsolation");function gs(t,a){if(t.environment.kind!=="work")return;t.environment.entrypoint!=="openpond-work-v1"&&a.push({code:"work_entrypoint_invalid",severity:"error",message:"Work Tasksets must use the openpond-work-v1 entrypoint.",path:"environment.entrypoint"}),(!t.environment.lifecycle.includes("reset")||!t.environment.lifecycle.includes("cleanup"))&&a.push({code:"work_reset_lifecycle_missing",severity:"error",message:"Work attempts require reset and cleanup; filesystem state belongs to one attempt.",path:"environment.lifecycle"});let r=new Set(fr),n=t.environment.toolNames.filter(i=>!r.has(i));n.length&&a.push({code:"work_tool_unknown",severity:"error",message:`Work Taskset declares unknown tools: ${n.join(", ")}.`,path:"environment.toolNames"}),t.environment.toolNames.includes("work_save_output")||a.push({code:"work_output_tool_missing",severity:"error",message:"Work Tasksets must declare work_save_output.",path:"environment.toolNames"});for(let i of["create","reset","step","grade","cleanup"])t.environment.lifecycle.includes(i)||a.push({code:"work_lifecycle_incomplete",severity:"error",message:`Work Tasksets require the ${i} lifecycle stage.`,path:"environment.lifecycle"});let s=new Map(t.sourceRefs.map(i=>[i.id,i]));for(let[i,o]of t.tasks.entries()){let u=new Set,l=new Set;for(let[m,p]of(o.assets??[]).entries()){let f=`tasks.${i}.assets.${m}`;u.has(p.id)&&a.push({code:"work_asset_duplicate_id",severity:"error",message:`Task ${o.id} repeats asset id ${p.id}.`,path:`${f}.id`}),l.has(p.fileName)&&a.push({code:"work_asset_duplicate_name",severity:"error",message:`Task ${o.id} repeats staged file name ${p.fileName}.`,path:`${f}.fileName`}),u.add(p.id),l.add(p.fileName),o.sourceRefs.includes(p.sourceRefId)||a.push({code:"work_asset_task_source_missing",severity:"error",message:`Asset ${p.id} references source ${p.sourceRefId} outside task ${o.id}.`,path:`${f}.sourceRefId`});let v=s.get(p.sourceRefId);v?"sourceFileHashes"in v&&!v.sourceFileHashes.includes(p.sha256)&&a.push({code:"work_asset_hash_unregistered",severity:"error",message:`Asset ${p.id} hash is not registered by source ${p.sourceRefId}.`,path:`${f}.sha256`}):a.push({code:"work_asset_source_missing",severity:"error",message:`Asset ${p.id} references missing source ${p.sourceRefId}.`,path:`${f}.sourceRefId`}),v&&"kind"in v&&v.kind==="uploaded_file"&&!v.originalFileNames.includes(p.fileName)&&a.push({code:"work_asset_name_unregistered",severity:"error",message:`Asset ${p.id} file name is not registered by source ${p.sourceRefId}.`,path:`${f}.fileName`}),v&&"kind"in v&&v.kind==="uploaded_file"&&!v.mediaTypes.includes(p.mediaType)&&a.push({code:"work_asset_media_type_unregistered",severity:"error",message:`Asset ${p.id} media type is not registered by source ${p.sourceRefId}.`,path:`${f}.mediaType`}),p.split!==o.split&&a.push({code:"work_asset_split_mismatch",severity:"error",message:`Asset ${p.id} is assigned to ${p.split}, not task split ${o.split}.`,path:`${f}.split`})}let d=new Set;for(let[m,p]of(o.requiredOutputs??[]).entries()){let f=p.path.replaceAll("\\","/"),v=`tasks.${i}.requiredOutputs.${m}.path`;d.has(f)&&a.push({code:"work_output_duplicate_path",severity:"error",message:`Task ${o.id} repeats required output path ${f}.`,path:v}),d.add(f)}(o.requiredOutputs??[]).length===0&&a.push({code:"work_output_missing",severity:"error",message:`Work task ${o.id} must declare at least one required output.`,path:`tasks.${i}.requiredOutputs`})}}c(gs,"validateWorkExecution");function ks(t,a){let r=new Set(t.policy.policyVisibleFields);for(let n of t.policy.privilegedFields)r.has(n)&&a.push({code:"privileged_field_visible",severity:"error",message:`Field ${n} is both policy-visible and privileged.`,path:"policy"});for(let n of t.tasks)n.privilegedContextRef&&Object.keys(n.policyVisibleContext).includes(n.privilegedContextRef)&&a.push({code:"privileged_context_leak",severity:"error",message:`Task ${n.id} exposes its privileged context reference.`,path:`tasks.${n.id}.policyVisibleContext`})}c(ks,"validatePolicyBoundary");function bs(t,a){let r=new Set;for(let n of t.graders)r.has(n.id)&&a.push({code:"grader_duplicate",severity:"error",message:`Duplicate grader id ${n.id}.`,path:"graders"}),r.add(n.id),n.kind==="model_judge"&&n.rewardEligible&&n.calibrationStatus!=="passed"&&a.push({code:"judge_calibration_pending",severity:"warning",message:`Model judge ${n.id} is selected for reward without a passing advisory calibration report.`,path:`graders.${n.id}`}),n.kind==="model_judge"&&n.calibrationStatus==="passed"&&typeof n.metadata.calibrationEvidenceHash!="string"&&a.push({code:"judge_calibration_evidence_missing",severity:"warning",message:`Model judge ${n.id} declares calibration without an OpenPond fixture evidence hash.`,path:`graders.${n.id}.metadata.calibrationEvidenceHash`}),n.kind==="human"&&n.rewardEligible&&a.push({code:"human_online_reward",severity:"error",message:`Human grader ${n.id} cannot be an online optimizer reward.`,path:`graders.${n.id}`})}c(bs,"validateGraders");function vs(t,a){let r=new Set(t.tasks.map(s=>s.id)),n=new Set(t.sourceRefs.map(s=>s.id));for(let s of[...t.learningSignals.demonstrations,...t.learningSignals.preferences,...t.learningSignals.corrections,...t.learningSignals.feedback,...t.learningSignals.rewards,...t.learningSignals.labels])s.taskId&&!t.datasetArtifact&&!r.has(s.taskId)&&a.push({code:"learning_signal_task_missing",severity:"error",message:`Signal ${s.id} references missing task ${s.taskId}.`,path:`learningSignals.${s.kind}.${s.id}.taskId`}),s.sourceRefs.some(i=>!n.has(i))&&a.push({code:"learning_signal_source_missing",severity:"error",message:`Signal ${s.id} references a source outside the Dataset.`,path:`learningSignals.${s.kind}.${s.id}.sourceRefs`});for(let s of t.learningSignals.preferences)s.chosen.trim()===s.rejected.trim()&&a.push({code:"preference_pair_identical",severity:"error",message:`Preference ${s.id} has identical chosen and rejected responses.`,path:`learningSignals.preferences.${s.id}`});for(let s of t.learningSignals.rewards)s.executable||a.push({code:"reward_not_executable",severity:"warning",message:`Reward ${s.id} is a reviewed specification but has no executable verifier yet.`,path:`learningSignals.rewards.${s.id}.executable`})}c(vs,"validateLearningSignals");function Ss(t,a,r){!t.exportable&&t.portabilityBlockers.length===0&&a.push({code:"portability_reason_missing",severity:"error",message:"Non-exportable Tasksets must declare a portability blocker.",path:"capabilities.portabilityBlockers"}),t.compatibleMethods.includes("grpo")&&!t.rewardKinds.some(n=>n==="exact"||n==="deterministic"||n==="model_judge")&&a.push({code:"grpo_reward_missing",severity:"error",message:"GRPO compatibility requires a scalar reward kind.",path:"capabilities.rewardKinds"}),r?.capabilities.compatibleMethods.includes("sft")&&r.learningSignals.demonstrations.length===0&&a.push({code:"sft_demonstrations_missing",severity:"error",message:"SFT compatibility requires approved demonstrations.",path:"learningSignals.demonstrations"}),r?.capabilities.compatibleMethods.includes("dpo")&&r.learningSignals.preferences.length===0&&a.push({code:"dpo_preferences_missing",severity:"error",message:"DPO compatibility requires chosen and rejected response pairs.",path:"learningSignals.preferences"}),r&&(r.capabilities.compatibleMethods.includes("grpo")||r.capabilities.compatibleMethods.includes("ppo"))&&!r.learningSignals.rewards.some(n=>n.executable)&&!r.graders.some(n=>n.rewardEligible&&n.weight>0&&n.kind!=="human")&&a.push({code:"online_reward_not_executable",severity:"error",message:"GRPO/PPO compatibility requires an executable scalar reward.",path:"learningSignals.rewards"})}c(Ss,"validateCapabilities");function vr(t){let a=be.parse(t.draft),r=t.now??new Date().toISOString(),n=gr(a);if(n.length)throw new et(n);let s=a.modelScope?.source;if(s&&t.tasksetId&&t.tasksetId!==s.tasksetId)throw new Error("Taskset draft publication differs from its prepared identity.");let i=s?.tasksetId||t.tasksetId?.trim()||a.publishedTasksetRef?.id||a.id.replace(/-draft$/,""),o=s?.tasksetRevision??(a.publishedTasksetRef?.id===i?a.publishedTasksetRef.revision+1:1),u=a.sourceRefs.length?a.sourceRefs:[ys(a,i,r)],l=u[0].id,d=a.tasks.map(S=>Ae.parse({...S,sourceRefs:S.sourceRefs.length?S.sourceRefs:[l],metadata:{exampleOrigin:"expert_authored",...S.metadata}})),m=a.capabilities.compatibleMethods.find(S=>S!=="none"&&S!=="retrieval")??null,p=ws(a),f=a.graders.filter(S=>S.rewardEligible&&S.weight>0&&S.kind!=="human"),v=m===null&&p==="verifiable_reward"&&f.length>0,k=m??(v?"grpo":null),b=V.parse({schemaVersion:"openpond.taskset.v1",id:i,revision:o,profileId:a.profileId,profileRelease:null,createImproveRunId:null,name:a.name,objective:a.objective,purpose:a.purpose,benchmark:a.benchmark,preferenceComparison:a.preferenceComparison,status:"needs_review",sourceRefs:u,datasetArtifact:a.datasetArtifact??null,policy:a.policy,environment:a.environment,capabilities:v?{...a.capabilities,compatibleMethods:["grpo"],rewardKinds:[...new Set(f.map(S=>S.kind==="model_judge"?"model_judge":"deterministic"))]}:a.capabilities,metrics:a.metrics,tasks:d,graders:a.graders,graderFixtures:a.graderFixtures,learningSignals:a.learningSignals,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:g("openpond-taskset-draft-authoring-v1"),promptTemplateVersion:"taskset-draft-v1",buildIntent:p,buildSpecification:null,evidenceHashes:u.map(S=>S.sourceHash),tasksetSdkVersion:"draft-v1",sourceCommit:null,repairHistory:[],createdAt:r},readiness:null,contentHash:"00000000",createdAt:o===1?a.createdAt:r,updatedAt:r,metadata:{...a.metadata,...s?{modelTasksetAuthoring:s.lineage}:{},tasksetReviewPolicy:a.review,tasksetOutputContract:a.output,...t.sourcePackageHash?{sourcePackageHash:t.sourcePackageHash}:{},...k?{trainingMethod:k}:{},diagnosis:{schemaVersion:"openpond.capabilityDiagnosis.v1",summary:a.objective,stableBehavior:[a.objective],changingKnowledge:[],requiredContext:[],requiredTools:a.environment.toolNames,intervention:k==="dpo"?"preference":k==="grpo"||k==="ppo"?"grpo_rft":k==="sft"?"sft":"no_training",trainingEligible:k!==null,rationale:k?[`The author selected ${k.toUpperCase()} compatibility.`]:["The Taskset is currently configured for evaluation only."],confidence:1}}}),R=V.parse({...b,contentHash:Be(b)}),C=kr(R).issues.filter(S=>S.severity==="error");if(C.length)throw new et(C.map(S=>({code:S.code,message:S.message,path:S.path})));return R}c(vr,"publishTasksetDraft");function ys(t,a,r){let n=g({draftId:t.id,draftRevision:t.revision,tasks:t.tasks});return{schemaVersion:"openpond.generatedDatasetSource.v1",kind:"generated",id:`source-${a}`,profileId:t.profileId,title:`${t.name} manual authoring`,sourceHash:n,occurredAt:r,licensingStatus:"approved",secretScanStatus:"passed",piiScanStatus:"passed",generatorId:"openpond-taskset-draft",generatorVersion:"1",seed:0,generatorHash:n,metadata:{draftId:t.id,draftRevision:t.revision}}}c(ys,"generatedDraftSource");function ws(t){return t.learningSignals.preferences.length?"preferences":t.learningSignals.rewards.length?"verifiable_reward":t.learningSignals.labels.length?"rubric":!t.capabilities.compatibleMethods.some(a=>a!=="none"&&a!=="retrieval")&&t.graders.some(a=>a.rewardEligible&&a.weight>0&&a.kind!=="human")?"verifiable_reward":"demonstrations"}c(ws,"buildIntentForDraft");function Ts(t,a){let r=t.metadata.learning===void 0?null:Bt.parse(t.metadata.learning),n=t.metadata.rewardExecution,s=a??(n?{binding:ue.parse(n.binding),rewards:le.array().parse(n.rewards)}:r);if(t.metadata.rewardBinding!==void 0){let i=t.metadata.rewardBinding;if(!s||!i||i.id!==s.binding.id||i.revision!==s.binding.revision||i.contentHash!==s.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return s&&fe(s.binding,s.rewards),s?{binding:s.binding,rewards:s.rewards}:null}c(Ts,"resolvePortableTasksetRewardExecution");function jt(t){let a=Tr(t.taskset),r=xs(t.taskset),n=t.taskset.metadata.learning===void 0?null:Bt.parse(t.taskset.metadata.learning),s=t.taskset.metadata.rewardExecution,i=Ts(t.taskset,t.rewardExecution),o=i?fe(i.binding,i.rewards):t.taskset.graders.map(Rs),u=t.selectedTasks?.length?t.selectedTasks:t.taskset.tasks;if(!u.length)throw new Error("A portable Taskset release requires at least one task.");let l=t.taskset.environment.metadata.portableExecutionResources;if(a.entrypoint==="openpond.javascript-environment.v1"&&!l)throw new Error("Tool Taskset publication requires its pinned execution resources.");let d=l?ne.parse(l.environment):xe({schemaVersion:"openpond.environmentRelease.v1",id:`environment-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,contract:a,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{[t.adapterId]:g({adapterId:t.adapterId,environment:a,tools:r})},metadata:{sourceTasksetId:t.taskset.id,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,resources:t.taskset.environment.resources??[]}}),m=l?.verifierSet!==void 0?se.parse(l.verifierSet):Re({schemaVersion:"openpond.verifierSetRelease.v1",id:`verifier-set-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,graders:o,isolation:{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(t.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:{sourceTasksetId:t.taskset.id}});if(!he(d)||!ge(m)||g(d.contract)!==g(a)||g(m.graders)!==g(o))throw new Error("Taskset execution resources differ from its declared environment or graders.");let p=fa.parse({schemaVersion:"openpond.tasksetRelease.v2",id:t.taskset.metadata.derivedPortableMetadata===void 0?`taskset-release-${t.taskset.id}-r${t.taskset.revision}`:t.taskset.id,revision:t.taskset.revision,policy:{policyVisibleFields:t.taskset.policy.policyVisibleFields,privilegedFields:t.taskset.policy.privilegedFields,hiddenGraderRefs:t.taskset.policy.hiddenGraderRefs,connectedAppScopes:t.taskset.policy.connectedAppScopes},environment:a,tools:r,capabilities:_s(t.taskset),tasks:u.map(ra),graders:o,...t.taskset.metrics?{metrics:t.taskset.metrics}:{},metadata:t.taskset.metadata.derivedPortableMetadata??{sourceTasksetId:t.taskset.id,sourceTasksetHash:t.taskset.contentHash,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,environmentResources:t.taskset.environment.resources??[],ordinaryAuthoring:{instructions:t.taskset.objective,graderFixtures:t.taskset.graderFixtures,judgeCalibrationFixtures:Object.fromEntries(t.taskset.graders.filter(k=>k.kind==="model_judge").map(k=>[k.id,k.calibrationFixtureRefs]))},...n?{learning:n}:{},...i&&!n&&(t.rewardExecution||s)?{rewardExecution:{binding:i.binding,rewards:i.rewards}}:{}}}),f=t.admittedTasksetRelease?O.parse(t.admittedTasksetRelease):O.parse({...p,contentHash:g(p)}),v=f.environmentRelease?Is({draft:f,environmentRelease:d,verifierSetRelease:m}):wa({taskset:f,environment:d,verifierSet:m});return{environmentRelease:d,verifierSetRelease:m,tasksetRelease:v}}c(jt,"materializePortableTasksetRelease");function wr(t){return Tr(t)}c(wr,"portableTasksetEnvironment");function ra(t){let a=t.metadata.portableTaskRecord;if(a!==void 0){let r=Oe.parse(a),n=Oe.parse({...r,id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:Sr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,tags:t.tags,artifactRefs:t.assets===void 0?r.artifactRefs:t.assets.map(s=>{let i=r.artifactRefs.find(o=>o.id===s.id);return{id:s.id,path:i?.path??`tasks/${Ve(t.id)}/${Ve(s.fileName)}`,contentHash:aa(s.sha256),sizeBytes:s.sizeBytes,mediaType:s.mediaType,visibility:i?.visibility??"policy"}}),requiredOutputs:t.requiredOutputs===void 0?r.requiredOutputs:t.requiredOutputs.map(s=>{let i=r.requiredOutputs?.find(o=>o.path===s.path);return{path:s.path,mediaType:s.mediaType,schemaRef:i?.schemaRef&&i.schemaRef.id===s.schemaRef?i.schemaRef:null,maxBytes:s.maxBytes??null,metadata:{...s.metadata,...s.schemaRef&&i?.schemaRef?.id!==s.schemaRef?{legacySchemaRef:s.schemaRef}:{}}}})});return n.requiredOutputs===void 0&&delete n.requiredOutputs,n}return{id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:Sr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,artifactRefs:(t.assets??[]).map(r=>({id:r.id,path:`tasks/${Ve(t.id)}/${Ve(r.fileName)}`,contentHash:aa(r.sha256),sizeBytes:r.sizeBytes,mediaType:r.mediaType,visibility:"policy"})),requiredOutputs:(t.requiredOutputs??[]).map(r=>({path:r.path,mediaType:r.mediaType,schemaRef:null,maxBytes:r.maxBytes??null,metadata:{...r.metadata,legacySchemaRef:r.schemaRef??null}})),tags:t.tags}}c(ra,"projectPortableTaskRecord");function Sr(t){if(!t.expectedOutput)return null;if("artifactRenderer"in t.expectedOutput)throw new Error(`Task ${t.id} embeds an artifact renderer. Put shared renderer configuration in Environment resources and reference it from the Scenario.`);return t.expectedOutput}c(Sr,"portableExpectedOutput");function Tr(t){return{protocolVersion:"openpond.environment.v1",kind:t.environment.kind==="chat"?"text":t.environment.kind==="work"?"work":t.environment.kind==="program"?"custom_program":"agent",entrypoint:t.environment.entrypoint,stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,lifecycle:["create","reset","step","collect","destroy"],networkPolicy:t.environment.networkPolicy,defaultTimeoutMs:t.environment.defaultTimeoutMs}}c(Tr,"portableEnvironment");function xs(t){let a=t.environment.metadata.portableTools;if(a!==void 0)return da.array().max(200).parse(a);let r=t.environment.actionBindings??[];return r.length?r.map(n=>({name:n.modelToolName,description:n.description,inputSchema:n.inputSchema,inputSchemaHash:aa(n.actionSchemaHash),sideEffect:n.sideEffect,timeoutMs:n.timeoutMs})):t.environment.toolNames.map(n=>({name:n,description:`Host-provided ${n} tool.`,inputSchema:{},inputSchemaHash:g({}),sideEffect:"write",timeoutMs:t.environment.defaultTimeoutMs}))}c(xs,"portableTools");function Rs(t){let a={id:t.id,version:t.version,weight:t.weight,hardGate:t.hardGate,rewardEligible:t.rewardEligible,privileged:t.privileged};if(t.kind==="model_judge")return{...a,kind:"model_judge",rubricRef:yr(t),model:Ps(t),temperature:t.temperature,calibrationStatus:t.calibrationStatus};if(t.kind==="custom_verifier"){if(t.metadata.portableVerifierRef===void 0)throw new Error(`Custom verifier ${t.id} requires its immutable executable asset before publication.`);let r=qt.safeParse(t.metadata.portableGrader),n=r.success&&r.data.kind==="custom_verifier"&&r.data.exportName===void 0&&t.exportName==="verify";return{...a,kind:"custom_verifier",...t.runtime===void 0?{}:{runtime:t.runtime},verifierRef:K.parse(t.metadata.portableVerifierRef),timeoutMs:t.timeoutMs,...n?{}:{exportName:t.exportName},networkPolicy:"none"}}return t.kind==="human"?{...a,kind:"human",rubricRef:yr(t),reviewerRole:t.reviewerRole}:{...a,...pa(t)}}c(Rs,"portableGrader");function _s(t){let a=t.metadata.portableCapabilities;return a!==void 0?ma.array().max(200).parse(a):[...t.capabilities.requiresTools?[{id:"tools",required:!0,scopes:t.environment.toolNames}]:[],...t.capabilities.requiresState?[{id:"local-state",required:!0,scopes:[]}]:[],...t.capabilities.requiresPrivilegedGrading?[{id:"private-verifier",required:!0,scopes:t.policy.hiddenGraderRefs}]:[],...t.policy.connectedAppScopes.map(r=>({id:`connected-app-${Ve(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}c(_s,"portableCapabilities");function Is(t){if(t.draft.environmentRelease?.id!==t.environmentRelease.id||t.draft.environmentRelease.contentHash!==t.environmentRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Environment Release.");if(t.draft.verifierSetRelease?.id!==t.verifierSetRelease.id||t.draft.verifierSetRelease.contentHash!==t.verifierSetRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Verifier Set Release.");if(g(t.draft.environment)!==g(t.environmentRelease.contract))throw new Error("Admitted Taskset Environment differs from its bound Environment Release.");if(g(t.draft.graders)!==g(t.verifierSetRelease.graders))throw new Error("Admitted Taskset graders differ from its bound Verifier Set Release.");return t.draft}c(Is,"assertReleaseBindings");function Ps(t){let a=t.metadata.portableGrader===void 0?null:qt.parse(t.metadata.portableGrader),r=a?.kind==="model_judge"&&a.model?.providerId===t.judge.providerId&&a.model.modelId===t.judge.modelId?a.model.revision:null;return{...t.judge,revision:r}}c(Ps,"modelJudgeRef");function yr(t){let a=z(t.rubric),r=new TextEncoder().encode(t.rubric).byteLength,n=t.metadata.portableRubricRef;if(n!==void 0){let s=K.parse(n);if(s.contentHash!==a||s.sizeBytes!==r||s.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return s}return{id:`rubric-${t.id}`,path:`graders/${Ve(t.id)}/rubric.md`,contentHash:a,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}c(yr,"rubricAsset");function aa(t){return/^[a-f0-9]{64}$/.test(t)?t:g(t)}c(aa,"hash");function Ve(t){return t.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}c(Ve,"segment");function xr(t,a,r,n){if(t.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:t,inventory:r,generatedFiles:[]};let s="environment/execution.json",i=a.get(s);if(!i||i.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let o=ce.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(i))),u=c(P=>{if(!P)return null;let C=r.find(S=>S.asset.id===P.id&&S.asset.path===P.path);if(!C)throw new Error(`Authored environment dependency is missing: ${P.id}.`);return C.asset},"repin"),{contentHash:l,...d}=o.javascript,m=pt.parse(E({...d,id:`javascript-${t.id}`,revision:t.revision,module:u(o.javascript.module)}));if(g(m.tools)!==g(t.environment.metadata.portableTools)||g(m.tools.map(P=>P.name))!==g(t.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let p=xe({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${t.id}`,revision:t.revision,contract:wr(t),actionSchemaRef:u(o.environment.actionSchemaRef),observationSchemaRef:u(o.environment.observationSchemaRef),stateSchemaRef:u(o.environment.stateSchemaRef),artifactCollection:o.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:I(m),resources:t.environment.resources??[]}}),f=V.parse({...t,environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:p}}}}),v=jt({taskset:f,adapterId:n}),k=Ye({javascript:m,environment:p,verifierSet:v.verifierSetRelease}),b=[...r.filter(P=>P.sourcePath!==s),{asset:k.asset,sourcePath:s}],R=V.parse({...f,metadata:{...f.metadata,portableFileInventory:b}});return{taskset:V.parse({...R,contentHash:Be(R)}),inventory:b,generatedFiles:[{path:s,role:"environment",content:new TextDecoder().decode(ee(k))}]}}c(xr,"prepareAuthoredToolEnvironment");var Dt=e.array(e.object({asset:K,sourcePath:e.string().min(1)}).strict()).max(1e4),Es=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function Rr(t){return Es.has(t)}c(Rr,"isGeneratedTasksetPublicationFilePath");function _r(t,a,r){let n=V.parse(t);if(n.metadata.taskDefinition!==void 0||n.metadata.rewardBinding!==void 0)return{taskset:n,generatedFiles:[]};let s=new Map,i=0;for(let[h,y]of a){if(Q.parse(h),i+=y.byteLength,s.size>=1e4||i>ye*3/4)throw new Error("Taskset source exceeds the package byte limit.");s.set(h,y.slice())}let o=n.metrics?.customAggregator,u=o?s.get(o.module):void 0;if(o&&!u)throw new Error("Declared Taskset metric module is missing.");let l=o&&u?{...n.metrics,customAggregator:{...o,contentHash:z(u)}}:n.metrics,d=new Map,m=new Set,p=[],f=c((h,y,T,A)=>{let q=s.get(y);if(!q)throw new Error(`Declared Taskset file is missing: ${y}.`);return{id:h,path:y,contentHash:z(q),sizeBytes:q.byteLength,mediaType:T,visibility:A}},"ref"),v=c((h,y=h.path)=>{let T=d.get(h.id);if(T&&g(T)!==g({asset:h,sourcePath:y}))throw new Error(`Conflicting Taskset file identity: ${h.id}.`);let A=s.get(y);if(!A||A.length!==h.sizeBytes||z(A)!==h.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${h.id}.`);d.set(h.id,{asset:h,sourcePath:y}),m.add(y)},"add");for(let h of n.tasks){let y=ra(h);for(let T of y.artifactRefs)v(T,h.assets?.find(A=>A.id===T.id)?.artifactRef??T.path);for(let T of y.requiredOutputs??[])T.schemaRef&&v(T.schemaRef)}for(let h of n.environment.resources??[])v(f(h.id,h.path,h.mediaType??"application/octet-stream",h.visibility==="policy_visible"?"policy":"host_private"));let k=n.graders.map(h=>{if(h.kind==="custom_verifier"){let y=f(`verifier-${h.id}`,h.module,"application/javascript","host_private"),T=K.safeParse(h.metadata.portableVerifierRef);return T.success&&T.data.contentHash===y.contentHash&&T.data.sizeBytes===y.sizeBytes&&(y=T.data),v(y,h.module),{...h,metadata:{...h.metadata,portableVerifierRef:y}}}if(h.kind==="human"||h.kind==="model_judge"){let y=new TextEncoder().encode(h.rubric),T=`graders/rubric-${z(y)}.md`;s.set(T,y);let A=f(`rubric-${h.id}`,T,"text/markdown","verifier"),q=K.safeParse(h.metadata.portableRubricRef);if(q.success&&q.data.contentHash===A.contentHash&&q.data.sizeBytes===A.sizeBytes){if(q.data.visibility==="policy")throw new Error("A grader rubric cannot become policy-visible.");A=q.data}return v(A,T),p.push({path:T,role:"verifier",content:h.rubric}),{...h,metadata:{...h.metadata,portableRubricRef:A}}}return h});o&&![...d.values()].some(h=>h.asset.path===o.module&&h.sourcePath===o.module&&h.asset.visibility!=="policy")&&v(f(`metric-${g(o.module)}`,o.module,"application/javascript","host_private"));let b=Dt.parse(n.metadata.portableFileInventory??[]);for(let h of[...s.keys()].sort())if(!m.has(h)){let y=b.find(T=>T.sourcePath===h&&!d.has(T.asset.id));v(y?{...f(y.asset.id,h,y.asset.mediaType,y.asset.visibility),path:y.asset.path}:f(`taskset-file-${g(h)}`,h,"application/octet-stream","host_private"),h)}let{importedPackageHash:R,derivedPortableMetadata:P,...C}=n.metadata,S={...n.environment.metadata};if(S.portableExecutionResources!==void 0){let h=e.object({environment:e.unknown(),verifierSet:e.unknown().optional()}).parse(S.portableExecutionResources);S.portableExecutionResources={environment:h.environment}}let Te=V.parse({...n,graders:k,metrics:l,environment:{...n.environment,metadata:S},metadata:{...C,...R===void 0?{}:{sourceImportedPackageHash:R},portableFileInventory:Dt.parse([...d.values()].sort((h,y)=>h.asset.id.localeCompare(y.asset.id)))}}),te=xr(Te,s,[...d.values()],r);return{taskset:V.parse({...te.taskset,contentHash:Be(te.taskset)}),generatedFiles:[...p,...te.generatedFiles]}}c(_r,"prepareAuthoredTasksetSource");function na(t){let a=We(t.workspace),r=t.preparation===null?null:Ie.parse(t.preparation);if(r?a.draft.id!==r.draftId||a.draft.modelScope?.modelId!==r.lineage.owner.modelId||a.draft.profileId!==r.lineage.owner.scopeId||g(a.draft.modelScope?.source??null)!==g(r):a.draft.modelScope?.source!==void 0)throw new Error("Taskset draft differs from its retained source preparation.");let n=vr({draft:a.draft,now:a.draft.updatedAt,sourcePackageHash:a.contentHash}),s=new Map(a.files.map(d=>[d.path,Jt(d)]));for(let[d,m]of Nt(a.draft))Rr(d)||s.set(d,new TextEncoder().encode(m));let i=_r(n,s,t.adapterId);for(let d of i.generatedFiles)s.set(d.path,new TextEncoder().encode(d.content));let o=jt({taskset:i.taskset,adapterId:t.adapterId}),u=Dt.parse(i.taskset.metadata.portableFileInventory),l=qe({schemaVersion:"openpond.tasksetPackage.v1",taskset:o.tasksetRelease,environment:o.environmentRelease,verifierSet:o.verifierSetRelease,files:u.map(d=>{let m=s.get(d.sourcePath);if(!m)throw new Error(`Captured Taskset file is missing: ${d.sourcePath}.`);return{asset:d.asset,base64:Buffer.from(m).toString("base64")}})});return r?pr({preparation:r,edited:l,source:t.source}):l}c(na,"compileTasksetDraftWorkspace");var H=e.string().trim().min(1).max(240),tt=e.string().regex(/^[a-f0-9]{64}$/),Ir=e.object({operationId:H,expectedRevision:e.number().int().nonnegative(),originProjectId:H.optional(),workspace:_t,ownerScope:e.enum(["workspace","personal"]).optional()}).strict().superRefine((t,a)=>{t.workspace.draft.modelScope!==null&&a.addIssue({code:"custom",message:"Independent datasets cannot carry Model-owned draft preparation."}),t.workspace.draft.status!=="draft"&&a.addIssue({code:"custom",message:"Only draft workspaces can be saved."})}),we=e.object({schemaVersion:e.literal("openpond.datasetWorkspaceReceipt.v1"),teamId:H,datasetId:H,revision:e.number().int().positive(),originProjectId:H.optional(),workspace:_t,ownerScope:e.enum(["workspace","personal"]).optional(),publication:e.object({tasksetId:H,release:ve,packageHash:tt}).strict().nullable()}).strict().superRefine((t,a)=>{(t.workspace.draft.id!==t.datasetId||t.workspace.draft.profileId!==t.teamId||t.workspace.draft.revision!==t.revision||t.workspace.draft.modelScope!==null)&&a.addIssue({code:"custom",message:"Dataset workspace scope/revision mismatch."})}),Pr=e.object({operationId:H,expectedRevision:e.number().int().positive(),workspaceHash:tt,packageHash:tt}).strict(),Er=e.object({operationId:H,expectedRevision:e.number().int().positive()}).strict(),Ar=e.object({teamId:H,datasetId:H,items:e.array(e.object({workspaceRevision:e.number().int().positive(),publication:we.shape.publication.unwrap(),publishedAt:e.iso.datetime()}).strict()).max(25),nextBeforeRevision:e.number().int().positive().nullable()}).strict(),jr=e.object({teamId:H,datasets:e.array(e.object({id:H,revision:e.number().int().positive(),originProjectId:H.optional(),name:e.string(),status:e.enum(["draft","published"]),ownerScope:e.enum(["workspace","personal"]).optional(),publication:we.shape.publication,updatedAt:e.string().datetime()}).strict()).max(100),nextCursor:H.nullable()}).strict(),Dr=e.object({teamId:H,datasetId:H,revision:e.number().int().positive(),workspaceHash:tt,packageHash:tt,release:ve}).strict();var sa=e.enum(["create","save","publish","begin_version"]),Hr=e.object({operationId:e.string().trim().min(1).max(240),kind:sa,requestHash:e.string().regex(/^[a-f0-9]{64}$/),receipt:we,base:we.nullable()}).strict().superRefine((t,a)=>{let{receipt:r,base:n,kind:s}=t;(n&&(n.teamId!==r.teamId||n.datasetId!==r.datasetId||n.revision+1!==r.revision)||!n&&r.revision!==1)&&a.addIssue({code:"custom",message:"Operation recovery history identity/revision mismatch."}),n&&((n.ownerScope??"workspace")!==(r.ownerScope??"workspace")||n.originProjectId!==r.originProjectId||n.workspace.draft.createdAt!==r.workspace.draft.createdAt)&&a.addIssue({code:"custom",message:"Operation recovery cannot change Dataset ownership or origin."});let i=n?r.workspace.draft.status==="published"?"publish":n.workspace.draft.status==="published"?"begin_version":"save":"create";s!==i&&a.addIssue({code:"custom",message:"Operation recovery kind differs from its retained lifecycle."})});var at=class{constructor(a){this.options=a;let r=new URL(a.baseUrl);if(!["http:","https:"].includes(r.protocol)||r.username||r.password||r.search||r.hash||!a.apiKey.trim()||!a.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=r.toString().replace(/\/+$/,"")}options;static{c(this,"OpenPondDatasetWorkspaceClient")}baseUrl;async list(a={}){let r=new URLSearchParams({...a.cursor?{cursor:a.cursor}:{},...a.projectId?{projectId:a.projectId}:{}}),n=jr.parse(await this.request(`?${r}`,"GET",void 0,a.signal));if(n.teamId!==this.options.teamId)throw new Error("Dataset list workspace mismatch.");return n}async get(a,r){return this.readback(await this.request(`/${encodeURIComponent(a)}`,"GET",void 0,r),a)}async operationResult(a,r){let n=sa.parse(r.kind),s=new URLSearchParams({kind:n,...r.datasetId?{datasetId:r.datasetId}:{}}),i=await this.request(`/operations/${encodeURIComponent(a)}?${s}`,"GET",void 0,r.signal,132*1024*1024);if(i===null)return null;let o=Hr.parse(i);if(this.readback(o.receipt,o.receipt.datasetId),o.base&&this.readback(o.base,o.receipt.datasetId),o.operationId!==a||o.kind!==n||r.datasetId&&o.receipt.datasetId!==r.datasetId||r.requestHash&&o.requestHash!==r.requestHash)throw new Error("Dataset operation recovery identity/request mismatch.");return o}async beginVersion(a,r,n){let s=Er.parse(r),i=this.readback(await this.request(`/${encodeURIComponent(a)}/begin-version`,"POST",s,n),a);if(i.revision!==s.expectedRevision+1||i.workspace.draft.status!=="draft"||!i.publication||!i.workspace.draft.publishedTasksetRef)throw new Error("Editable version receipt mismatch.");return i}async versions(a,r={}){let n=new URLSearchParams(r.beforeRevision===void 0?{}:{beforeRevision:String(r.beforeRevision)}),s=Ar.parse(await this.request(`/${encodeURIComponent(a)}/versions?${n}`,"GET",void 0,r.signal));if(s.teamId!==this.options.teamId||s.datasetId!==a||s.items.some((i,o)=>o>0&&i.workspaceRevision>=s.items[o-1].workspaceRevision||r.beforeRevision!==void 0&&i.workspaceRevision>=r.beforeRevision))throw new Error("Dataset version history scope/order mismatch.");return s}async version(a,r,n){let s=this.readback(await this.request(`/${encodeURIComponent(a)}/versions/${r}`,"GET",void 0,n),a);if(s.revision!==r||s.workspace.draft.status!=="published")throw new Error("Dataset immutable version mismatch.");return s}async save(a,r){let n=Ir.parse(a),s=We(n.workspace);if(s.draft.profileId!==this.options.teamId||s.draft.revision!==n.expectedRevision+1)throw new Error("Dataset write scope or revision mismatch.");let i=this.readback(await this.request(`/${encodeURIComponent(s.draft.id)}`,"PUT",n,r),s.draft.id);if(n.originProjectId&&i.originProjectId!==n.originProjectId)throw new Error("Dataset origin Project mismatch.");if(n.ownerScope&&i.ownerScope!==n.ownerScope)throw new Error("Dataset owner scope mismatch.");if(i.workspace.contentHash!==s.contentHash)throw new Error("Dataset write receipt differs from the saved bytes.");return i}async validate(a,r,n){let s=Dr.parse(await this.request(`/${encodeURIComponent(a)}/validate`,"POST",{expectedRevision:r},n));if(s.teamId!==this.options.teamId||s.datasetId!==a||s.revision!==r)throw new Error("Dataset validation receipt mismatch.");return s}async publish(a,r,n){let s=Pr.parse(r),i=this.readback(await this.request(`/${encodeURIComponent(a)}/publish`,"POST",s,n),a);if(i.revision!==s.expectedRevision+1||i.workspace.draft.status!=="published"||i.publication?.packageHash!==s.packageHash)throw new Error("Dataset publication receipt mismatch.");return i}readback(a,r){let n=we.parse(a);if(We(n.workspace),n.datasetId!==r||n.teamId!==this.options.teamId)throw new Error("Dataset identity mismatch.");return n}async request(a,r,n,s,i){let o=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/dataset-workspaces${a}`,{method:r,signal:s,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json"},...n===void 0?{}:{body:JSON.stringify(n)}});if(!o.ok)throw new Error(`Dataset request failed (${o.status}).`);if(i!==void 0){if(!o.body)throw new Error("Dataset response is empty.");let u=o.body.getReader(),l=[],d=0;try{for(;;){let f=await u.read();if(f.done)break;if(d+=f.value.byteLength,d>i)throw new Error("Dataset recovery exceeds its bounded response.");l.push(f.value)}}finally{await u.cancel()}let m=new Uint8Array(d),p=0;for(let f of l)m.set(f,p),p+=f.length;return JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(m))}return o.json()}};var Ht=e.string().trim().min(1).max(500),As=e.string().regex(/^[a-f0-9]{64}$/),js=e.object({release:ve,afterId:Ht.optional(),limit:e.number().int().min(1).max(1e4).default(100),view:e.enum(["ids","policy"]).default("ids")}).strict().superRefine((t,a)=>{t.view==="policy"&&t.limit>100&&a.addIssue({code:"custom",path:["limit"],message:"Policy previews are bounded to 100 tasks."})}),Cr=e.object({id:Oe.shape.id,split:la}).strict(),Ds=Cr.extend({input:e.record(e.string(),e.unknown()),policyVisibleContext:e.record(e.string(),e.unknown()),artifacts:e.array(e.object({id:Ht,path:e.string(),mediaType:e.string(),sizeBytes:e.number().int().nonnegative()}).strict()).max(1e3)}).strict(),Pp=e.object({schemaVersion:e.literal("openpond.datasetPopulationPage.v1"),teamId:Ht,release:ve,view:js.shape.view,taskCount:e.number().int().nonnegative(),items:e.array(e.union([Cr,Ds])).max(1e4),graders:e.array(_a).max(1e3),nextCursor:Ht.nullable(),contentHash:As}).strict().superRefine((t,a)=>{t.view==="policy"&&t.items.length>100&&a.addIssue({code:"custom",message:"Policy preview exceeded its task bound."}),t.items.some(r=>"input"in r!=(t.view==="policy"))&&a.addIssue({code:"custom",message:"Dataset task view differs from the requested projection."})});async function Vp(t,a){let[r,n]=a,s=G(t,"team"),i=Ea(t);if(!s||!i||!r||a.length>2||!["upload","read","list","validate","publish"].includes(r))throw new Error("usage: datasets <upload|read|list|validate|publish> [folder|id] --team <id> --api-base-url <origin> [--operation-id <id>] [--expected-revision <n>] [--publish] [--project <id>]");let o=await Ia(),u=new at({teamId:s,baseUrl:i,apiKey:await Pa(o,Aa(o))}),l=G(t,"operationId"),d;if(r==="list"){if(n)throw new Error("List does not accept a dataset id.");d=await u.list({cursor:G(t,"cursor")||void 0})}else{if(!n)throw new Error(`${r} requires a ${r==="upload"?"folder":"dataset id"}.`);if(r==="read")d=await u.get(n);else if(r==="upload"){if(!l||l.length>220)throw new Error("Upload requires a stable --operation-id of at most 220 characters. Reuse it after an uncertain response.");let m=G(t,"expectedRevision"),p=m?Number(m):0;if(!Number.isSafeInteger(p)||p<0)throw new Error("Expected revision must be a nonnegative integer.");let f=await xa({directory:n,teamId:s,expectedRevision:p,datasetId:G(t,"datasetId")||void 0}),v=na({workspace:f.workspace,preparation:null,adapterId:"openpond-hosted-taskset-authoring-v1",now:f.workspace.draft.updatedAt}),k=await u.save({operationId:`${l}:save`,expectedRevision:p,workspace:f.workspace,...G(t,"project")?{originProjectId:G(t,"project")}:{}}),b=await u.get(k.datasetId);if(b.workspace.draft.status==="draft"){let P=await u.validate(k.datasetId,k.revision);if(P.workspaceHash!==f.workspace.contentHash||P.packageHash!==v.contentHash)throw new Error("Hosted validation differs from the captured folder bytes.")}else if(b.publication?.packageHash!==v.contentHash)throw new Error("This dataset was changed after the upload receipt. Read the current version before continuing.");let R=oa(t.publish)?await u.publish(k.datasetId,{operationId:`${l}:publish`,expectedRevision:k.revision,workspaceHash:k.workspace.contentHash,packageHash:v.contentHash}):k;d={teamId:s,datasetId:R.datasetId,revision:R.revision,status:R.workspace.draft.status,operationId:l,capturedBytes:f.capturedBytes,sourceHash:f.sourceHash,sourceFiles:f.sourceFiles,workspaceHash:k.workspace.contentHash,packageHash:v.contentHash,publication:R.publication}}else{let m=Number(G(t,"expectedRevision"));if(!Number.isSafeInteger(m)||m<=0)throw new Error(`${r} requires --expected-revision with the retained dataset revision.`);if(r==="validate")d=await u.validate(n,m);else{if(!l)throw new Error("Publish requires a stable --operation-id.");let p=G(t,"workspaceHash"),f=G(t,"packageHash");if(!p||!f)throw new Error("Publish requires --workspace-hash and --package-hash from the retained validation receipt. Keep these pins and the operation id unchanged on retry.");d=await u.publish(n,{operationId:l,expectedRevision:m,workspaceHash:p,packageHash:f})}}}console.log(JSON.stringify(d,null,2))}c(Vp,"runDatasetsCommand");export{Vp as runDatasetsCommand};
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{A as D,B as E,C as F,D as G,E as H,F as I,G as J,H as K,I as L,J as M,K as N,L as O,M as P,N as Q,O as R,P as S,Q as T,R as U,S as V,T as W,U as X,V as Y,a as d,b as e,c as f,d as g,e as h,f as i,g as j,h as k,i as l,j as m,k as n,l as o,m as p,n as q,o as r,p as s,q as t,r as u,s as v,t as w,u as x,v as y,w as z,x as A,y as B,z as C}from"./chunk-OUN6VQDO.js";import{ta as a,ua as b,va as c}from"./chunk-QUNRWDVO.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import"./chunk-FTQLQJQV.js";export{l as AGENT_PROTOCOL_VERSION,m as AGENT_RPC_METHODS,P as AgentCheckpointSchema,O as AgentEffectiveSurfaceSchema,i as AgentEventNameSchema,L as AgentHostStorageClient,t as AgentJsonRpcDispatcher,r as AgentProtocolEnvelopeSchema,u as AgentRpcClient,j as CanonicalAgentEventSchema,H as HOST_STORAGE_CONTRACT_VERSION,x as HarnessReviewStorageParamsSchema,K as HostStorageCapabilitySchema,J as HostStorageRequestSchema,I as HostStorageScopeSchema,z as HostedOutputBeginParamsSchema,A as HostedOutputChunkParamsSchema,B as HostedOutputCompleteParamsSchema,y as HostedOutputIdentitySchema,D as HostedOutputSaveSandboxFileParamsSchema,E as HostedSandboxActionSchema,C as HostedSandboxOutputIdentitySchema,F as HostedSandboxRequestParamsSchema,G as HostedToolAuthorizationParamsSchema,s as InitializeParamsSchema,q as JsonRpcErrorSchema,o as JsonRpcNotificationSchema,n as JsonRpcRequestSchema,p as JsonRpcSuccessSchema,w as RefinerStorageActionSchema,v as TaskInboxStorageParamsSchema,Y as TaskSerialExecutor,X as TaskSignals,f as agentCompactionDecision,k as canonicalEventHash,e as canonicalHash,d as canonicalJson,R as checkpointHash,N as createAgentRuntimeService,T as createAgentToolCatalog,V as createAgentToolCatalogProjection,Q as effectiveSurfaceHash,U as executeAgentTool,W as executeProjectedAgentTool,S as materializeAgentPrompt,a as providerRoundSequence,g as runAgentCompaction,h as runAgentCompactionProgram,M as runAgentJsonlServer,c as runProviderRound,b as runProviderRoundLoop};
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import"./chunk-LRGLV6JX.js";import{c as k}from"./chunk-65BW2QXY.js";import{c as R,f as A}from"./chunk-BSHAIAXY.js";import"./chunk-QZ4KTU65.js";import"./chunk-AUOMUBLE.js";import"./chunk-XWPC3AN4.js";import{c as o}from"./chunk-3M53YXEI.js";import"./chunk-OGPHXXCD.js";import{f as g,g as u,h as y,j as I,k as E,l as b,m as S,n as v,o as P}from"./chunk-XJAK6DDB.js";import"./chunk-Z2BYC6TP.js";import{d as H}from"./chunk-DXAZUJPA.js";import{b as U}from"./chunk-GLUWATL5.js";import"./chunk-KCENW4ME.js";import"./chunk-2Z6H32OC.js";import"./chunk-MJC26GOX.js";import"./chunk-TPOW52DO.js";import"./chunk-QUNRWDVO.js";import"./chunk-ALZRXBEC.js";import"./chunk-MTJNKRXL.js";import"./chunk-HZP5U2AA.js";import{b as e}from"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import{a as l}from"./chunk-FTQLQJQV.js";import{readFile as h,stat as w}from"node:fs/promises";var p=e.string().trim().min(1).max(500),C=e.string().regex(/^[a-f0-9]{64}$/),$=e.object({schemaVersion:e.literal("openpond.experimentCaseInspection.v1"),teamId:p,executionId:p,manifestHash:C,receiptId:p,taskId:p,seed:e.string().min(1),input:e.record(e.string(),e.unknown()).nullable(),output:e.unknown().nullable(),error:e.string().nullable(),events:e.array(e.record(e.string(),e.unknown())).max(25),nextEventCursor:p.nullable(),eventCount:e.number().int().nonnegative()}).strict(),K=$.extend({contentHash:C}).strict();var d=e.string().trim().min(1).max(240),F=e.object({projectId:d.optional(),afterId:d.optional(),limit:e.number().int().min(1).max(100).default(30),status:u.shape.status.optional(),search:e.string().trim().max(100).optional(),modelId:d.optional(),tasksetHash:e.string().regex(/^[a-f0-9]{64}$/).optional()}).strict(),j=e.object({summary:u,definition:y,policy:g}).strict().superRefine((a,c)=>{a.summary.policyKind!==a.policy.kind&&c.addIssue({code:"custom",path:["policy"],message:"History target differs from the retained execution."})}),J=e.object({items:e.array(j).max(100),nextCursor:d.nullable()}).strict();async function ce(a,c){let[t,i]=c,x=o(a,"team");if(!x||!t||c.length>(t==="compare"?3:2))throw new Error("usage: experiments <prepare-harness|save|read|list|executions|start|status|cancel|retry|score|passes|pass|cancel-pass|pass-result|result|compare> [id] [candidate-id] --team <id> [--input-file <path>] [--operation-id <id>]");let f=await H(),q={teamId:x,apiKey:await k(f,A(f)),baseUrl:R(a)??f.apiBaseUrl??U},s=new P(q),n;if(t==="prepare-harness"){let r=o(a,"inputFile");if(!r||i||(await w(r)).size>1048576)throw new Error("Harness preparation requires a bounded --input-file with its released target, model and ceiling.");n=await s.prepareHarness(b.parse(JSON.parse(await h(r,"utf8"))))}else if(t==="save"){let r=o(a,"inputFile");if(!r||i)throw new Error("Saving requires --input-file with the complete configuration and stable operationId.");if((await w(r)).size>1048576)throw new Error("Experiment input exceeds one MiB.");n=await s.save(I.parse(JSON.parse(await h(r,"utf8"))))}else if(t==="list"){if(i)throw new Error("List does not accept an Experiment id.");let r=o(a,"limit");n=await s.list({projectId:o(a,"project")||void 0,datasetHash:o(a,"datasetHash")||void 0,search:o(a,"search")||void 0,afterId:o(a,"afterId")||void 0,...r?{limit:Number(r)}:{}})}else{if(!i)throw new Error(`${t} requires an id.`);if(t==="read")n=await s.get(i);else if(t==="start"){let r=o(a,"operationId");if(!r)throw new Error("Start requires --operation-id. Reuse it after a transport failure; use a new id for another execution.");let m=await s.get(i);n=await s.start(E.parse({operationId:r,definition:S(m)}))}else if(t==="executions")n=await s.executions(i,{afterId:o(a,"afterId")||void 0});else if(t==="status")n=await s.execution(i);else if(t==="cancel")n=await s.cancel(i);else if(t==="retry"){let r=o(a,"operationId");if(!r)throw new Error("Retry requires a stable --operation-id for the new execution.");n=await s.retry(i,r)}else if(t==="score"){let r=o(a,"inputFile");if(!r||(await w(r)).size>1048576)throw new Error("Score requires --input-file containing an exact execution reference, grader releases and explicit ceiling, within one MiB.");let m=v.parse(JSON.parse(await h(r,"utf8")));if(m.execution.id!==i)throw new Error("Scoring input belongs to a different execution.");n=await s.score(m)}else if(t==="passes")n=await s.scoringPasses(i,{afterId:o(a,"afterId")||void 0});else if(t==="pass")n=await s.scoringPass(i);else if(t==="cancel-pass")n=await s.cancelScoringPass(i);else if(t==="pass-result")n=await s.scoringResult(i);else if(t==="result")n=await s.result(i);else if(t==="compare"){if(!c[2])throw new Error("Compare requires a baseline and candidate execution id.");n=await s.compare(i,c[2])}else throw new Error(`Unknown Experiment action: ${t}`)}console.log(JSON.stringify(n,null,2))}l(ce,"runExperimentsCommand");export{ce as runExperimentsCommand};
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{b as a,c as b}from"./chunk-JYM3O4G7.js";import"./chunk-OUN6VQDO.js";import"./chunk-SUAT5DR4.js";import"./chunk-2VTXKZNK.js";import"./chunk-EEJ3HL6O.js";import"./chunk-MOMDY22U.js";import"./chunk-S2MLTFZF.js";import"./chunk-BAQ3DWH2.js";import"./chunk-AANEPCEZ.js";import"./chunk-VI3ZF54E.js";import"./chunk-L3KS6MOV.js";import"./chunk-3CKJETWW.js";import"./chunk-ZQWXPDCB.js";import"./chunk-6MI4KKWF.js";import"./chunk-TPMXLA5Y.js";import"./chunk-2Z6H32OC.js";import"./chunk-MJC26GOX.js";import"./chunk-TPOW52DO.js";import"./chunk-QUNRWDVO.js";import"./chunk-6FA3GG5B.js";import"./chunk-SDO4FC4Q.js";import"./chunk-IR3YJWPW.js";import"./chunk-ALZRXBEC.js";import"./chunk-MTJNKRXL.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-FTQLQJQV.js";export{a as loadHostedHarnessRuntime,b as loadHostedHarnessRuntimeForSession};
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a,b,c,d}from"./chunk-76YP4FDQ.js";import"./chunk-2VTXKZNK.js";import"./chunk-EEJ3HL6O.js";import"./chunk-MOMDY22U.js";import"./chunk-S2MLTFZF.js";import"./chunk-BAQ3DWH2.js";import"./chunk-AANEPCEZ.js";import"./chunk-VI3ZF54E.js";import"./chunk-L3KS6MOV.js";import"./chunk-3CKJETWW.js";import"./chunk-ZQWXPDCB.js";import"./chunk-6MI4KKWF.js";import"./chunk-TPMXLA5Y.js";import"./chunk-2Z6H32OC.js";import"./chunk-MJC26GOX.js";import"./chunk-TPOW52DO.js";import"./chunk-QUNRWDVO.js";import"./chunk-6FA3GG5B.js";import"./chunk-SDO4FC4Q.js";import"./chunk-IR3YJWPW.js";import"./chunk-ALZRXBEC.js";import"./chunk-MTJNKRXL.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-FTQLQJQV.js";export{a as compileHostedProfileRelease,b as runHostedProfileCompilerCli,c as runHostedProfileEvaluationCli,d as runHostedProfileInspectionCli};
@@ -1 +0,0 @@
1
- import{r as o,j as e}from"./index-CpTHPmvd.js";import{s as u}from"./LabsRoute-BL04wKhE.js";import{eo as n}from"./App-BpYDvJ6x.js";import"./AppDialog-DMymIOcU.js";import"./cloud-upload-hk4EBTu-.js";import"./MainPane-EwtIf5_E.js";import"./arrow-up-right-CN9lcbsD.js";import"./MarkdownText-Bj9uRWtM.js";import"./square-Cui64whj.js";import"./folder-open-BmhusYOx.js";import"./refresh-cw-DmpWkVF6.js";import"./training-model-data-CKOkpBBL.js";import"./info-CayXQYUk.js";/* empty css */import"./ComposerCreateImproveStrip-D08PAaxI.js";function H({api:i,policyId:r,sourceId:t,onBack:s}){const a=o.useMemo(()=>i.reviewClient(r,t),[i,r,t]),[m,p]=o.useState(null),[l,c]=o.useState(null);return e.jsxs("section",{"aria-label":"Hosted example review",children:[e.jsx("button",{type:"button",className:"training-button secondary",onClick:()=>{n(s)},children:"Back to continual learning"}),e.jsx("p",{children:"Reviewing hosted examples. Approved tasks become eligible for this policy's next training check."}),e.jsx(u,{client:a,selectedId:m,after:l,sourceId:t,onSelect:d=>{n(()=>p(d))},onPage:c})]})}export{H as HostedModelLearningReview};