openpond 0.2.44 → 0.2.45

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 (200) hide show
  1. package/dist/app-server.d.ts +12010 -3269
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/actions-command-CRDLSPFA.js +2 -0
  4. package/dist/chunks/{app-layer-7SPLENWD.js → app-layer-MDJFV3HZ.js} +1 -1
  5. package/dist/chunks/app-server-runtime-PJONTCCO.js +2 -0
  6. package/dist/chunks/apps-MD2DKEDW.js +2 -0
  7. package/dist/chunks/{chunk-ZEVARU6J.js → chunk-25GCTLAZ.js} +1 -1
  8. package/dist/chunks/chunk-3BJ4P5LI.js +520 -0
  9. package/dist/chunks/chunk-3SRIPOJQ.js +2 -0
  10. package/dist/chunks/{chunk-PEYA2Q7Q.js → chunk-4EGDKOYP.js} +3 -3
  11. package/dist/chunks/{chunk-Z6ZR5O3J.js → chunk-5ZFEQLRI.js} +1 -1
  12. package/dist/chunks/chunk-6BL2ZIAP.js +184 -0
  13. package/dist/chunks/chunk-6QUICEQA.js +5 -0
  14. package/dist/chunks/chunk-7D2WMUWK.js +3 -0
  15. package/dist/chunks/chunk-7KIBRK3A.js +4 -0
  16. package/dist/chunks/{chunk-ANVOHBUV.js → chunk-B6LYKEMU.js} +1 -1
  17. package/dist/chunks/chunk-CXS3WXL3.js +2 -0
  18. package/dist/chunks/chunk-DWGB536R.js +19 -0
  19. package/dist/chunks/{chunk-OI2N2636.js → chunk-EG55BFQ4.js} +1 -1
  20. package/dist/chunks/chunk-ELNJUG64.js +17 -0
  21. package/dist/chunks/{chunk-W5NQ2DI7.js → chunk-FXIUKYUR.js} +1 -1
  22. package/dist/chunks/chunk-GEDEVI4Y.js +2 -0
  23. package/dist/chunks/chunk-H3C4ZYEA.js +16 -0
  24. package/dist/chunks/chunk-HUBI3RUK.js +2 -0
  25. package/dist/chunks/{chunk-X2B4MN6W.js → chunk-IYRHG54Q.js} +1 -1
  26. package/dist/chunks/chunk-J65BMG5Q.js +2 -0
  27. package/dist/chunks/chunk-KOR2AZVB.js +24 -0
  28. package/dist/chunks/{chunk-2CXJK2M3.js → chunk-LL4QP2IM.js} +1 -1
  29. package/dist/chunks/chunk-M2YXYBSP.js +2 -0
  30. package/dist/chunks/chunk-NPOHW5OU.js +2 -0
  31. package/dist/chunks/{chunk-KRC2S5QF.js → chunk-NXUCGKY2.js} +3 -3
  32. package/dist/chunks/chunk-PDIT2QS7.js +8 -0
  33. package/dist/chunks/{chunk-YF6IDYTS.js → chunk-PGKEDR3S.js} +1 -1
  34. package/dist/chunks/chunk-QVRNOGAU.js +21 -0
  35. package/dist/chunks/chunk-TNXILYI6.js +2 -0
  36. package/dist/chunks/chunk-TVQE3JMI.js +2 -0
  37. package/dist/chunks/chunk-U6SFIFDM.js +2409 -0
  38. package/dist/chunks/chunk-V6WBSW5Q.js +3 -0
  39. package/dist/chunks/chunk-VESOG2SS.js +2 -0
  40. package/dist/chunks/chunk-VFTUP5NQ.js +2 -0
  41. package/dist/chunks/{chunk-RAWEO7SJ.js → chunk-VVV5I22A.js} +2 -2
  42. package/dist/chunks/chunk-XPB6NY7L.js +42 -0
  43. package/dist/chunks/{chunk-OMM4ZO7E.js → chunk-XWLI7WJH.js} +2 -24
  44. package/dist/chunks/{chunk-KIGN4FI6.js → chunk-YWX7FKLM.js} +1 -1
  45. package/dist/chunks/cli-BKBH6FZY.js +2 -0
  46. package/dist/chunks/{configuration-command-LDPUCHVH.js → configuration-command-75ZCMZ6X.js} +1 -1
  47. package/dist/chunks/connected-evidence-UPUVVQ6P.js +2 -0
  48. package/dist/chunks/{continual-MHMPLLUZ.js → continual-WWPXK2LO.js} +1 -1
  49. package/dist/chunks/core-commands-SS2GV7WU.js +2 -0
  50. package/dist/chunks/datasets-TCLXV34N.js +2 -0
  51. package/dist/chunks/desktop-test-7ZHZHUB6.js +3 -0
  52. package/dist/chunks/{dist-6YP37XI5.js → dist-VDN6E54A.js} +1 -1
  53. package/dist/chunks/evaluation-coordination-ZX5GLMRC.js +2 -0
  54. package/dist/chunks/experiment-improvements-O6DCQXCX.js +2 -0
  55. package/dist/chunks/experiments-JOQOBQXY.js +2 -0
  56. package/dist/chunks/{extension-JEUZZJ5X.js → extension-3M2CSWZB.js} +1 -1
  57. package/dist/chunks/{help-4F4QGL4C.js → help-RLRU33WN.js} +1 -1
  58. package/dist/chunks/hosted-experiment-improvement-IKO677PI.js +3 -0
  59. package/dist/chunks/hosted-harness-runtime-H2Q2SNZT.js +2 -0
  60. package/dist/chunks/hosted-profile-candidate-FHHSLJNO.js +3 -0
  61. package/dist/chunks/hosted-profile-compiler-5B256VV3.js +2 -0
  62. package/dist/chunks/hosted-profile-evaluation-control-Z25TZOW4.js +2 -0
  63. package/dist/chunks/hosted-profile-evaluation-inspection-MFYPLTZQ.js +3 -0
  64. package/dist/chunks/hosted-profile-evaluation-preparation-MAB2PSCC.js +3 -0
  65. package/dist/chunks/human-review-6H3BW7OZ.js +2 -0
  66. package/dist/chunks/learning-Y6WNDVQW.js +2 -0
  67. package/dist/chunks/{opchat-UFWWVJL6.js → opchat-3E4FH3DC.js} +1 -1
  68. package/dist/chunks/organizations-PRVCUPMN.js +2 -0
  69. package/dist/chunks/{profile-ESULTWDN.js → profile-DC4UEVVG.js} +1 -1
  70. package/dist/chunks/project-agent-ZX3CELKI.js +2 -0
  71. package/dist/chunks/sandbox-command-HHQMZK3G.js +2 -0
  72. package/dist/chunks/{sandbox-template-7WHGNVM6.js → sandbox-template-DFHWHCIQ.js} +1 -1
  73. package/dist/chunks/{src-A3OVZOSV.js → src-CREVQF7M.js} +1 -1
  74. package/dist/chunks/src-MAZ7OBVY.js +327 -0
  75. package/dist/chunks/taskset-TB2ICAZU.js +2 -0
  76. package/dist/chunks/{teams-bot-YMCDLBGT.js → teams-bot-BNBL57S5.js} +1 -1
  77. package/dist/chunks/training-FW5FOGR3.js +2 -0
  78. package/dist/chunks/{workspaces-ZZ7R5BUL.js → workspaces-WTPFRJMS.js} +1 -1
  79. package/dist/cli.js +1 -1
  80. package/dist/index.js +1 -1
  81. package/dist/web/assets/App-BgeSqoRS.css +1 -0
  82. package/dist/web/assets/App-C6EWFrLP.js +227 -0
  83. package/dist/web/assets/{AppDialog-CV3ddujB.js → AppDialog-Cgn_fTGR.js} +1 -1
  84. package/dist/web/assets/{AppTerminalPanel-dhbGOO_K.js → AppTerminalPanel-cNYkSvM2.js} +2 -2
  85. package/dist/web/assets/{AppsView-Bxa-9BF2.js → AppsView-9zpKBSLv.js} +1 -1
  86. package/dist/web/assets/{BrowserSidebar-BLwL2FOG.js → BrowserSidebar-Xo21N1ej.js} +1 -1
  87. package/dist/web/assets/{CartesianChart-BOxN-Su1.js → CartesianChart-Bg3Lm5mZ.js} +1 -1
  88. package/dist/web/assets/{CollaborationTabs-DTmJvNJx.js → CollaborationTabs-BIfgIy5X.js} +1 -1
  89. package/dist/web/assets/{CommandMenu-DggN2ygj.js → CommandMenu-D9BimyPx.js} +1 -1
  90. package/dist/web/assets/{CommunityView-CuDrYOIf.js → CommunityView-BoW-yLju.js} +1 -1
  91. package/dist/web/assets/{ComposerCreateImproveStrip-BrduENlL.js → ComposerCreateImproveStrip-BIKVEgr1.js} +1 -1
  92. package/dist/web/assets/{GetStartedView-Db1IEWzv.js → GetStartedView-B99v4-hh.js} +1 -1
  93. package/dist/web/assets/HostedModelLearningReview-DEScpX2Z.js +1 -0
  94. package/dist/web/assets/HostedModelLearningSettings-4HT5eEiL.js +1 -0
  95. package/dist/web/assets/LabModelVersionDetailPage-DkYdI7gr.js +1 -0
  96. package/dist/web/assets/{LabSkillSidebar-Bz0U-Nmw.js → LabSkillSidebar-Bp5XYipm.js} +1 -1
  97. package/dist/web/assets/LabsRoute-ACN76d2j.css +1 -0
  98. package/dist/web/assets/LabsRoute-VopO7n34.js +105 -0
  99. package/dist/web/assets/MainChatThread-3Gg0oDZT.js +2 -0
  100. package/dist/web/assets/{MainPane-Cs2Kng_k.js → MainPane-CUqMVG9-.js} +11 -11
  101. package/dist/web/assets/{MarkdownText-BhzHRq1J.js → MarkdownText-De0WzrEw.js} +1 -1
  102. package/dist/web/assets/{NativeSkillSidebar-LU-PhEhW.js → NativeSkillSidebar-B4jtf5RO.js} +1 -1
  103. package/dist/web/assets/{NewExperienceSwitcher-Bi_gpHLG.js → NewExperienceSwitcher-Bg1DVr96.js} +1 -1
  104. package/dist/web/assets/{NewProjectDialog-B8pWvSkq.js → NewProjectDialog-i_wvIBw-.js} +1 -1
  105. package/dist/web/assets/{OutputsPage-BkGI0kHp.js → OutputsPage-CZiPxLyN.js} +1 -1
  106. package/dist/web/assets/{ProjectsPage-Ca8_iEWu.js → ProjectsPage-BD0eml0M.js} +1 -1
  107. package/dist/web/assets/RightChatPanelStack-CEBFPHKP.js +1 -0
  108. package/dist/web/assets/{RightSidebarHomePanel-6pygznxX.js → RightSidebarHomePanel-BTpU5wGh.js} +1 -1
  109. package/dist/web/assets/{ScheduledWorkPage-BSiOxxAH.js → ScheduledWorkPage-Y6XGoh-X.js} +1 -1
  110. package/dist/web/assets/{SettingsView-1XN7KLBl.js → SettingsView-Kh14f463.js} +3 -3
  111. package/dist/web/assets/{TeamChatView-BGLCPTen.js → TeamChatView-5LjuRNd6.js} +2 -2
  112. package/dist/web/assets/{TerminalOverlay-DHkS2cVJ.js → TerminalOverlay-BCWBSotQ.js} +1 -1
  113. package/dist/web/assets/{TrainingCreationPanel-Dneamjzh.js → TrainingCreationPanel-hvOHRVJx.js} +1 -1
  114. package/dist/web/assets/{TrainingDraftPanel-Cfh59jLZ.js → TrainingDraftPanel-CGEHGljE.js} +1 -1
  115. package/dist/web/assets/{UsageSettingsSection-C9l1KY-O.js → UsageSettingsSection-B8nbqhag.js} +1 -1
  116. package/dist/web/assets/{WorkSidebarPanel-CEnO-Txp.js → WorkSidebarPanel-B6hlPEIs.js} +1 -1
  117. package/dist/web/assets/{WorkspaceDiffPanel-BiuQBflC.js → WorkspaceDiffPanel-q8A15-0x.js} +9 -9
  118. package/dist/web/assets/{WorkspaceEnvironmentMenu-Dr-E0c1j.js → WorkspaceEnvironmentMenu-BiFTPWtC.js} +1 -1
  119. package/dist/web/assets/{WorkspaceGitDialogs-mE3Og6Zo.js → WorkspaceGitDialogs-Dyx4Rbiy.js} +1 -1
  120. package/dist/web/assets/{WorkspaceMonacoEditor-DPZ0n0G9.js → WorkspaceMonacoEditor-B1dKexHo.js} +3 -3
  121. package/dist/web/assets/{arrow-up-right-DU2KsZD-.js → arrow-up-right-CCj7SOGp.js} +1 -1
  122. package/dist/web/assets/chunk-DJWHN7NU-1eQoMoKO.js +1 -0
  123. package/dist/web/assets/{clipboard-g2b4_k81.js → clipboard-BY6ELc9Z.js} +1 -1
  124. package/dist/web/assets/{cloud-upload-P2bDOPsQ.js → cloud-upload-BOka5EKK.js} +1 -1
  125. package/dist/web/assets/{cssMode-CPbPVAUt.js → cssMode-C34j8ti5.js} +1 -1
  126. package/dist/web/assets/{folder-open-BmsONNsr.js → folder-open-CX2jidFj.js} +1 -1
  127. package/dist/web/assets/{folder-plus-B18NgUxy.js → folder-plus-Dh2Q9LP3.js} +1 -1
  128. package/dist/web/assets/{git-commit-horizontal-enxGCV_e.js → git-commit-horizontal-CfevriuT.js} +1 -1
  129. package/dist/web/assets/{htmlMode-DiV88uQv.js → htmlMode-BORwVkZg.js} +1 -1
  130. package/dist/web/assets/{index-vfpCN9zy.js → index-BBjRfC--.js} +2 -2
  131. package/dist/web/assets/{info-DmuSBIYe.js → info-Bv3dbs3G.js} +1 -1
  132. package/dist/web/assets/{jsonMode-BaeOjuKU.js → jsonMode-BYWtZ6AK.js} +1 -1
  133. package/dist/web/assets/{lspLanguageFeatures-D8To0CQA.js → lspLanguageFeatures-CEAdFSpU.js} +1 -1
  134. package/dist/web/assets/{minimize-2-C2xnEzCe.js → minimize-2-MhorZwY5.js} +1 -1
  135. package/dist/web/assets/{monaco.contribution-JW3MxX6k.js → monaco.contribution-CDhPpbIo.js} +2 -2
  136. package/dist/web/assets/{monaco.contribution-bytkwn0O.js → monaco.contribution-CN7AWJNd.js} +2 -2
  137. package/dist/web/assets/{monaco.contribution-DbrACt99.js → monaco.contribution-DHA7FuJX.js} +2 -2
  138. package/dist/web/assets/{monaco.contribution-DgTFvG2Q.js → monaco.contribution-ZUUVx_3M.js} +2 -2
  139. package/dist/web/assets/{monitor-mtHVW7gU.js → monitor-DLcrkfM5.js} +1 -1
  140. package/dist/web/assets/{python-DAPe0Urm.js → python-CXwvPmc4.js} +1 -1
  141. package/dist/web/assets/{refresh-cw-Dvm_Pq3U.js → refresh-cw-BTfIxHb3.js} +1 -1
  142. package/dist/web/assets/{save-B2eVAjW6.js → save-DaN65kMq.js} +1 -1
  143. package/dist/web/assets/{square-16bX2k2i.js → square-zRgIUdSv.js} +1 -1
  144. package/dist/web/assets/{toggleHighContrast-Ce0YhEQg.js → toggleHighContrast-DWeRZFzr.js} +1 -1
  145. package/dist/web/assets/{tsMode-CnvMmHz6.js → tsMode-nLBhKngY.js} +1 -1
  146. package/dist/web/assets/{upload-COPbAaD-.js → upload-BfUu4Eu1.js} +1 -1
  147. package/dist/web/assets/{useLocalAgentSchedules-C-Wjm5HK.js → useLocalAgentSchedules-BCITWhg2.js} +1 -1
  148. package/dist/web/assets/{useSessionTurnCache-BfVbncMB.js → useSessionTurnCache-BQMWfV8u.js} +1 -1
  149. package/dist/web/assets/{wifi-off-C9iLbCC-.js → wifi-off-bdka5es5.js} +1 -1
  150. package/dist/web/assets/{workers-BXh_u8Fr.js → workers-z7XHFFNs.js} +1 -1
  151. package/dist/web/assets/{yaml-CRSr9x6_.js → yaml-BTr4i4DD.js} +1 -1
  152. package/dist/web/index.html +1 -1
  153. package/docs/command-reference.md +77 -0
  154. package/package.json +4 -2
  155. package/dist/chunks/actions-command-5IEZEP6W.js +0 -2
  156. package/dist/chunks/app-server-runtime-NQ2BYPGK.js +0 -2
  157. package/dist/chunks/apps-XQ7PHJTD.js +0 -2
  158. package/dist/chunks/chunk-36RCXSEJ.js +0 -2
  159. package/dist/chunks/chunk-3QC2DDQ5.js +0 -2
  160. package/dist/chunks/chunk-3XDFNA7W.js +0 -2
  161. package/dist/chunks/chunk-4S4WH65X.js +0 -3
  162. package/dist/chunks/chunk-4TMC5F2P.js +0 -5
  163. package/dist/chunks/chunk-65QCNUGE.js +0 -659
  164. package/dist/chunks/chunk-6XF4GI35.js +0 -2
  165. package/dist/chunks/chunk-ARJUNUH6.js +0 -5
  166. package/dist/chunks/chunk-CEEZ7Y2J.js +0 -2
  167. package/dist/chunks/chunk-DZVVGU6K.js +0 -8
  168. package/dist/chunks/chunk-HY2Q7EDK.js +0 -4
  169. package/dist/chunks/chunk-IT4AT6LB.js +0 -42
  170. package/dist/chunks/chunk-L6HCBIAU.js +0 -2
  171. package/dist/chunks/chunk-LNEOLOK2.js +0 -13
  172. package/dist/chunks/chunk-NM2GYDPA.js +0 -19
  173. package/dist/chunks/chunk-OQPFFKU6.js +0 -2
  174. package/dist/chunks/chunk-QID62K65.js +0 -2400
  175. package/dist/chunks/chunk-YOOPTMQK.js +0 -3
  176. package/dist/chunks/cli-OJU6NQSA.js +0 -2
  177. package/dist/chunks/core-commands-UZL5RF2M.js +0 -2
  178. package/dist/chunks/datasets-42AZHVSV.js +0 -13
  179. package/dist/chunks/desktop-test-DI76HKS7.js +0 -3
  180. package/dist/chunks/experiments-Z3S35BYN.js +0 -2
  181. package/dist/chunks/hosted-harness-runtime-VZNYNQ6T.js +0 -2
  182. package/dist/chunks/hosted-profile-compiler-JXLPR7SX.js +0 -2
  183. package/dist/chunks/hosted-profile-evaluation-control-Q54YXXIM.js +0 -2
  184. package/dist/chunks/hosted-profile-evaluation-inspection-7WESM3ZH.js +0 -3
  185. package/dist/chunks/hosted-profile-evaluation-preparation-QP24PYBL.js +0 -3
  186. package/dist/chunks/organizations-SBBIOF6O.js +0 -2
  187. package/dist/chunks/project-agent-IBHUQ3JX.js +0 -2
  188. package/dist/chunks/sandbox-command-PAJAIMWM.js +0 -2
  189. package/dist/chunks/src-5MJSO3UD.js +0 -326
  190. package/dist/chunks/taskset-BZYQT65N.js +0 -2
  191. package/dist/chunks/training-7PST5HZU.js +0 -2
  192. package/dist/web/assets/App-6AQXN2SM.js +0 -226
  193. package/dist/web/assets/App-7h_oHCFd.css +0 -1
  194. package/dist/web/assets/HostedModelLearningReview-kofNdPAe.js +0 -1
  195. package/dist/web/assets/HostedModelLearningSettings-6ij3nwWD.js +0 -1
  196. package/dist/web/assets/LabModelVersionDetailPage-C7Maqcit.js +0 -1
  197. package/dist/web/assets/LabsRoute-Ch1N-e2S.js +0 -52
  198. package/dist/web/assets/LabsRoute-Dw6-12kt.css +0 -1
  199. package/dist/web/assets/MainChatThread-BJbhZOvs.js +0 -2
  200. package/dist/web/assets/RightChatPanelStack-DjEdxsq8.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{d as F}from"./chunk-YF6IDYTS.js";import{a as o}from"./chunk-FTQLQJQV.js";import{spawn as nt,spawnSync as At}from"node:child_process";import{accessSync as vt,constants as Rt,existsSync as _t,promises as Bt}from"node:fs";import et from"node:path";var rt="Git is required for OpenPond app workspaces, but macOS reports Apple Command Line Tools are not installed. OpenPond skipped /usr/bin/git to avoid opening the Xcode installer prompt. Install Command Line Tools with `xcode-select --install`, install Git from Homebrew, or put a non-Apple git binary earlier on PATH.",T;function Lt(e){try{return _t(e)?(vt(e,Rt.X_OK),!0):!1}catch{return!1}}o(Lt,"isExecutable");function Ot(){let e=(process.env.PATH??"").split(et.delimiter).map(t=>t.trim()).filter(Boolean);for(let t of e){let n=et.join(t,"git");if(!(n==="/usr/bin/git"||n==="/bin/git")&&Lt(n))return n}return null}o(Ot,"firstNonAppleGitOnPath");function it(){let e=At("/usr/bin/xcode-select",["-p"],{encoding:"utf8",stdio:["ignore","pipe","pipe"]});return e.status===0&&!!e.stdout.trim()}o(it,"appleDeveloperToolsAvailable");function Dt(e){if(e!=="git"||process.platform!=="darwin")return{command:e};if(T!==void 0)return{command:T};let t=Ot();return t?(T=t,{command:t}):it()?(T="git",{command:"git"}):{error:rt}}o(Dt,"resolveWorkspaceCommand");function u(e,t,n,r={},i){return new Promise(s=>{let a=Dt(e);if("error"in a){s({code:1,stdout:"",stderr:a.error});return}let c=nt(a.command,t,{cwd:n,env:{...process.env,...r,GIT_TERMINAL_PROMPT:"0"},stdio:[i===void 0?"ignore":"pipe","pipe","pipe"]}),d=[],p=[];i!==void 0&&c.stdin?.end(i),c.stdout?.on("data",h=>d.push(h)),c.stderr?.on("data",h=>p.push(h)),c.on("error",h=>{s({code:1,stdout:"",stderr:h.message})}),c.on("close",h=>{s({code:h??1,stdout:Buffer.concat(d).toString("utf8"),stderr:Buffer.concat(p).toString("utf8")})})})}o(u,"runCommand");function Gt(e){return!!(e&&e.includes(rt.slice(0,80)))}o(Gt,"isMacOSGitDeveloperToolsMissing");async function Se(e){await Bt.mkdir(e,{recursive:!0});let t=await u("git",["--version"],e);if(t.code===0)return{ok:!0,command:T??"git",version:(t.stdout||t.stderr).trim()};let n=t.stderr.trim()||t.stdout.trim()||"Git is required for OpenPond app workspaces.";return{ok:!1,error:n,installAction:process.platform==="darwin"&&Gt(n)?"macos_command_line_tools":"manual_git_install"}}o(Se,"checkWorkspaceGitAvailability");function ye(){if(process.platform!=="darwin")return{ok:!1,error:"Apple Command Line Tools installation is only available on macOS."};if(it())return{ok:!0,message:"Apple Command Line Tools already appear to be installed."};try{return nt("/usr/bin/xcode-select",["--install"],{detached:!0,stdio:"ignore"}).unref(),{ok:!0,message:"Opened the Apple Command Line Tools installer."}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}o(ye,"startMacOSCommandLineToolsInstall");import{promises as k}from"node:fs";import m from"node:path";var st=24e3,ot=8e4,It=512*1024,ct=15*1024*1024,Tt=20*1024*1024,Mt=new Set([".cache",".eggs",".git",".ipynb_checkpoints",".mypy_cache",".next",".nox",".nuxt",".openpond",".output",".parcel-cache",".pytest_cache",".pyre",".ruff_cache",".svelte-kit",".tox",".turbo",".venv","__pycache__","artifacts","build","coverage","dist","env","node_modules","out","site-packages","target","venv","volumes"]),zt=new Set([".7z",".avif",".db",".doc",".docx",".gif",".gz",".ico",".jpeg",".jpg",".mov",".mp4",".pdf",".png",".sqlite",".tar",".webp",".xls",".xlsm",".xlsx",".zip"]),$t=new Map([[".avif","image/avif"],[".gif","image/gif"],[".jpeg","image/jpeg"],[".jpg","image/jpeg"],[".png","image/png"],[".webp","image/webp"]]),Nt=new Map([[".m4v","video/x-m4v"],[".mov","video/quicktime"],[".mp4","video/mp4"],[".webm","video/webm"]]),Ht=new Set([".doc",".docx",".pdf"]);function Ut(e){return e.replace(/[^a-zA-Z0-9._-]/g,"-").slice(0,120)||"app"}o(Ut,"safeAppSegment");function N(e){if(!e)return"unknown";try{let t=new URL(e).hostname.toLowerCase();if(t==="github.com"||t.endsWith(".github.com"))return"github";if(t==="openpond.ai"||t.endsWith(".openpond.ai"))return"openpond"}catch{return"unknown"}return"local_git"}o(N,"sourceFromRemote");function $(e){return e.replace(/x-access-token:[^@]+@/g,"x-access-token:***@").replace(/Authorization:\s*Basic\s+[A-Za-z0-9+/=]+/gi,"Authorization: Basic ***")}o($,"redactRemoteUrl");async function G(e){try{return await k.access(e),!0}catch{return!1}}o(G,"pathExists");async function O(e){return await G(e)?(await u("git",["rev-parse","--git-dir"],e)).code===0:!1}o(O,"isGitRepo");function X(e){return e.length<=st?e:`${e.slice(0,st)}
2
+ import{d as F}from"./chunk-PGKEDR3S.js";import{a as o}from"./chunk-FTQLQJQV.js";import{spawn as nt,spawnSync as At}from"node:child_process";import{accessSync as vt,constants as Rt,existsSync as _t,promises as Bt}from"node:fs";import et from"node:path";var rt="Git is required for OpenPond app workspaces, but macOS reports Apple Command Line Tools are not installed. OpenPond skipped /usr/bin/git to avoid opening the Xcode installer prompt. Install Command Line Tools with `xcode-select --install`, install Git from Homebrew, or put a non-Apple git binary earlier on PATH.",T;function Lt(e){try{return _t(e)?(vt(e,Rt.X_OK),!0):!1}catch{return!1}}o(Lt,"isExecutable");function Ot(){let e=(process.env.PATH??"").split(et.delimiter).map(t=>t.trim()).filter(Boolean);for(let t of e){let n=et.join(t,"git");if(!(n==="/usr/bin/git"||n==="/bin/git")&&Lt(n))return n}return null}o(Ot,"firstNonAppleGitOnPath");function it(){let e=At("/usr/bin/xcode-select",["-p"],{encoding:"utf8",stdio:["ignore","pipe","pipe"]});return e.status===0&&!!e.stdout.trim()}o(it,"appleDeveloperToolsAvailable");function Dt(e){if(e!=="git"||process.platform!=="darwin")return{command:e};if(T!==void 0)return{command:T};let t=Ot();return t?(T=t,{command:t}):it()?(T="git",{command:"git"}):{error:rt}}o(Dt,"resolveWorkspaceCommand");function u(e,t,n,r={},i){return new Promise(s=>{let a=Dt(e);if("error"in a){s({code:1,stdout:"",stderr:a.error});return}let c=nt(a.command,t,{cwd:n,env:{...process.env,...r,GIT_TERMINAL_PROMPT:"0"},stdio:[i===void 0?"ignore":"pipe","pipe","pipe"]}),d=[],p=[];i!==void 0&&c.stdin?.end(i),c.stdout?.on("data",h=>d.push(h)),c.stderr?.on("data",h=>p.push(h)),c.on("error",h=>{s({code:1,stdout:"",stderr:h.message})}),c.on("close",h=>{s({code:h??1,stdout:Buffer.concat(d).toString("utf8"),stderr:Buffer.concat(p).toString("utf8")})})})}o(u,"runCommand");function Gt(e){return!!(e&&e.includes(rt.slice(0,80)))}o(Gt,"isMacOSGitDeveloperToolsMissing");async function Se(e){await Bt.mkdir(e,{recursive:!0});let t=await u("git",["--version"],e);if(t.code===0)return{ok:!0,command:T??"git",version:(t.stdout||t.stderr).trim()};let n=t.stderr.trim()||t.stdout.trim()||"Git is required for OpenPond app workspaces.";return{ok:!1,error:n,installAction:process.platform==="darwin"&&Gt(n)?"macos_command_line_tools":"manual_git_install"}}o(Se,"checkWorkspaceGitAvailability");function ye(){if(process.platform!=="darwin")return{ok:!1,error:"Apple Command Line Tools installation is only available on macOS."};if(it())return{ok:!0,message:"Apple Command Line Tools already appear to be installed."};try{return nt("/usr/bin/xcode-select",["--install"],{detached:!0,stdio:"ignore"}).unref(),{ok:!0,message:"Opened the Apple Command Line Tools installer."}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}o(ye,"startMacOSCommandLineToolsInstall");import{promises as k}from"node:fs";import m from"node:path";var st=24e3,ot=8e4,It=512*1024,ct=15*1024*1024,Tt=20*1024*1024,Mt=new Set([".cache",".eggs",".git",".ipynb_checkpoints",".mypy_cache",".next",".nox",".nuxt",".openpond",".output",".parcel-cache",".pytest_cache",".pyre",".ruff_cache",".svelte-kit",".tox",".turbo",".venv","__pycache__","artifacts","build","coverage","dist","env","node_modules","out","site-packages","target","venv","volumes"]),zt=new Set([".7z",".avif",".db",".doc",".docx",".gif",".gz",".ico",".jpeg",".jpg",".mov",".mp4",".pdf",".png",".sqlite",".tar",".webp",".xls",".xlsm",".xlsx",".zip"]),$t=new Map([[".avif","image/avif"],[".gif","image/gif"],[".jpeg","image/jpeg"],[".jpg","image/jpeg"],[".png","image/png"],[".webp","image/webp"]]),Nt=new Map([[".m4v","video/x-m4v"],[".mov","video/quicktime"],[".mp4","video/mp4"],[".webm","video/webm"]]),Ht=new Set([".doc",".docx",".pdf"]);function Ut(e){return e.replace(/[^a-zA-Z0-9._-]/g,"-").slice(0,120)||"app"}o(Ut,"safeAppSegment");function N(e){if(!e)return"unknown";try{let t=new URL(e).hostname.toLowerCase();if(t==="github.com"||t.endsWith(".github.com"))return"github";if(t==="openpond.ai"||t.endsWith(".openpond.ai"))return"openpond"}catch{return"unknown"}return"local_git"}o(N,"sourceFromRemote");function $(e){return e.replace(/x-access-token:[^@]+@/g,"x-access-token:***@").replace(/Authorization:\s*Basic\s+[A-Za-z0-9+/=]+/gi,"Authorization: Basic ***")}o($,"redactRemoteUrl");async function G(e){try{return await k.access(e),!0}catch{return!1}}o(G,"pathExists");async function O(e){return await G(e)?(await u("git",["rev-parse","--git-dir"],e)).code===0:!1}o(O,"isGitRepo");function X(e){return e.length<=st?e:`${e.slice(0,st)}
3
3
 
4
4
  [diff truncated]`}o(X,"truncatePatch");function jt(e){return e.length<=ot?e:`${e.slice(0,ot)}
5
5
 
@@ -0,0 +1,2 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{P as x,S as T,U as C,V as _,f as b,g as E}from"./chunk-XWLI7WJH.js";import{T as S,ha as A,ia as M}from"./chunk-QVRNOGAU.js";import{h as k,l as m,m as y}from"./chunk-HZP5U2AA.js";import{b as p}from"./chunk-ES2ISFJC.js";import{a as g}from"./chunk-FTQLQJQV.js";var w=p.object({sessionId:p.string().trim().min(1).max(500),turnId:p.string().trim().min(1).max(500)}).strict();async function $(e){T(e.manifest,e.taskset,e.catalog),_(e.taskset,e.metricSource);let o=e.manifest.profileEvaluation,t=e.catalog.definitions.find(r=>r.id===o.definitionId),d=new Map(e.taskset.tasks.map(r=>[r.id,r])),u=[],s=[];for(let r of e.manifest.population){e.signal?.throwIfAborted();let l=d.get(r.taskId),a=await e.loadCompletedMember?.(r)??null;if(a){let{receipt:f,grade:I}=a,{contentHash:P,...U}=A.parse(I);if(!E(f)||P!==m(U)||f.id!==r.receiptId||f.runManifest.id!==e.manifest.id||f.runManifest.contentHash!==e.manifest.contentHash||f.taskId!==r.taskId||f.seed!==r.seed||f.graderEvidenceRefs.length!==1||f.graderEvidenceRefs[0]?.contentHash!==P||I.taskHash!==m(l)||I.graderSetHash!==m(e.taskset.graders)||f.metadata.score!==I.score||f.metadata.passed!==I.passed)throw new Error(`Retained Profile evaluation member ${r.receiptId} differs from its admitted evidence.`);s.push(I),u.push(f);continue}let i=await e.execute({task:S(l),seed:r.seed,source:o,...e.signal?{signal:e.signal}:{}});e.signal?.throwIfAborted();let c=await M({task:l,evidence:i.evidence,graders:e.taskset.graders,...e.modelJudge?{modelJudge:e.modelJudge}:{},...e.customVerifier?{customVerifier:e.customVerifier}:{},...e.signal?{signal:e.signal}:{}}),v=k.parse(await e.saveGrade(c));if(v.contentHash!==c.contentHash)throw new Error("Stored Profile evaluation grade differs from its graded evidence.");let H=i.failureClass??c.failureClass,R=b({schemaVersion:"openpond.attemptReceipt.v1",id:r.receiptId,runManifest:{id:e.manifest.id,contentHash:e.manifest.contentHash},taskId:r.taskId,seed:r.seed,terminal:i.terminal,failureClass:H,outputHash:i.evidence.infrastructureError?null:m(i.evidence.output),traceHash:i.traceHash,artifactRefs:i.artifactRefs,graderEvidenceRefs:[v],startedAt:i.startedAt,completedAt:i.completedAt,latencyMs:i.latencyMs,costUsd:i.costUsd,metadata:{gradingRole:"evaluation",score:c.score,passed:c.passed,rewardEligible:c.rewardEligible,sourceRevision:o.sourceRevision,definitionHash:o.definitionHash,environmentHash:o.environmentHash,...i.retainedEvidenceRef?{retainedEvidenceRef:w.parse(i.retainedEvidenceRef)}:{}}});await e.saveReceipt(R),s.push(c),u.push(R)}let n=await C({manifest:e.manifest,taskset:e.taskset,receipts:u,...e.metricSource!==void 0?{source:e.metricSource}:{},...e.signal?{signal:e.signal}:{}},e.metricExecutor),h=s.filter(r=>r.passed).length/s.length;return{receipts:u,grades:s,metric:n,passRate:h,passed:h>=t.criterion.minimumPassRate&&(!t.criterion.requireComplete||u.every(r=>r.terminal))}}g($,"executeProfileEvaluationRun");function V(e,o){if(o==="agent_action"){let t=e.find(d=>d.name==="workspace_action_result"&&d.action==="profile_workflow_action")?.output;if(typeof t!="string")throw new Error("Profile Agent action evaluation did not produce a released action result.");return t}return e.filter(t=>t.name==="assistant.delta"&&typeof t.output=="string").map(t=>t.output??"").join("")}g(V,"profileEvaluationOutput");async function L(e){let{store:o,manifest:t,receipt:d}=e;if(!d.metadata.retainedEvidenceRef)return null;let u=w.parse(d.metadata.retainedEvidenceRef),[s,n]=await Promise.all([o.getSession(u.sessionId),o.getTurn(u.turnId)]),h=s?.metadata?.profileEvaluationRun,r=t.profileEvaluation;if(!s||!n||n.sessionId!==s.id||!r||!s.currentProfile||m(s.currentProfile)!==m(e.profileRef)||m(h)!==m({id:t.id,contentHash:t.contentHash})||s.metadata?.taskId!==d.taskId||s.metadata?.seed!==d.seed||!n.completedAt||n.completedAt!==d.completedAt||n.startedAt!==d.startedAt||!n.harnessSnapshot||n.harnessSnapshot.harnessRelease.id!==r.harnessRelease.id||n.harnessSnapshot.harnessRelease.contentHash!==r.harnessRelease.contentHash||t.policy.kind!=="model"||!n.modelRef||n.modelRef.providerId!==t.policy.model.provider||n.modelRef.modelId!==t.policy.model.model)throw new Error("Retained Profile policy turn differs from its admitted case.");let l=await o.runtimeEventsForTurn(n.id);if(l.some(f=>f.turnId!==n.id)||m(l)!==d.traceHash)throw new Error("Retained Profile policy trace differs from its immutable receipt.");let a=V(l,r.target.kind);if(d.outputHash!==null&&m({text:a})!==d.outputHash)throw new Error("Retained Profile output differs from its immutable receipt.");let i=await o.listModelUsageRecords({sessionId:s.id,turnId:n.id,limit:1e4}),c=e.eventAfterId?l.findIndex(f=>f.id===e.eventAfterId):-1;if(e.eventAfterId&&c<0)throw new Error("Profile trace cursor is unavailable in this case.");let v=c+1,H=Math.max(1,Math.min(250,e.eventLimit??100)),R=l.slice(v,v+H);return{ref:u,prompt:n.prompt,output:d.outputHash===null?null:{text:a},partialOutput:d.outputHash===null&&a?{text:a}:null,error:n.error,events:R,eventCount:l.length,nextEventCursor:v+R.length<l.length?R.at(-1).id:null,usage:i,usageCoverage:i.length===1e4?"partial":"complete"}}g(L,"readProfileEvaluationPolicyEvidence");var te=p.object({runId:p.string().trim().min(1).max(240),receiptId:p.string().trim().min(1).max(500).optional(),eventAfterId:p.string().trim().min(1).max(500).optional(),eventLimit:p.number().int().min(1).max(250).optional(),manifest:x.optional()}).strict().refine(e=>e.receiptId||!e.eventAfterId&&!e.eventLimit,"Select a case before requesting its trace page.").refine(e=>!e.manifest||e.receiptId,"Interrupted-run inspection requires one exact case.");async function re(e){let o=await e.store.getProfileEvaluationRun(e.runId);if(o&&m(o.profileRef)!==m(e.profileRef))throw new Error("Profile evaluation run is unavailable in the selected Profile.");let t=o?.manifest??e.manifest;if(!t||!o&&!e.receiptId)throw new Error("Profile evaluation run is unavailable in the selected Profile.");if(o){if(e.manifest&&e.manifest.contentHash!==o.manifest.contentHash)throw new Error("Profile evaluation run differs from its pinned manifest.")}else if(y(t,"Interrupted Profile evaluation manifest"),t.id!==e.runId||t.profileEvaluation?.profileId!==e.profileRef.profileId||e.profileRef.source==="openpond_git"&&t.metadata.profileRepositoryId!==e.profileRef.repositoryId)throw new Error("Profile evaluation run is unavailable in the selected Profile.");let d=t.population.map((s,n)=>({member:s,index:n})).filter(({member:s})=>!e.receiptId||s.receiptId===e.receiptId);if(e.receiptId&&d.length!==1)throw new Error("Profile evaluation case is unavailable in the selected run.");let u=await Promise.all(d.map(async({member:s,index:n})=>{let h=o?null:await e.store.getProfileEvaluationReceipt(s.receiptId),r=o?.receiptRefs[n]??(h?{id:h.id,contentHash:h.contentHash}:null),l=o?.gradeRefs[n]??h?.graderEvidenceRefs[0];if(!r||!l)throw new Error("Profile evaluation run has incomplete case evidence.");let[a,i]=await Promise.all([e.store.getProfileEvaluationReceipt(r.id),e.store.getProfileEvaluationGrade(l.contentHash)]);if(!a||!o&&!E(a)||a.contentHash!==r.contentHash||a.id!==s.receiptId||a.taskId!==s.taskId||a.seed!==s.seed||a.runManifest.id!==t.id||a.runManifest.contentHash!==t.contentHash||!i||i.contentHash!==l.contentHash||!a.graderEvidenceRefs.some(c=>c.id===l.id&&c.contentHash===l.contentHash))throw new Error("Profile evaluation case evidence differs from its retained run.");return{taskId:s.taskId,seed:s.seed,receiptId:a.id,receiptHash:a.contentHash,traceHash:a.traceHash,outputHash:a.outputHash,score:i.score,passed:i.passed,gradingStatus:i.gradingStatus,failureClass:i.failureClass,artifactCount:a.artifactRefs.length,latencyMs:a.latencyMs,costUsd:a.costUsd,terminal:a.terminal,feedback:i.components.map(c=>({graderId:c.graderId,graderVersion:c.graderVersion,score:c.score,passed:c.passed,feedback:c.feedback})),...e.receiptId?{receipt:a,evidence:await L({store:e.store,profileRef:e.profileRef,manifest:t,receipt:a,eventAfterId:e.eventAfterId,eventLimit:e.eventLimit})}:{}}}));return{runId:t.id,sourceRevision:t.profileEvaluation?.sourceRevision??null,cases:u}}g(re,"inspectProfileEvaluationRun");export{$ as a,V as b,te as c,re as d};
@@ -0,0 +1,2 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{c as q}from"./chunk-BSHAIAXY.js";import{c as m,f as P,g as S,h as R}from"./chunk-3M53YXEI.js";import{f as x,h as U}from"./chunk-H7IWJN7L.js";import{a}from"./chunk-FTQLQJQV.js";import{readFile as $}from"node:fs/promises";import{request as D}from"node:http";import{randomUUID as N}from"node:crypto";import{createInterface as B}from"node:readline/promises";var H="http://127.0.0.1:17874",J=new Set(["cancelled","completed","failed","succeeded"]);async function de(e,n,t={}){let r=n[0],o=n[1];if(!r||!["start","status","watch","logs","cancel","resume","artifacts","benchmark","create-project"].includes(r)||!o)throw new Error("usage: training <create-project|start|status|watch|logs|cancel|resume|artifacts|benchmark> <taskset-id|model-run-id|run-id|model-id>");if(n.length>2)throw new Error(`training ${r} accepts exactly one identifier`);let s=q(e)??process.env.OPENPOND_LOCAL_API_URL?.replace(/\/$/,"")??H,i=new O({baseUrl:s,request:t.request??await G(s)}),c=P(e.json);if(r==="create-project"){let p=await F({client:i,options:e,tasksetId:o});T(p,c);return}if(r==="benchmark"){await V({client:i,modelId:o,options:e,json:c,sleep:t.sleep});return}if(r==="resume"){let p=await i.modelRun(o,"resume","POST");T(p,c),await A({client:i,runId:o,json:c,intervalMs:R(e.intervalMs,"interval-ms")??2e3,sleep:t.sleep});return}if(r==="start"){await W({client:i,dependencies:t,json:c,modelRunId:o,options:e});return}if(r==="watch"){await A({client:i,runId:o,json:c,intervalMs:R(e.intervalMs,"interval-ms")??2e3,sleep:t.sleep});return}let f=r==="status"?"status":r==="logs"?"logs":r==="artifacts"?"artifacts":"cancel",u=await i.modelRun(o,f,r==="cancel"?"POST":"GET");T(u,c)}a(de,"runTrainingCommand");async function G(e){let n=new URL(e);if(n.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(n.hostname))return fetch;let t=(await $(U(x()).token,"utf8")).trim();if(!t)throw new Error("OpenPond local capability token is empty.");return(async(r,o={})=>{let s=r instanceof Request?new URL(r.url):new URL(String(r));if(s.origin!==n.origin||s.username||s.password)throw new Error("Local capability requests must remain on the selected server origin.");let i=new Headers(o.headers);i.set("authorization",`Bearer ${t}`);let c={};i.forEach((u,p)=>{c[p]=u});let f=o.signal?AbortSignal.any([o.signal,AbortSignal.timeout(6e4)]):AbortSignal.timeout(6e4);return new Promise((u,p)=>{let y=!1,h=D(s,{method:o.method??"GET",headers:c},d=>{let k=[],I=0;d.on("data",g=>{if(I+=g.byteLength,I>8388608){d.destroy(new Error("Local evaluation response exceeds 8 MiB."));return}k.push(g)}),d.once("error",j),d.once("end",()=>{if(y)return;y=!0;let g=new Headers;for(let[E,w]of Object.entries(d.headers))if(Array.isArray(w))for(let b of w)g.append(E,b);else w!==void 0&&g.set(E,w);u(new Response(new Uint8Array(Buffer.concat(k)),{status:d.statusCode??500,statusText:d.statusMessage,headers:g}))})}),j=a(d=>{y||(y=!0,p(d))},"rejectOnce");if(h.once("error",j),f){let d=a(()=>h.destroy(f.reason instanceof Error?f.reason:new Error("Training API request aborted.")),"abort");f.aborted?d():f.addEventListener("abort",d,{once:!0})}if(o.body!==void 0&&o.body!==null){if(typeof o.body!="string"&&!(o.body instanceof Uint8Array)){h.destroy(new Error("Local Training API supports string or byte request bodies."));return}h.write(o.body)}h.end()})})}a(G,"createLocalAuthenticatedRequest");var O=class{static{a(this,"TrainingApiClient")}baseUrl;request;constructor(n){this.baseUrl=n.baseUrl.replace(/\/$/,""),this.request=n.request??fetch}modelRun(n,t,r,o){return this.json(`/v1/training/model-runs/${encodeURIComponent(n)}/${t}`,r,o)}prepareModelProject(n,t){return this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/prepare`,"POST",t)}startModelProject(n,t){return this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/start`,"POST",t)}trainingState(){return this.json("/v1/training","GET")}startHarnessRefinerBenchmark(n,t){return this.json(`/v1/training/models/${encodeURIComponent(n)}/harness-refiner-benchmark`,"POST",t)}importTasksetDraftPackage(n){return this.json("/v1/training/taskset-drafts/import","POST",n)}publishTasksetDraft(n,t){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}/publish`,"POST",t?{modelId:t}:{})}tasksetReadiness(n){return this.json("/v1/training/readiness","POST",{tasksetId:n})}deleteTasksetDraft(n){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}`,"DELETE")}saveModelProject(n){return this.json("/v1/training/models","PUT",n)}async json(n,t,r){let o=await this.request(`${this.baseUrl}${n}`,{method:t,headers:r===void 0?{Accept:"application/json"}:{Accept:"application/json","Content-Type":"application/json"},body:r===void 0?void 0:JSON.stringify(r)}),s=await o.text(),i=null;if(s)try{i=JSON.parse(s)}catch{i=s}if(!o.ok){let c=i&&typeof i=="object"&&"error"in i&&typeof i.error=="string"?i.error:`${o.status} ${o.statusText}`.trim();throw new Error(`Training API request failed: ${c}`)}return i}};async function V(e){let n=await e.client.trainingState(),t=z(n,e.modelId),r=m(e.options,"provider")||"openpond",o=m(e.options,"model")||"openpond-chat",s=m(e.options,"reasoningEffort")||"high",i=S(e.options.maxSpend,"max-spend")??10;if(i<=0)throw new Error("max-spend must be greater than zero");if(P(e.options.detach))throw new Error("Harness Refiner benchmark runs must be watched to terminal state.");let c=await e.client.startHarnessRefinerBenchmark(e.modelId,{profileId:t.profileId,model:{providerId:r,modelId:o},reasoningEffort:s==="none"?"none":s,maximumSpendUsd:i});T(c,e.json);let f=l(c,"id");if(!f)throw new Error("Benchmark start did not return a Model Run id.");await A({client:e.client,runId:f,json:e.json,intervalMs:R(e.options.intervalMs,"interval-ms")??2e3,sleep:e.sleep})}a(V,"startHarnessRefinerBenchmark");function z(e,n){if(!e||typeof e!="object"||!("modelProjects"in e))throw new Error("Training state did not include Models.");let r=(Array.isArray(e.modelProjects)?e.modelProjects:[]).find(s=>s&&typeof s=="object"&&"id"in s&&s.id===n),o=r&&typeof r=="object"?l(r,"profileId"):null;if(!o)throw new Error(`Model ${n} was not found.`);return{profileId:o}}a(z,"modelProject");function l(e,n){if(!e||typeof e!="object"||!(n in e))return null;let t=e[n];return typeof t=="string"&&t?t:null}a(l,"objectString");async function F(e){let n=m(e.options,"recipe");if(!n)throw new Error("training create-project requires --recipe <versioned-recipe.json>");let t=await Q(n,"Training recipe"),r=await e.client.trainingState(),o=K(r,"tasksets",e.tasksetId,"Taskset"),s=m(e.options,"profile")||l(o,"profileId");if(!s)throw new Error(`The Taskset has no Profile id (received ${typeof o.profileId}: ${String(o.profileId)}).`);let i=l(o,"profileId");if(i!==s)throw new Error(`Taskset ${e.tasksetId} belongs to Profile ${i??"unknown"}, not ${s}.`);let c=m(e.options,"projectId")||`model_${N()}`,u=C(r,"modelProjects").find(b=>l(b,"id")===c),p=M(e.options,"rolloutPlacement",["local","remote"],"local"),y=M(e.options,"gpuPlacementObjective",["fast","balanced","economical"],"balanced"),h=M(e.options,"runPreset",["small","standard","custom","small_experiment"],"custom"),j=S(e.options.maxSpend,"max-spend")??null;if(j!==null&&j<0)throw new Error("max-spend must be non-negative");let d=R(e.options.retentionDays,"retention-days")??null;if(d!==null&&d<0)throw new Error("retention-days must be non-negative");let k=new Date().toISOString(),I=l(o,"contentHash"),g=L(o,"revision");if(!I||!g||g<1)throw new Error("The Taskset does not have an immutable published revision.");let E=l(t,"method");if(!E)throw new Error("Training recipe must declare its method.");let w=Y(t);if(u){let b=v(u,"trainingSetup"),_=v(b,"tasksetRef");if(l(_,"id")!==e.tasksetId||l(u,"profileId")!==s)throw new Error(`Model Project ${c} already exists for a different Profile or Taskset.`);if(v(b,"baseModel"))throw new Error(`Model Project ${c} already exists.`);return e.client.saveModelProject({...u,revision:L(u,"revision")??1,defaultBaseModel:w,trainingSetup:{...b,baseModel:w,recipe:t},updatedAt:k})}return e.client.saveModelProject({schemaVersion:"openpond.modelProject.v2",id:c,profileId:s,revision:1,name:m(e.options,"name")||l(o,"name")||"Managed Model",objective:m(e.options,"objective")||l(o,"objective"),defaultBaseModel:w,defaultDestinationId:m(e.options,"destination")||"openpond_managed",trainingSetup:{tasksetRef:{id:e.tasksetId,revision:g,contentHash:I},tasksetRelease:null,harnessRelease:null,baseModel:w,method:E,destinationId:m(e.options,"destination")||"openpond_managed",managedRolloutPlacement:p,managedGpuPlacementObjective:y,managedGpuRequirement:"any",runPreset:h,recipe:t,preferredMaximumSpendUsd:j,preferredRetentionDays:d},hosted:null,tasksetSyncs:[],createdAt:k,updatedAt:k})}a(F,"createManagedModelProject");function Y(e){let n=v(e,"baseModel"),t=l(n,"id"),r=l(n,"revision"),o=l(n,"tokenizerRevision"),s=l(n,"chatTemplateHash");if(!t||!r||!o||!s)throw new Error("Managed GRPO recipe must pin baseModel id, revision, tokenizerRevision, and chatTemplateHash.");return{schemaVersion:"openpond.baseModelPreference.v1",modelId:t,revision:r,tokenizerRevision:o,chatTemplateHash:s,modelAssetId:null,source:"managed"}}a(Y,"managedBasePreferenceFromRecipe");function K(e,n,t,r){let o=C(e,n).find(s=>l(s,"id")===t);if(!o)throw new Error(`${r} ${t} was not found.`);return o}a(K,"trainingStateRecord");function C(e,n){if(!e||typeof e!="object"||!(n in e))return[];let t=e[n];return Array.isArray(t)?t.filter(r=>!!r&&typeof r=="object"&&!Array.isArray(r)):[]}a(C,"trainingStateRecords");function L(e,n){if(!e||typeof e!="object"||!(n in e))return null;let t=e[n];return typeof t=="number"&&Number.isFinite(t)?t:null}a(L,"objectNumber");function v(e,n){if(!e||typeof e!="object"||!(n in e))return null;let t=e[n];return t&&typeof t=="object"&&!Array.isArray(t)?t:null}a(v,"objectRecord");function M(e,n,t,r){let o=m(e,n)||r;if(!t.includes(o))throw new Error(`${n} must be one of ${t.join(", ")}`);return o}a(M,"enumOption");async function Q(e,n){let t;try{t=JSON.parse(await $(e,"utf8"))}catch(r){throw new Error(`Could not read ${n} ${e}: ${r instanceof Error?r.message:String(r)}`)}if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${n} must be a JSON object.`);return t}a(Q,"readJsonObject");async function W(e){let n=S(e.options.maxSpend,"max-spend")??null;if(n!==null&&n<0)throw new Error("max-spend must be non-negative");let t=R(e.options.retentionDays,"retention-days")??null;if(t!==null&&t<=0)throw new Error("retention-days must be a positive integer");let r=m(e.options,"manifest"),o=r?await X(r):void 0,s=m(e.options,"comparisonSeriesEntry")||null,i={maximumSpendUsd:n,retentionDays:t},c=await e.client.prepareModelProject(e.modelRunId,i);if(e.json||(console.log("Preparation:"),console.log(JSON.stringify(c,null,2))),!(P(e.options.yes)||await Z(e.dependencies.confirm)))throw new Error("Training start cancelled.");let u=await e.client.startModelProject(e.modelRunId,{...i,exportApproved:P(e.options.exportApproved),manifest:o,comparisonSeriesEntryId:s});if(T(u,e.json),P(e.options.detach))return;let p=ee(u)??e.modelRunId;await A({client:e.client,runId:p,json:e.json,intervalMs:2e3,sleep:e.dependencies.sleep})}a(W,"startTraining");async function A(e){if(e.intervalMs<250)throw new Error("interval-ms must be at least 250");let n=e.sleep??(r=>new Promise(o=>setTimeout(o,r))),t="";for(;;){let r=await e.client.modelRun(e.runId,"status","GET"),o=JSON.stringify(r);if((e.json||o!==t)&&(T(r,e.json),t=o),J.has(ne(r)))return;await n(e.intervalMs)}}a(A,"watchTraining");async function X(e){let n;try{n=JSON.parse(await $(e,"utf8"))}catch(t){throw new Error(`Could not read Harness Run Manifest ${e}: ${t instanceof Error?t.message:String(t)}`)}if(!n||typeof n!="object"||Array.isArray(n))throw new Error("Harness Run Manifest must be a JSON object.");return n}a(X,"readManifest");async function Z(e){let n="Start this exact prepared training run? Downloads, provisioning, or spend may begin.";if(e)return e(n);if(!process.stdin.isTTY||!process.stdout.isTTY)throw new Error("training start requires --yes when standard input is not interactive");let t=B({input:process.stdin,output:process.stdout});try{let r=await t.question(`${n} [y/N] `);return r.trim().toLowerCase()==="y"||r.trim().toLowerCase()==="yes"}finally{t.close()}}a(Z,"confirmStart");function ee(e){if(!e||typeof e!="object")return null;let n="job"in e?e.job:null;return!n||typeof n!="object"||!("id"in n)?null:typeof n.id=="string"?n.id:null}a(ee,"readRunId");function ne(e){return!e||typeof e!="object"?"":"state"in e&&typeof e.state=="string"?e.state:"status"in e&&typeof e.status=="string"?e.status:""}a(ne,"readStatus");function T(e,n){if(n){console.log(JSON.stringify(e));return}console.log(JSON.stringify(e,null,2))}a(T,"printResult");export{H as a,de as b,G as c,O as d};
@@ -1,5 +1,5 @@
1
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 be}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 be("sha256").update(JSON.stringify(V(r)),"utf8").digest("hex")}a(I,"canonicalHash");function Be(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(Be,"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 $e(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)),m=r.host.serializeRecords(u,r.host.inputCharBudget(r.maxContextTokens));if(!m.text.trim())throw new Error("There is not enough prior context to compact.");let R=r.host.buildSummaryMessages({serializedHistory:m.text,fileLedger:f}),j=Date.now(),S=(await r.host.streamSummary({model:r.model,messages:R,signal:r.signal})).trim(),z=Date.now()-j;if(!S)throw new Error("Compaction summary was empty.");let h=r.host.estimateProjection({events:t,preservedEvents:o,summary:S}),g=r.host.createMetrics({sourceEvents:t.length,summarizedEvents:n.length,preservedEvents:o.length,sourceRecords:m.sourceRecordCount,includedRecords:m.includedRecordCount,omittedRecords:m.omittedRecordCount,preservedRecords:p.length,truncatedRecords:m.truncatedRecordCount,summaryInputTruncated:m.inputTruncated,sourceSelectionStrategy:m.selectionStrategy,summaryInputChars:m.inputChars,retainedTailTokens:i.retainedTailTokens,retainedTailBudgetTokens:i.retainedTailBudgetTokens,finalProviderContextTokens:h.inputTokensAfter,durationMs:z,fileLedgerEntries:f.length,splitTurnId:i.splitTurnId});return{summary:S,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:h.inputTokensBefore,inputTokensAfter:h.inputTokensAfter,maxContextTokens:r.maxContextTokens,tokenSource:"heuristic",metrics:g}}a($e,"runAgentCompactionProgram");var fe=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"]),ge=e.object({sequence:e.number().int().nonnegative(),name:fe,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 De(r){return I(ge.parse(r))}a(De,"canonicalEventHash");var E="2026-09-20",Ge=["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"],J=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(),L=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(),B=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(),Qe=e.union([J,L,O,B]),ve=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=L.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=J.safeParse(t);if(!n.success)return U(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 U(o.id,u.code,u.message,u.data)}}async#n(t,i){if(t==="initialize"){let n=ve.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 U(r,t,i,n){return{jsonrpc:"2.0",id:r,error:{code:t,message:i,...n===void 0?{}:{data:n}}}}a(U,"jsonRpcError");var D=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 N=e.object({caseId:e.string().trim().min(1).max(191),admissionHash:e.string().regex(/^[a-f0-9]{64}$/),definitionHash:e.string().regex(/^[a-f0-9]{64}$/),ordinal:e.number().int().nonnegative(),operation:e.enum(["create","reset","step","collect","destroy"]),value:e.record(e.string(),e.unknown()),timeoutMs:e.number().int().min(1).max(3e4)}).strict();var c=e.string().trim().min(1).max(200),A=e.string().trim().min(1).max(32e3),T=e.number().int().nonnegative(),F=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(),xe=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()]),W=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(),K=e.record(e.string(),e.unknown()),Ie=e.enum(["queued","running","completed","failed","cancelled","needs_resume"]),we=e.object({parentSessionId:c.nullable().optional(),childSessionId:c.nullable().optional(),status:e.array(Ie).nullable().optional(),afterId:e.string().max(200),limit:e.number().int().min(1).max(10)}).strict(),G=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:F}).strict(),e.object({action:e.literal("admitTaskInputs"),inputs:e.array(F).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:xe}).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:W}).strict(),e.object({action:e.literal("settleTaskWait"),id:c,state:W.shape.state}).strict(),e.object({action:e.literal("taskWaitsForSession"),sessionId:c,afterId:e.string().max(200)}).strict(),e.object({action:e.literal("commitSubagentCompletion"),value:K,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:K}).strict(),e.object({action:e.literal("getSubagentRun"),id:c}).strict(),e.object({action:e.literal("listSubagentRuns"),query:we}).strict()]);var q=e.string().trim().min(1).max(191),Q=e.object({createdAt:e.string().min(1),id:q}).strict(),X=e.enum(["trigger_decision","route_decision","refiner_outcome","proposal","targeted_validation","apply_receipt"]),Y=e.discriminatedUnion("action",[e.object({action:e.literal("active_release"),workspaceId:q}).strict(),e.object({action:e.literal("put_artifact"),workspaceId:q,kind:X,artifact:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("artifact_page"),workspaceId:q,kind:X,before:Q.nullable(),limit:e.number().int().min(1).max(200)}).strict(),e.object({action:e.literal("pending_trigger_page"),workspaceId:q,before:Q.nullable(),limit:e.number().int().min(1).max(200)}).strict()]);var b=e.string().trim().min(1).max(240),Z=e.string().regex(/^[a-f0-9]{64}$/),ee=e.enum(["run_overlay","observation","trigger_decision","route_decision","proposal","targeted_validation","apply_receipt","refiner_outcome"]),te=e.object({createdAt:e.string().datetime(),id:b}).strict(),re=e.discriminatedUnion("action",[e.object({action:e.literal("artifact_put"),workspaceId:b,kind:ee,artifact:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("artifact_page"),workspaceId:b,kind:ee,before:te.nullable(),limit:e.number().int().min(1).max(100)}).strict(),e.object({action:e.literal("pending_page"),workspaceId:b,before:te.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:Z}).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:Z,snapshot:e.record(e.string(),e.unknown())}).strict()]);var v=e.string().trim().min(1).max(200),ne=e.string().regex(/^[a-f0-9]{64}$/),ke=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()}),ae=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:ne,validation:e.array(ke).max(32)}).strict(),ie=e.object({sessionId:v,turnId:v,output:ae}).strict(),se=e.object({uploadId:v,index:e.number().int().min(0).max(1024),offset:e.number().int().min(0).max(1e7),sha256:ne,contentsBase64:e.string().min(1).max(131072)}).strict(),oe=e.object({uploadId:v}).strict(),je=ae.pick({id:!0,title:!0,sourceTaskId:!0,sourceTurnId:!0,revision:!0,createdAt:!0,validation:!0}),ce=e.object({sessionId:v,turnId:v,output:je,sandboxPath:e.string().trim().min(1).max(4096)}).strict();var _=e.string().trim().min(1).max(200),ye=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."})}),le=e.object({action:ye}).strict(),ue=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),wt=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(),de=e.discriminatedUnion("operation",[e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("experiment/environment"),params:N}).strict(),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:le}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("embedding/authorize"),params:ue}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/begin"),params:ie}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/chunk"),params:se}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/complete"),params:oe}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/saveSandboxFile"),params:ce}).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:G}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/review/execute"),params:re}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("refiner/execute"),params:e.object({action:Y}).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()]),kt=e.object({contractVersion:e.literal(d),operations:e.array(e.enum(["experiment/policy","experiment/environment","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 pe=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=de.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},u=n.operation==="experiment/policy"||n.operation==="experiment/environment";if(Buffer.byteLength(JSON.stringify(l))>(u?8388608:256e3))throw new Error("Host storage request is too large.");let p=new Promise((f,m)=>{let R=n.operation==="sandbox/request"||u?3e5:6e4,j=setTimeout(()=>{this.#e.delete(o),m(new Error("Host storage request timed out."))},Math.max(1,Math.min(R,i)));this.#e.set(o,{resolve:f,reject:m,timer:j,maxResponseBytes:n.operation==="experiment/environment"?16e5:1e6})});try{await this.#t(l)}catch(f){let m=this.#e.get(o);m&&(clearTimeout(m.timer),this.#e.delete(o),m.reject(f instanceof Error?f:new Error(String(f))))}return p}accept(t){let i=O.safeParse(t),n=i.success?null:B.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))>l.maxResponseBytes?(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 Re}from"node:events";import{createInterface as Se}from"node:readline";async function Pt(r){let t=null,i=Promise.resolve(),n=[],o=a(h=>(i=i.then(async()=>{r.writable.write(`${JSON.stringify(h)}
3
- `)||await Re(r.writable,"drain")}),i),"write");r.hostStorageClient?.bind(h=>o(h));let l=a(()=>{if(!(!t?.initialized||n.length===0))for(let h of n.splice(0))o(h)},"flushPendingNotifications"),u,p=new Set,f=Se({input:r.readable,crlfDelay:1/0}),m=[],R=!1,j=null,S=a(async h=>{let g=t;if(!g)throw new Error("Agent runtime dispatcher is unavailable.");let x=(async()=>{let M=await g.handle(h);M&&await o(M),l()})(),$=h&&typeof h=="object"&&"method"in h?h.method:null;if($==="initialize"||$==="initialized"){await x;return}p.add(x),x.finally(()=>p.delete(x))},"dispatch"),z=(async()=>{let h=typeof r.host=="function"?await r.host():r.host;for(t=new P(h),u=h.subscribe?.(g=>{if(!t?.initialized){n.push(g);return}o(g)});m.length>0;)await S(m.shift());R=!0})().catch(h=>{j=h,f.close()});try{for await(let h of f){if(!h.trim())continue;if(Buffer.byteLength(h,"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(h)}catch{await o({jsonrpc:"2.0",id:null,error:{code:-32700,message:"Parse error"}});continue}if(!r.hostStorageClient?.accept(g))if(R)await S(g);else if(m.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 m.push(g)}if(await z,j)throw j;await Promise.all(p),await i}finally{r.hostStorageClient?.close(),u?.()}}a(Pt,"runAgentJsonlServer");var H=e.object({threadId:e.string().trim().min(1)}).passthrough(),Ee=H.extend({includeHistory:e.boolean().optional()}),Te=e.object({session:e.unknown()}).strict(),C=H.extend({input:e.unknown()}),qe=C.extend({idempotencyKey:e.string().trim().min(1).max(200)}),_e=C.extend({inputId:e.string().trim().min(1)}),Ce=H.extend({reason:e.string().trim().min(1).optional()}),Pe=e.object({approvalId:e.string().trim().min(1),input:e.unknown()}).strict();function Mt(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}=Ee.parse(n);return t(o,l,async()=>{if(u===!1)return{thread:await r.readThread(l),turns:[],events:[]};let[p,f,m]=await Promise.all([r.readThread(l),r.listTurns(l),r.listEvents(l)]);return{thread:p,turns:f,events:m}})},"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(Te.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=qe.parse(n);return t("task/queue",o.threadId,()=>r.queueTaskInput(o.threadId,o.input,o.idempotencyKey))},"taskQueue"),taskInputUpdate:a(async n=>{let o=_e.parse(n);return t("task/inputUpdate",o.threadId,()=>r.updateTaskInput(o.threadId,o.inputId,o.input))},"taskInputUpdate"),turnInterrupt:a(async n=>{let o=Ce.parse(n);return t("turn/interrupt",o.threadId,async()=>({turn:await r.interruptTurn(o.threadId,o.reason)}))},"turnInterrupt"),approvalResolve:a(async n=>{let o=Pe.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(Mt,"createAgentRuntimeService");var y=e.string().regex(/^[a-f0-9]{64}$/),Ae=e.object({harnessReleaseHash:y,instructionsHash:y,skillHashes:e.record(e.string(),y),agentAssetHashes:e.record(e.string(),y),toolCatalogHash:y,memoryRevision:e.number().int().nonnegative().nullable()}).strict(),He=e.object({protocolVersion:e.string().trim().min(1),threadId:e.string().trim().min(1),turnId:e.string().trim().min(1),harnessReleaseHash:y,toolCatalogHash:y,context:e.record(e.string(),e.unknown()),pendingInteraction:e.record(e.string(),e.unknown()).nullable(),usage:e.record(e.string(),e.unknown())}).strict();function Ft(r){return I(Ae.parse(r))}a(Ft,"effectiveSurfaceHash");function Wt(r){return I(He.parse(r))}a(Wt,"checkpointHash");function Kt(r){return[r.system,...r.harnessInstructions,...r.skillInstructions,...r.hostInstructions??[]].map(t=>t.trim()).filter(Boolean).join(`
2
+ import{b as e}from"./chunk-ES2ISFJC.js";import{a}from"./chunk-FTQLQJQV.js";import{createHash as be}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 be("sha256").update(JSON.stringify(V(r)),"utf8").digest("hex")}a(I,"canonicalHash");function Be(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(Be,"agentCompactionDecision");async function $e(r){await r.started();try{return await r.compact()}catch(t){throw await r.failed(t),t}}a($e,"runAgentCompaction");async function Ne(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)),m=r.host.serializeRecords(u,r.host.inputCharBudget(r.maxContextTokens));if(!m.text.trim())throw new Error("There is not enough prior context to compact.");let R=r.host.buildSummaryMessages({serializedHistory:m.text,fileLedger:f}),j=Date.now(),S=(await r.host.streamSummary({model:r.model,messages:R,signal:r.signal})).trim(),z=Date.now()-j;if(!S)throw new Error("Compaction summary was empty.");let h=r.host.estimateProjection({events:t,preservedEvents:o,summary:S}),g=r.host.createMetrics({sourceEvents:t.length,summarizedEvents:n.length,preservedEvents:o.length,sourceRecords:m.sourceRecordCount,includedRecords:m.includedRecordCount,omittedRecords:m.omittedRecordCount,preservedRecords:p.length,truncatedRecords:m.truncatedRecordCount,summaryInputTruncated:m.inputTruncated,sourceSelectionStrategy:m.selectionStrategy,summaryInputChars:m.inputChars,retainedTailTokens:i.retainedTailTokens,retainedTailBudgetTokens:i.retainedTailBudgetTokens,finalProviderContextTokens:h.inputTokensAfter,durationMs:z,fileLedgerEntries:f.length,splitTurnId:i.splitTurnId});return{summary:S,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:h.inputTokensBefore,inputTokensAfter:h.inputTokensAfter,maxContextTokens:r.maxContextTokens,tokenSource:"heuristic",metrics:g}}a(Ne,"runAgentCompactionProgram");var fe=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"]),ge=e.object({sequence:e.number().int().nonnegative(),name:fe,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(ge.parse(r))}a(Le,"canonicalEventHash");var E="2026-09-20",Ge=["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"],D=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(),B=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(),Qe=e.union([D,J,O,B]),ve=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=D.safeParse(t);if(!n.success)return U(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 U(o.id,u.code,u.message,u.data)}}async#n(t,i){if(t==="initialize"){let n=ve.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 U(r,t,i,n){return{jsonrpc:"2.0",id:r,error:{code:t,message:i,...n===void 0?{}:{data:n}}}}a(U,"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 $=e.object({caseId:e.string().trim().min(1).max(191),admissionHash:e.string().regex(/^[a-f0-9]{64}$/),definitionHash:e.string().regex(/^[a-f0-9]{64}$/),ordinal:e.number().int().nonnegative(),operation:e.enum(["create","reset","step","collect","destroy"]),value:e.record(e.string(),e.unknown()),timeoutMs:e.number().int().min(1).max(3e4)}).strict();var c=e.string().trim().min(1).max(200),A=e.string().trim().min(1).max(32e3),T=e.number().int().nonnegative(),F=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(),xe=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()]),W=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(),K=e.record(e.string(),e.unknown()),Ie=e.enum(["queued","running","completed","failed","cancelled","needs_resume"]),we=e.object({parentSessionId:c.nullable().optional(),childSessionId:c.nullable().optional(),status:e.array(Ie).nullable().optional(),afterId:e.string().max(200),limit:e.number().int().min(1).max(10)}).strict(),G=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:F}).strict(),e.object({action:e.literal("admitTaskInputs"),inputs:e.array(F).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:xe}).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:W}).strict(),e.object({action:e.literal("settleTaskWait"),id:c,state:W.shape.state}).strict(),e.object({action:e.literal("taskWaitsForSession"),sessionId:c,afterId:e.string().max(200)}).strict(),e.object({action:e.literal("commitSubagentCompletion"),value:K,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:K}).strict(),e.object({action:e.literal("getSubagentRun"),id:c}).strict(),e.object({action:e.literal("listSubagentRuns"),query:we}).strict()]);var q=e.string().trim().min(1).max(191),Q=e.object({createdAt:e.string().min(1),id:q}).strict(),X=e.enum(["trigger_decision","route_decision","refiner_outcome","proposal","targeted_validation","apply_receipt"]),Y=e.discriminatedUnion("action",[e.object({action:e.literal("active_release"),workspaceId:q}).strict(),e.object({action:e.literal("put_artifact"),workspaceId:q,kind:X,artifact:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("artifact_page"),workspaceId:q,kind:X,before:Q.nullable(),limit:e.number().int().min(1).max(200)}).strict(),e.object({action:e.literal("pending_trigger_page"),workspaceId:q,before:Q.nullable(),limit:e.number().int().min(1).max(200)}).strict()]);var b=e.string().trim().min(1).max(240),Z=e.string().regex(/^[a-f0-9]{64}$/),ee=e.enum(["run_overlay","observation","trigger_decision","route_decision","proposal","targeted_validation","apply_receipt","refiner_outcome"]),te=e.object({createdAt:e.string().datetime(),id:b}).strict(),re=e.discriminatedUnion("action",[e.object({action:e.literal("artifact_put"),workspaceId:b,kind:ee,artifact:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("artifact_page"),workspaceId:b,kind:ee,before:te.nullable(),limit:e.number().int().min(1).max(100)}).strict(),e.object({action:e.literal("pending_page"),workspaceId:b,before:te.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:Z}).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:Z,snapshot:e.record(e.string(),e.unknown())}).strict()]);var v=e.string().trim().min(1).max(200),ne=e.string().regex(/^[a-f0-9]{64}$/),ke=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()}),ae=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:ne,validation:e.array(ke).max(32)}).strict(),ie=e.object({sessionId:v,turnId:v,output:ae}).strict(),se=e.object({uploadId:v,index:e.number().int().min(0).max(1024),offset:e.number().int().min(0).max(1e7),sha256:ne,contentsBase64:e.string().min(1).max(131072)}).strict(),oe=e.object({uploadId:v}).strict(),je=ae.pick({id:!0,title:!0,sourceTaskId:!0,sourceTurnId:!0,revision:!0,createdAt:!0,validation:!0}),ce=e.object({sessionId:v,turnId:v,output:je,sandboxPath:e.string().trim().min(1).max(4096)}).strict();var _=e.string().trim().min(1).max(200),ye=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."})}),le=e.object({action:ye}).strict(),ue=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),wt=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(),de=e.discriminatedUnion("operation",[e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("profile.externalDataset.authorize"),params:e.object({bindingHash:e.string().regex(/^[a-f0-9]{64}$/),manifestHash:e.string().regex(/^[a-f0-9]{64}$/).optional(),taskId:s.optional(),seed:e.string().min(1).max(500).optional()}).strict().refine(r=>!!r.taskId==!!r.seed,"Case authority requires both task and seed.")}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("experiment/environment"),params:$}).strict(),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:le}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("embedding/authorize"),params:ue}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/begin"),params:ie}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/chunk"),params:se}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/complete"),params:oe}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("output/saveSandboxFile"),params:ce}).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:G}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("harness/review/execute"),params:re}).strict(),e.object({contractVersion:e.literal(d),requestId:s,operation:e.literal("refiner/execute"),params:e.object({action:Y}).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()]),kt=e.object({contractVersion:e.literal(d),operations:e.array(e.enum(["experiment/policy","experiment/environment","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 pe=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=de.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},u=n.operation==="experiment/policy"||n.operation==="experiment/environment";if(Buffer.byteLength(JSON.stringify(l))>(u?8388608:256e3))throw new Error("Host storage request is too large.");let p=new Promise((f,m)=>{let R=n.operation==="sandbox/request"||u?3e5:6e4,j=setTimeout(()=>{this.#e.delete(o),m(new Error("Host storage request timed out."))},Math.max(1,Math.min(R,i)));this.#e.set(o,{resolve:f,reject:m,timer:j,maxResponseBytes:n.operation==="experiment/environment"?16e5:1e6})});try{await this.#t(l)}catch(f){let m=this.#e.get(o);m&&(clearTimeout(m.timer),this.#e.delete(o),m.reject(f instanceof Error?f:new Error(String(f))))}return p}accept(t){let i=O.safeParse(t),n=i.success?null:B.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))>l.maxResponseBytes?(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 Re}from"node:events";import{createInterface as Se}from"node:readline";async function Pt(r){let t=null,i=Promise.resolve(),n=[],o=a(h=>(i=i.then(async()=>{r.writable.write(`${JSON.stringify(h)}
3
+ `)||await Re(r.writable,"drain")}),i),"write");r.hostStorageClient?.bind(h=>o(h));let l=a(()=>{if(!(!t?.initialized||n.length===0))for(let h of n.splice(0))o(h)},"flushPendingNotifications"),u,p=new Set,f=Se({input:r.readable,crlfDelay:1/0}),m=[],R=!1,j=null,S=a(async h=>{let g=t;if(!g)throw new Error("Agent runtime dispatcher is unavailable.");let x=(async()=>{let M=await g.handle(h);M&&await o(M),l()})(),N=h&&typeof h=="object"&&"method"in h?h.method:null;if(N==="initialize"||N==="initialized"){await x;return}p.add(x),x.finally(()=>p.delete(x))},"dispatch"),z=(async()=>{let h=typeof r.host=="function"?await r.host():r.host;for(t=new P(h),u=h.subscribe?.(g=>{if(!t?.initialized){n.push(g);return}o(g)});m.length>0;)await S(m.shift());R=!0})().catch(h=>{j=h,f.close()});try{for await(let h of f){if(!h.trim())continue;if(Buffer.byteLength(h,"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(h)}catch{await o({jsonrpc:"2.0",id:null,error:{code:-32700,message:"Parse error"}});continue}if(!r.hostStorageClient?.accept(g))if(R)await S(g);else if(m.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 m.push(g)}if(await z,j)throw j;await Promise.all(p),await i}finally{r.hostStorageClient?.close(),u?.()}}a(Pt,"runAgentJsonlServer");var H=e.object({threadId:e.string().trim().min(1)}).passthrough(),Ee=H.extend({includeHistory:e.boolean().optional()}),Te=e.object({session:e.unknown()}).strict(),C=H.extend({input:e.unknown()}),qe=C.extend({idempotencyKey:e.string().trim().min(1).max(200)}),_e=C.extend({inputId:e.string().trim().min(1)}),Ce=H.extend({reason:e.string().trim().min(1).optional()}),Pe=e.object({approvalId:e.string().trim().min(1),input:e.unknown()}).strict();function Mt(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}=Ee.parse(n);return t(o,l,async()=>{if(u===!1)return{thread:await r.readThread(l),turns:[],events:[]};let[p,f,m]=await Promise.all([r.readThread(l),r.listTurns(l),r.listEvents(l)]);return{thread:p,turns:f,events:m}})},"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(Te.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=qe.parse(n);return t("task/queue",o.threadId,()=>r.queueTaskInput(o.threadId,o.input,o.idempotencyKey))},"taskQueue"),taskInputUpdate:a(async n=>{let o=_e.parse(n);return t("task/inputUpdate",o.threadId,()=>r.updateTaskInput(o.threadId,o.inputId,o.input))},"taskInputUpdate"),turnInterrupt:a(async n=>{let o=Ce.parse(n);return t("turn/interrupt",o.threadId,async()=>({turn:await r.interruptTurn(o.threadId,o.reason)}))},"turnInterrupt"),approvalResolve:a(async n=>{let o=Pe.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(Mt,"createAgentRuntimeService");var y=e.string().regex(/^[a-f0-9]{64}$/),Ae=e.object({harnessReleaseHash:y,instructionsHash:y,skillHashes:e.record(e.string(),y),agentAssetHashes:e.record(e.string(),y),toolCatalogHash:y,memoryRevision:e.number().int().nonnegative().nullable()}).strict(),He=e.object({protocolVersion:e.string().trim().min(1),threadId:e.string().trim().min(1),turnId:e.string().trim().min(1),harnessReleaseHash:y,toolCatalogHash:y,context:e.record(e.string(),e.unknown()),pendingInteraction:e.record(e.string(),e.unknown()).nullable(),usage:e.record(e.string(),e.unknown())}).strict();function Ft(r){return I(Ae.parse(r))}a(Ft,"effectiveSurfaceHash");function Wt(r){return I(He.parse(r))}a(Wt,"checkpointHash");function Kt(r){return[r.system,...r.harnessInstructions,...r.skillInstructions,...r.hostInstructions??[]].map(t=>t.trim()).filter(Boolean).join(`
4
4
 
5
- `)}a(Kt,"materializeAgentPrompt");function Zt(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(Zt,"createAgentToolCatalog");async function er(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(er,"executeAgentTool");function tr(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(tr,"createAgentToolCatalogProjection");async function rr(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(rr,"executeProjectedAgentTool");var me=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(m=>{i=m,(n!==p||t.signal.aborted)&&m()})}}finally{clearTimeout(u),t.signal.removeEventListener("abort",o);for(let p of l)p()}}},he=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,Be as c,Ne as d,$e as e,fe as f,ge as g,De as h,E as i,Ge as j,J as k,L as l,O as m,B as n,Qe as o,ve as p,P as q,D as r,N as s,G as t,Y as u,re as v,ae as w,ie as x,se as y,oe as z,je as A,ce as B,ye as C,le as D,ue as E,d as F,wt as G,de as H,kt as I,pe as J,Pt as K,Mt as L,Ae as M,He as N,Ft as O,Wt as P,Kt as Q,Zt as R,er as S,tr as T,rr as U,me as V,he as W};
5
+ `)}a(Kt,"materializeAgentPrompt");function Zt(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(Zt,"createAgentToolCatalog");async function er(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(er,"executeAgentTool");function tr(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(tr,"createAgentToolCatalogProjection");async function rr(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(rr,"executeProjectedAgentTool");var me=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(m=>{i=m,(n!==p||t.signal.aborted)&&m()})}}finally{clearTimeout(u),t.signal.removeEventListener("abort",o);for(let p of l)p()}}},he=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,Be as c,$e as d,Ne as e,fe as f,ge as g,Le as h,E as i,Ge as j,D as k,J as l,O as m,B as n,Qe as o,ve as p,P as q,L as r,$ as s,G as t,Y as u,re as v,ae as w,ie as x,se as y,oe as z,je as A,ce as B,ye as C,le as D,ue as E,d as F,wt as G,de as H,kt as I,pe as J,Pt as K,Mt as L,Ae as M,He as N,Ft as O,Wt as P,Kt as Q,Zt as R,er as S,tr as T,rr as U,me as V,he as W};
@@ -0,0 +1,8 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{$a as N,Qa as z,Sa as P,Va as x,Ya as G,ab as J,bb as U,db as W,kb as $}from"./chunk-KOR2AZVB.js";import{P as C,ea as O,fa as F,ga as V,ra as M,rb as L,ta as B}from"./chunk-QVRNOGAU.js";import{j as E,k as H,l as h}from"./chunk-HZP5U2AA.js";import{a as l}from"./chunk-FTQLQJQV.js";import{constants as Q}from"node:fs";import{lstat as ie,open as ce,readdir as le}from"node:fs/promises";import A from"node:path";import{createHash as q}from"node:crypto";import{mkdir as K,readdir as ae,readFile as I,writeFile as X}from"node:fs/promises";import d from"node:path";async function je(e,t){let a=x.parse(e),r=["tasks","assets","environment","graders","rubrics","comparisons","metrics","fixtures"];await Promise.all(r.map(g=>K(d.join(t,g),{recursive:!0})));let o=await re(a,t);if(a.metrics.customAggregator){let g=d.join(t,a.metrics.customAggregator.module),k=q("sha256").update(await I(g)).digest("hex");a=x.parse({...a,metrics:{...a.metrics,customAggregator:{...a.metrics.customAggregator,contentHash:k}}})}let n=d.join(t,"taskset.json"),s=d.join(t,"tasks","tasks.jsonl"),f=d.join(t,"graders","graders.json"),i=d.join(t,"fixtures","grader-fixtures.json"),u=d.join(t,"metrics","policy.json"),c=d.join(t,"assets","manifest.json"),m=d.join(t,"environment","contract.json"),w=d.join(t,"rubrics","preference-review.md"),v=d.join(t,"comparisons","policy.json");return await Promise.all([...J(a)].map(([g,k])=>X(d.join(t,g),k,"utf8"))),{directory:t,files:[n,s,c,m,f,w,v,u,i,...o],draft:a}}l(je,"writeTasksetDraftPackage");async function Re(e){let t=await se(e),a=q("sha256");for(let r of t)a.update(d.relative(e,r).replaceAll(d.sep,"/")),a.update("\0"),a.update(await I(r)),a.update("\0");return a.digest("hex")}l(Re,"hashTasksetDraftPackage");async function Y(e,t){let a=d.basename(e)==="taskset.json"?e:d.join(e,"taskset.json"),r=d.dirname(a),o=l(async f=>{if(!t)return I(f,"utf8");let i=t.get(d.relative(r,f).replaceAll(d.sep,"/"));if(!i)throw Object.assign(new Error("Authored file is absent."),{code:"ENOENT"});return new TextDecoder("utf-8",{fatal:!0}).decode(i)},"read"),n=JSON.parse(await o(a)),s=x.safeParse(n);if(s.success){let[f,i,u,c,m,w]=await Promise.all([ne(d.join(r,"tasks","tasks.jsonl"),o),S(d.join(r,"graders","graders.json"),o),S(d.join(r,"fixtures","grader-fixtures.json"),o),S(d.join(r,"metrics","policy.json"),o),S(d.join(r,"environment","contract.json"),o),S(d.join(r,"comparisons","policy.json"),o)]);return x.parse({...s.data,...f===null?{}:{tasks:f},...i===null?{}:{graders:i},...u===null?{}:{graderFixtures:u},...c===null?{}:{metrics:c},...m===null?{}:{environment:m},...w===null?{}:{review:w}})}return $(n)}l(Y,"readTasksetDraftPackage");async function re(e,t){let a=N(e),r=[];for(let o of a){let n=d.join(t,o.relativePath);await K(d.dirname(n),{recursive:!0});try{await X(n,o.source,{encoding:"utf8",flag:"wx"})}catch(s){if(!oe(s))throw s}r.push(n)}return r}l(re,"writeConfiguredStarterCode");async function se(e){let t=[];async function a(r){let o=await ae(r,{withFileTypes:!0});o.sort((n,s)=>n.name.localeCompare(s.name));for(let n of o){let s=d.join(r,n.name);if(n.isSymbolicLink())throw new Error(`Taskset workspaces cannot contain symbolic links: ${s}`);n.isDirectory()?await a(s):n.isFile()&&t.push(s)}}return l(a,"visit"),await a(e),t}l(se,"packageFiles");async function S(e,t=a=>I(a,"utf8")){try{return JSON.parse(await t(e))}catch(a){if(Z(a))return null;throw a}}l(S,"readOptionalJson");async function ne(e,t=a=>I(a,"utf8")){try{return(await t(e)).split(/\r?\n/).map(r=>r.trim()).filter(Boolean).map(r=>JSON.parse(r))}catch(a){if(Z(a))return null;throw a}}l(ne,"readOptionalJsonLines");function Z(e){return e instanceof Error&&"code"in e&&e.code==="ENOENT"}l(Z,"isMissingFile");function oe(e){return e instanceof Error&&"code"in e&&e.code==="EEXIST"}l(oe,"isFileExists");async function Oe(e){let t=A.resolve(e.directory);if(!(await ie(t)).isDirectory())throw new Error("Dataset upload requires a regular authored folder.");let a=new Map,r=0;async function o(c,m){if(m>30)throw new Error("Dataset folder nesting exceeds 30 levels.");for(let w of(await le(c,{withFileTypes:!0})).sort((v,g)=>v.name<g.name?-1:v.name>g.name?1:0)){if(w.name.startsWith("."))throw new Error("Dataset folders cannot include hidden files or directories.");if(w.isSymbolicLink()||!w.isDirectory()&&!w.isFile())throw new Error("Dataset folders can contain only regular files and directories.");let v=A.join(c,w.name);if(w.isDirectory()){await o(v,m+1);continue}if(a.size>=1e4)throw new Error("Dataset folder exceeds 10,000 files.");let g=await ce(v,Q.O_RDONLY|Q.O_NOFOLLOW);try{let k=await g.stat();if(!k.isFile()||k.size>U-r)throw new Error("Dataset folder exceeds the 64 MiB capture limit.");let j=new Uint8Array(k.size),R=0;for(;R<j.length;){let D=await g.read(j,R,j.length-R,R);if(!D.bytesRead)throw new Error("Dataset file changed during capture.");R+=D.bytesRead}let _=await g.stat();if(_.size!==k.size||_.mtimeMs!==k.mtimeMs||_.ctimeMs!==k.ctimeMs)throw new Error("Dataset file changed during capture.");r+=j.length,a.set(A.relative(t,v).replaceAll(A.sep,"/"),j)}finally{await g.close()}}}l(o,"visit"),await o(t,0);let n=await Y(t,a),s=[...a].map(([c,m])=>({path:c,contentHash:H(m),sizeBytes:m.byteLength})),f=h(s),i=x.parse({...n,id:e.datasetId??n.id,profileId:e.teamId,revision:e.expectedRevision+1,modelScope:null,status:"draft",publishedTasksetRef:null,metadata:{...n.metadata,importedTasksetPackage:{packageHash:f}}});return{workspace:W({schemaVersion:"openpond.tasksetDraftWorkspace.v1",draft:i,files:[...a].filter(([c])=>!G(c)).map(([c,m])=>({path:c,base64:Buffer.from(m).toString("base64"),contentHash:H(m),sizeBytes:m.byteLength}))}),sourceHash:f,sourceFiles:s,capturedBytes:r}}l(Oe,"captureTasksetDraftWorkspace");async function ee(e){let{binding:t,rewards:a}=e.learning,r=M(t,a);if(e.graders.length!==r.length||r.some(({source:i,reward:u})=>!e.graders.some(c=>c.id===i.graderId&&c.version===String(u.revision)&&h(c.metadata.rewardBinding)===h(L(t)))))throw new Error("Prepared Taskset graders do not match their immutable Reward binding.");let o=C.parse({id:e.task.id,clusterKey:e.task.clusterKey,split:e.task.split,input:e.task.input,expectedOutput:e.task.expectedOutput,policyVisibleContext:e.task.policyVisibleContext,privilegedContextRef:e.task.privilegedContextRef,artifactRefs:[],tags:e.task.tags}),n=await B({binding:t,rewards:a,task:o,signal:e.signal,evidence:{output:e.attempt.output,artifactRefs:e.attempt.artifactRefs,runtimeEventRefs:e.attempt.runtimeEventRefs,infrastructureError:e.attempt.infrastructureError},customVerifier:e.customVerifier?async({grader:i})=>{let u=e.graders.find(m=>m.id===i.id);if(u?.kind!=="custom_verifier")throw new Error("Bound verifier projection is missing.");let c=await e.customVerifier({grader:u,task:e.task,attempt:e.attempt,signal:e.signal});return{score:c.score,passed:c.passed,rewardEligible:i.rewardEligible,failureClass:null,feedback:[c.feedback],visibleEvidenceRefs:[],privilegedEvidenceRefs:c.evidenceRefs??[]}}:void 0,modelJudge:e.modelJudge?async({grader:i})=>{let u=e.graders.find(m=>m.id===i.id);if(u?.kind!=="model_judge")throw new Error("Bound judge projection is missing.");let c=await e.modelJudge({grader:u,task:e.task,attempt:e.attempt});return{score:c.score,passed:c.passed,rewardEligible:i.rewardEligible,failureClass:null,feedback:[c.feedback],visibleEvidenceRefs:[],privilegedEvidenceRefs:c.evidenceRefs??[]}}:void 0}),s=n.training.status==="not_configured"?n.evaluation:n.training,f=h(e.graders);return{schemaVersion:"openpond.gradeResult.v1",id:`grade_${h([e.attempt.id,n.contentHash]).slice(0,24)}`,attemptId:e.attempt.id,graderSetHash:f,score:s.score,passed:s.passed===!0,components:n.results.map(i=>{let u=t.sources.find(m=>m.graderId===i.graderId),c=e.graders.find(m=>m.id===i.graderId);return{graderId:i.graderId,graderVersion:c.version,score:i.normalizedScore,passed:i.passed===!0,hardGate:u.hardGate,rewardEligible:u.role==="training"&&i.status==="scored",feedback:i.message?.trim()||null,evidenceRefs:i.evidenceHashes,judge:c.kind==="model_judge"?c.judge:null,calibrationStatus:c.kind==="model_judge"?c.calibrationStatus:"not_applicable"}}),failureClass:e.attempt.infrastructureError?"infrastructure_failure":s.status!=="scored"?"grader_failure":s.passed?null:"policy_failure",feedback:n.results.flatMap(i=>i.message?.trim()?[i.message.trim()]:[]),rewardEligible:n.training.status==="scored",rewardComposition:n,createdAt:e.now?.()??new Date().toISOString()}}l(ee,"gradeLearningBatchAttempt");async function at(e){if(e.learning)return ee({...e,learning:e.learning});if(e.graders.some(o=>o.metadata.rewardBinding!==void 0))throw new Error("This Taskset requires its immutable public Reward binding to grade an attempt.");let t=h(e.graders),a=[];for(let o of e.graders)e.signal?.throwIfAborted(),a.push(e.attempt.infrastructureError?b(o,null,!1,"Infrastructure failure; no reward was produced.",[],!1):await me(o,e.task,e.attempt,e.modelJudge,e.customVerifier,e.signal));let r=V({graders:e.graders,infrastructureError:e.attempt.infrastructureError,components:a.map(o=>({...o,failureClass:o.score===null?"grader_failure":o.passed?null:"policy_failure"}))});return{schemaVersion:"openpond.gradeResult.v1",id:`grade_${h([e.attempt.id,t,a]).slice(0,24)}`,attemptId:e.attempt.id,graderSetHash:t,score:r.score,passed:r.passed,components:a,failureClass:r.failureClass,feedback:e.attempt.infrastructureError?[e.attempt.infrastructureError]:a.flatMap(o=>o.feedback?[o.feedback]:[]),rewardEligible:r.rewardEligible,createdAt:e.now?.()??new Date().toISOString()}}l(at,"gradeAttempt");async function me(e,t,a,r,o,n){if(e.kind==="model_judge"){if(!r)return b(e,null,!1,"Model judge runner is unavailable.",[],!1);if(e.calibrationStatus!=="passed")return b(e,null,!1,"Model judge calibration has not passed.",[],!1);let f=await r({grader:e,task:t,attempt:a});return b(e,f.score,f.passed,f.feedback,f.evidenceRefs??[])}if(e.kind==="human")return b(e,null,!1,"Human review is pending.",[],!1);if(e.kind==="custom_verifier"){if(!o)return b(e,null,!1,"Sandboxed verifier runner is unavailable.",[],!1);let f=await o({grader:e,task:t,attempt:a,signal:n});return b(e,f.score,f.passed,f.feedback,f.evidenceRefs??[])}let s=O({grader:F(e),task:t,evidence:a});return b(e,s.score,s.passed,s.feedback,[...a.artifactRefs,...a.runtimeEventRefs])}l(me,"runGrader");function b(e,t,a,r,o,n=e.rewardEligible){let s=t!==null&&Number.isFinite(t)?Math.max(0,Math.min(1,t)):null;return{graderId:e.id,graderVersion:e.version,score:s,passed:s!==null&&a,hardGate:e.hardGate,rewardEligible:s!==null&&n,feedback:r,evidenceRefs:o,judge:e.kind==="model_judge"?e.judge:null,calibrationStatus:e.kind==="model_judge"?e.calibrationStatus:"not_applicable"}}l(b,"component");import{access as ue,mkdir as T,readFile as Vt,writeFile as y}from"node:fs/promises";import p from"node:path";async function Gt(e,t,a={}){let r=z.parse(e),o=P(r);if(!o.valid)throw new Error(o.issues.map(s=>`${s.code}: ${s.message}`).join(`
3
+ `));await T(p.join(t,"data"),{recursive:!0}),await T(p.join(t,"graders"),{recursive:!0}),await T(p.join(t,"environment"),{recursive:!0}),await T(p.join(t,"fixtures"),{recursive:!0});let n=[p.join(t,"taskset.json"),p.join(t,"capabilities.json"),p.join(t,"data","tasks.jsonl"),p.join(t,"graders","graders.json"),p.join(t,"fixtures","grader-fixtures.json"),p.join(t,"environment","taskset.ts")];await y(n[0],E(r),"utf8"),await y(n[1],E(r.capabilities),"utf8"),await y(n[2],r.tasks.map(s=>JSON.stringify(s)).join(`
4
+ `)+`
5
+ `,"utf8"),await y(n[3],E(r.graders),"utf8"),await y(n[4],E(r.graderFixtures),"utf8"),await y(n[5],pe(r),"utf8");for(let s of a.generatedFiles??[]){let f=te(s.path,s.role),i=p.join(t,f);await T(p.dirname(i),{recursive:!0}),await y(i,s.content,"utf8"),n.push(i)}for(let s of r.graders){if(s.kind!=="custom_verifier")continue;let f=te(s.module,"verifier");try{await ue(p.join(t,f))}catch{throw new Error(`Custom verifier ${s.id} is missing generated source ${f}.`)}}return{directory:t,files:n,taskset:r}}l(Gt,"buildTaskset");function te(e,t){let a=e.replaceAll("\\","/");if(p.posix.isAbsolute(a)||a.split("/").includes(".."))throw new Error(`Generated ${t} path must stay inside the Taskset: ${e}.`);let r=t==="verifier"?"graders/":t==="environment"?"environment/":"fixtures/";if(!a.startsWith(r))throw new Error(`Generated ${t} path must start with ${r}.`);return a}l(te,"safeGeneratedPath");function pe(e){return`// Generated by @openpond/taskset-sdk.
6
+ export const environment = ${JSON.stringify(e.environment,null,2)} as const;
7
+ export const tasks = ${JSON.stringify(e.tasks.map(t=>({id:t.id,input:t.input,split:t.split})),null,2)} as const;
8
+ `}l(pe,"generatedEnvironmentSource");export{je as a,Re as b,Y as c,Oe as d,at as e,Gt as f};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as n}from"./chunk-FTQLQJQV.js";var s="127.0.0.1";var f="0.2.44",m="You are OpenPond Chat. Respond in the user's language. If the user's latest message is language-neutral, ambiguous, or only a short test, respond in English. Be concise and directly answer the latest request. Do not use emojis. Use Markdown when it improves scanability. If you emit reasoning or thinking content, keep it sparse and user-readable: at most one short sentence for major progress, decisions, or blockers. Omit reasoning for routine searches, reads, tool calls, and obvious next steps. Do not restate the user request, narrate every action, or include code blocks, code excerpts, diffs, raw tool payloads, or markdown examples in reasoning. Put necessary code or exact snippets only in the final assistant answer. When the user asks to show or preview an image that is available as a workspace path or signed image URL, use Markdown image syntax like ![description](path-or-url) instead of a bare path or raw HTML. For workspace-backed answers, use a Codex-style shape: brief outcome first, then Changed Files if files changed, then Verification if checks ran. End with a concise final answer that summarizes the result and verification when relevant. Do not mention raw tool JSON, internal repo paths, or origin/remote URLs unless the user explicitly asks for them or they are necessary to explain a git/deploy failure.";import{randomUUID as p}from"node:crypto";import i from"node:path";import{fileURLToPath as c}from"node:url";function u(){return new Date().toISOString()}n(u,"now");function l(e){if(typeof e=="string")return e;if(e instanceof Error)return e.message||e.name;if(e==null)return"";try{return JSON.stringify(e)}catch{return String(e)}}n(l,"textFromUnknown");function w(e){if(!e||typeof e!="object")return"";let t=e;for(let r of["delta","text","output","chunk","message"])if(typeof t[r]=="string")return t[r];return t.delta&&typeof t.delta=="object"?l(t.delta):""}n(w,"extractDelta");function x(e){return{id:p(),timestamp:u(),...e}}n(x,"event");function k(e){let t=e.replace(/^https?:\/\//,""),[r,o]=t.split(":");return{host:r||s,port:o?Number.parseInt(o,10):17874}}n(k,"parseListen");function b(e){return(process.argv[1]?i.resolve(process.argv[1]):"")===i.resolve(c(e))}n(b,"isCliEntrypoint");export{s as a,f as b,m as c,u as d,l as e,w as f,x as g,k as h,b as i};
2
+ import{a as n}from"./chunk-FTQLQJQV.js";var s="127.0.0.1";var f="0.2.45",m="You are OpenPond Chat. Respond in the user's language. If the user's latest message is language-neutral, ambiguous, or only a short test, respond in English. Be concise and directly answer the latest request. Do not use emojis. Use Markdown when it improves scanability. If you emit reasoning or thinking content, keep it sparse and user-readable: at most one short sentence for major progress, decisions, or blockers. Omit reasoning for routine searches, reads, tool calls, and obvious next steps. Do not restate the user request, narrate every action, or include code blocks, code excerpts, diffs, raw tool payloads, or markdown examples in reasoning. Put necessary code or exact snippets only in the final assistant answer. When the user asks to show or preview an image that is available as a workspace path or signed image URL, use Markdown image syntax like ![description](path-or-url) instead of a bare path or raw HTML. For workspace-backed answers, use a Codex-style shape: brief outcome first, then Changed Files if files changed, then Verification if checks ran. End with a concise final answer that summarizes the result and verification when relevant. Do not mention raw tool JSON, internal repo paths, or origin/remote URLs unless the user explicitly asks for them or they are necessary to explain a git/deploy failure.";import{randomUUID as p}from"node:crypto";import i from"node:path";import{fileURLToPath as c}from"node:url";function u(){return new Date().toISOString()}n(u,"now");function l(e){if(typeof e=="string")return e;if(e instanceof Error)return e.message||e.name;if(e==null)return"";try{return JSON.stringify(e)}catch{return String(e)}}n(l,"textFromUnknown");function w(e){if(!e||typeof e!="object")return"";let t=e;for(let r of["delta","text","output","chunk","message"])if(typeof t[r]=="string")return t[r];return t.delta&&typeof t.delta=="object"?l(t.delta):""}n(w,"extractDelta");function x(e){return{id:p(),timestamp:u(),...e}}n(x,"event");function k(e){let t=e.replace(/^https?:\/\//,""),[r,o]=t.split(":");return{host:r||s,port:o?Number.parseInt(o,10):17874}}n(k,"parseListen");function b(e){return(process.argv[1]?i.resolve(process.argv[1]):"")===i.resolve(c(e))}n(b,"isCliEntrypoint");export{s as a,f as b,m as c,u as d,l as e,w as f,x as g,k as h,b as i};