openpond 0.2.29 → 0.2.31

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 (168) hide show
  1. package/dist/api/types.d.ts +8 -0
  2. package/dist/app-server.d.ts +27797 -513
  3. package/dist/app-server.js +1 -1
  4. package/dist/chunks/{actions-command-NOCBOF5S.js → actions-command-6LFZFTLA.js} +1 -1
  5. package/dist/chunks/{app-layer-GLXYIT4B.js → app-layer-ZZHTHTJU.js} +1 -1
  6. package/dist/chunks/app-server-runtime-256UCS6N.js +2 -0
  7. package/dist/chunks/{apps-YSWZT656.js → apps-C2BMJ7DO.js} +1 -1
  8. package/dist/chunks/{chunk-GOQDMRUV.js → chunk-34URWDE7.js} +1 -1
  9. package/dist/chunks/chunk-4476RDBS.js +41 -0
  10. package/dist/chunks/{chunk-J3ZRHNGL.js → chunk-4QX2I2DX.js} +1 -1
  11. package/dist/chunks/{chunk-TOIG2PMH.js → chunk-55UCBRIX.js} +1 -1
  12. package/dist/chunks/{chunk-2LSP2AAN.js → chunk-5BFWDFPX.js} +1 -1
  13. package/dist/chunks/{chunk-JPCPNW6T.js → chunk-B5LKUQGM.js} +1 -1
  14. package/dist/chunks/{chunk-I7XD5OBR.js → chunk-BAKCGJ5D.js} +1 -1
  15. package/dist/chunks/{chunk-7GN6B4NP.js → chunk-CE27WEHK.js} +1 -1
  16. package/dist/chunks/{chunk-7TV2VBSD.js → chunk-DR3XPQRZ.js} +1 -1
  17. package/dist/chunks/{chunk-C5OV4XWF.js → chunk-EFTLCT7C.js} +1 -1
  18. package/dist/chunks/{chunk-O2IWIXBH.js → chunk-GCU66EAF.js} +1 -1
  19. package/dist/chunks/{chunk-F4WS5QIT.js → chunk-IFP6W4OW.js} +22 -22
  20. package/dist/chunks/{chunk-I5K74TOH.js → chunk-JEVA7YQL.js} +2 -2
  21. package/dist/chunks/{chunk-JKMPJFMN.js → chunk-JFR34MIK.js} +2 -2
  22. package/dist/chunks/chunk-JVIHGSOV.js +6 -0
  23. package/dist/chunks/{chunk-6ZK5EZGN.js → chunk-K6EGNB2A.js} +1 -1
  24. package/dist/chunks/chunk-L2UT3YIF.js +5 -0
  25. package/dist/chunks/{chunk-XLF7VRKY.js → chunk-L54LZUGH.js} +1 -1
  26. package/dist/chunks/{chunk-J2S7BOZU.js → chunk-MJC26GOX.js} +4 -4
  27. package/dist/chunks/{chunk-MAMUNDBZ.js → chunk-MVAJMRCW.js} +3 -3
  28. package/dist/chunks/{chunk-Y2NQXJ2Q.js → chunk-MXLB6MEW.js} +1 -1
  29. package/dist/chunks/chunk-PSZKG3E3.js +4 -0
  30. package/dist/chunks/{chunk-LYCKR4HT.js → chunk-PZ6KPMEZ.js} +342 -335
  31. package/dist/chunks/{chunk-XRV4WLI7.js → chunk-QPZNN5Q3.js} +1 -1
  32. package/dist/chunks/{chunk-ETH4SZO6.js → chunk-QTEYV4TW.js} +1 -1
  33. package/dist/chunks/{chunk-Y2KDWP74.js → chunk-T22TCCWW.js} +1 -1
  34. package/dist/chunks/{chunk-WVUPFGU7.js → chunk-UU7RXSJS.js} +1 -1
  35. package/dist/chunks/{chunk-TJNIYJUH.js → chunk-XCTFXXVY.js} +1 -1
  36. package/dist/chunks/{chunk-6LY7GYNK.js → chunk-Z6F6PYF4.js} +1 -1
  37. package/dist/chunks/cli-DSFTE4KT.js +2 -0
  38. package/dist/chunks/{configuration-command-VGYAJAKN.js → configuration-command-IHUB6BBM.js} +1 -1
  39. package/dist/chunks/{core-commands-QQNCA4WQ.js → core-commands-F2HIN7V4.js} +1 -1
  40. package/dist/chunks/{desktop-test-BMDAEN6Z.js → desktop-test-BFFUGVRS.js} +1 -1
  41. package/dist/chunks/{dist-5C6RYTQQ.js → dist-XCT2G25K.js} +1 -1
  42. package/dist/chunks/extension-D7IYZW7H.js +4 -0
  43. package/dist/chunks/{help-DZBHIKVE.js → help-5MKQV36D.js} +1 -1
  44. package/dist/chunks/opchat-XO7EDHY7.js +3 -0
  45. package/dist/chunks/{organizations-LAUKUPDF.js → organizations-DIRGTVK5.js} +1 -1
  46. package/dist/chunks/{profile-ESJFHPYC.js → profile-EMVJ5DJQ.js} +1 -1
  47. package/dist/chunks/{project-agent-CPQP4ZY6.js → project-agent-4QC7N3MB.js} +1 -1
  48. package/dist/chunks/{sandbox-command-W6NWHFAR.js → sandbox-command-L263BBOL.js} +1 -1
  49. package/dist/chunks/{sandbox-template-SM62NUMJ.js → sandbox-template-RYKWTBW7.js} +1 -1
  50. package/dist/chunks/{src-4L62URN6.js → src-RINMQ7IQ.js} +1 -1
  51. package/dist/chunks/src-RM2LIZGT.js +325 -0
  52. package/dist/chunks/{teams-bot-6LEMA4OH.js → teams-bot-NIZB6DOY.js} +1 -1
  53. package/dist/chunks/{workspaces-ERYPHR26.js → workspaces-GPYDSN4C.js} +1 -1
  54. package/dist/cli.js +1 -1
  55. package/dist/hosted-chat.d.ts +1 -0
  56. package/dist/index.js +1 -1
  57. package/dist/web/assets/App-BcbjzSeU.js +226 -0
  58. package/dist/web/assets/{AppDialog-FvWvdWfk.js → AppDialog-C1cvE0gH.js} +1 -1
  59. package/dist/web/assets/{AppTerminalPanel-Dfo_tXAE.js → AppTerminalPanel-BFJNR2ik.js} +2 -2
  60. package/dist/web/assets/{AppsView-CKg2_SXF.js → AppsView-CReOofAf.js} +1 -1
  61. package/dist/web/assets/BrowserSidebar-CPxAck2O.js +1 -0
  62. package/dist/web/assets/{CartesianChart-iXtVfIXm.js → CartesianChart-SlZ8Qfkg.js} +1 -1
  63. package/dist/web/assets/{CollaborationTabs-BFuRwsEy.js → CollaborationTabs-DgFEunqQ.js} +1 -1
  64. package/dist/web/assets/{CommandMenu-Coahy7-K.js → CommandMenu-BiROlSdv.js} +1 -1
  65. package/dist/web/assets/CommunityView-DVST_ZxO.js +1 -0
  66. package/dist/web/assets/ComposerCreateImproveStrip-jRBhdiFB.js +1 -0
  67. package/dist/web/assets/GetStartedView-Ck4EW1_s.js +1 -0
  68. package/dist/web/assets/HostedModelLearningReview-DYFjp-96.js +1 -0
  69. package/dist/web/assets/HostedModelLearningSettings-BD7quEFA.js +1 -0
  70. package/dist/web/assets/LabModelVersionDetailPage-8-Gb5AAH.js +1 -0
  71. package/dist/web/assets/{LabSkillSidebar-C7BuAuNK.js → LabSkillSidebar-DO-kFl9Z.js} +1 -1
  72. package/dist/web/assets/{LabsRoute-CUVbklNy.js → LabsRoute-Dc9RQKdA.js} +6 -6
  73. package/dist/web/assets/MainChatThread-DZXcFgmJ.js +2 -0
  74. package/dist/web/assets/MainPane-BYrnuI30.js +19 -0
  75. package/dist/web/assets/{MarkdownText-DV3sDJG3.js → MarkdownText-ueZFkEyk.js} +21 -21
  76. package/dist/web/assets/{NativeSkillSidebar-B3wc0iGh.js → NativeSkillSidebar-DlAX2-dH.js} +1 -1
  77. package/dist/web/assets/NewExperienceSwitcher-BHYLG0IZ.js +1 -0
  78. package/dist/web/assets/NewProjectDialog-BwN6SnxR.js +1 -0
  79. package/dist/web/assets/OutputsPage-Q0kpdfq_.js +1 -0
  80. package/dist/web/assets/ProjectsPage-TnlBYfFy.js +1 -0
  81. package/dist/web/assets/{ProjectsPage-DdG-U9ZW.css → ProjectsPage-kun3Ron2.css} +1 -1
  82. package/dist/web/assets/RightChatPanelStack-D2qZ-1nK.js +1 -0
  83. package/dist/web/assets/{RightSidebarHomePanel-DweT04nf.js → RightSidebarHomePanel-q6FF-DR9.js} +1 -1
  84. package/dist/web/assets/ScheduledWorkPage-BTX3Sjoa.js +1 -0
  85. package/dist/web/assets/SettingsView-C7av3zwv.css +1 -0
  86. package/dist/web/assets/SettingsView-gAhNO4Rg.js +9 -0
  87. package/dist/web/assets/{TeamChatView-BoQYnywK.js → TeamChatView-DZtfZ12z.js} +2 -2
  88. package/dist/web/assets/{TerminalOverlay-oLOOTbdP.js → TerminalOverlay-MJqx0xg6.js} +1 -1
  89. package/dist/web/assets/{TrainingCreationPanel-aCFYDuYZ.js → TrainingCreationPanel-ORoKcc3m.js} +1 -1
  90. package/dist/web/assets/{TrainingDraftPanel-CFa1YRTU.js → TrainingDraftPanel-oolNVDIx.js} +1 -1
  91. package/dist/web/assets/{UsageSettingsSection-CakaMl6_.js → UsageSettingsSection-Lh_fLOcC.js} +1 -1
  92. package/dist/web/assets/WorkSidebarPanel-BIqP9SXr.js +1 -0
  93. package/dist/web/assets/WorkspaceDiffPanel-B0Zwyx9a.js +14 -0
  94. package/dist/web/assets/WorkspaceEnvironmentMenu-BpgvG43X.js +32 -0
  95. package/dist/web/assets/{WorkspaceGitDialogs-CE6uwWBo.js → WorkspaceGitDialogs-Bw5ADFuc.js} +1 -1
  96. package/dist/web/assets/{WorkspaceMonacoEditor-Dd1yWxIF.js → WorkspaceMonacoEditor-BpivuGzo.js} +3 -3
  97. package/dist/web/assets/{arrow-up-right-DrBHDOjJ.js → arrow-up-right-BjC4ygxR.js} +1 -1
  98. package/dist/web/assets/{clipboard-BwxTBPCP.js → clipboard-BOJ-sNJz.js} +1 -1
  99. package/dist/web/assets/{cloud-upload-Ce9uYXcQ.js → cloud-upload-D-_3UWhI.js} +1 -1
  100. package/dist/web/assets/{cssMode-DDD1HmKz.js → cssMode-CnHRib-_.js} +1 -1
  101. package/dist/web/assets/{folder-open-BmWqQp0P.js → folder-open-CO3Vz0rT.js} +1 -1
  102. package/dist/web/assets/{folder-plus-B402AJf4.js → folder-plus-CL6B10XJ.js} +1 -1
  103. package/dist/web/assets/{git-commit-horizontal-C1uAivqm.js → git-commit-horizontal-C_SNHoOD.js} +1 -1
  104. package/dist/web/assets/git-dialogs-C-F47S10.css +1 -0
  105. package/dist/web/assets/{htmlMode-1MNILRvh.js → htmlMode-DBpIV7Gx.js} +1 -1
  106. package/dist/web/assets/{index-CPTsOhRN.js → index-Dx0lr1R3.js} +2 -2
  107. package/dist/web/assets/index-lqk3IxE0.css +1 -0
  108. package/dist/web/assets/{info-BNROwjpD.js → info-C1C3X2vW.js} +1 -1
  109. package/dist/web/assets/{jsonMode-mGxJ8u70.js → jsonMode-B9puI-La.js} +1 -1
  110. package/dist/web/assets/{lspLanguageFeatures-DnwAgCyz.js → lspLanguageFeatures-DwPRvLkn.js} +1 -1
  111. package/dist/web/assets/{minimize-2-DFgldo5D.js → minimize-2-Cr76Lc_J.js} +1 -1
  112. package/dist/web/assets/{monaco.contribution-BlgPPKyd.js → monaco.contribution-CnlZLXhW.js} +2 -2
  113. package/dist/web/assets/{monaco.contribution-CBuz55_x.js → monaco.contribution-DKa3PSXH.js} +2 -2
  114. package/dist/web/assets/{monaco.contribution-qZ9QzQ68.js → monaco.contribution-DQxsY08y.js} +2 -2
  115. package/dist/web/assets/{monaco.contribution-CGYtN1vj.js → monaco.contribution-OemObo_b.js} +2 -2
  116. package/dist/web/assets/monitor-CktBkAZk.js +1 -0
  117. package/dist/web/assets/{python-CpsWHcA8.js → python-CVC74_7Q.js} +1 -1
  118. package/dist/web/assets/refresh-cw-JaxiGpHD.js +1 -0
  119. package/dist/web/assets/{save-8XYI0E0Y.js → save-DFm1K29k.js} +1 -1
  120. package/dist/web/assets/{square-FQ0GLxuE.js → square-D5fFhDFt.js} +1 -1
  121. package/dist/web/assets/{toggleHighContrast-CX2hgvvU.js → toggleHighContrast-D_EkCruq.js} +1 -1
  122. package/dist/web/assets/{tsMode-D9XBNmxG.js → tsMode-BczIS4rA.js} +1 -1
  123. package/dist/web/assets/{upload-BNXILcvp.js → upload-DvED7nbd.js} +1 -1
  124. package/dist/web/assets/{useLocalAgentSchedules-Ccst1Wnz.js → useLocalAgentSchedules-DWd5OvYb.js} +1 -1
  125. package/dist/web/assets/useSessionTurnCache-oMoxBcGj.js +1 -0
  126. package/dist/web/assets/{wifi-off-BoQdtnnN.js → wifi-off-BZL-Op_B.js} +1 -1
  127. package/dist/web/assets/{workers-DpMJzLwE.js → workers-DapCJCaQ.js} +1 -1
  128. package/dist/web/assets/{yaml-BqS3gPsN.js → yaml-DB9KLqu1.js} +1 -1
  129. package/dist/web/index.html +2 -2
  130. package/docs/command-reference.md +1 -0
  131. package/package.json +1 -1
  132. package/dist/chunks/app-server-runtime-SL7IFG2M.js +0 -2
  133. package/dist/chunks/chunk-3YSCXFE6.js +0 -5
  134. package/dist/chunks/chunk-JPERN6WI.js +0 -40
  135. package/dist/chunks/chunk-P57W2CB2.js +0 -6
  136. package/dist/chunks/cli-DBIRAAYU.js +0 -2
  137. package/dist/chunks/extension-IQW2KDT6.js +0 -6
  138. package/dist/chunks/opchat-BSTDLB7O.js +0 -3
  139. package/dist/chunks/src-MBP4EHYL.js +0 -323
  140. package/dist/web/assets/App-eRfSvxdE.js +0 -226
  141. package/dist/web/assets/BrowserSidebar-CBRz9dVj.js +0 -1
  142. package/dist/web/assets/CommunityView-C0B6EVIp.js +0 -1
  143. package/dist/web/assets/ComposerCreateImproveStrip-C0MkRhov.js +0 -1
  144. package/dist/web/assets/GetStartedView-f90pfPRp.js +0 -1
  145. package/dist/web/assets/HostedModelLearningReview-DdZnSPKb.js +0 -1
  146. package/dist/web/assets/HostedModelLearningSettings-p9RdBxGd.js +0 -1
  147. package/dist/web/assets/LabModelVersionDetailPage-DLqT1fMT.js +0 -1
  148. package/dist/web/assets/MainChatThread-Crjs_iFv.js +0 -2
  149. package/dist/web/assets/MainPane-Bl91XbhC.js +0 -10
  150. package/dist/web/assets/Messages-Bxo_ATcK.js +0 -10
  151. package/dist/web/assets/NewExperienceSwitcher-DBdsaysM.js +0 -1
  152. package/dist/web/assets/NewProjectDialog-CtJJ6u5l.js +0 -1
  153. package/dist/web/assets/OutputsPage-CV9rYjbQ.js +0 -1
  154. package/dist/web/assets/ProjectsPage-O162K_Yb.js +0 -1
  155. package/dist/web/assets/RightChatPanelStack-CXzHpD5V.js +0 -1
  156. package/dist/web/assets/ScheduledWorkPage-DFvjzhvz.js +0 -1
  157. package/dist/web/assets/SettingsView-B-O30p4h.js +0 -9
  158. package/dist/web/assets/SettingsView-BaWWvIJW.css +0 -1
  159. package/dist/web/assets/WorkSidebarPanel-XFwuIBFa.js +0 -1
  160. package/dist/web/assets/WorkspaceDiffPanel-CL-lAcvW.js +0 -14
  161. package/dist/web/assets/WorkspaceEnvironmentMenu-DcFKeae1.js +0 -32
  162. package/dist/web/assets/chat-file-links-DKYaOINv.js +0 -1
  163. package/dist/web/assets/chevron-up-CT-jxFh0.js +0 -1
  164. package/dist/web/assets/desktop-files-BQj1J-ob.js +0 -1
  165. package/dist/web/assets/git-dialogs-BZDqS1eT.css +0 -1
  166. package/dist/web/assets/index-BZ4iTv8E.css +0 -1
  167. package/dist/web/assets/play-BQFyTfNz.js +0 -1
  168. package/dist/web/assets/refresh-cw-DfFBmfXv.js +0 -1
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{c as O}from"./chunk-GLUWATL5.js";import{a as r}from"./chunk-FTQLQJQV.js";import{randomUUID as P}from"node:crypto";function g(e){let t=p(e);if(!t)throw new Error("apiBaseUrl is required");return t}r(g,"normalizeApiBaseUrl");function x(e){return e.replace(/\/+$/,"")}r(x,"trimTrailingSlashes");function p(e){let t=x(e?.trim()??"");return t?(t=t.replace(/\/chat\/completions$/i,"").replace(/\/models(?:\/[^/]+)?$/i,""),t.endsWith("/opchat/v1")?t:t.endsWith("/opchat")?`${t}/v1`:(t.endsWith("/v1")&&(t=t.slice(0,-3)),`${x(t)}/opchat/v1`)):null}r(p,"normalizeOptionalOpChatApiBaseUrl");function M(e={}){let t=e.env??(typeof process<"u"?process.env:{}),n=p(e.opChatApiBaseUrl)??p(t.OPENPOND_OPCHAT_API_URL);if(n)return n;let o=p(e.chatApiBaseUrl)??p(t.OPENPOND_CHAT_API_URL)??p(t.OPENPOND_GATEWAY_URL);return o||(p(e.apiBaseUrl)??p(t.OPENPOND_API_URL)??O)}r(M,"resolveOpChatApiBaseUrl");function W(e={}){return M(e)}r(W,"resolveHostedChatApiBaseUrl");function $(e){let t=e.trim();if(!t)throw new Error("OpenPond API key is required");return t}r($,"requireToken");function h(e,t,n){let o=new Headers;return o.set("Authorization",`Bearer ${$(e)}`),o.set("Content-Type","application/json"),o.set("Accept",t),o.set("x-openpond-client","openpond-code"),o.set("x-openpond-request-id",n||P()),o}r(h,"hostedHeaders");async function f(e){let t=await e.text().catch(()=>"");if(!t)return e.statusText||`HTTP ${e.status}`;try{let n=JSON.parse(t),o=typeof n.error=="string"||n.error&&typeof n.error=="object"&&!Array.isArray(n.error)?n.error:null,s=typeof n.code=="string"?n.code:o&&typeof o!="string"&&typeof o.code=="string"?o.code:null,i=typeof n.message=="string"?n.message:o&&typeof o!="string"&&typeof o.message=="string"?o.message:null,a=typeof o=="string"?o:o&&typeof o.type=="string"?o.type:null;return[s,a,i].filter(Boolean).join(": ")||t}catch{return t}}r(f,"readError");function b(e,t){let n={model:e.model,messages:e.messages,stream:t};typeof e.temperature=="number"&&(n.temperature=e.temperature),typeof e.maxTokens=="number"&&(n.max_tokens=e.maxTokens),e.tools&&(n.tools=e.tools);let o=e.toolChoice??e.tool_choice;return o!==void 0&&(n.tool_choice=o),e.metadata&&(n.metadata=e.metadata),n}r(b,"buildHostedChatBody");async function _(e){let n=`${g(e.apiBaseUrl)}/models`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted model list failed: ${o.status} ${await f(o)}`);return await o.json()}r(_,"listOpChatModels");async function C(e){let n=`${g(e.apiBaseUrl)}/models/${encodeURIComponent(e.model)}`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted model lookup failed: ${o.status} ${await f(o)}`);return await o.json()}r(C,"getOpChatModel");var F=_;async function A(e){let n=`${g(e.apiBaseUrl)}/providers`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted provider list failed: ${o.status} ${await f(o)}`);return await o.json()}r(A,"listOpChatProviders");async function Y(e){let n=`${g(e.apiBaseUrl)}/providers/${encodeURIComponent(e.provider)}`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted provider lookup failed: ${o.status} ${await f(o)}`);return await o.json()}r(Y,"getOpChatProvider");var V=A;async function k(e){let n=`${g(e.apiBaseUrl)}/chat/completions`,o=await fetch(n,{method:"POST",headers:h(e.token,"application/json",e.requestId),body:JSON.stringify(b(e,!1)),signal:e.signal});if(!o.ok)throw new Error(`Hosted chat failed: ${o.status} ${await f(o)}`);return await o.json()}r(k,"sendHostedChatTurn");async function*E(e,t){let n=e.getReader(),o=new TextDecoder,s="",i=r(()=>t?.reason instanceof Error?t.reason:new Error("hosted_chat_aborted"),"readAbortError");try{for(;;){if(t?.aborted)throw i();let a=await n.read();if(a.done)break;s+=o.decode(a.value,{stream:!0});let l=s.split(`
3
- `);s=l.pop()||"";for(let d of l){let c=d.trim();if(!c.startsWith("data:"))continue;let u=c.slice(5).trim();if(u){if(u==="[DONE]")return;yield JSON.parse(u)}}}}finally{try{n.releaseLock()}catch{}}}r(E,"parseOpenAISSE");async function*R(e){let n=`${g(e.apiBaseUrl)}/chat/completions`,o=await fetch(n,{method:"POST",headers:h(e.token,"text/event-stream",e.requestId),body:JSON.stringify(b(e,!0)),signal:e.signal});if(!o.ok||!o.body)throw new Error(`Hosted chat stream failed: ${o.status} ${await f(o)}`);for await(let s of E(o.body,e.signal)){let i=s;if(i.error)throw new Error(i.error.message||"Hosted chat stream error");i.usage&&(yield{type:"usage",usage:i.usage,raw:s});let a=i.choices?.[0];if(!a)continue;let l=a.delta?.content;l&&(yield{type:"text_delta",text:l,raw:s});let d=a.delta?.reasoning_content;d&&(yield{type:"reasoning_delta",text:d,raw:s});let c=a.delta?.tool_calls;Array.isArray(c)&&c.length>0&&(yield{type:"tool_call_delta",toolCalls:c,raw:s}),a.finish_reason!==void 0&&a.finish_reason!==null&&(yield{type:"finish",finishReason:a.finish_reason,raw:s})}}r(R,"streamHostedChatTurn");var q="openpond-chat",I="deepseek-v4-flash",D="not-a-real-opchat-model";async function Z(e){let t=e.defaultModel||q,n=e.compatibilityModel||I,o=e.invalidModel||D,s=e.log||(()=>{});s(`opchat base: ${e.apiBaseUrl}`);let a=(await _({apiBaseUrl:e.apiBaseUrl,token:e.token})).data.map(T=>T.id);v(a,t),v(a,n),s(`models: ${a.join(", ")}`);let l=await C({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t}),d=await C({apiBaseUrl:e.apiBaseUrl,token:e.token,model:n}),c=await N({apiBaseUrl:e.apiBaseUrl,token:e.token,model:o});s(`invalid model error: ${c}`);let u=H(t,await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t,messages:[{role:"user",content:"Reply with a short plain sentence confirming OpChat works."}],metadata:{source:"openpond-code-opchat-smoke",mode:"non_stream"}}));B(u,`${t} non-streaming response`),s(`${t} non-stream: id=${u.id??"unknown"} usage=${U(u.usage)}`);let m=e.skipStream?void 0:await j({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t});m&&s(`${t} stream: chunks=${m.textDeltaCount} finish=${m.finishReason??"none"} usage=${U(m.usage)}`);let w=H(n,await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:n,messages:[{role:"user",content:"Reply with one short sentence confirming compatibility."}],metadata:{source:"openpond-code-opchat-smoke",mode:"compatibility_non_stream"}}));B(w,`${n} non-streaming response`),s(`${n} non-stream: id=${w.id??"unknown"} usage=${U(w.usage)}`);let y=e.skipTool?void 0:await L({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t});return y&&s(`${t} tool: calls=${y.toolCallCount} names=${y.toolNames.join(",")}`),{apiBaseUrl:e.apiBaseUrl,listedModels:a,defaultModel:t,compatibilityModel:n,modelLookups:[l.id,d.id],invalidModelError:c,nonStreaming:u,compatibilityNonStreaming:w,...m?{streaming:m}:{},...y?{toolCalling:y}:{}}}r(Z,"runOpChatSmoke");async function N(e){try{await C(e)}catch(t){return t instanceof Error?t.message:String(t)}throw new Error(`expected invalid model ${e.model} to fail`)}r(N,"expectInvalidModel");async function j(e){let t=Date.now(),n=null,o="",s=0,i=null,a=null;for await(let l of R({apiBaseUrl:e.apiBaseUrl,token:e.token,model:e.model,messages:[{role:"user",content:"Reply with a short streamed sentence."}],metadata:{source:"openpond-code-opchat-smoke",mode:"stream"}}))l.type==="text_delta"?(n??=Date.now(),o+=l.text,s+=1):l.type==="finish"?i=l.finishReason:l.type==="usage"&&(a=l.usage);if(s===0||!o.trim())throw new Error("streaming response did not emit text deltas");if(!i)throw new Error("streaming response did not emit a terminal finish marker");return{model:e.model,textDeltaCount:s,textPreview:S(o),firstTextMs:n===null?null:n-t,totalMs:Date.now()-t,finishReason:i,usage:a}}r(j,"runStreamSmoke");async function L(e){let t=[{type:"function",function:{name:"get_current_weather",description:"Get the current weather for a city.",parameters:{type:"object",properties:{location:{type:"string",description:"City and region, for example Boston, MA."}},required:["location"]}}}],n=[{role:"user",content:"Use the get_current_weather tool for Boston, then wait for the result."}],s=(await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:e.model,messages:n,tools:t,toolChoice:"auto",metadata:{source:"openpond-code-opchat-smoke",mode:"tool_call"}})).choices?.[0],i=s?.message?.tool_calls??[];if(i.length===0)throw new Error("tool smoke did not receive an assistant tool call");let a=G(i),l=H(e.model,await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:e.model,messages:[...n,{role:"assistant",content:s?.message?.content??null,tool_calls:i},...a],metadata:{source:"openpond-code-opchat-smoke",mode:"tool_result"}}));return B(l,"tool follow-up response"),{model:e.model,toolCallCount:i.length,toolNames:i.map(d=>d.function?.name).filter(d=>!!d),finishReason:s?.finish_reason??null,followUp:l}}r(L,"runToolSmoke");function G(e){return e.map((t,n)=>{if(!t.id)throw new Error(`tool call ${n} is missing an id`);return{role:"tool",tool_call_id:t.id,content:JSON.stringify({location:"Boston, MA",temperature:"58 F",conditions:"clear"})}})}r(G,"buildToolResultMessages");function H(e,t){let n=t.choices?.[0];return{model:e,id:t.id??null,finishReason:n?.finish_reason??null,textPreview:S(n?.message?.content??""),usage:t.usage??null}}r(H,"summarizeCompletion");function v(e,t){if(!e.includes(t))throw new Error(`model list did not include ${t}`)}r(v,"requireModel");function B(e,t){if(!e.textPreview.trim())throw new Error(`${t} did not include assistant text`)}r(B,"requireText");function S(e,t=120){let n=e.replace(/\s+/g," ").trim();return n.length<=t?n:`${n.slice(0,t-1)}...`}r(S,"previewText");function U(e){return e?String(e.total_tokens??e.input_tokens??e.output_tokens??"unknown"):"none"}r(U,"formatUsage");export{M as a,W as b,_ as c,C as d,F as e,A as f,Y as g,V as h,k as i,R as j,Z as k};
2
+ import{c as B}from"./chunk-GLUWATL5.js";import{a as r}from"./chunk-FTQLQJQV.js";import{randomUUID as P}from"node:crypto";function g(e){let t=p(e);if(!t)throw new Error("apiBaseUrl is required");return t}r(g,"normalizeApiBaseUrl");function O(e){return e.replace(/\/+$/,"")}r(O,"trimTrailingSlashes");function p(e){let t=O(e?.trim()??"");return t?(t=t.replace(/\/chat\/completions$/i,"").replace(/\/models(?:\/[^/]+)?$/i,""),t.endsWith("/opchat/v1")?t:t.endsWith("/opchat")?`${t}/v1`:(t.endsWith("/v1")&&(t=t.slice(0,-3)),`${O(t)}/opchat/v1`)):null}r(p,"normalizeOptionalOpChatApiBaseUrl");function M(e={}){let t=e.env??(typeof process<"u"?process.env:{}),n=p(e.opChatApiBaseUrl)??p(t.OPENPOND_OPCHAT_API_URL);if(n)return n;let o=p(e.chatApiBaseUrl)??p(t.OPENPOND_CHAT_API_URL)??p(t.OPENPOND_GATEWAY_URL);return o||(p(e.apiBaseUrl)??p(t.OPENPOND_API_URL)??B)}r(M,"resolveOpChatApiBaseUrl");function W(e={}){return M(e)}r(W,"resolveHostedChatApiBaseUrl");function $(e){let t=e.trim();if(!t)throw new Error("OpenPond API key is required");return t}r($,"requireToken");function h(e,t,n){let o=new Headers;return o.set("Authorization",`Bearer ${$(e)}`),o.set("Content-Type","application/json"),o.set("Accept",t),o.set("x-openpond-client","openpond-code"),o.set("x-openpond-request-id",n||P()),o}r(h,"hostedHeaders");async function f(e){let t=await e.text().catch(()=>"");if(!t)return e.statusText||`HTTP ${e.status}`;try{let n=JSON.parse(t),o=typeof n.error=="string"||n.error&&typeof n.error=="object"&&!Array.isArray(n.error)?n.error:null,s=typeof n.code=="string"?n.code:o&&typeof o!="string"&&typeof o.code=="string"?o.code:null,i=typeof n.message=="string"?n.message:o&&typeof o!="string"&&typeof o.message=="string"?o.message:null,a=typeof o=="string"?o:o&&typeof o.type=="string"?o.type:null;return[s,a,i].filter(Boolean).join(": ")||t}catch{return t}}r(f,"readError");function b(e,t){let n={model:e.model,messages:e.messages,stream:t};typeof e.temperature=="number"&&(n.temperature=e.temperature),typeof e.maxTokens=="number"&&(n.max_tokens=e.maxTokens),e.reasoningEffort==="off"?n.thinking={type:"disabled"}:e.reasoningEffort&&(n.reasoning_effort=e.reasoningEffort),e.tools&&(n.tools=e.tools);let o=e.toolChoice??e.tool_choice;return o!==void 0&&(n.tool_choice=o),e.metadata&&(n.metadata=e.metadata),n}r(b,"buildHostedChatBody");async function _(e){let n=`${g(e.apiBaseUrl)}/models`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted model list failed: ${o.status} ${await f(o)}`);return await o.json()}r(_,"listOpChatModels");async function C(e){let n=`${g(e.apiBaseUrl)}/models/${encodeURIComponent(e.model)}`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted model lookup failed: ${o.status} ${await f(o)}`);return await o.json()}r(C,"getOpChatModel");var F=_;async function A(e){let n=`${g(e.apiBaseUrl)}/providers`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted provider list failed: ${o.status} ${await f(o)}`);return await o.json()}r(A,"listOpChatProviders");async function Y(e){let n=`${g(e.apiBaseUrl)}/providers/${encodeURIComponent(e.provider)}`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted provider lookup failed: ${o.status} ${await f(o)}`);return await o.json()}r(Y,"getOpChatProvider");var V=A;async function k(e){let n=`${g(e.apiBaseUrl)}/chat/completions`,o=await fetch(n,{method:"POST",headers:h(e.token,"application/json",e.requestId),body:JSON.stringify(b(e,!1)),signal:e.signal});if(!o.ok)throw new Error(`Hosted chat failed: ${o.status} ${await f(o)}`);return await o.json()}r(k,"sendHostedChatTurn");async function*E(e,t){let n=e.getReader(),o=new TextDecoder,s="",i=r(()=>t?.reason instanceof Error?t.reason:new Error("hosted_chat_aborted"),"readAbortError");try{for(;;){if(t?.aborted)throw i();let a=await n.read();if(a.done)break;s+=o.decode(a.value,{stream:!0});let l=s.split(`
3
+ `);s=l.pop()||"";for(let d of l){let c=d.trim();if(!c.startsWith("data:"))continue;let u=c.slice(5).trim();if(u){if(u==="[DONE]")return;yield JSON.parse(u)}}}}finally{try{n.releaseLock()}catch{}}}r(E,"parseOpenAISSE");async function*R(e){let n=`${g(e.apiBaseUrl)}/chat/completions`,o=await fetch(n,{method:"POST",headers:h(e.token,"text/event-stream",e.requestId),body:JSON.stringify(b(e,!0)),signal:e.signal});if(!o.ok||!o.body)throw new Error(`Hosted chat stream failed: ${o.status} ${await f(o)}`);for await(let s of E(o.body,e.signal)){let i=s;if(i.error)throw new Error(i.error.message||"Hosted chat stream error");i.usage&&(yield{type:"usage",usage:i.usage,raw:s});let a=i.choices?.[0];if(!a)continue;let l=a.delta?.content;l&&(yield{type:"text_delta",text:l,raw:s});let d=a.delta?.reasoning_content;d&&(yield{type:"reasoning_delta",text:d,raw:s});let c=a.delta?.tool_calls;Array.isArray(c)&&c.length>0&&(yield{type:"tool_call_delta",toolCalls:c,raw:s}),a.finish_reason!==void 0&&a.finish_reason!==null&&(yield{type:"finish",finishReason:a.finish_reason,raw:s})}}r(R,"streamHostedChatTurn");var q="openpond-chat",I="deepseek-v4-flash",D="not-a-real-opchat-model";async function Z(e){let t=e.defaultModel||q,n=e.compatibilityModel||I,o=e.invalidModel||D,s=e.log||(()=>{});s(`opchat base: ${e.apiBaseUrl}`);let a=(await _({apiBaseUrl:e.apiBaseUrl,token:e.token})).data.map(T=>T.id);v(a,t),v(a,n),s(`models: ${a.join(", ")}`);let l=await C({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t}),d=await C({apiBaseUrl:e.apiBaseUrl,token:e.token,model:n}),c=await N({apiBaseUrl:e.apiBaseUrl,token:e.token,model:o});s(`invalid model error: ${c}`);let u=H(t,await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t,messages:[{role:"user",content:"Reply with a short plain sentence confirming OpChat works."}],metadata:{source:"openpond-code-opchat-smoke",mode:"non_stream"}}));x(u,`${t} non-streaming response`),s(`${t} non-stream: id=${u.id??"unknown"} usage=${U(u.usage)}`);let m=e.skipStream?void 0:await j({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t});m&&s(`${t} stream: chunks=${m.textDeltaCount} finish=${m.finishReason??"none"} usage=${U(m.usage)}`);let w=H(n,await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:n,messages:[{role:"user",content:"Reply with one short sentence confirming compatibility."}],metadata:{source:"openpond-code-opchat-smoke",mode:"compatibility_non_stream"}}));x(w,`${n} non-streaming response`),s(`${n} non-stream: id=${w.id??"unknown"} usage=${U(w.usage)}`);let y=e.skipTool?void 0:await L({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t});return y&&s(`${t} tool: calls=${y.toolCallCount} names=${y.toolNames.join(",")}`),{apiBaseUrl:e.apiBaseUrl,listedModels:a,defaultModel:t,compatibilityModel:n,modelLookups:[l.id,d.id],invalidModelError:c,nonStreaming:u,compatibilityNonStreaming:w,...m?{streaming:m}:{},...y?{toolCalling:y}:{}}}r(Z,"runOpChatSmoke");async function N(e){try{await C(e)}catch(t){return t instanceof Error?t.message:String(t)}throw new Error(`expected invalid model ${e.model} to fail`)}r(N,"expectInvalidModel");async function j(e){let t=Date.now(),n=null,o="",s=0,i=null,a=null;for await(let l of R({apiBaseUrl:e.apiBaseUrl,token:e.token,model:e.model,messages:[{role:"user",content:"Reply with a short streamed sentence."}],metadata:{source:"openpond-code-opchat-smoke",mode:"stream"}}))l.type==="text_delta"?(n??=Date.now(),o+=l.text,s+=1):l.type==="finish"?i=l.finishReason:l.type==="usage"&&(a=l.usage);if(s===0||!o.trim())throw new Error("streaming response did not emit text deltas");if(!i)throw new Error("streaming response did not emit a terminal finish marker");return{model:e.model,textDeltaCount:s,textPreview:S(o),firstTextMs:n===null?null:n-t,totalMs:Date.now()-t,finishReason:i,usage:a}}r(j,"runStreamSmoke");async function L(e){let t=[{type:"function",function:{name:"get_current_weather",description:"Get the current weather for a city.",parameters:{type:"object",properties:{location:{type:"string",description:"City and region, for example Boston, MA."}},required:["location"]}}}],n=[{role:"user",content:"Use the get_current_weather tool for Boston, then wait for the result."}],s=(await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:e.model,messages:n,tools:t,toolChoice:"auto",metadata:{source:"openpond-code-opchat-smoke",mode:"tool_call"}})).choices?.[0],i=s?.message?.tool_calls??[];if(i.length===0)throw new Error("tool smoke did not receive an assistant tool call");let a=G(i),l=H(e.model,await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:e.model,messages:[...n,{role:"assistant",content:s?.message?.content??null,tool_calls:i},...a],metadata:{source:"openpond-code-opchat-smoke",mode:"tool_result"}}));return x(l,"tool follow-up response"),{model:e.model,toolCallCount:i.length,toolNames:i.map(d=>d.function?.name).filter(d=>!!d),finishReason:s?.finish_reason??null,followUp:l}}r(L,"runToolSmoke");function G(e){return e.map((t,n)=>{if(!t.id)throw new Error(`tool call ${n} is missing an id`);return{role:"tool",tool_call_id:t.id,content:JSON.stringify({location:"Boston, MA",temperature:"58 F",conditions:"clear"})}})}r(G,"buildToolResultMessages");function H(e,t){let n=t.choices?.[0];return{model:e,id:t.id??null,finishReason:n?.finish_reason??null,textPreview:S(n?.message?.content??""),usage:t.usage??null}}r(H,"summarizeCompletion");function v(e,t){if(!e.includes(t))throw new Error(`model list did not include ${t}`)}r(v,"requireModel");function x(e,t){if(!e.textPreview.trim())throw new Error(`${t} did not include assistant text`)}r(x,"requireText");function S(e,t=120){let n=e.replace(/\s+/g," ").trim();return n.length<=t?n:`${n.slice(0,t-1)}...`}r(S,"previewText");function U(e){return e?String(e.total_tokens??e.input_tokens??e.output_tokens??"unknown"):"none"}r(U,"formatUsage");export{M as a,W as b,_ as c,C as d,F as e,A as f,Y as g,V as h,k as i,R as j,Z as k};
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{f as S}from"./chunk-3M53YXEI.js";import{a as o}from"./chunk-FTQLQJQV.js";import{readFileSync as j}from"node:fs";import k from"node:path";function P(){let t=["../../../package.json","../../package.json","../package.json","./package.json","../../../../package.json"];for(let n of t)try{let s=new URL(n,import.meta.url),i=j(s,"utf-8"),r=JSON.parse(i);if(typeof r.version=="string")return r.version}catch{}try{let n=j(k.join(k.dirname(process.execPath),"package.json"),"utf-8"),s=JSON.parse(n);if(typeof s.version=="string")return s.version}catch{}return"unknown"}o(P,"getInstalledCliVersion");function I(t){let n=/^v?(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/.exec(t.trim());if(!n)return null;let s=Number.parseInt(n[1],10),i=Number.parseInt(n[2],10),r=Number.parseInt(n[3],10);return!Number.isFinite(s)||!Number.isFinite(i)||!Number.isFinite(r)?null:[s,i,r]}o(I,"parseSemver");function X(t,n){let s=I(t),i=I(n);if(!s||!i)return null;for(let r=0;r<3;r+=1){if(s[r]<i[r])return-1;if(s[r]>i[r])return 1}return 0}o(X,"compareSemver");async function Y(t){let n=new AbortController,s=setTimeout(()=>n.abort(),7e3);try{let i=await fetch(`https://registry.npmjs.org/${encodeURIComponent(t)}/latest`,{signal:n.signal});if(!i.ok){let d=await i.text().catch(()=>"");throw new Error(`npm registry request failed: ${i.status} ${d}`.trim())}let r=await i.json().catch(()=>({}));if(typeof r.version!="string"||r.version.trim().length===0)throw new Error("npm registry payload missing version");return r.version.trim()}finally{clearTimeout(s)}}o(Y,"fetchLatestNpmVersion");var a="boolean",m="integer",l="json",g="number",e="string",O={agent:e,approvalPolicy:e,cwd:e,json:a,maxOutputBytes:m,message:e,messageFile:e,model:e,noServerStart:a,nonInteractive:a,project:e,provider:e,resume:e,sandbox:e,server:e,stdin:a,timeoutSec:m,yes:a},x={access:e,agentId:e,all:a,artifactPaths:e,async:a,authHeader:e,authHeaderValue:e,authToken:e,autoStart:a,baseRef:e,branch:e,budget:g,budgetUsd:g,cleanup:a,cols:m,command:e,content:e,contentBase64:e,contents:e,contentsBase64:e,cpu:g,create:a,description:e,diskGb:g,dockerBuildArgs:l,dockerRegistrySecretRefs:e,dockerfile:e,dockerfileContext:e,dockerfileTarget:e,domain:e,env:e,environment:e,envLiteral:e,envName:e,envRef:e,expectedMppMode:e,expectedVersion:m,failOnUnpreservedChanges:a,ffOnly:a,forceWithLease:a,fork:a,fromPath:e,idempotencyKey:e,idleTimeoutSeconds:m,image:e,imageDigest:e,input:e,inputBase64:e,integrationCapabilities:e,integrationConnection:e,integrationScopes:e,intervalMs:m,json:a,keep:a,label:e,leaseId:e,lifecycleHint:l,manifestPath:e,maxDurationSeconds:m,maxEntries:g,maxResults:g,memoryGb:g,message:e,name:e,noPreview:a,overwrite:a,params:l,path:e,paths:e,payload:l,port:m,preview:a,projectId:e,publish:a,q:e,query:e,rebase:a,recursive:a,registrySecretRef:e,remote:e,replayState:e,repo:e,respondAsync:a,rows:m,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProfileId:e,runtimeProjectId:e,runtimePromotionPolicy:e,runtimeWorkspaceRoot:e,sandboxId:e,scope:e,since:m,snapshot:a,snapshotId:e,sourceProjectId:e,sourceRepoUrl:e,sourceSandboxId:e,startPoint:e,status:e,stdin:a,summary:a,tag:e,tags:e,targetId:e,targetType:e,teamId:e,templateName:e,templateVersion:e,templateVisibility:e,timeoutSeconds:m,toPath:e,type:e,useCase:e,validationCommand:e,value:e,version:e,volumeDeleteOnSandboxDelete:a,volumeMountPath:e,volumeName:e,volumeStorageGb:g,workflowMode:e},A={action:e,agentId:e,budget:g,budgetUsd:g,build:e,branch:e,commit:a,commitMessage:e,description:e,dir:e,disableSchedule:e,disableSchedules:e,enableSchedule:e,enableSchedules:e,entrypoint:e,env:l,envRef:e,file:e,force:a,idleTimeoutSeconds:m,inherit:a,input:l,inputFile:e,inputFiles:e,inputJson:l,inputs:l,json:a,keepTokenRemote:a,manifest:e,maxDurationSeconds:m,name:e,noPush:a,noWrite:a,out:e,outDir:e,output:e,outputDir:e,params:l,path:e,plan:e,projectId:e,repo:e,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProjectId:e,runtimePromotionPolicy:e,scheduleMode:e,scheduleOverride:l,scheduleOverrides:l,schedules:e,service:e,setRemoteToken:a,setupTimeoutSeconds:m,target:e,teamId:e,timeoutSeconds:m,token:e,workflowMode:e,yes:a},T={branch:e,commitMessage:e,defaultBranch:e,description:e,gitOwner:e,gitRepo:e,internalRepoPath:e,json:a,name:e,path:e,projectId:e,repo:e,sourceCheckDispatch:e,sourceType:e,teamId:e,templateRepoUrl:e},E={agentId:e,agentEdit:l,allowLatestSource:a,allowedActions:e,attachmentsJson:l,baseSha:e,chatMode:e,checkKind:e,conversationId:e,cwd:e,dispatch:e,entrypointName:e,entrypointScope:e,expectedManifestHash:e,evalStatus:e,expectedSourceCommitSha:e,idempotencyKey:e,input:l,inputFile:e,json:a,limit:m,message:e,metadata:l,name:e,path:e,payload:l,projectId:e,prompt:e,provider:e,publishedSnapshotId:e,ref:e,requirePublishedSnapshot:a,requiredEnv:e,requiredIntegrations:e,runtimePromotionPolicy:e,runtimeSourceMode:e,sourceCheckDispatch:e,sourceMode:e,sourceRef:e,status:e,targetProjectId:e,teamId:e,triggerType:e,workflowMode:e};var b={account:"string",apiBaseUrl:"string",apiBaseurl:"string",baseUrl:"string",baseurl:"string",chatApiBaseUrl:"string",chatApiBaseurl:"string",checkUpdate:"boolean",cwd:"string",help:"boolean",home:"string",json:"boolean",profile:"string",sandboxApiUrl:"string",sandboxApiurl:"string",tui:"boolean",version:"boolean"},ae={C:"cwd",f:"force",h:"help",j:"json",v:"version",y:"yes"},B={cwd:"string",input:"json",inputFile:"string",json:"boolean",path:"string"},C=[{name:"home",usage:"openpond home [--home <directory>]",optionSchema:{},handler:o(async()=>console.log((await import("./dist-5C6RYTQQ.js")).resolveOpenPondHome()),"handler")},{name:"config",usage:"openpond config <get|set|unset|path|validate|schema|doctor|migrate|recover|restart-migration|revisions|replace|effective|trust|untrust|export|backup|restore|collect-orphans|clear-cache> [key] [value] [--home <directory>] [--json]",optionSchema:{keyPath:"json",value:"string",file:"string",project:"boolean",revision:"string",expectedRevision:"string",sourceAppHome:"string",sourceConfig:"string",sourceBrowserState:"string",dryRun:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./configuration-command-VGYAJAKN.js")).runConfigurationCommand(t,n),"handler")},{name:"help",usage:"openpond help",optionSchema:{},handler:o(async()=>(await import("./help-DZBHIKVE.js")).printHelp(),"handler")},{name:"version",usage:"openpond version",optionSchema:{},handler:o(()=>console.log(P()),"handler")},{name:"check-update",usage:"openpond check-update",optionSchema:{},handler:o(async()=>(await import("./core-commands-QQNCA4WQ.js")).runCheckUpdate(),"handler")},{name:"login",usage:"openpond login [--base-url <url>]",optionSchema:b,handler:o(async({options:t})=>(await import("./core-commands-QQNCA4WQ.js")).runLogin(t),"handler")},{name:"init",usage:"openpond init [--path <dir>] [--profile <name>] [--template <name>] [--force] [--json]",optionSchema:{...b,force:"boolean",path:"string",template:"string"},handler:o(async({options:t})=>(await import("./profile-ESJFHPYC.js")).runOpenPondInitCommand(t),"handler")},{name:"profile",usage:"openpond profile <current|init|load|check|push|commit|diff|catalog>",optionSchema:{checkKind:"string",conversationId:"string",ensureHosted:"boolean",expectedManifestHash:"string",force:"boolean",hostedCheckKind:"string",hostedRunAgentId:"string",hostedRunConversationId:"string",hostedRunIdempotencyKey:"string",hostedRunInput:"json",hostedRunRetry:"boolean",hostedRunTargetProjectId:"string",hostedSourceDispatch:"string",hostedSourceAgentId:"string",hostedSourceChecks:"boolean",hostedSourceProjectId:"string",json:"boolean",kind:"string",path:"string",publishHostedSource:"boolean",teamId:"string"},handler:o(async({options:t,rest:n})=>(await import("./profile-ESJFHPYC.js")).runOpenPondProfileCommand(t,n),"handler")},{name:"agents",usage:"openpond agents [--json]",optionSchema:{json:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./profile-ESJFHPYC.js")).runOpenPondAgentsCommand(t,n),"handler")},{name:"actions",usage:"openpond actions <check|build|run|dev|publish> [action-id] [--cwd DIR] [--input JSON|--input-file PATH]",optionSchema:{apiKey:"string",baseUrl:"string",cwd:"string",input:"string",inputFile:"string",json:"boolean",outputDirectory:"string",sourceDirectory:"string",sourceCommitSha:"string",sourceRef:"string",projectId:"string",teamId:"string",timeoutMs:"integer"},handler:o(async({options:t,rest:n})=>(await import("./actions-command-NOCBOF5S.js")).runProjectActionsCommand(t,n),"handler")},...K(),{name:"extension",usage:"openpond extension <add|preview|list|inspect|update|remove> [owner/repo]",usages:["openpond extension add <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update --all [--json]","openpond extension remove <owner/repo> [--json]"],optionSchema:{all:"boolean",json:"boolean",ref:"string"},handler:o(async({options:t,rest:n})=>(await import("./extension-IQW2KDT6.js")).runOpenPondExtensionCommand(t,n),"handler")},{name:"profiles",usage:"openpond profiles [args]",optionSchema:{json:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./core-commands-QQNCA4WQ.js")).runProfiles(t,n),"handler")},{name:"account",usage:"openpond account",optionSchema:{json:"boolean"},handler:o(async()=>(await import("./core-commands-QQNCA4WQ.js")).runAccount(),"handler")},{name:"health",usage:"openpond health",optionSchema:{json:"boolean"},handler:o(async({options:t})=>(await import("./core-commands-QQNCA4WQ.js")).runHealth(t),"handler")},{name:"app-server",usage:"openpond app-server [--home DIR]",optionSchema:{home:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-GLXYIT4B.js")).runOpenPondServerCommand("app-server",t,n),"handler")},{name:"serve",usage:"openpond serve [args]",optionSchema:{host:"string",hostname:"string",listen:"string",port:"integer"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-GLXYIT4B.js")).runOpenPondServerCommand("serve",t,n),"handler")},{name:"ui",usage:"openpond ui [--no-open] [--hostname HOST] [--port PORT]",optionSchema:{host:"string",hostname:"string",listen:"string",noOpen:"boolean",port:"integer",webRoot:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-GLXYIT4B.js")).runOpenPondServerCommand("web",t,n),"handler")},{name:"tui",aliases:["interactive"],usage:"openpond tui [--provider <id>] [--model <id>] [--project <id>]",optionSchema:{cwd:"string",model:"string",noServerStart:"boolean",project:"string",provider:"string",server:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-GLXYIT4B.js")).runOpenPondTerminalCommand(t,n),"handler")},{name:"chat",usage:"openpond chat (--message-file <path>|--message <text>|--stdin) --non-interactive [--provider <id>] [--model <id>] [--agent <id>] [--project <id>] [--resume <session-id>] [--yes] [--approval-policy <policy>] [--json] [--timeout-sec <n>] [--max-output-bytes <n>] [--sandbox <mode>]",optionSchema:O,handler:o(async({options:t,rest:n})=>(await import("./app-layer-GLXYIT4B.js")).runOpenPondTerminalCommand(t,n),"handler")},{name:"tool",usage:"openpond tool <list|run> <handle>/<repo> [args]",optionSchema:{body:"json",json:"boolean"},handler:F},{name:"backtest",usage:"openpond backtest <run|events|get> <handle>/<repo> [args]",optionSchema:{body:"json",branch:"string",deploymentId:"string",limit:"integer",runId:"string"},handler:$},{name:"deploy",usage:"openpond deploy watch <handle>/<repo> [--branch <branch>]",optionSchema:{branch:"string"},handler:G},{name:"template",usage:"openpond template <status|branches|update> <handle>/<repo> [--env preview|production]",optionSchema:{env:"string"},handler:J},{name:"sandbox-template",usage:"openpond sandbox-template <command> [args]",optionSchema:A,handler:o(async({options:t,rest:n})=>(await import("./sandbox-template-SM62NUMJ.js")).runSandboxTemplateCommand(t,n),"handler")},{name:"repo",usage:"openpond repo <create|push> [--name <name>] [--path <dir>] [--branch <branch>]",optionSchema:{branch:"string",name:"string",path:"string"},handler:V},{name:"organizations",aliases:["organization"],usage:"openpond organizations <login|list|use|logout|whoami> [args]",optionSchema:{accessToken:"string",arguments:"json",callbackPort:"integer",clientId:"string",customDomain:"string",displayName:"string",email:"string",env:"string",environment:"string",json:"boolean",name:"string",open:"boolean",origin:"string",primaryContactEmail:"string",printToken:"boolean",resourceUrl:"string",role:"string",scope:"string",scopes:"string",slug:"string",status:"string",timeout:"integer",timeoutSeconds:"integer",tool:"string",toolName:"string",toolset:"string",url:"string"},handler:o(async({options:t,rest:n})=>(await import("./organizations-LAUKUPDF.js")).runOrganizationsCommand(t,n),"handler")},{name:"project",usage:"openpond project <list|create|upsert|get|update|sync|source-upload|archive> [args]",optionSchema:T,handler:o(async({options:t,rest:n})=>(await import("./project-agent-CPQP4ZY6.js")).runProjectCommand(t,n),"handler")},{name:"agent",usage:"openpond agent <inspect|build|validate|eval|traces|list|create|upsert|get|update|run|run-test|bind-source|source|archive> [args]",usages:["openpond agent run <action> [--cwd <project>] [--input <json>]","openpond agent run <agentId> --team-id <id> [--conversation-id <id>] [--target-project-id <projectId>] [--input <json>]","openpond agent source checks <agentId> --team-id <id> [--check-kind <kind>]","openpond agent source publish <agentId> --team-id <id> [--expected-manifest-hash <hash>]"],optionSchema:E,handler:o(async({options:t,rest:n})=>(await import("./project-agent-CPQP4ZY6.js")).runAgentCommand(t,n),"handler")},{name:"desktop-test",usage:"openpond desktop-test <run|attach> <scenario...> [--isolated|--attach|--packaged|--none] [--app <path>] [--artifacts-dir <path>] [--json <path>]",optionSchema:{artifactsDir:"string",attach:"boolean",cwd:"string",devtoolsPort:"integer",grep:"string",isolated:"boolean",json:"string",jsonPath:"string",keepHome:"boolean",none:"boolean",server:"string",timeoutMs:"integer",token:"string",tokenFile:"string"},handler:o(async({options:t,rest:n})=>(await import("./desktop-test-BMDAEN6Z.js")).runDesktopTestCommand(t,n),"handler")},{name:"sandbox",usage:"openpond sandbox <command> [args]",optionSchema:x,handler:o(async({options:t,rest:n})=>(await import("./sandbox-command-W6NWHFAR.js")).runSandboxCommand(t,n),"handler")},{name:"continual",usage:"openpond continual <init|validate|run|report> [manifest-or-series-id]",usages:["openpond continual init --from <tasks.jsonl> [--output <continual-support.yaml>] [--non-interactive]","openpond continual validate <continual-support.yaml> [--json]","openpond continual run <continual-support.yaml> [--api-base-url <url>] [--json]","openpond continual report <comparison-series-id> [--output <report.json>] [--json]"],optionSchema:{apiBaseUrl:"string",commit:"string",correctionCasesPerFamily:"integer",correctionSelection:"string",description:"string",from:"string",grader:"string",id:"string",json:"boolean",license:"string",name:"string",nonInteractive:"boolean",output:"string",repository:"string",seed:"string",semanticSimilarityThreshold:"number"},handler:o(async({options:t,rest:n})=>(await import("./continual-6EW2SLGL.js")).runContinualCommand(t,n),"handler")},{name:"training",usage:"openpond training <create-project|start|status|watch|logs|cancel|resume|artifacts|benchmark> <taskset-id|model-run-id|run-id|model-id>",usages:["openpond training create-project <taskset-id> --recipe <path> [--project-id <id>] [--profile <id>] [--name <name>] [--objective <text>] [--destination <id>] [--rollout-placement <local|remote>] [--gpu-placement-objective <fast|balanced|economical>] [--run-preset <preset>] [--max-spend <usd>] [--retention-days <days>] [--json]","openpond training start <model-project-id> [--comparison-series-entry <entry-id>] [--manifest <path>] [--yes] [--export-approved] [--max-spend <usd>] [--retention-days <days>] [--detach] [--json]","openpond training status <run-id> [--json]","openpond training watch <run-id> [--interval-ms <ms>] [--json]","openpond training logs <run-id> [--json]","openpond training cancel <run-id> [--json]","openpond training resume <model-run-id> [--json]","openpond training artifacts <run-id> [--json]","openpond training benchmark <model-id> [--provider <id>] [--model <id>] [--reasoning-effort <level>] [--max-spend <usd>] [--json]"],optionSchema:{apiBaseUrl:"string",comparisonSeriesEntry:"string",detach:"boolean",destination:"string",exportApproved:"boolean",gpuPlacementObjective:"string",intervalMs:"integer",json:"boolean",manifest:"string",maxSpend:"number",model:"string",name:"string",objective:"string",profile:"string",projectId:"string",provider:"string",recipe:"string",reasoningEffort:"string",retentionDays:"integer",rolloutPlacement:"string",runPreset:"string",yes:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./training-7PST5HZU.js")).runTrainingCommand(t,n),"handler")},{name:"taskset",usage:"openpond taskset <import|publish|readiness|delete-draft> <package-path|draft-id|taskset-id> [--profile <id>] [--model <id>] [--json]",usages:["openpond taskset import <package-directory|taskset.json> [--profile <id>] [--json]","openpond taskset publish <draft-id> [--model <id>] [--json]","openpond taskset readiness <taskset-id> [--json]","openpond taskset delete-draft <draft-id> [--json]"],optionSchema:{apiBaseUrl:"string",json:"boolean",model:"string",profile:"string"},handler:o(async({options:t,rest:n})=>(await import("./taskset-YPKY3HUM.js")).runTasksetCommand(t,n),"handler")},{name:"opchat",usage:"openpond opchat <command> [args]",optionSchema:{compatModel:"string",compatibilityModel:"string",env:"string",environment:"string",json:"boolean",message:"string",model:"string",opchatApiBaseUrl:"string",opchatApiUrl:"string",prompt:"string",skipStream:"boolean",skipTool:"boolean",stream:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./opchat-BSTDLB7O.js")).runOpChatCommand(t,n),"handler")},{name:"teams-bot",usage:"openpond teams-bot <command> [args]",optionSchema:{json:"boolean",teamId:"string"},handler:o(async({options:t,rest:n})=>(await import("./teams-bot-6LEMA4OH.js")).runTeamsBotCommand(t,n),"handler")},{name:"apps",usage:"openpond apps <list|code-visibility|tools|deploy|env get|env set|performance|summary|assistant|agent create> [args]",optionSchema:{appId:"string",body:"json",env:"json",json:"boolean",limit:"integer",refresh:"boolean",teamId:"string",watch:"boolean"},handler:q},{name:"opentool",usage:"openpond opentool <init|validate|build> [args]",optionSchema:{},handler:o(async({rest:t})=>(await import("./core-commands-QQNCA4WQ.js")).runOpentool(t),"handler")}],y=new Map;for(let t of C){y.set(t.name,t);for(let n of t.aliases??[])y.set(n,t)}function re(){return C}o(re,"listCliCommandDefinitions");function w(t){return y.get(t)??null}o(w,"getCliCommandDefinition");function ie(t,n){return w(t||"ui")?.optionSchema[n]??b[n]}o(ie,"getCliOptionKind");function se(t){let n=b[t];if(n)return n;for(let s of C){let i=s.optionSchema[t];if(i)return i}}o(se,"getAnyCliOptionKind");async function pe(t){let n=w(t.command);return n?S(t.options.help)?(L(n),!0):(await n.handler(t),!0):!1}o(pe,"runCliCommand");function H(t){let n=["Usage:",` ${t.usage}`,...(t.usages??[]).map(i=>` ${i}`)];t.aliases?.length&&n.push("","Aliases:",` ${t.aliases.join(", ")}`);let s=Object.entries(t.optionSchema).sort(([i],[r])=>i.localeCompare(r));if(s.length>0){n.push("","Options:");for(let[i,r]of s){let d=U(i);n.push(r==="boolean"?` --${d}`:` --${d} <${r}>`)}}return n.join(`
3
- `)}o(H,"formatCliCommandUsage");function L(t){console.log(H(t))}o(L,"printCliCommandUsage");function U(t){return t.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`)}o(U,"cliOptionName");function K(){return["inspect","build","validate","eval","run"].map(n=>({name:n,usage:`openpond ${n} [args]`,optionSchema:B,handler:o(async({options:s,rest:i})=>(await import("./profile-ESJFHPYC.js")).runOpenPondProfileSdkAlias(n,s,i),"handler")}))}o(K,"profileSdkAliasDefinitions");async function F({options:t,rest:n}){let{runToolList:s,runToolRun:i}=await import("./core-commands-QQNCA4WQ.js"),r=n[0];if(r==="list"){let d=n[1];if(!d)throw new Error("usage: tool list <handle>/<repo>");await s(t,d);return}if(r==="run"){let d=n[1],c=n[2];if(!d||!c)throw new Error("usage: tool run <handle>/<repo> <tool> [--body <json>]");await i(t,d,c);return}throw new Error("usage: tool <list|run> <handle>/<repo> [args]")}o(F,"runToolCommand");async function $({options:t,rest:n}){let{runBacktestRun:s}=await import("./core-commands-QQNCA4WQ.js"),{runBacktestEvents:i,runBacktestGet:r}=await import("./apps-YSWZT656.js"),d=n[0]||"run";if(d==="run"){let c=n[1],f=n[2];if(!c||!f)throw new Error("usage: backtest run <handle>/<repo> <tool> [--body <json>] [--branch <branch>] [--deployment-id <id>]");await s(t,c,f);return}if(d==="events"){let c=n[1];if(!c)throw new Error("usage: backtest events <handle>/<repo> [--run-id <id>] [--limit <n>]");await i(t,c);return}if(d==="get"){let c=n[1];if(!c)throw new Error("usage: backtest get <handle>/<repo> --run-id <id>");await r(t,c);return}throw new Error("usage: backtest <run|events|get> <handle>/<repo> [args]")}o($,"runBacktestCommand");async function G({options:t,rest:n}){let{runDeployWatch:s}=await import("./core-commands-QQNCA4WQ.js");if((n[0]||"watch")!=="watch")throw new Error("usage: deploy watch <handle>/<repo> [--branch <branch>]");let r=n[1];if(!r)throw new Error("usage: deploy watch <handle>/<repo> [--branch <branch>]");await s(t,r)}o(G,"runDeployCommand");async function J({options:t,rest:n}){let{runTemplateBranches:s,runTemplateStatus:i,runTemplateUpdate:r}=await import("./core-commands-QQNCA4WQ.js"),d=n[0]||"status",c=n[1];if(!c)throw new Error("usage: template <status|branches|update> <handle>/<repo> [--env preview|production]");if(d==="status"){await i(t,c);return}if(d==="branches"){await s(t,c);return}if(d==="update"){await r(t,c);return}throw new Error("usage: template <status|branches|update> <handle>/<repo> [--env preview|production]")}o(J,"runTemplateCommand");async function V({options:t,rest:n}){let{runRepoCreate:s,runRepoPush:i}=await import("./core-commands-QQNCA4WQ.js"),r=n[0]||"create";if(r==="create"){await s(t,n.slice(1));return}if(r==="push"){await i(t);return}throw new Error("usage: repo <create|push> [--name <name>] [--path <dir>] [--branch <branch>]")}o(V,"runRepoCommand");async function q({options:t,rest:n}){let{runAppsAgentCreate:s,runAppsAssistant:i,runAppsCodeVisibility:r,runAppsDeploy:d,runAppsEnvGet:c,runAppsEnvSet:f,runAppsList:R,runAppsPerformance:N,runAppsSummary:M,runAppsTools:_,runAppsToolsExecute:D}=await import("./apps-YSWZT656.js"),u=n[0];if(u==="list"){await R(t);return}if(u==="code-visibility"){let p=n[1];if(!p)throw new Error("usage: apps code-visibility <handle>/<repo> --visibility public|private");await r(t,p);return}if(u==="tools"){if(n[1]==="execute"){let p=n[2],h=n[3],v=n[4];if(!p||!h||!v)throw new Error("usage: apps tools execute <appId> <deploymentId> <tool> [--body <json>]");await D(t,p,h,v);return}await _();return}if(u==="deploy"){let p=n[1];if(!p)throw new Error("usage: apps deploy <handle>/<repo> [--env preview|production] [--watch]");await d(t,p);return}if(u==="env"&&n[1]==="get"){let p=n[2];if(!p)throw new Error("usage: apps env get <handle>/<repo>");await c(t,p);return}if(u==="env"&&n[1]==="set"){let p=n[2];if(!p)throw new Error("usage: apps env set <handle>/<repo> --env <json>");await f(t,p);return}if(u==="performance"){await N(t);return}if(u==="summary"){let p=n[1];if(!p)throw new Error("usage: apps summary <handle>/<repo>");await M(t,p);return}if(u==="assistant"){let p=n[1],h=n[2];if(p!=="plan"&&p!=="performance"||!h)throw new Error("usage: apps assistant <plan|performance> <handle>/<repo> --prompt <text>");await i(t,p,h,n.slice(3));return}if(u==="agent"&&n[1]==="create"){await s(t,n.slice(2));return}throw new Error("usage: apps <list|code-visibility|tools|deploy|env get|env set|performance|summary|assistant|agent create> [args]")}o(q,"runAppsCommand");export{P as a,X as b,Y as c,b as d,ae as e,re as f,w as g,ie as h,se as i,pe as j,H as k};
2
+ import{f as S}from"./chunk-3M53YXEI.js";import{a as o}from"./chunk-FTQLQJQV.js";import{readFileSync as j}from"node:fs";import k from"node:path";function P(){let t=["../../../package.json","../../package.json","../package.json","./package.json","../../../../package.json"];for(let n of t)try{let s=new URL(n,import.meta.url),i=j(s,"utf-8"),r=JSON.parse(i);if(typeof r.version=="string")return r.version}catch{}try{let n=j(k.join(k.dirname(process.execPath),"package.json"),"utf-8"),s=JSON.parse(n);if(typeof s.version=="string")return s.version}catch{}return"unknown"}o(P,"getInstalledCliVersion");function I(t){let n=/^v?(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/.exec(t.trim());if(!n)return null;let s=Number.parseInt(n[1],10),i=Number.parseInt(n[2],10),r=Number.parseInt(n[3],10);return!Number.isFinite(s)||!Number.isFinite(i)||!Number.isFinite(r)?null:[s,i,r]}o(I,"parseSemver");function X(t,n){let s=I(t),i=I(n);if(!s||!i)return null;for(let r=0;r<3;r+=1){if(s[r]<i[r])return-1;if(s[r]>i[r])return 1}return 0}o(X,"compareSemver");async function Y(t){let n=new AbortController,s=setTimeout(()=>n.abort(),7e3);try{let i=await fetch(`https://registry.npmjs.org/${encodeURIComponent(t)}/latest`,{signal:n.signal});if(!i.ok){let d=await i.text().catch(()=>"");throw new Error(`npm registry request failed: ${i.status} ${d}`.trim())}let r=await i.json().catch(()=>({}));if(typeof r.version!="string"||r.version.trim().length===0)throw new Error("npm registry payload missing version");return r.version.trim()}finally{clearTimeout(s)}}o(Y,"fetchLatestNpmVersion");var a="boolean",m="integer",l="json",g="number",e="string",O={agent:e,approvalPolicy:e,cwd:e,json:a,maxOutputBytes:m,message:e,messageFile:e,model:e,noServerStart:a,nonInteractive:a,project:e,provider:e,resume:e,sandbox:e,server:e,stdin:a,timeoutSec:m,yes:a},x={access:e,agentId:e,all:a,artifactPaths:e,async:a,authHeader:e,authHeaderValue:e,authToken:e,autoStart:a,baseRef:e,branch:e,budget:g,budgetUsd:g,cleanup:a,cols:m,command:e,content:e,contentBase64:e,contents:e,contentsBase64:e,cpu:g,create:a,description:e,diskGb:g,dockerBuildArgs:l,dockerRegistrySecretRefs:e,dockerfile:e,dockerfileContext:e,dockerfileTarget:e,domain:e,env:e,environment:e,envLiteral:e,envName:e,envRef:e,expectedMppMode:e,expectedVersion:m,failOnUnpreservedChanges:a,ffOnly:a,forceWithLease:a,fork:a,fromPath:e,idempotencyKey:e,idleTimeoutSeconds:m,image:e,imageDigest:e,input:e,inputBase64:e,integrationCapabilities:e,integrationConnection:e,integrationScopes:e,intervalMs:m,json:a,keep:a,label:e,leaseId:e,lifecycleHint:l,manifestPath:e,maxDurationSeconds:m,maxEntries:g,maxResults:g,memoryGb:g,message:e,name:e,noPreview:a,overwrite:a,params:l,path:e,paths:e,payload:l,port:m,preview:a,projectId:e,publish:a,q:e,query:e,rebase:a,recursive:a,registrySecretRef:e,remote:e,replayState:e,repo:e,respondAsync:a,rows:m,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProfileId:e,runtimeProjectId:e,runtimePromotionPolicy:e,runtimeWorkspaceRoot:e,sandboxId:e,scope:e,since:m,snapshot:a,snapshotId:e,sourceProjectId:e,sourceRepoUrl:e,sourceSandboxId:e,startPoint:e,status:e,stdin:a,summary:a,tag:e,tags:e,targetId:e,targetType:e,teamId:e,templateName:e,templateVersion:e,templateVisibility:e,timeoutSeconds:m,toPath:e,type:e,useCase:e,validationCommand:e,value:e,version:e,volumeDeleteOnSandboxDelete:a,volumeMountPath:e,volumeName:e,volumeStorageGb:g,workflowMode:e},A={action:e,agentId:e,budget:g,budgetUsd:g,build:e,branch:e,commit:a,commitMessage:e,description:e,dir:e,disableSchedule:e,disableSchedules:e,enableSchedule:e,enableSchedules:e,entrypoint:e,env:l,envRef:e,file:e,force:a,idleTimeoutSeconds:m,inherit:a,input:l,inputFile:e,inputFiles:e,inputJson:l,inputs:l,json:a,keepTokenRemote:a,manifest:e,maxDurationSeconds:m,name:e,noPush:a,noWrite:a,out:e,outDir:e,output:e,outputDir:e,params:l,path:e,plan:e,projectId:e,repo:e,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProjectId:e,runtimePromotionPolicy:e,scheduleMode:e,scheduleOverride:l,scheduleOverrides:l,schedules:e,service:e,setRemoteToken:a,setupTimeoutSeconds:m,target:e,teamId:e,timeoutSeconds:m,token:e,workflowMode:e,yes:a},T={branch:e,commitMessage:e,defaultBranch:e,description:e,gitOwner:e,gitRepo:e,internalRepoPath:e,json:a,name:e,path:e,projectId:e,repo:e,sourceCheckDispatch:e,sourceType:e,teamId:e,templateRepoUrl:e},E={agentId:e,agentEdit:l,allowLatestSource:a,allowedActions:e,attachmentsJson:l,baseSha:e,chatMode:e,checkKind:e,conversationId:e,cwd:e,dispatch:e,entrypointName:e,entrypointScope:e,expectedManifestHash:e,evalStatus:e,expectedSourceCommitSha:e,idempotencyKey:e,input:l,inputFile:e,json:a,limit:m,message:e,metadata:l,name:e,path:e,payload:l,projectId:e,prompt:e,provider:e,publishedSnapshotId:e,ref:e,requirePublishedSnapshot:a,requiredEnv:e,requiredIntegrations:e,runtimePromotionPolicy:e,runtimeSourceMode:e,sourceCheckDispatch:e,sourceMode:e,sourceRef:e,status:e,targetProjectId:e,teamId:e,triggerType:e,workflowMode:e};var b={account:"string",apiBaseUrl:"string",apiBaseurl:"string",baseUrl:"string",baseurl:"string",chatApiBaseUrl:"string",chatApiBaseurl:"string",checkUpdate:"boolean",cwd:"string",help:"boolean",home:"string",json:"boolean",profile:"string",sandboxApiUrl:"string",sandboxApiurl:"string",tui:"boolean",version:"boolean"},ae={C:"cwd",f:"force",h:"help",j:"json",v:"version",y:"yes"},B={cwd:"string",input:"json",inputFile:"string",json:"boolean",path:"string"},C=[{name:"home",usage:"openpond home [--home <directory>]",optionSchema:{},handler:o(async()=>console.log((await import("./dist-XCT2G25K.js")).resolveOpenPondHome()),"handler")},{name:"config",usage:"openpond config <get|set|unset|path|validate|schema|doctor|migrate|recover|restart-migration|revisions|replace|effective|trust|untrust|export|backup|restore|collect-orphans|clear-cache> [key] [value] [--home <directory>] [--json]",optionSchema:{keyPath:"json",value:"string",file:"string",project:"boolean",revision:"string",expectedRevision:"string",sourceAppHome:"string",sourceConfig:"string",sourceBrowserState:"string",dryRun:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./configuration-command-IHUB6BBM.js")).runConfigurationCommand(t,n),"handler")},{name:"help",usage:"openpond help",optionSchema:{},handler:o(async()=>(await import("./help-5MKQV36D.js")).printHelp(),"handler")},{name:"version",usage:"openpond version",optionSchema:{},handler:o(()=>console.log(P()),"handler")},{name:"check-update",usage:"openpond check-update",optionSchema:{},handler:o(async()=>(await import("./core-commands-F2HIN7V4.js")).runCheckUpdate(),"handler")},{name:"login",usage:"openpond login [--base-url <url>]",optionSchema:b,handler:o(async({options:t})=>(await import("./core-commands-F2HIN7V4.js")).runLogin(t),"handler")},{name:"init",usage:"openpond init [--path <dir>] [--profile <name>] [--template <name>] [--force] [--json]",optionSchema:{...b,force:"boolean",path:"string",template:"string"},handler:o(async({options:t})=>(await import("./profile-EMVJ5DJQ.js")).runOpenPondInitCommand(t),"handler")},{name:"profile",usage:"openpond profile <current|init|load|check|push|commit|diff|catalog>",optionSchema:{checkKind:"string",conversationId:"string",ensureHosted:"boolean",expectedManifestHash:"string",force:"boolean",hostedCheckKind:"string",hostedRunAgentId:"string",hostedRunConversationId:"string",hostedRunIdempotencyKey:"string",hostedRunInput:"json",hostedRunRetry:"boolean",hostedRunTargetProjectId:"string",hostedSourceDispatch:"string",hostedSourceAgentId:"string",hostedSourceChecks:"boolean",hostedSourceProjectId:"string",json:"boolean",kind:"string",path:"string",publishHostedSource:"boolean",teamId:"string"},handler:o(async({options:t,rest:n})=>(await import("./profile-EMVJ5DJQ.js")).runOpenPondProfileCommand(t,n),"handler")},{name:"agents",usage:"openpond agents [--json]",optionSchema:{json:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./profile-EMVJ5DJQ.js")).runOpenPondAgentsCommand(t,n),"handler")},{name:"actions",usage:"openpond actions <check|build|run|dev|publish> [action-id] [--cwd DIR] [--input JSON|--input-file PATH]",optionSchema:{apiKey:"string",baseUrl:"string",cwd:"string",input:"string",inputFile:"string",json:"boolean",outputDirectory:"string",sourceDirectory:"string",sourceCommitSha:"string",sourceRef:"string",projectId:"string",teamId:"string",timeoutMs:"integer"},handler:o(async({options:t,rest:n})=>(await import("./actions-command-6LFZFTLA.js")).runProjectActionsCommand(t,n),"handler")},...K(),{name:"extension",usage:"openpond extension <add|preview|list|inspect|update|remove> [owner/repo]",usages:["openpond extension add <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update --all [--json]","openpond extension remove <owner/repo> [--json]"],optionSchema:{all:"boolean",json:"boolean",ref:"string"},handler:o(async({options:t,rest:n})=>(await import("./extension-D7IYZW7H.js")).runOpenPondExtensionCommand(t,n),"handler")},{name:"profiles",usage:"openpond profiles [args]",optionSchema:{json:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./core-commands-F2HIN7V4.js")).runProfiles(t,n),"handler")},{name:"account",usage:"openpond account",optionSchema:{json:"boolean"},handler:o(async()=>(await import("./core-commands-F2HIN7V4.js")).runAccount(),"handler")},{name:"health",usage:"openpond health",optionSchema:{json:"boolean"},handler:o(async({options:t})=>(await import("./core-commands-F2HIN7V4.js")).runHealth(t),"handler")},{name:"app-server",usage:"openpond app-server [--home DIR]",optionSchema:{home:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-ZZHTHTJU.js")).runOpenPondServerCommand("app-server",t,n),"handler")},{name:"serve",usage:"openpond serve [args]",optionSchema:{host:"string",hostname:"string",listen:"string",port:"integer"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-ZZHTHTJU.js")).runOpenPondServerCommand("serve",t,n),"handler")},{name:"ui",usage:"openpond ui [--no-open] [--hostname HOST] [--port PORT]",optionSchema:{host:"string",hostname:"string",listen:"string",noOpen:"boolean",port:"integer",webRoot:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-ZZHTHTJU.js")).runOpenPondServerCommand("web",t,n),"handler")},{name:"tui",aliases:["interactive"],usage:"openpond tui [--provider <id>] [--model <id>] [--project <id>]",optionSchema:{cwd:"string",model:"string",noServerStart:"boolean",project:"string",provider:"string",server:"string"},handler:o(async({options:t,rest:n})=>(await import("./app-layer-ZZHTHTJU.js")).runOpenPondTerminalCommand(t,n),"handler")},{name:"chat",usage:"openpond chat (--message-file <path>|--message <text>|--stdin) --non-interactive [--provider <id>] [--model <id>] [--agent <id>] [--project <id>] [--resume <session-id>] [--yes] [--approval-policy <policy>] [--json] [--timeout-sec <n>] [--max-output-bytes <n>] [--sandbox <mode>]",optionSchema:O,handler:o(async({options:t,rest:n})=>(await import("./app-layer-ZZHTHTJU.js")).runOpenPondTerminalCommand(t,n),"handler")},{name:"tool",usage:"openpond tool <list|run> <handle>/<repo> [args]",optionSchema:{body:"json",json:"boolean"},handler:F},{name:"backtest",usage:"openpond backtest <run|events|get> <handle>/<repo> [args]",optionSchema:{body:"json",branch:"string",deploymentId:"string",limit:"integer",runId:"string"},handler:$},{name:"deploy",usage:"openpond deploy watch <handle>/<repo> [--branch <branch>]",optionSchema:{branch:"string"},handler:G},{name:"template",usage:"openpond template <status|branches|update> <handle>/<repo> [--env preview|production]",optionSchema:{env:"string"},handler:J},{name:"sandbox-template",usage:"openpond sandbox-template <command> [args]",optionSchema:A,handler:o(async({options:t,rest:n})=>(await import("./sandbox-template-RYKWTBW7.js")).runSandboxTemplateCommand(t,n),"handler")},{name:"repo",usage:"openpond repo <create|push> [--name <name>] [--path <dir>] [--branch <branch>]",optionSchema:{branch:"string",name:"string",path:"string"},handler:V},{name:"organizations",aliases:["organization"],usage:"openpond organizations <login|list|use|logout|whoami> [args]",optionSchema:{accessToken:"string",arguments:"json",callbackPort:"integer",clientId:"string",customDomain:"string",displayName:"string",email:"string",env:"string",environment:"string",json:"boolean",name:"string",open:"boolean",origin:"string",primaryContactEmail:"string",printToken:"boolean",resourceUrl:"string",role:"string",scope:"string",scopes:"string",slug:"string",status:"string",timeout:"integer",timeoutSeconds:"integer",tool:"string",toolName:"string",toolset:"string",url:"string"},handler:o(async({options:t,rest:n})=>(await import("./organizations-DIRGTVK5.js")).runOrganizationsCommand(t,n),"handler")},{name:"project",usage:"openpond project <list|create|upsert|get|update|sync|source-upload|archive> [args]",optionSchema:T,handler:o(async({options:t,rest:n})=>(await import("./project-agent-4QC7N3MB.js")).runProjectCommand(t,n),"handler")},{name:"agent",usage:"openpond agent <inspect|build|validate|eval|traces|list|create|upsert|get|update|run|run-test|bind-source|source|archive> [args]",usages:["openpond agent run <action> [--cwd <project>] [--input <json>]","openpond agent run <agentId> --team-id <id> [--conversation-id <id>] [--target-project-id <projectId>] [--input <json>]","openpond agent source checks <agentId> --team-id <id> [--check-kind <kind>]","openpond agent source publish <agentId> --team-id <id> [--expected-manifest-hash <hash>]"],optionSchema:E,handler:o(async({options:t,rest:n})=>(await import("./project-agent-4QC7N3MB.js")).runAgentCommand(t,n),"handler")},{name:"desktop-test",usage:"openpond desktop-test <run|attach> <scenario...> [--isolated|--attach|--packaged|--none] [--app <path>] [--artifacts-dir <path>] [--json <path>]",optionSchema:{artifactsDir:"string",attach:"boolean",cwd:"string",devtoolsPort:"integer",grep:"string",isolated:"boolean",json:"string",jsonPath:"string",keepHome:"boolean",none:"boolean",server:"string",timeoutMs:"integer",token:"string",tokenFile:"string"},handler:o(async({options:t,rest:n})=>(await import("./desktop-test-BFFUGVRS.js")).runDesktopTestCommand(t,n),"handler")},{name:"sandbox",usage:"openpond sandbox <command> [args]",optionSchema:x,handler:o(async({options:t,rest:n})=>(await import("./sandbox-command-L263BBOL.js")).runSandboxCommand(t,n),"handler")},{name:"continual",usage:"openpond continual <init|validate|run|report> [manifest-or-series-id]",usages:["openpond continual init --from <tasks.jsonl> [--output <continual-support.yaml>] [--non-interactive]","openpond continual validate <continual-support.yaml> [--json]","openpond continual run <continual-support.yaml> [--api-base-url <url>] [--json]","openpond continual report <comparison-series-id> [--output <report.json>] [--json]"],optionSchema:{apiBaseUrl:"string",commit:"string",correctionCasesPerFamily:"integer",correctionSelection:"string",description:"string",from:"string",grader:"string",id:"string",json:"boolean",license:"string",name:"string",nonInteractive:"boolean",output:"string",repository:"string",seed:"string",semanticSimilarityThreshold:"number"},handler:o(async({options:t,rest:n})=>(await import("./continual-6EW2SLGL.js")).runContinualCommand(t,n),"handler")},{name:"training",usage:"openpond training <create-project|start|status|watch|logs|cancel|resume|artifacts|benchmark> <taskset-id|model-run-id|run-id|model-id>",usages:["openpond training create-project <taskset-id> --recipe <path> [--project-id <id>] [--profile <id>] [--name <name>] [--objective <text>] [--destination <id>] [--rollout-placement <local|remote>] [--gpu-placement-objective <fast|balanced|economical>] [--run-preset <preset>] [--max-spend <usd>] [--retention-days <days>] [--json]","openpond training start <model-project-id> [--comparison-series-entry <entry-id>] [--manifest <path>] [--yes] [--export-approved] [--max-spend <usd>] [--retention-days <days>] [--detach] [--json]","openpond training status <run-id> [--json]","openpond training watch <run-id> [--interval-ms <ms>] [--json]","openpond training logs <run-id> [--json]","openpond training cancel <run-id> [--json]","openpond training resume <model-run-id> [--json]","openpond training artifacts <run-id> [--json]","openpond training benchmark <model-id> [--provider <id>] [--model <id>] [--reasoning-effort <level>] [--max-spend <usd>] [--json]"],optionSchema:{apiBaseUrl:"string",comparisonSeriesEntry:"string",detach:"boolean",destination:"string",exportApproved:"boolean",gpuPlacementObjective:"string",intervalMs:"integer",json:"boolean",manifest:"string",maxSpend:"number",model:"string",name:"string",objective:"string",profile:"string",projectId:"string",provider:"string",recipe:"string",reasoningEffort:"string",retentionDays:"integer",rolloutPlacement:"string",runPreset:"string",yes:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./training-7PST5HZU.js")).runTrainingCommand(t,n),"handler")},{name:"taskset",usage:"openpond taskset <import|publish|readiness|delete-draft> <package-path|draft-id|taskset-id> [--profile <id>] [--model <id>] [--json]",usages:["openpond taskset import <package-directory|taskset.json> [--profile <id>] [--json]","openpond taskset publish <draft-id> [--model <id>] [--json]","openpond taskset readiness <taskset-id> [--json]","openpond taskset delete-draft <draft-id> [--json]"],optionSchema:{apiBaseUrl:"string",json:"boolean",model:"string",profile:"string"},handler:o(async({options:t,rest:n})=>(await import("./taskset-YPKY3HUM.js")).runTasksetCommand(t,n),"handler")},{name:"opchat",usage:"openpond opchat <command> [args]",optionSchema:{compatModel:"string",compatibilityModel:"string",env:"string",environment:"string",effort:"string",json:"boolean",message:"string",model:"string",opchatApiBaseUrl:"string",opchatApiUrl:"string",prompt:"string",skipStream:"boolean",skipTool:"boolean",stream:"boolean"},handler:o(async({options:t,rest:n})=>(await import("./opchat-XO7EDHY7.js")).runOpChatCommand(t,n),"handler")},{name:"teams-bot",usage:"openpond teams-bot <command> [args]",optionSchema:{json:"boolean",teamId:"string"},handler:o(async({options:t,rest:n})=>(await import("./teams-bot-NIZB6DOY.js")).runTeamsBotCommand(t,n),"handler")},{name:"apps",usage:"openpond apps <list|code-visibility|tools|deploy|env get|env set|performance|summary|assistant|agent create> [args]",optionSchema:{appId:"string",body:"json",env:"json",json:"boolean",limit:"integer",refresh:"boolean",teamId:"string",watch:"boolean"},handler:q},{name:"opentool",usage:"openpond opentool <init|validate|build> [args]",optionSchema:{},handler:o(async({rest:t})=>(await import("./core-commands-F2HIN7V4.js")).runOpentool(t),"handler")}],y=new Map;for(let t of C){y.set(t.name,t);for(let n of t.aliases??[])y.set(n,t)}function re(){return C}o(re,"listCliCommandDefinitions");function w(t){return y.get(t)??null}o(w,"getCliCommandDefinition");function ie(t,n){return w(t||"ui")?.optionSchema[n]??b[n]}o(ie,"getCliOptionKind");function se(t){let n=b[t];if(n)return n;for(let s of C){let i=s.optionSchema[t];if(i)return i}}o(se,"getAnyCliOptionKind");async function pe(t){let n=w(t.command);return n?S(t.options.help)?(L(n),!0):(await n.handler(t),!0):!1}o(pe,"runCliCommand");function H(t){let n=["Usage:",` ${t.usage}`,...(t.usages??[]).map(i=>` ${i}`)];t.aliases?.length&&n.push("","Aliases:",` ${t.aliases.join(", ")}`);let s=Object.entries(t.optionSchema).sort(([i],[r])=>i.localeCompare(r));if(s.length>0){n.push("","Options:");for(let[i,r]of s){let d=U(i);n.push(r==="boolean"?` --${d}`:` --${d} <${r}>`)}}return n.join(`
3
+ `)}o(H,"formatCliCommandUsage");function L(t){console.log(H(t))}o(L,"printCliCommandUsage");function U(t){return t.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`)}o(U,"cliOptionName");function K(){return["inspect","build","validate","eval","run"].map(n=>({name:n,usage:`openpond ${n} [args]`,optionSchema:B,handler:o(async({options:s,rest:i})=>(await import("./profile-EMVJ5DJQ.js")).runOpenPondProfileSdkAlias(n,s,i),"handler")}))}o(K,"profileSdkAliasDefinitions");async function F({options:t,rest:n}){let{runToolList:s,runToolRun:i}=await import("./core-commands-F2HIN7V4.js"),r=n[0];if(r==="list"){let d=n[1];if(!d)throw new Error("usage: tool list <handle>/<repo>");await s(t,d);return}if(r==="run"){let d=n[1],c=n[2];if(!d||!c)throw new Error("usage: tool run <handle>/<repo> <tool> [--body <json>]");await i(t,d,c);return}throw new Error("usage: tool <list|run> <handle>/<repo> [args]")}o(F,"runToolCommand");async function $({options:t,rest:n}){let{runBacktestRun:s}=await import("./core-commands-F2HIN7V4.js"),{runBacktestEvents:i,runBacktestGet:r}=await import("./apps-C2BMJ7DO.js"),d=n[0]||"run";if(d==="run"){let c=n[1],f=n[2];if(!c||!f)throw new Error("usage: backtest run <handle>/<repo> <tool> [--body <json>] [--branch <branch>] [--deployment-id <id>]");await s(t,c,f);return}if(d==="events"){let c=n[1];if(!c)throw new Error("usage: backtest events <handle>/<repo> [--run-id <id>] [--limit <n>]");await i(t,c);return}if(d==="get"){let c=n[1];if(!c)throw new Error("usage: backtest get <handle>/<repo> --run-id <id>");await r(t,c);return}throw new Error("usage: backtest <run|events|get> <handle>/<repo> [args]")}o($,"runBacktestCommand");async function G({options:t,rest:n}){let{runDeployWatch:s}=await import("./core-commands-F2HIN7V4.js");if((n[0]||"watch")!=="watch")throw new Error("usage: deploy watch <handle>/<repo> [--branch <branch>]");let r=n[1];if(!r)throw new Error("usage: deploy watch <handle>/<repo> [--branch <branch>]");await s(t,r)}o(G,"runDeployCommand");async function J({options:t,rest:n}){let{runTemplateBranches:s,runTemplateStatus:i,runTemplateUpdate:r}=await import("./core-commands-F2HIN7V4.js"),d=n[0]||"status",c=n[1];if(!c)throw new Error("usage: template <status|branches|update> <handle>/<repo> [--env preview|production]");if(d==="status"){await i(t,c);return}if(d==="branches"){await s(t,c);return}if(d==="update"){await r(t,c);return}throw new Error("usage: template <status|branches|update> <handle>/<repo> [--env preview|production]")}o(J,"runTemplateCommand");async function V({options:t,rest:n}){let{runRepoCreate:s,runRepoPush:i}=await import("./core-commands-F2HIN7V4.js"),r=n[0]||"create";if(r==="create"){await s(t,n.slice(1));return}if(r==="push"){await i(t);return}throw new Error("usage: repo <create|push> [--name <name>] [--path <dir>] [--branch <branch>]")}o(V,"runRepoCommand");async function q({options:t,rest:n}){let{runAppsAgentCreate:s,runAppsAssistant:i,runAppsCodeVisibility:r,runAppsDeploy:d,runAppsEnvGet:c,runAppsEnvSet:f,runAppsList:R,runAppsPerformance:N,runAppsSummary:M,runAppsTools:_,runAppsToolsExecute:D}=await import("./apps-C2BMJ7DO.js"),u=n[0];if(u==="list"){await R(t);return}if(u==="code-visibility"){let p=n[1];if(!p)throw new Error("usage: apps code-visibility <handle>/<repo> --visibility public|private");await r(t,p);return}if(u==="tools"){if(n[1]==="execute"){let p=n[2],h=n[3],v=n[4];if(!p||!h||!v)throw new Error("usage: apps tools execute <appId> <deploymentId> <tool> [--body <json>]");await D(t,p,h,v);return}await _();return}if(u==="deploy"){let p=n[1];if(!p)throw new Error("usage: apps deploy <handle>/<repo> [--env preview|production] [--watch]");await d(t,p);return}if(u==="env"&&n[1]==="get"){let p=n[2];if(!p)throw new Error("usage: apps env get <handle>/<repo>");await c(t,p);return}if(u==="env"&&n[1]==="set"){let p=n[2];if(!p)throw new Error("usage: apps env set <handle>/<repo> --env <json>");await f(t,p);return}if(u==="performance"){await N(t);return}if(u==="summary"){let p=n[1];if(!p)throw new Error("usage: apps summary <handle>/<repo>");await M(t,p);return}if(u==="assistant"){let p=n[1],h=n[2];if(p!=="plan"&&p!=="performance"||!h)throw new Error("usage: apps assistant <plan|performance> <handle>/<repo> --prompt <text>");await i(t,p,h,n.slice(3));return}if(u==="agent"&&n[1]==="create"){await s(t,n.slice(2));return}throw new Error("usage: apps <list|code-visibility|tools|deploy|env get|env set|performance|summary|assistant|agent create> [args]")}o(q,"runAppsCommand");export{P as a,X as b,Y as c,b as d,ae as e,re as f,w as g,ie as h,se as i,pe as j,H as k};
@@ -0,0 +1,6 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{Y as Pe,a as pe,b as fe,d as me,e as q,f as L,g as he,h as ye,i as Ae,j as ge}from"./chunk-MVAJMRCW.js";import{d as N,e as B}from"./chunk-MJC26GOX.js";import{$ as oe,H as te,z as de}from"./chunk-IFP6W4OW.js";import{a}from"./chunk-FTQLQJQV.js";import{randomUUID as qe}from"node:crypto";var Re=new URL(B).hostname,we=new URL(N).hostname,Ne=`${B}/opchat/v1`;function l(e){if(!e)return null;let n=e.trim();return n?n.replace(/\/+$/,""):null}a(l,"normalizeBaseUrl");function V(e){let n=l(e);if(!n)return null;try{let o=new URL(n).hostname.toLowerCase();if(o===Re)return B;if(o===we||o===`www.${we}`||o==="openpond.live"||o==="www.openpond.live")return B;if(o.startsWith("api."))return n}catch{return null}return null}a(V,"mapUiBaseToApiBase");function G(e,n){let t=l(process.env.OPENPOND_API_URL);if(t)return t;let o=l(e?.apiBaseUrl);if(o)return o;let r=l(n.apiBaseUrl);if(r)return r;let s=V(process.env.OPENPOND_BASE_URL);return s||(V(e?.baseUrl||n.baseUrl)??B)}a(G,"resolvePublicApiBaseUrl");function J(e,n,t){return Le(e,n,t)}a(J,"resolveHostedChatApiBaseUrl");function Le(e,n,t){let o=typeof process<"u"?process.env:{};return W(o.OPENPOND_OPCHAT_API_URL)??W(e?.chatApiBaseUrl??n.chatApiBaseUrl)??W(o.OPENPOND_CHAT_API_URL)??De(t)}a(Le,"resolveOpChatApiBaseUrl");function W(e){let n=l(e);if(!n)return null;try{let t=new URL(n),o=t.pathname.split("/").filter(Boolean),r=o.findIndex(i=>i.toLowerCase()==="opchat");return r>=0?(t.pathname=`/${[...o.slice(0,r+1),"v1"].join("/")}`,t.search="",t.hash="",l(t.toString())??null):o.findIndex(i=>i.toLowerCase()==="v1")>=0?(t.pathname="/opchat/v1",t.search="",t.hash="",l(t.toString())??null):(t.pathname=`${t.pathname.replace(/\/+$/,"")}/opchat/v1`.replace(/\/{2,}/g,"/"),t.search="",t.hash="",l(t.toString())??null)}catch{return null}}a(W,"normalizeOpChatApiBaseUrl");function De(e){return W(e)??Ne}a(De,"opChatBaseFromPublicApiBase");function D(e){return e?.trim()?e.trim():"production"}a(D,"deriveEnvironment");function Y(e,n=process.env){let t=[e?.apiKey,e?.session?.token,e?.token,n.OPENPOND_API_KEY];for(let o of t){let r=typeof o=="string"?o.trim():"";if(r)return r}return null}a(Y,"accountToken");function P(e,n){return!!(e&&n&&e.toLowerCase()===n.toLowerCase())}a(P,"handleEquals");function b(e,n){return l(e)===l(n)}a(b,"baseUrlEquals");function F(e,n){return`${e?.trim().toLowerCase()||""}|${l(n)??"default"}`}a(F,"profileKey");function Q(e){return l(e?.baseUrl)}a(Q,"selectorBaseUrl");function _(e){let n=l(e.baseUrl);return n?{handle:e.handle,baseUrl:n}:{handle:e.handle}}a(_,"selectorFromAccount");function A(e){let n=typeof e?.handle=="string"?e.handle.trim():"";if(!n)return null;let t=l(e?.baseUrl);return t?{handle:n,baseUrl:t}:{handle:n}}a(A,"normalizeActiveProfile");function U(e,n){if(!P(e.handle,n.handle))return!1;let t=Q(n);return t?b(e.baseUrl,t):!l(e.baseUrl)}a(U,"accountMatchesSelector");function re(e,n){if(!P(e.handle,n.handle))return!1;let t=Q(n);return t?b(e.baseUrl,t):!l(e.baseUrl)}a(re,"profileMatchesSelector");function Oe(e,n,t){let o=Array.isArray(e.accounts)?e.accounts:[],r=n||process.env.OPENPOND_ACCOUNT?A({handle:n||process.env.OPENPOND_ACCOUNT||"",baseUrl:t??process.env.OPENPOND_BASE_URL??null}):A(e.activeProfile);if(r){let s=o.find(c=>U(c,r));if(s)return s;let i=o.filter(c=>P(c.handle,r.handle));return i.length===1?i[0]??null:null}return o[0]?o[0]:null}a(Oe,"findActiveAccount");function xe(e){let n=Array.isArray(e.accounts)?e.accounts:[],t=A(e.activeProfile)??(n[0]?_(n[0]):null);return ae(n.map(o=>({handle:o.handle,baseUrl:l(o.baseUrl),apiBaseUrl:l(o.apiBaseUrl),chatApiBaseUrl:l(o.chatApiBaseUrl),environment:D(o.environment),isActive:t?U(o,t):!1,hasApiKey:!!o.apiKey?.trim(),hasSessionToken:!!(o.session?.token?.trim()||o.token?.trim()),sessionAppId:o.session?.appId??null,sessionConversationId:o.session?.conversationId??null})))}a(xe,"fallbackProfilesFromConfig");function ae(e){let n=new Map;for(let t of e){let o=l(t.baseUrl),r=`${t.handle.toLowerCase()}|${o??"default"}`,s={...t,baseUrl:o,apiBaseUrl:l(t.apiBaseUrl),chatApiBaseUrl:l(t.chatApiBaseUrl),environment:D(t.environment),isActive:t.isActive},i=n.get(r);(!i||s.isActive&&!i.isActive||s.hasApiKey&&!i.hasApiKey)&&n.set(r,s)}return Array.from(n.values())}a(ae,"normalizeProfiles");function be(e){return e.hasApiKey||e.hasSessionToken?"signed_in":"signed_out"}a(be,"profileAuthHealth");function $e(e,n){return e?{reachable:e.reachable,authenticated:e.authenticated,apiBase:e.apiBase||n,latencyMs:e.latencyMs,status:e.status,service:e.service,checkedAt:e.checkedAt,error:e.error??null}:null}a($e,"normalizeHealth");function Ue(e){let n=e?.account;return n?{id:n.id??null,email:n.email??null,name:n.name??null,handle:n.handle??null,image:n.image??null,timezone:n.timezone??null,isAdmin:n.isAdmin??null,isVerified:n.isVerified??null,dailyAgentAppId:n.dailyAgentAppId??null,dailyAgentDeploymentId:n.dailyAgentDeploymentId??null,credits:n.credits??null}:null}a(Ue,"normalizeProfile");function He(e){return(e??[]).map(n=>({...n,id:n.id||n.userProductId||n.openPondProductId||n.name,name:n.name,type:n.type,status:n.status,isActive:n.isActive??null,price:n.price??null,currency:n.currency??null,credits:n.credits??null}))}a(He,"normalizeProducts");function Me(e){return e.handle.trim().toLowerCase()==="default"&&!l(e.baseUrl)&&!e.hasApiKey&&!e.hasSessionToken}a(Me,"isEmptyDefaultProfile");function ze(e){let n=e?.trim();return n?n.length>=12?`\u2022\u2022\u2022\u2022\u2022\u2022${n.slice(-6)}`:"\u2022\u2022\u2022\u2022\u2022\u2022":null}a(ze,"apiKeyHint");function Fe(e){return e?.auth?.authType!=="openpond-api-key"||!e.auth.keyAccess?null:{ownerType:e.auth.keyAccess.ownerType,teamId:e.auth.keyAccess.teamId,scopes:e.auth.scopes}}a(Fe,"apiKeyAccess");function X(e){let{config:n,profiles:t,account:o,token:r,apiBaseUrl:s,accountResponse:i,accountProfiles:c,health:m,authFailed:g,error:f}=e,w=J(o,n,s),h=Ue(i??null),C=A(n.activeProfile),v=(o?_(o):null)??C,O=h?.handle||o?.handle||v?.handle||null,I=(v?t.find(d=>re(d,v)):null)??t.find(d=>d.isActive)??null,y=g?"auth_error":r?"signed_in":"signed_out",u=h?.name||h?.handle||h?.email||O||"Signed out",T=l(I?.baseUrl||o?.baseUrl||N),k=D(I?.environment||o?.environment),x=A(v)??(O?A({handle:O,baseUrl:I?.baseUrl??o?.baseUrl}):null),M=(t.length>0?t:O?[{handle:O,baseUrl:Q(x)??l(o?.baseUrl),apiBaseUrl:s,chatApiBaseUrl:w,environment:k,isActive:!0,hasApiKey:!!r,hasSessionToken:!1,sessionAppId:null,sessionConversationId:null}]:[]).filter(d=>!Me(d));return{state:y,activeProfile:x,label:u,email:h?.email??null,avatarUrl:h?.image??null,environment:k,baseUrl:T,apiBaseUrl:s,chatApiBaseUrl:w,creditsLabel:h?.credits??null,profile:h,products:He(i?.products),apiHealth:$e(m??null,s),accounts:M.map(d=>{let R=l(d.baseUrl),Te=n.accounts?.find(ue=>P(ue.handle,d.handle)&&b(ue.baseUrl,R)),ne=c?.[F(d.handle,R)]??null,z=Ue(ne?.response??null);return{handle:d.handle,baseUrl:R,apiBaseUrl:l(d.apiBaseUrl),chatApiBaseUrl:l(d.chatApiBaseUrl),environment:D(d.environment),isActive:x?re(d,x):!1,authHealth:ne?.authFailed?"auth_error":be(d),displayLabel:z?.name||z?.handle||z?.email||d.handle,email:z?.email??null,avatarUrl:z?.image??null,apiKeyHint:ze(Te?.apiKey),apiKeyAccess:Fe(ne?.response??null)}}),error:f??m?.error??null}}a(X,"toAccountState");async function je(e){try{return ae(await ye())}catch{return xe(e)}}a(je,"loadProfiles");async function p(e,n){let t=await he(),o=await je(t),r=Oe(t,e,n),s=Y(r),i=G(r,t),c=J(r,t,i);return{config:t,profiles:o,account:r,token:s,apiBaseUrl:i,chatApiBaseUrl:c,accountState:X({config:t,profiles:o,account:r,token:s,apiBaseUrl:i})}}a(p,"loadOpenPondAccountContext");async function Ke(e){let n=l(e.baseUrl);return await Ae(e.handle,{baseUrl:n}),p(e.handle,n)}a(Ke,"switchOpenPondAccount");function $(e){return e instanceof Error?e.message:String(e)}a($,"errorMessage");var We=15e3;function Ve(e){return e===oe?"OpenPond Chat":e==="deepseek-v4-flash"?"DeepSeek V4 Flash":e.replace(/[-_/]+/g," ")}a(Ve,"displayNameForHostedModel");function Ge(e){let n=typeof e.id=="string"?e.id:null;return n?{id:n,displayName:Ve(n),ownedBy:typeof e.owned_by=="string"?e.owned_by:null,streaming:!0,raw:e}:null}a(Ge,"normalizeHostedModel");async function Je(){let e=await p();if(!e.token)return{models:[],error:"No OpenPond API key or session token is configured."};try{return{models:(await Xe({apiBaseUrl:e.chatApiBaseUrl,token:e.token})).data.map(o=>Ge(o)).filter(o=>!!o),error:null}}catch(n){return{models:[],error:$(n)}}}a(Je,"loadOpenPondHostedModels");async function Ye(){let e=await p();if(!e.token)return{catalog:null,error:"No OpenPond API key or session token is configured."};let n=new AbortController,t=setTimeout(()=>{n.abort(new Error("OpenPond provider catalog request timed out."))},We);try{return{catalog:await Ee({apiBaseUrl:e.chatApiBaseUrl,token:e.token,signal:n.signal}),error:null}}catch(o){return{catalog:null,error:$(o)}}finally{clearTimeout(t)}}a(Ye,"loadOpenPondProviderCatalog");async function*Qe(e){let n=await p();if(!n.token)throw new Error("OpenPond is signed out. Add an account in Settings before using OpenPond Chat.");yield*ve({apiBaseUrl:n.chatApiBaseUrl,token:n.token,model:e.model||oe,messages:e.messages,tools:e.tools,toolChoice:e.toolChoice,requestId:e.requestId,reasoningEffort:e.reasoningEffort,maxTokens:e.maxTokens,temperature:e.temperature,topP:e.topP,signal:e.signal})}a(Qe,"streamOpenPondHostedChatTurn");async function Xe(e){let n=se(e.apiBaseUrl,"models"),t=await fetch(n,{method:"GET",headers:ie(e.token,"application/json"),signal:e.signal});if(!t.ok)throw new Error(`OpenPond OpChat model list failed: ${t.status} ${await le(t)}`);return await t.json()}a(Xe,"listOpChatModels");async function Ee(e){let n=se(e.apiBaseUrl,"provider-catalog"),t=await fetch(n,{method:"GET",headers:ie(e.token,"application/json"),signal:e.signal});if(!t.ok)throw new Error(`OpenPond OpChat provider catalog failed: ${t.status} ${await le(t)}`);let o=await t.json();return!o||typeof o!="object"||!Array.isArray(o.providers)?te.parse(o):te.parse({...o,providers:o.providers.filter(r=>r!==null&&typeof r=="object"&&de.safeParse(r.id).success)})}a(Ee,"listOpChatProviderCatalog");async function*ve(e){let n=se(e.apiBaseUrl,"chat/completions"),t=await fetch(n,{method:"POST",headers:ie(e.token,"text/event-stream",e.requestId),body:JSON.stringify(rn(e,!0)),signal:e.signal});if(!t.ok)throw new Error(`OpenPond OpChat request failed: ${t.status} ${await le(t)}`);if(!t.body)throw new Error("OpenPond OpChat request failed: streaming response body is missing.");let o=new Map,r=!1,s=null,i={},c="",m=null,g=Ze(t.headers),f=t.body.getReader(),w=new TextDecoder,h="",C=[],ee=a(()=>{if(C.length===0)return[];let y=C.join(`
3
+ `);if(C=[],y==="[DONE]")return r=!0,[];let u;try{u=JSON.parse(y)}catch{throw new Error("OpenPond OpChat request failed: malformed streaming event.")}if(u&&typeof u=="object"&&"error"in u)throw new Error(`OpenPond OpChat request failed: ${_e(u)}`);i=u;let T=u&&typeof u=="object"?u:{},k=Array.isArray(T.choices)?T.choices:[],x=k[0]&&typeof k[0]=="object"?k[0]:{},K=x.delta&&typeof x.delta=="object"?x.delta:{},M=[],d=Be(K.reasoning_content);d&&(c+=d,M.push({type:"reasoning_delta",text:d,raw:u}));let R=Be(K.content);return R&&M.push({type:"text_delta",text:R,raw:u}),tn(o,K.tool_calls),s=H(x.finish_reason)??s,m=ln(u)??m,M},"consumeEvent"),v=a(y=>{let u=y.endsWith("\r")?y.slice(0,-1):y;return u?u.startsWith(":")?[]:(u.startsWith("data:")&&C.push(u.slice(5).trimStart()),[]):ee()},"consumeLine");try{for(;;){let y=await f.read();if(y.done)break;h+=w.decode(y.value,{stream:!0});let u=h.split(`
4
+ `);h=u.pop()??"";for(let T of u)for(let k of v(T))yield k}if(h+=w.decode(),h)for(let y of v(h))yield y;for(let y of ee())yield y}finally{f.releaseLock()}if(!r)throw new Error("OpenPond OpChat request failed: stream ended before [DONE].");let O=on(o);O.length>0&&(yield{type:"tool_call_delta",toolCalls:O,raw:i}),O.length>0&&c&&(yield{type:"continuation",continuation:{kind:"chat_completions_reasoning",reasoningContent:c},raw:i});let I=en(m,g);I&&(yield{type:"usage",usage:I,raw:i}),yield{type:"finish",finishReason:s,raw:i}}a(ve,"streamOpChatChatCompletion");function Ze(e){let n=ke(e,["fireworks-prompt-tokens","prompt-tokens"]),t=ke(e,["fireworks-cached-prompt-tokens","cached-prompt-tokens"]);return t===null?null:{...n===null?{}:{prompt_tokens:n},cached_input_tokens:t,cache_telemetry_source:"provider_response_headers"}}a(Ze,"cacheUsageFromResponseHeaders");function ke(e,n){for(let t of n){let o=e.get(t);if(o===null||!/^\d+$/.test(o.trim()))continue;let r=Number(o);if(Number.isSafeInteger(r)&&r>=0)return r}return null}a(ke,"firstHeaderTokenCount");function en(e,n){if(!n||nn(e))return e;let t={...e??{},cached_input_tokens:n.cached_input_tokens,cache_telemetry_source:"provider_response_headers"};return E(e?.prompt_tokens)===null&&n.prompt_tokens!==void 0&&(t.prompt_tokens=n.prompt_tokens),t}a(en,"usageWithResponseHeaderCache");function nn(e){return e?E(e.cached_input_tokens)!==null||E(e.cache_read_input_tokens)!==null||E(e.cache_creation_input_tokens)!==null||E(e.prompt_cache_hit_tokens)!==null||E(e.prompt_cache_miss_tokens)!==null?!0:E(e.prompt_tokens_details?.cached_tokens)!==null||E(e.input_tokens_details?.cached_tokens)!==null:!1}a(nn,"usageHasCacheTelemetry");function E(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>=0)return e;if(typeof e!="string"||!/^\d+$/.test(e.trim()))return null;let n=Number(e);return Number.isSafeInteger(n)?n:null}a(E,"usageTokenCount");function tn(e,n){Array.isArray(n)&&n.forEach((t,o)=>{if(!t||typeof t!="object")return;let r=t,s=typeof r.index=="number"&&Number.isInteger(r.index)?r.index:o,i=e.get(s)??{arguments:""};typeof r.id=="string"&&(i.id=r.id);let c=r.function&&typeof r.function=="object"?r.function:{};typeof c.name=="string"&&(i.name=`${i.name??""}${c.name}`),typeof c.arguments=="string"&&(i.arguments+=c.arguments),e.set(s,i)})}a(tn,"mergeOpChatToolCallDeltas");function on(e){return[...e.entries()].sort(([n],[t])=>n-t).flatMap(([,n])=>n.id&&n.name?[{id:n.id,type:"function",function:{name:n.name,arguments:n.arguments}}]:[])}a(on,"completedOpChatToolCalls");function rn(e,n){let t={model:e.model,messages:e.messages.map(sn),stream:n};return e.tools&&(t.tools=e.tools),e.toolChoice!==void 0&&(t.tool_choice=e.toolChoice),typeof e.maxTokens=="number"&&(t.max_tokens=e.maxTokens),typeof e.temperature=="number"&&(t.temperature=e.temperature),typeof e.topP=="number"&&(t.top_p=e.topP),Object.assign(t,an(e.reasoningEffort)),t}a(rn,"buildOpChatBody");function an(e){return e?e==="off"?{thinking:{type:"disabled"}}:{thinking:{type:"enabled"},reasoning_effort:e}:{}}a(an,"opChatReasoningFields");function sn(e){let{continuation:n,images:t,...o}=e,r=t?.length?[...typeof e.content=="string"&&e.content.trim()?[{type:"text",text:e.content}]:[],...t.map(s=>({type:"image_url",image_url:{url:s.url,...s.detail?{detail:s.detail}:{}}}))]:e.content;return e.role==="assistant"&&n?.kind==="chat_completions_reasoning"?{...o,...r!==void 0?{content:r}:{},reasoning_content:n.reasoningContent}:{...o,...r!==void 0?{content:r}:{}}}a(sn,"opChatMessage");function se(e,n){let t=e.trim().replace(/\/+$/,"");if(!t)throw new Error("OpenPond OpChat API base URL is required.");return`${t}/${n}`}a(se,"opChatEndpointUrl");function ie(e,n,t){let o=e.trim();if(!o)throw new Error("OpenPond API key is required for OpChat.");let r=new Headers;return r.set("Authorization",`Bearer ${o}`),r.set("Content-Type","application/json"),r.set("Accept",n),r.set("x-openpond-client","openpond-app"),r.set("x-openpond-request-id",t||qe()),r}a(ie,"opChatHeaders");async function le(e){let n=await e.text().catch(()=>"");if(!n)return e.statusText||`HTTP ${e.status}`;try{return _e(JSON.parse(n))}catch{return n}}a(le,"readOpChatError");function _e(e){if(!e||typeof e!="object")return String(e||"unknown_error");let n=e,t=n.error;if(t&&typeof t=="object"){let o=t;return[H(o.code),H(o.type),H(o.message)].filter(Boolean).join(": ")}return[H(n.error),H(n.message)].filter(Boolean).join(": ")||JSON.stringify(e)}a(_e,"errorMessageFromPayload");function ln(e){if(!e||typeof e!="object")return null;let n=e.usage;return!n||typeof n!="object"?null:n}a(ln,"parseUsage");function H(e){return typeof e=="string"&&e.trim()?e:null}a(H,"stringValue");function Be(e){return typeof e=="string"&&e.length>0?e:null}a(Be,"streamTextValue");import{readFileSync as cn}from"node:fs";var j;function un(){if(j!==void 0)return j??"openpond-code bundled";try{let e=new URL("../package.json",import.meta.resolve("openpond")),n=JSON.parse(cn(e,"utf8"));j=typeof n.version=="string"?`openpond-code@${n.version}`:null}catch{j=null}return j??"openpond-code bundled"}a(un,"getBundledRuntimeVersion");import{spawn as dn}from"node:child_process";function Se(e,n=process.platform){return n==="darwin"?{command:"open",args:[e]}:n==="win32"?{command:"rundll32.exe",args:["url.dll,FileProtocolHandler",e]}:{command:"xdg-open",args:[e]}}a(Se,"resolveSystemBrowserCommand");async function pn(e,n={}){let t=n.command??Se(e),o=n.handoffTimeoutMs??1500;return new Promise(r=>{let s=!1,i=null,c=a(g=>{s||(s=!0,i&&clearTimeout(i),r(g))},"finish"),m=dn(t.command,t.args,{detached:!1,shell:!1,stdio:"ignore",windowsHide:!0});m.once("error",g=>{let f=g.code;c({opened:!1,error:f?`browser launcher ${t.command} failed (${f})`:`browser launcher ${t.command} failed`})}),m.once("close",(g,f)=>{if(g===0){c({opened:!0});return}let w=f?`signal ${f}`:`code ${g??"unknown"}`;c({opened:!1,error:`browser launcher ${t.command} exited with ${w}`})}),i=setTimeout(()=>{m.unref(),c({opened:!0})},o),i.unref()})}a(pn,"openUrlWithSystemBrowser");function fn(e){if(!e||typeof e!="object")return null;let n=e,t=typeof n.id=="string"?n.id:null,o=typeof n.name=="string"?n.name:t;if(!t||!o)return null;let r=n.latestDeployment&&typeof n.latestDeployment=="object"?n.latestDeployment:null,s=Pe.safeParse(n.sandboxActionRegistry);return{id:t,name:o,description:typeof n.description=="string"?n.description:null,visibility:typeof n.visibility=="string"?n.visibility:null,gitOwner:typeof n.gitOwner=="string"?n.gitOwner:null,gitRepo:typeof n.gitRepo=="string"?n.gitRepo:null,gitHost:typeof n.gitHost=="string"?n.gitHost:null,defaultBranch:typeof n.defaultBranch=="string"?n.defaultBranch:null,sandbox:n.sandbox===!0,sandboxActionRegistry:s.success?s.data:null,sandboxManifestHash:typeof n.sandboxManifestHash=="string"?n.sandboxManifestHash:null,sandboxManifestPath:typeof n.sandboxManifestPath=="string"?n.sandboxManifestPath:null,sandboxManifestSyncedAt:typeof n.sandboxManifestSyncedAt=="string"?n.sandboxManifestSyncedAt:n.sandboxManifestSyncedAt instanceof Date?n.sandboxManifestSyncedAt.toISOString():null,sandboxManifestError:typeof n.sandboxManifestError=="string"?n.sandboxManifestError:null,updatedAt:typeof n.updatedAt=="string"?n.updatedAt:null,latestDeployment:r?{id:typeof r.id=="string"?r.id:void 0,status:typeof r.status=="string"?r.status:void 0,deploymentDomain:typeof r.deploymentDomain=="string"?r.deploymentDomain:null,createdAt:typeof r.createdAt=="string"?r.createdAt:void 0,isProduction:typeof r.isProduction=="boolean"?r.isProduction:null,gitBranch:typeof r.gitBranch=="string"?r.gitBranch:null}:null,scheduleSummary:hn(n.scheduleSummary)}}a(fn,"normalizeApp");function S(e){return typeof e=="string"?e:e instanceof Date?e.toISOString():null}a(S,"normalizeDateString");function mn(e){if(!e||typeof e!="object")return null;let n=e,t=typeof n.id=="string"?n.id:null,o=typeof n.name=="string"?n.name:t,r=typeof n.deploymentId=="string"?n.deploymentId:null;return!t||!o||!r?null:{id:t,name:o,description:typeof n.description=="string"?n.description:null,scheduleType:typeof n.scheduleType=="string"?n.scheduleType:"cron",scheduleExpression:typeof n.scheduleExpression=="string"?n.scheduleExpression:"",enabled:!!n.enabled,rawEnabled:typeof n.rawEnabled=="boolean"?n.rawEnabled:void 0,syncStatus:typeof n.syncStatus=="string"?n.syncStatus:null,syncError:typeof n.syncError=="string"?n.syncError:null,startAt:S(n.startAt),endAt:S(n.endAt),maxRuns:typeof n.maxRuns=="number"?n.maxRuns:null,executionCount:typeof n.executionCount=="number"?n.executionCount:null,lifecycleStatus:typeof n.lifecycleStatus=="string"?n.lifecycleStatus:null,lifecycleReason:typeof n.lifecycleReason=="string"?n.lifecycleReason:null,lastExecutionAt:S(n.lastExecutionAt),lastExecutionStatus:typeof n.lastExecutionStatus=="string"?n.lastExecutionStatus:null,lastRunNowAt:S(n.lastRunNowAt),lastRunNowStatus:typeof n.lastRunNowStatus=="string"?n.lastRunNowStatus:null,updatedAt:S(n.updatedAt)??new Date().toISOString(),deploymentId:r,isProduction:typeof n.isProduction=="boolean"?n.isProduction:void 0,payload:n.payload}}a(mn,"normalizeSchedule");function hn(e){if(!e||typeof e!="object")return null;let n=e,t=Array.isArray(n.schedules)?n.schedules.map(mn).filter(i=>!!i):[],o=typeof n.total=="number"?n.total:t.length,r=typeof n.active=="number"?n.active:t.filter(i=>i.enabled).length,s=typeof n.paused=="number"?n.paused:Math.max(0,o-r);return{total:o,active:r,paused:s,enabled:typeof n.enabled=="number"?n.enabled:r,disabled:typeof n.disabled=="number"?n.disabled:s,nextRunAt:S(n.nextRunAt),lastRunAt:S(n.lastRunAt),schedules:t,truncated:typeof n.truncated=="boolean"?n.truncated:void 0}}a(hn,"normalizeScheduleSummary");async function yn(e){let n=Array.isArray(e.config.accounts)?e.config.accounts:[],t=await Promise.all(n.map(async o=>{let r=F(o.handle,o.baseUrl),s=Y(o);if(!s)return[r,{response:null,authFailed:!1,error:null}];try{return[r,{response:await q(G(o,e.config),s),authFailed:!1,error:null}]}catch(i){return[r,{response:null,authFailed:!0,error:$(i)}]}}));return Object.fromEntries(t)}a(yn,"loadAccountProfileLookups");async function Ce(e){let n=await yn(e),t=e.account?n[F(e.account.handle,e.account.baseUrl)]??null:null,o=t?.response??null,r=e.token&&t?.authFailed?t.error||"OpenPond account authentication failed.":null;return{account:X({...e,accountResponse:o,accountProfiles:n,authFailed:!!r,error:r})}}a(Ce,"loadOpenPondAccountStateForContext");async function An(){return Ce(await p())}a(An,"loadOpenPondAccountState");async function Ie(e={}){let n=await p(),t=Ce(n);if(!n.token)return{...await t,apps:[],error:"No OpenPond API key or session token is configured."};let[o,r]=await Promise.allSettled([t,pe(n.apiBaseUrl,n.token,{handle:n.account?.handle,limit:e.limit??20,offset:e.offset??0,includeScheduled:e.includeScheduled??!0})]);if(o.status==="rejected")throw o.reason;return{account:o.value.account,apps:r.status==="fulfilled"?r.value.map(fn).filter(s=>!!s):[],error:r.status==="rejected"?$(r.reason):null}}a(Ie,"loadOpenPondApps");async function gn(e){let n=await p();if(!n.token)throw new Error("No OpenPond API key or session token is configured.");return{account:n,response:await fe(n.apiBaseUrl,n.token,e)}}a(gn,"createOpenPondRepoApp");import{createHash as Pn}from"node:crypto";function wn(e){return`account-${Pn("sha256").update(e).digest("hex").slice(0,8)}`}a(wn,"fallbackHandleForApiKey");function Z(e){let n=e?.trim();return n?n.replace(/^@/,""):null}a(Z,"normalizeDerivedHandle");async function On(e,n){let t=Z(e.handle);if(t)return t;try{let r=(await q(n,e.apiKey)).account,s=Z(r.handle)??Z(r.email?.split("@")[0])??Z(r.id);if(s)return s}catch{}return wn(e.apiKey)}a(On,"deriveHandleForApiKey");async function xn(e){let n=e.baseUrl??N,t=l(e.apiBaseUrl)??V(n)??B,o=l(e.chatApiBaseUrl),r=await On(e,t);return await ge({handle:r,apiKey:e.apiKey,baseUrl:n,apiBaseUrl:t,chatApiBaseUrl:o,environment:e.environment??"production",setActive:e.setActive}),p(r,n)}a(xn,"saveOpenPondAccount");function bn(e,n,t){let o=l(t),r=e.findIndex(i=>P(i.handle,n)&&b(i.baseUrl,o));if(r!==-1)return r;let s=e.map((i,c)=>({account:i,index:c})).filter(({account:i})=>P(i.handle,n));if(s.length===1)return s[0].index;if(s.length>1)throw new Error(`Multiple OpenPond accounts match ${n}; select one with its base URL.`);return-1}a(bn,"findAccountIndex");async function Un(e){let n=e.handle.trim();if(!n)throw new Error("OpenPond account handle is required.");return await L(t=>{let o=(t.accounts??[]).map(m=>({...m})),r=bn(o,n,e.baseUrl);if(r===-1)throw new Error(`OpenPond account not found: ${n}`);let s=o[r],i=A(t.activeProfile),c=!!(i&&U(s,i));o.splice(r,1),t.accounts=o,(c||!i||!o.some(m=>U(m,i)))&&(o[0]?t.activeProfile=_(o[0]):delete t.activeProfile)}),p()}a(Un,"removeOpenPondAccount");async function kn(){let e;return await L(n=>{let t=A(n.activeProfile),o=(n.accounts??[]).map(s=>({...s})),r=t?o.findIndex(s=>U(s,t)):0;if(r<0||!o[r])throw new Error("No active OpenPond account to log out.");e={...o[r]},delete e.apiKey,delete e.session,o[r]=e,n.accounts=o}),p(e.handle,e.baseUrl)}a(kn,"signOutOpenPondAccount");function Bn(e,n,t){let o=l(t),r=e.findIndex(i=>P(i.handle,n)&&b(i.baseUrl,o));if(r!==-1)return r;let s=e.map((i,c)=>({account:i,index:c})).filter(({account:i})=>P(i.handle,n));if(s.length===1)return s[0].index;if(s.length>1)throw new Error(`Multiple OpenPond accounts match ${n}; select one with its current base URL.`);return-1}a(Bn,"findAccountIndex");function ce(e,n,t){if(t===void 0)return;let o=l(t);if(o){e[n]=o;return}(t===null||t.trim()==="")&&delete e[n]}a(ce,"applyOptionalUrl");async function En(e){let n=e.handle.trim();if(!n)throw new Error("OpenPond account handle is required.");let t;return await L(o=>{let r=(o.accounts??[]).map(f=>({...f})),s=Bn(r,n,e.currentBaseUrl);if(s===-1)throw new Error(`OpenPond account not found: ${n}`);let i=r[s];if(t={...i},e.apiKey!==void 0){let f=e.apiKey.trim();if(!f)throw new Error("OpenPond API key cannot be empty.");t.apiKey=f,delete t.session,delete t.token}if(ce(t,"baseUrl",e.baseUrl),ce(t,"apiBaseUrl",e.apiBaseUrl),ce(t,"chatApiBaseUrl",e.chatApiBaseUrl),e.environment===null?delete t.environment:typeof e.environment=="string"&&e.environment.trim()&&(t.environment=e.environment.trim()),r.findIndex((f,w)=>w!==s&&P(f.handle,t.handle)&&b(f.baseUrl,t.baseUrl))!==-1)throw new Error("Another OpenPond account already uses that handle and base URL.");let m=A(o.activeProfile),g=!!(m&&U(i,m));r[s]=t,o.accounts=r,o.activeProfile=e.setActive||g?_(t):o.activeProfile}),p(t.handle,t.baseUrl)}a(En,"updateOpenPondAccountConfig");async function vn(e){let n=await p();if(!n.token)throw new Error("OpenPond is signed out. Add an account before reading app config.");return me(n.apiBaseUrl,n.token,e.appId)}a(vn,"getOpenPondAppEnvironment");function _n(e,n){let t="",o=a(r=>{r.startsWith(e)&&n(JSON.parse(r.slice(e.length)))},"processLine");return{push(r){for(t+=r;;){let s=Sn(t);if(s<0)return;let i=t.slice(0,s).replace(/\r$/,""),c=t[s]==="\r"&&t[s+1]===`
5
+ `?2:1;t=t.slice(s+c),o(i)}},flush(){let r=t.trimEnd();t="",r&&o(r)}}}a(_n,"createReadyLineParser");function Sn(e){let n=e.indexOf(`
6
+ `),t=e.indexOf("\r");return n<0?t:t<0?n:Math.min(n,t)}a(Sn,"nextLineEnd");export{p as a,Ke as b,An as c,Ie as d,gn as e,Je as f,Ye as g,Qe as h,ve as i,xn as j,Un as k,kn as l,En as m,vn as n,un as o,_n as p,pn as q};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as be,b as Ae,c as Ie,d as ve}from"./chunk-7TV2VBSD.js";import{c as O,i as L}from"./chunk-XRV4WLI7.js";import{a as Re}from"./chunk-6FA3GG5B.js";import{f as Oe}from"./chunk-H7IWJN7L.js";import{a as s}from"./chunk-FTQLQJQV.js";var J=class extends Error{static{s(this,"OpenPondProfileSetupRequiredError")}code="agent_source_setup_required";details;constructor(t,n){let o=n.blockingRequirements.map(r=>r.label);super(["agent_source_setup_required",`Profile action ${t} has unresolved required setup.`,o.length?`Missing setup: ${o.join(", ")}`:""].filter(Boolean).join(`
2
+ import{a as be,b as Ae,c as Ie,d as ve}from"./chunk-DR3XPQRZ.js";import{c as O,i as L}from"./chunk-QPZNN5Q3.js";import{a as Re}from"./chunk-6FA3GG5B.js";import{f as Oe}from"./chunk-H7IWJN7L.js";import{a as s}from"./chunk-FTQLQJQV.js";var J=class extends Error{static{s(this,"OpenPondProfileSetupRequiredError")}code="agent_source_setup_required";details;constructor(t,n){let o=n.blockingRequirements.map(r=>r.label);super(["agent_source_setup_required",`Profile action ${t} has unresolved required setup.`,o.length?`Missing setup: ${o.join(", ")}`:""].filter(Boolean).join(`
3
3
  `)),this.name="OpenPondProfileSetupRequiredError",this.details={error:"agent_source_setup_required",actionId:t,setupGate:n,missing:o,blockingSetupRequirements:n.blockingRequirements,setupRequirements:n.requirements}}};function W(e){let t=new Map;for(let a of e.sourceSetupRequirements??[]){let l=bt(a);if(e.actionId&&l&&l!==e.actionId&&h(a.actionName)!==e.actionId&&h(a.sourceActionId)!==e.actionId)continue;let c=Ee({record:a,source:"source_upload_metadata",actionId:l});c&&t.set(c.ref,c)}for(let a of e.actionCatalog)if(!(e.actionId&&a.id!==e.actionId&&a.name!==e.actionId))for(let l of a.setupRequirements??[]){let c=Ee({record:l,source:"action_catalog",actionId:a.id});c&&t.set(c.ref,c)}let n=Array.from(t.values()),o=n.filter(a=>a.blocking),r=n.filter(a=>!a.required&&!ne(a.status)).length,i=n.filter(a=>ne(a.status)).length;return{status:It(o),requirementCount:n.length,blockingCount:o.length,optionalMissingCount:r,readyCount:i,requirements:n,blockingRequirements:o}}s(W,"buildOpenPondProfileSetupGate");function oe(e,t){if(t.blockingRequirements.length>0)throw new J(e,t)}s(oe,"assertOpenPondProfileActionReady");function Rt(e){let t=e.actionId?`${e.actionId}: `:"",n=e.required?"required":"optional";return`${t}${e.label} (${n}, ${e.status})`}s(Rt,"formatOpenPondProfileSetupRequirement");function Ee(e){let t=e.source==="action_catalog"&&h(e.record.source)==="source_upload_metadata"?"source_upload_metadata":e.source,n=h(e.record.kind)??h(e.record.type),o=h(e.record.label)??h(e.record.name)??h(e.record.key)??h(e.record.provider)??h(e.record.tool)??h(e.record.command)??h(e.record.packageName)??h(e.record.path)??h(e.record.repo)??h(e.record.url)??h(e.record.id)??n??"setup requirement",r=e.record.required!==!1,i=At(e.record);return{ref:[t,e.actionId??"source",n??"requirement",o].join(":"),source:t,actionId:e.actionId,kind:n,label:o,status:i,required:r,blocking:r&&!ne(i)}}s(Ee,"setupRequirementFromRecord");function bt(e){return h(e.actionId)??h(e.sourceActionId)??h(e.actionName)}s(bt,"setupRequirementActionId");function At(e){let t=h(e.status)??h(e.state);return t?t==="satisfied"||t==="connected"||t==="provided"?"ready":t:typeof e.satisfied=="boolean"?e.satisfied?"ready":"setup_required":typeof e.ready=="boolean"&&e.ready?"ready":"setup_required"}s(At,"setupStatus");function It(e){return e.length===0?"ready":e.some(t=>["blocked","unsupported","unsupported_dependency","stale"].includes(t.status))?"blocked":"setup_required"}s(It,"gateStatus");function ne(e){return e==="ready"||e==="disabled"}s(ne,"isReadyStatus");function h(e){return typeof e=="string"&&e.trim()?e.trim():null}s(h,"text");import{stat as qt}from"node:fs/promises";import se from"node:path";import{spawn as vt}from"node:child_process";import{existsSync as re}from"node:fs";import{readFile as Et,rm as Kn,writeFile as _e}from"node:fs/promises";import ie from"node:path";var Le=["**/node_modules/","**/.bun/","**/.env","**/.env.*","**/.openpond/traces/","**/.openpond/vendor/","**/.openpond/eval-results.json","**/.openpond/artifact-index.json","**/.openpond/source-upload-cache.json",""].join(`
4
4
  `);async function Me(e){if(!re(ie.join(e,".git"))){let i=await R(e,["init","-b","main"]);if(i.code!==0)throw new Error(H("git init",i))}let t=ie.join(e,".gitignore");if(re(t)?await xt(t):await _e(t,Le,"utf8"),await _t(e))return;let n=await N(e);if(!n.dirty&&n.files.length===0)return;let o=await R(e,["add","-A"]);if(o.code!==0)throw new Error(H("git add",o));let r=await R(e,["commit","-m","Initialize OpenPond profile"],{env:{...process.env,GIT_AUTHOR_NAME:process.env.GIT_AUTHOR_NAME||"OpenPond",GIT_AUTHOR_EMAIL:process.env.GIT_AUTHOR_EMAIL||"openpond@example.invalid",GIT_COMMITTER_NAME:process.env.GIT_COMMITTER_NAME||"OpenPond",GIT_COMMITTER_EMAIL:process.env.GIT_COMMITTER_EMAIL||"openpond@example.invalid"}});if(r.code!==0&&!/nothing to commit/i.test(r.stdout+r.stderr))throw new Error(H("git commit",r))}s(Me,"ensureProfileGitRepo");async function xt(e){let t=await Et(e,"utf8").catch(()=>""),n=Le.split(/\r?\n/).map(r=>r.trim()).filter(Boolean).filter(r=>!t.split(/\r?\n/).some(i=>i.trim()===r));if(n.length===0)return;let o=t.endsWith(`
5
5
  `)||t.length===0?"":`
@@ -0,0 +1,5 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{Bb as Q,c as D,e as C,f as W,g as G,i as K}from"./chunk-IFP6W4OW.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as A,c as B,f as L,h as g}from"./chunk-H7IWJN7L.js";import{a as o}from"./chunk-FTQLQJQV.js";import R from"node:path";import{AsyncLocalStorage as je}from"node:async_hooks";import{promises as Y}from"node:fs";var X=new je;function Ge(t,r=!1){let a=X.getStore();a&&(r&&(a.length=0),a.push(t))}o(Ge,"onStartupFailure");async function Ke(t,r){await Q(t);let a;try{a=await G(R.join(g(t).runtime,"server-owner"),100)}catch(i){if(i instanceof B&&i.issue.code==="STORAGE_BUSY"){let l=await K(R.join(g(t).runtime,"endpoint.json"),()=>null);throw new B({code:"RUNTIME_ALREADY_RUNNING",path:t,message:"An OpenPond runtime already owns this home.",action:l?.url?`Connect to the existing runtime at ${l.url}, or stop it before starting another.`:"Stop the existing runtime before starting another with this home."})}throw i}let n=[];try{let i=await A(t,()=>X.run(n,r)),l=i.close.bind(i);n.length=0;let d;return{...i,close:o(()=>d??=(async()=>{try{await A(t,l)}finally{await Y.rm(R.join(g(t).runtime,"endpoint.json"),{force:!0}),await a()}})(),"close")}}catch(i){try{for(let l of n.reverse())await Promise.resolve().then(()=>A(t,l)).catch(()=>{});await Y.rm(R.join(g(t).runtime,"endpoint.json"),{force:!0})}finally{await a()}throw i}}o(Ke,"ownHomeRuntime");async function Qe(t,r,a){await C(R.join(g(t).runtime,"endpoint.json"),JSON.stringify({schemaVersion:"openpond.runtimeEndpoint.v1",pid:process.pid,url:r,serverId:a}))}o(Qe,"publishRuntimeEndpoint");function Ze(t){if(!t.maxContextTokens||!t.usableContextTokens)return{shouldCompact:!1,projectedTokens:t.projectedTokens,thresholdTokens:Number.MAX_SAFE_INTEGER,usableContextTokens:0,maxContextTokens:0,tokenSource:"heuristic"};let r=Math.max(.01,Math.min(1,(t.triggerPercent??85)/100)),a=Math.max(1,Math.floor(t.usableContextTokens*r));return{shouldCompact:t.projectedTokens>=a,projectedTokens:t.projectedTokens,thresholdTokens:a,usableContextTokens:t.usableContextTokens,maxContextTokens:t.maxContextTokens,tokenSource:"heuristic"}}o(Ze,"agentCompactionDecision");async function et(t){await t.started();try{return await t.compact()}catch(r){throw await t.failed(r),r}}o(et,"runAgentCompaction");async function tt(t){let r=t.host.projectEvents(t.events),a=t.host.selectEvents(r,t.maxContextTokens),{summaryEvents:n,preservedEvents:i,preservedEventIds:l}=a;if(n.length===0)throw new Error("There is not enough prior context to compact.");let d=t.host.normalizeRecords(n),p=t.host.normalizeRecords(i),f=t.host.buildFileLedger(t.host.normalizeRecords(r)),h=t.host.serializeRecords(d,t.host.inputCharBudget(t.maxContextTokens));if(!h.text.trim())throw new Error("There is not enough prior context to compact.");let q=t.host.buildSummaryMessages({serializedHistory:h.text,fileLedger:f}),S=Date.now(),j=(await t.host.streamSummary({model:t.model,messages:q,signal:t.signal})).trim(),N=Date.now()-S;if(!j)throw new Error("Compaction summary was empty.");let m=t.host.estimateProjection({events:r,preservedEvents:i,summary:j}),b=t.host.createMetrics({sourceEvents:r.length,summarizedEvents:n.length,preservedEvents:i.length,sourceRecords:h.sourceRecordCount,includedRecords:h.includedRecordCount,omittedRecords:h.omittedRecordCount,preservedRecords:p.length,truncatedRecords:h.truncatedRecordCount,summaryInputTruncated:h.inputTruncated,sourceSelectionStrategy:h.selectionStrategy,summaryInputChars:h.inputChars,retainedTailTokens:a.retainedTailTokens,retainedTailBudgetTokens:a.retainedTailBudgetTokens,finalProviderContextTokens:m.inputTokensAfter,durationMs:N,fileLedgerEntries:f.length,splitTurnId:a.splitTurnId});return{summary:j,model:t.model,compactedThroughEventId:r[r.length-1]?.id??null,compactedThroughTurnId:t.host.lastTurnId(r),preservedFromEventId:i[0]?.id??null,preservedEventIds:l,preservedResourceRefs:t.host.durableResourceRefs(t.events),sourceEventCount:n.length,preservedEventCount:i.length,fileLedger:f,inputTokensBefore:m.inputTokensBefore,inputTokensAfter:m.inputTokensAfter,maxContextTokens:t.maxContextTokens,tokenSource:"heuristic",metrics:b}}o(tt,"runAgentCompactionProgram");var _="2026-09-20",it=["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","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"],ee=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(),te=e.object({jsonrpc:e.literal("2.0"),method:e.string().trim().min(1),params:e.unknown().optional()}).strict(),M=e.object({jsonrpc:e.literal("2.0"),id:e.union([e.string(),e.number()]),result:e.unknown()}).strict(),U=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(),st=e.union([ee,te,M,U]),ye=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(),H=class{static{o(this,"AgentJsonRpcDispatcher")}#e;#t=null;#r=!1;constructor(r){this.#e=r}get initialized(){return this.#r}async handle(r){let a=te.safeParse(r);if(a.success&&!("id"in r)){if(a.data.method==="initialized"){if(!this.#t)throw new x(-32002,"initialize must be called first");this.#r=!0}return null}let n=ee.safeParse(r);if(!n.success)return Z(null,-32600,"Invalid Request",n.error.flatten());let i=n.data;try{let l=await this.#n(i.method,i.params);return{jsonrpc:"2.0",id:i.id,result:l}}catch(l){let d=l instanceof x?l:new x(-32603,l instanceof Error?l.message:String(l));return Z(i.id,d.code,d.message,d.data)}}async#n(r,a){if(r==="initialize"){let n=ye.parse(a);if(n.protocolVersion!==_)throw new x(-32001,"Incompatible agent protocol version",{requested:n.protocolVersion,supported:_});return this.#t=n,{protocolVersion:_,server:{name:"openpond-app-server",version:"1"},capabilities:await this.#e.capabilities()}}if(!this.#r)throw new x(-32002,"initialized notification is required");switch(r){case"runtime/capabilities":return this.#e.capabilities(a);case"thread/start":return this.#e.threadStart(a);case"thread/resume":return this.#e.threadResume(a);case"thread/read":return this.#e.threadRead(a);case"turn/start":return this.#e.turnStart(a);case"turn/steer":return this.#e.turnSteer(a);case"task/inbox":return this.#e.taskInbox(a);case"task/queue":return this.#e.taskQueue(a);case"task/inputUpdate":return this.#e.taskInputUpdate(a);case"turn/interrupt":return this.#e.turnInterrupt(a);case"approval/resolve":return this.#e.approvalResolve(a);case"userInput/resolve":return this.#e.userInputResolve(a);case"profile/workflows":return this.#e.profileWorkflows(a);case"profile/evaluations":return this.#e.profileEvaluations(a);case"profile/trainingSource":return this.#e.profileTrainingSource(a);case"profile/evaluations/prepare":return this.#e.profileEvaluationPrepare(a);case"profile/evaluations/run":return this.#e.profileEvaluationRun(a);case"profile/evaluations/runSuite":return this.#e.profileEvaluationRunSuite(a);case"profile/evaluations/executeCase":return this.#e.profileEvaluationExecuteCase(a);case"profile/evaluations/executeRun":return this.#e.profileEvaluationExecuteRun(a);case"profile/evaluations/compare":return this.#e.profileEvaluationCompare(a);case"profile/evaluations/report":return this.#e.profileEvaluationReport(a);case"harness/inspect":return this.#e.harnessInspect(a);case"harness/proposalReview":return this.#e.harnessProposalReview(a);case"harness/review":return this.#e.harnessReview(a);case"harness/acceptEvaluationReview":return this.#e.harnessAcceptEvaluationReview(a);case"harness/materializeEvaluationTaskset":return this.#e.harnessMaterializeEvaluationTaskset(a);case"harness/runEvaluationBaseline":return this.#e.harnessRunEvaluationBaseline(a);case"harness/validate":return this.#e.harnessValidate(a);case"harness/backgroundReview":return this.#e.harnessBackgroundReview(a);case"harness/diff":return this.#e.harnessDiff(a);case"harness/rollback":return this.#e.harnessRollback(a);case"refiner/inspect":return this.#e.refinerInspect(a);case"refiner/update":return this.#e.refinerUpdate(a);case"refiner/activate":return this.#e.refinerActivate(a);case"refiner/rollback":return this.#e.refinerRollback(a);default:throw new x(-32601,`Method not found: ${r}`)}}},x=class extends Error{static{o(this,"JsonRpcDispatchError")}code;data;constructor(r,a,n){super(a),this.code=r,this.data=n}};function Z(t,r,a,n){return{jsonrpc:"2.0",id:t,error:{code:r,message:a,...n===void 0?{}:{data:n}}}}o(Z,"jsonRpcError");var c=e.string().trim().min(1).max(200),z=e.string().trim().min(1).max(32e3),T=e.number().int().nonnegative(),re=e.object({id:c,sessionId:c,senderSessionId:c.nullable(),senderKind:e.enum(["user","task","runtime"]),kind:e.enum(["steer","message","followup","queued","result"]),body:z,payload:e.record(e.string(),e.unknown()),idempotencyKey:c,replyTo:c.nullable(),expectedTurnId:c.nullable()}).strict(),Se=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:z}).strict(),e.object({action:e.literal("steer"),expectedRevision:e.number().int().positive(),expectedTurnId:c}).strict()]),ne=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(),ae=e.record(e.string(),e.unknown()),Re=e.enum(["queued","running","completed","failed","cancelled","needs_resume"]),Te=e.object({parentSessionId:c.nullable().optional(),childSessionId:c.nullable().optional(),status:e.array(Re).nullable().optional(),afterId:e.string().max(200),limit:e.number().int().min(1).max(10)}).strict(),ie=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(z).max(100)}).strict(),e.object({action:e.literal("taskWorkAreas"),sessionId:c}).strict(),e.object({action:e.literal("admitTaskInput"),input:re}).strict(),e.object({action:e.literal("admitTaskInputs"),inputs:e.array(re).max(50)}).strict(),e.object({action:e.literal("rejectTaskInput"),id:c,error:z}).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:Se}).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:ne}).strict(),e.object({action:e.literal("settleTaskWait"),id:c,state:ne.shape.state}).strict(),e.object({action:e.literal("taskWaitsForSession"),sessionId:c,afterId:e.string().max(200)}).strict(),e.object({action:e.literal("commitSubagentCompletion"),value:ae,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:ae}).strict(),e.object({action:e.literal("getSubagentRun"),id:c}).strict(),e.object({action:e.literal("listSubagentRuns"),query:Te}).strict()]);var V=e.string().trim().min(1).max(191),se=e.object({createdAt:e.string().min(1),id:V}).strict(),oe=e.enum(["trigger_decision","route_decision","refiner_outcome","proposal","targeted_validation","apply_receipt"]),ce=e.discriminatedUnion("action",[e.object({action:e.literal("put_artifact"),workspaceId:V,kind:oe,artifact:e.record(e.string(),e.unknown())}).strict(),e.object({action:e.literal("artifact_page"),workspaceId:V,kind:oe,before:se.nullable(),limit:e.number().int().min(1).max(200)}).strict(),e.object({action:e.literal("pending_trigger_page"),workspaceId:V,before:se.nullable(),limit:e.number().int().min(1).max(200)}).strict()]);var v=e.string().trim().min(1).max(200),le=e.string().regex(/^[a-f0-9]{64}$/),Ee=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()}),ue=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:le,validation:e.array(Ee).max(32)}).strict(),de=e.object({sessionId:v,turnId:v,output:ue}).strict(),pe=e.object({uploadId:v,index:e.number().int().min(0).max(1024),offset:e.number().int().min(0).max(1e7),sha256:le,contentsBase64:e.string().min(1).max(131072)}).strict(),me=e.object({uploadId:v}).strict(),Pe=ue.pick({id:!0,title:!0,sourceTaskId:!0,sourceTurnId:!0,revision:!0,createdAt:!0,validation:!0}),he=e.object({sessionId:v,turnId:v,output:Pe,sandboxPath:e.string().trim().min(1).max(4096)}).strict();var E=e.string().trim().min(1).max(200),qe=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:E.optional(),payload:e.unknown().optional(),processId:E.optional(),failOnUnpreservedChanges:e.boolean().optional()}).strict().superRefine((t,r)=>{t.type!=="create"&&!t.sandboxId&&r.addIssue({code:"custom",message:"Sandbox identity is required."}),t.type==="process_get"&&!t.processId&&r.addIssue({code:"custom",message:"Process identity is required."})}),fe=e.object({action:qe}).strict(),be=e.object({sessionId:E,turnId:E,name:E}).strict();var u=1,s=e.string().trim().min(1).max(191),I=e.number().int().min(1).max(200),kt=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(),ge=e.discriminatedUnion("operation",[e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("sandbox/request"),params:fe}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("embedding/authorize"),params:be}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("output/begin"),params:de}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("output/chunk"),params:pe}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("output/complete"),params:me}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("output/saveSandboxFile"),params:he}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("settings/get"),params:e.object({}).strict()}).strict(),e.object({contractVersion:e.literal(u),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(u),requestId:s,operation:e.literal("harness/overlay/get"),params:e.object({runId:s}).strict()}).strict(),e.object({contractVersion:e.literal(u),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(u),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(u),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(u),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:I}).strict()}).strict(),e.object({contractVersion:e.literal(u),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(u),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(u),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(u),requestId:s,operation:e.literal("task-inbox/execute"),params:ie}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("refiner/execute"),params:e.object({action:ce}).strict()}).strict(),e.object({contractVersion:e.literal(u),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:I}).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(u),requestId:s,operation:e.literal("approval/get"),params:e.object({approvalId:s}).strict()}).strict(),e.object({contractVersion:e.literal(u),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(u),requestId:s,operation:e.literal("usage/getByRequestId"),params:e.object({requestId:s}).strict()}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("usage/upsert"),params:e.object({record:e.record(e.string(),e.unknown())}).strict()}).strict(),e.object({contractVersion:e.literal(u),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:I}).strict()}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("capabilities"),params:e.object({}).strict()}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("session/count"),params:e.object({}).strict()}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("session/get"),params:e.object({sessionId:s}).strict()}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("session/page"),params:e.object({afterId:s.nullable(),limit:I}).strict()}).strict(),e.object({contractVersion:e.literal(u),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(u),requestId:s,operation:e.literal("turn/count"),params:e.object({sessionId:s}).strict()}).strict(),e.object({contractVersion:e.literal(u),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(u),requestId:s,operation:e.literal("turn/get"),params:e.object({turnId:s}).strict()}).strict(),e.object({contractVersion:e.literal(u),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(u),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(u),requestId:s,operation:e.literal("turn/page"),params:e.object({sessionId:s,beforeSortIndex:e.number().int().min(0).nullable().optional(),limit:I}).strict()}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("thread/turnPage"),params:e.object({sessionId:s,beforeSortIndex:e.number().int().min(0).nullable().optional(),limit:I}).strict()}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("event/append"),params:e.object({event:e.record(e.string(),e.unknown())}).strict()}).strict(),e.object({contractVersion:e.literal(u),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:I}).strict()}).strict(),e.object({contractVersion:e.literal(u),requestId:s,operation:e.literal("events/latestAssistantText"),params:e.object({sessionId:s}).strict()}).strict()]),jt=e.object({contractVersion:e.literal(u),operations:e.array(e.enum(["sandbox/request","embedding/authorize","output/begin","output/chunk","output/complete","output/saveSandboxFile","settings/get","harness/get","harness/overlay/get","harness/overlay/put","harness/overlay/freezeProposal","harness/memory/get","harness/memory/list","harness/memory/write","harness/state/read","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(40),allowedTools:e.array(s).max(128),maxPageSize:I,maxRequestBytes:e.number().int().min(1).max(1e6),maxInFlight:e.number().int().min(1).max(64)}).strict();var ve=class{static{o(this,"AgentHostStorageClient")}#e=new Map;#t=null;#r=1;bind(r){if(this.#t)throw new Error("Host storage client is already bound.");this.#t=r}async request(r,a=15e3){let n=ge.parse(r);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 i=`host-storage:${this.#r++}`,l={jsonrpc:"2.0",id:i,method:"host/storage",params:n};if(Buffer.byteLength(JSON.stringify(l))>256e3)throw new Error("Host storage request is too large.");let d=new Promise((p,f)=>{let h=setTimeout(()=>{this.#e.delete(i),f(new Error("Host storage request timed out."))},Math.max(1,Math.min(6e4,a)));this.#e.set(i,{resolve:p,reject:f,timer:h})});try{await this.#t(l)}catch(p){let f=this.#e.get(i);f&&(clearTimeout(f.timer),this.#e.delete(i),f.reject(p instanceof Error?p:new Error(String(p))))}return d}accept(r){let a=M.safeParse(r),n=a.success?null:U.safeParse(r),i=a.success?a.data:n?.success?n.data:null;if(!i||typeof i.id!="string"||!i.id.startsWith("host-storage:"))return!1;let l=this.#e.get(i.id);return l?(clearTimeout(l.timer),this.#e.delete(i.id),Buffer.byteLength(JSON.stringify(i))>1e6?(l.reject(new Error("Host storage response is too large.")),!0):("error"in i?l.reject(new Error(`Host storage request failed: ${i.error.message}`)):l.resolve(i.result),!0)):!0}close(){this.#t=null;for(let r of this.#e.values())clearTimeout(r.timer),r.reject(new Error("Host storage transport closed."));this.#e.clear()}};import{createHash as Ae}from"node:crypto";function $(t){if(t===null||typeof t=="boolean"||typeof t=="string")return t;if(typeof t=="number"){if(!Number.isFinite(t))throw new Error("Canonical JSON cannot encode a non-finite number.");return t}if(Array.isArray(t))return t.map($);if(typeof t=="object"){let r={};for(let a of Object.keys(t).sort()){let n=t[a];n!==void 0&&(r[a]=$(n))}return r}throw new Error(`Canonical JSON cannot encode ${typeof t}.`)}o($,"canonicalJson");function y(t){return Ae("sha256").update(JSON.stringify($(t)),"utf8").digest("hex")}o(y,"canonicalHash");var Ce=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"]),_e=e.object({sequence:e.number().int().nonnegative(),name:Ce,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 Ht(t){return y(_e.parse(t))}o(Ht,"canonicalEventHash");import{once as He}from"node:events";import{createInterface as ze}from"node:readline";async function we(t){let r=null,a=Promise.resolve(),n=[],i=o(m=>(a=a.then(async()=>{t.writable.write(`${JSON.stringify(m)}
3
+ `)||await He(t.writable,"drain")}),a),"write");t.hostStorageClient?.bind(m=>i(m));let l=o(()=>{if(!(!r?.initialized||n.length===0))for(let m of n.splice(0))i(m)},"flushPendingNotifications"),d,p=new Set,f=ze({input:t.readable,crlfDelay:1/0}),h=[],q=!1,S=null,j=o(async m=>{let b=r;if(!b)throw new Error("Agent runtime dispatcher is unavailable.");let w=(async()=>{let J=await b.handle(m);J&&await i(J),l()})(),F=m&&typeof m=="object"&&"method"in m?m.method:null;if(F==="initialize"||F==="initialized"){await w;return}p.add(w),w.finally(()=>p.delete(w))},"dispatch"),N=(async()=>{let m=typeof t.host=="function"?await t.host():t.host;for(r=new H(m),d=m.subscribe?.(b=>{if(!r?.initialized){n.push(b);return}i(b)});h.length>0;)await j(h.shift());q=!0})().catch(m=>{S=m,f.close()});try{for await(let m of f){if(!m.trim())continue;if(Buffer.byteLength(m,"utf8")>1e6){await i({jsonrpc:"2.0",id:null,error:{code:-32600,message:"Request exceeds the JSONL size limit"}});continue}let b;try{b=JSON.parse(m)}catch{await i({jsonrpc:"2.0",id:null,error:{code:-32700,message:"Parse error"}});continue}if(!t.hostStorageClient?.accept(b))if(q)await j(b);else if(h.length>=64){let w=b&&typeof b=="object"&&"id"in b?b.id:null;(typeof w=="string"||typeof w=="number")&&await i({jsonrpc:"2.0",id:w,error:{code:-32e3,message:"Runtime startup request limit exceeded"}})}else h.push(b)}if(await N,S)throw S;await Promise.all(p),await a}finally{t.hostStorageClient?.close(),d?.()}}o(we,"runAgentJsonlServer");var O=e.object({threadId:e.string().trim().min(1)}).passthrough(),Ve=e.object({session:e.unknown()}).strict(),P=O.extend({input:e.unknown()}),Oe=P.extend({idempotencyKey:e.string().trim().min(1).max(200)}),Ne=P.extend({inputId:e.string().trim().min(1)}),Be=O.extend({reason:e.string().trim().min(1).optional()}),Me=e.object({approvalId:e.string().trim().min(1),input:e.unknown()}).strict();function xe(t){let r=o(async(n,i,l)=>{let d=performance.now();t.telemetry?.({method:n,phase:"started",threadId:i,durationMs:null,errorClass:null});try{let p=await l();return t.telemetry?.({method:n,phase:"completed",threadId:i,durationMs:performance.now()-d,errorClass:null}),p}catch(p){throw t.telemetry?.({method:n,phase:"failed",threadId:i,durationMs:performance.now()-d,errorClass:p instanceof Error?p.name:"UnknownError"}),p}},"run"),a=o(async(n,i="thread/read")=>{let{threadId:l}=O.parse(n);return r(i,l,async()=>{let[d,p,f]=await Promise.all([t.readThread(l),t.listTurns(l),t.listEvents(l)]);return{thread:d,turns:p,events:f}})},"threadRead");return{capabilities:o(n=>r("runtime/capabilities",null,()=>t.capabilities(n)),"capabilities"),threadStart:o(async n=>r("thread/start",null,async()=>({thread:await t.createThread(Ve.parse(n).session)})),"threadStart"),threadResume:o(n=>a(n,"thread/resume"),"threadResume"),threadRead:a,turnStart:o(async n=>{let i=P.parse(n);return r("turn/start",i.threadId,async()=>({turn:await t.startTurn(i.threadId,i.input)}))},"turnStart"),turnSteer:o(async n=>{let i=P.parse(n);return r("turn/steer",i.threadId,async()=>({receipt:await t.steerTurn(i.threadId,i.input)}))},"turnSteer"),taskInbox:o(async n=>{let{threadId:i}=O.parse(n);return r("task/inbox",i,()=>t.readTaskInbox(i))},"taskInbox"),taskQueue:o(async n=>{let i=Oe.parse(n);return r("task/queue",i.threadId,()=>t.queueTaskInput(i.threadId,i.input,i.idempotencyKey))},"taskQueue"),taskInputUpdate:o(async n=>{let i=Ne.parse(n);return r("task/inputUpdate",i.threadId,()=>t.updateTaskInput(i.threadId,i.inputId,i.input))},"taskInputUpdate"),turnInterrupt:o(async n=>{let i=Be.parse(n);return r("turn/interrupt",i.threadId,async()=>({turn:await t.interruptTurn(i.threadId,i.reason)}))},"turnInterrupt"),approvalResolve:o(async n=>{let i=Me.parse(n);return r("approval/resolve",null,async()=>({approval:await t.resolveApproval(i.approvalId,i.input)}))},"approvalResolve"),userInputResolve:o(async n=>{let i=P.parse(n);return r("userInput/resolve",i.threadId,async()=>(t.isTurnActive(i.threadId)&&await t.waitForTurnSettlement(i.threadId),{turn:await t.startTurn(i.threadId,i.input)}))},"userInputResolve"),profileWorkflows:o(()=>r("profile/workflows",null,()=>t.listProfileWorkflows()),"profileWorkflows"),profileEvaluations:o(n=>r("profile/evaluations",null,()=>t.listProfileEvaluations(n)),"profileEvaluations"),profileTrainingSource:o(()=>r("profile/trainingSource",null,()=>t.loadProfileTrainingSource()),"profileTrainingSource"),profileEvaluationPrepare:o(n=>r("profile/evaluations/prepare",null,()=>t.prepareProfileEvaluationRun(n)),"profileEvaluationPrepare"),profileEvaluationRun:o(n=>r("profile/evaluations/run",null,()=>t.runPreparedProfileEvaluation(n)),"profileEvaluationRun"),profileEvaluationRunSuite:o(n=>r("profile/evaluations/runSuite",null,()=>t.runProfileEvaluationSuite(n)),"profileEvaluationRunSuite"),profileEvaluationExecuteCase:o(n=>r("profile/evaluations/executeCase",null,()=>t.executeProfileEvaluationCase(n)),"profileEvaluationExecuteCase"),profileEvaluationExecuteRun:o(n=>r("profile/evaluations/executeRun",null,()=>t.executeProfileEvaluationRun(n)),"profileEvaluationExecuteRun"),profileEvaluationCompare:o(n=>r("profile/evaluations/compare",null,()=>t.compareProfileEvaluationRuns(n)),"profileEvaluationCompare"),profileEvaluationReport:o(n=>r("profile/evaluations/report",null,()=>t.buildProfileEvaluationReport(n)),"profileEvaluationReport"),harnessInspect:o(()=>r("harness/inspect",null,()=>t.inspectHarness()),"harnessInspect"),harnessProposalReview:o(n=>r("harness/proposalReview",null,()=>t.reviewHarnessProposal(n)),"harnessProposalReview"),harnessReview:o(n=>r("harness/review",null,()=>t.reviewHarness(n)),"harnessReview"),harnessAcceptEvaluationReview:o(n=>r("harness/acceptEvaluationReview",null,()=>t.acceptHarnessEvaluationReview(n)),"harnessAcceptEvaluationReview"),harnessMaterializeEvaluationTaskset:o(n=>r("harness/materializeEvaluationTaskset",null,()=>t.materializeHarnessEvaluationTaskset(n)),"harnessMaterializeEvaluationTaskset"),harnessRunEvaluationBaseline:o(n=>r("harness/runEvaluationBaseline",null,()=>t.runHarnessEvaluationBaseline(n)),"harnessRunEvaluationBaseline"),harnessValidate:o(()=>r("harness/validate",null,()=>t.validateHarness()),"harnessValidate"),harnessBackgroundReview:o(n=>r("harness/backgroundReview",null,()=>t.updateHarnessBackgroundReview(n)),"harnessBackgroundReview"),harnessDiff:o(n=>r("harness/diff",null,()=>t.diffHarness(n)),"harnessDiff"),harnessRollback:o(n=>r("harness/rollback",null,()=>t.rollbackHarness(n)),"harnessRollback"),refinerInspect:o(()=>r("refiner/inspect",null,()=>t.inspectRefiner()),"refinerInspect"),refinerUpdate:o(n=>r("refiner/update",null,()=>t.updateRefiner(n)),"refinerUpdate"),refinerActivate:o(n=>r("refiner/activate",null,()=>t.activateRefiner(n)),"refinerActivate"),refinerRollback:o(n=>r("refiner/rollback",null,()=>t.rollbackRefiner(n)),"refinerRollback"),subscribe:t.subscribeEvents&&t.eventNotification?n=>t.subscribeEvents(i=>n(t.eventNotification(i))):void 0}}o(xe,"createAgentRuntimeService");var k=e.string().regex(/^[a-f0-9]{64}$/),tr=e.object({harnessReleaseHash:k,instructionsHash:k,skillHashes:e.record(e.string(),k),agentAssetHashes:e.record(e.string(),k),toolCatalogHash:k,memoryRevision:e.number().int().nonnegative().nullable()}).strict(),Ue=e.object({protocolVersion:e.string().trim().min(1),threadId:e.string().trim().min(1),turnId:e.string().trim().min(1),harnessReleaseHash:k,toolCatalogHash:k,context:e.record(e.string(),e.unknown()),pendingInteraction:e.record(e.string(),e.unknown()).nullable(),usage:e.record(e.string(),e.unknown())}).strict();function rr(t){return y(Ue.parse(t))}o(rr,"checkpointHash");function nr(t){return[t.system,...t.harnessInstructions,...t.skillInstructions,...t.hostInstructions??[]].map(r=>r.trim()).filter(Boolean).join(`
4
+
5
+ `)}o(nr,"materializeAgentPrompt");function or(t){let r=new Set,a=[...t].map(l=>{let d=l.name.trim();if(!d)throw new Error("Agent tool names cannot be empty.");if(r.has(d))throw new Error(`Duplicate agent tool: ${d}.`);if(r.add(d),!l.unavailableReason&&!l.executorAvailable)throw new Error(`Agent tool ${d} is declared as available without an executor.`);return{...l,name:d}}).sort((l,d)=>l.name.localeCompare(d.name)),n=a.filter(l=>!l.unavailableReason).map(l=>({name:l.name,description:l.description,inputSchema:l.inputSchema})),i=a.map(l=>({name:l.name,displayLabel:l.displayLabel??l.name,placement:l.placement,available:!l.unavailableReason,unavailableReason:l.unavailableReason??null}));return{byName:new Map(a.map(l=>[l.name,l])),tools:a,modelTools:n,capabilities:i,hash:y({modelTools:n,capabilities:i})}}o(or,"createAgentToolCatalogProjection");async function cr(t,r){let a=t.byName.get(r.name);if(!a)throw new Error(`Unknown agent tool: ${r.name}.`);if(a.unavailableReason)throw new Error(`Agent tool ${r.name} is unavailable: ${a.unavailableReason}`);if(!a.execute)throw new Error(`Agent tool ${r.name} has no executor.`);let n=a.validateArguments?a.validateArguments(r.arguments):r.arguments;return a.execute(n,r.context)}o(cr,"executeProjectedAgentTool");var Ie=class{static{o(this,"TaskSignals")}#e=new Map;notify(r){for(let a of[...this.#e.get(r)??[]])a()}subscribe(r,a){let n=this.#e.get(r);return n||this.#e.set(r,n=new Set),n.add(a),()=>{n.delete(a),n.size===0&&this.#e.delete(r)}}async wait(r){let a=o(()=>{},"wake"),n=0,i=o(()=>{n+=1,a()},"changed"),l=[...new Set(r.taskIds)].map(p=>this.subscribe(p,i)),d=setTimeout(i,Math.max(0,r.deadline-Date.now()));r.signal.addEventListener("abort",i);try{for(;;){r.signal.throwIfAborted();let p=n,f=await r.read();if(f!==null)return f;if(Date.now()>=r.deadline)return null;n===p&&await new Promise(h=>{a=h,(n!==p||r.signal.aborted)&&h()})}}finally{clearTimeout(d),r.signal.removeEventListener("abort",i);for(let p of l)p()}}},ke=class{static{o(this,"TaskSerialExecutor")}#e=new Map;async run(r,a){let i=(this.#e.get(r)??Promise.resolve()).then(a),l=i.then(()=>{},()=>{});this.#e.set(r,l);try{return await i}finally{this.#e.get(r)===l&&this.#e.delete(r)}}};function Cr(t){return $e({runtime:xe(t.ports),close:t.close})}o(Cr,"createAppServer");function $e(t){let r=!1;return{runtime:t.runtime,close:o(async()=>{r||(r=!0,await t.close?.())},"close")}}o($e,"attachAppServer");async function _r(t){let r=typeof t.appServer=="function"?null:t.appServer;try{await we({host:r?.runtime??(async()=>(r=await t.appServer(),r.runtime)),readable:t.readable,writable:t.writable,hostStorageClient:t.hostStorageClient})}finally{await r?.close()}}o(_r,"runAppServerJsonl");import{randomBytes as Fe}from"node:crypto";function Nr(){return L()}o(Nr,"appDataDir");function Br(t){return g(t).config}o(Br,"providersConfigPath");function Mr(t){return g(t).credentials}o(Mr,"providerSecretsConfigPath");function Ur(t){return g(t).key}o(Ur,"providerSecretsKeyPath");async function $r(t){let r=g(t).token;return W(r,async()=>{let a=(await D(r))?.trim(),n=process.env.OPENPOND_APP_TOKEN||a||Fe(32).toString("base64url");return n!==a&&await C(r,n),{token:n,tokenFile:r}})}o($r,"ensureCapabilityToken");export{Ge as a,Ke as b,Qe as c,y as d,Ze as e,et as f,tt as g,_e as h,Ht as i,_ as j,it as k,qe as l,u as m,jt as n,ve as o,Ue as p,rr as q,nr as r,or as s,cr as t,Ie as u,ke as v,Cr as w,_r as x,Nr as y,Br as z,Mr as A,Ur as B,$r as C};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{$b as Ne,Aa as _e,Cb as Le,Da as Be,Eb as Fe,Ha as De,Jb as Ve,Lb as $e,Mb as he,Pa as $,Pb as qe,Qb as J,Rb as X,Sa as te,Sb as ve,Ta as Ae,Tb as Oe,Ub as ze,Va as Ce,Wa as W,Wb as se,Xa as ue,Xb as L,Yb as ae,_b as Ge,ba as fe,bc as Ke,cc as We,da as K,dc as ge,ea as p,ec as Je,mc as ne,nc as Xe,p as Ee,r as Me,sc as re,wb as je}from"./chunk-ETH4SZO6.js";import{n as le,o as pe,p as Pe}from"./chunk-JPCPNW6T.js";import{$a as Y,Ab as N,Cb as U,Eb as Ie,Lb as v,Mb as j,Nb as P,Ob as He,Qb as Z,Sb as ee,a as D,bc as z,fb as be,ib as Te,jb as Se,kb as xe,lb as ye,sb as O,tb as G,vb as V,xb as Q}from"./chunk-2LSP2AAN.js";import{b as k}from"./chunk-ES2ISFJC.js";import{a as S}from"./chunk-FTQLQJQV.js";var oe=G.shape.id,Ye=k.object({schemaVersion:k.literal("openpond.modelBatchReviewInspection.v1"),packageHash:k.string().regex(/^[a-f0-9]{64}$/),definition:V,binding:be,evidence:k.array(N).min(1).max(1e4),decisions:k.array(Ie).min(1).max(1e4)}).strict(),ke=k.object({schemaVersion:k.literal("openpond.modelBatchReviewRequest.v1"),operationId:oe,modelId:oe,expectedModelRevision:k.number().int().positive(),tasksetRef:G,rewardBindingRef:G.nullable(),definition:k.object({name:k.string().trim().min(1).max(500).optional(),instructions:k.string().trim().min(1).max(2e4).optional(),inputSchema:O.optional(),outputSchema:O.optional(),requiredOutputs:V.shape.requiredOutputs}).strict(),examples:k.array(k.object({evidence:G,input:O.optional(),expected:O.nullable().optional(),evaluatorContext:O.nullable().optional(),proposedTarget:O.nullable().optional()}).strict()).max(1e4)}).strict(),Qe=k.object({schemaVersion:k.literal("openpond.modelBatchReviewReceipt.v1"),operationId:oe,modelId:oe,source:Q,evidence:k.array(N).min(1).max(1e4),proposals:k.array(U).max(1e4)}).strict();function ss(s){let e=L(s.source);if(e.modelResources||e.learningResources)throw new Error("Binding an ordinary Reward requires an ordinary source package.");let t=se(e);if(!t.trim())throw new Error("Add collection instructions before selecting a saved Reward.");let a=new Map,i=X(e);for(let h of i?.assets??[])a.set(h.id,h);let m=new Set([...e.taskset.tasks.flatMap(h=>h.privilegedContextRef?[h.privilegedContextRef]:[]),...[e.environment.actionSchemaRef,e.environment.observationSchemaRef,e.environment.stateSchemaRef].flatMap(h=>h?[h.id]:[])]);for(let h of m){if(a.has(h))continue;let y=e.files.find(F=>F.asset.id===h);if(!y)throw new Error(`Source Taskset context is missing: ${h}.`);let A=new TextDecoder("utf-8",{fatal:!0}).decode(J(y));a.set(h,Z.parse(P({schemaVersion:"openpond.learningTextAsset.v1",id:h,revision:1,asset:y.asset,text:A})))}for(let h of s.assets){let y=e.files.find(A=>A.asset.id===h.id);if(y&&P({asset:y.asset}).contentHash!==P({asset:h.asset}).contentHash)throw new Error(`Selected Reward conflicts with a source asset: ${h.id}.`);a.set(h.id,h)}let{policy:u,environment:g,environmentRelease:x,tools:R,capabilities:r,verifierSetRelease:w}=e.taskset,c=V.parse(P({schemaVersion:"openpond.taskDefinition.v1",id:`${e.taskset.id}-definition`,revision:1,name:e.taskset.id,description:"",instructions:t,category:"custom",familyNamespace:e.taskset.id,inputSchema:{type:"object"},outputSchema:{type:"object"},rewardBinding:v(s.rewardBinding),harness:null,execution:{policy:u,environment:g,environmentRelease:x,tools:R,capabilities:r,verifierSetRelease:w}})),l=he({...s,assets:[...a.values()],source:{taskset:e.taskset,taskDefinition:c,instructionMode:"per_task",executionResources:{environment:e.environment,verifierSet:e.verifierSet},...i?{execution:i.execution}:{}}}),d=new Map(e.files.map(h=>[h.asset.id,h]));for(let h of l.assets){let y="";for(let A of new TextEncoder().encode(h.text))y+=String.fromCharCode(A);d.set(h.id,{asset:h.asset,base64:btoa(y)})}let{taskset:H,executionResources:E,...M}=l;return ae({schemaVersion:"openpond.tasksetPackage.v1",taskset:H,...E,modelResources:M,files:[...d.values()]})}S(ss,"bindOrdinaryModelTasksetReward");function at(s){let{request:e,package:t}=s,a=t.learningResources;if(!a)throw new D("model_review_batch_required",422);let i=z(t.taskset),m=`model-review-${p([s.scope,e.modelId,e.operationId])}`,u=new Map(e.examples.map(o=>[p(o.evidence),o])),g=new Set(a.evidence.map(o=>p(v(o)))),x=new Map(a.decisions.map(o=>[p(o.evidence),o]));if(u.size!==e.examples.length||e.examples.some(o=>!g.has(p(o.evidence))))throw new D("model_review_evidence_mismatch",409);for(let o of[s.binding,...s.rewards,...s.assets])He(o);xe(s.binding,s.rewards);let R=new Map;for(let o of s.binding.sources){let I=s.rewards.find(ie=>j(v(ie),o.reward)),{contentHash:B,...q}=I;R.set(I.contentHash,Te({...q,id:`${m}-reward-${I.contentHash}`,revision:1}))}let r=[...R.values()],{contentHash:w,recipeRef:c,...l}=s.binding,d=Se({...l,id:`${m}-binding`,revision:1,sources:s.binding.sources.map(o=>({...o,reward:v(R.get(o.reward.contentHash))}))},r),H=r.flatMap(o=>[...o.assets,..."verifierRef"in o.implementation?[o.implementation.verifierRef]:[],..."rubricRef"in o.implementation?[o.implementation.rubricRef]:[],..."inputContract"in o.implementation?[o.implementation.inputContract]:[]]),E=[...new Map(H.map(o=>{let I=s.assets.find(B=>B.id===o.id);if(!I)throw new D("model_review_reward_asset_missing",422);if(ee(I,o),o.visibility==="policy")throw new D("reward_asset_visibility_invalid",422);return[I.id,I]})).values()],{environmentRelease:M,verifierSetRelease:h,...y}=i.definition.execution,{contentHash:A,...F}=i.definition,n=V.parse(P({...F,...e.definition,id:`${m}-definition`,revision:1,rewardBinding:v(d),execution:{...y,policy:{...y.policy,hiddenGraderRefs:ye(d,r).filter(o=>o.privileged).map(o=>o.id)}}})),f=Q.parse(P({schemaVersion:"openpond.learningSource.v1",id:m,revision:1,name:`${n.name} review`,kind:"direct",taskDefinition:v(n),enabled:!0,allowedSplits:[...new Set(a.evidence.map(o=>o.submission.split))],mapping:null,adapterVersion:null,reviewOrigin:{modelId:e.modelId,packageHash:t.contentHash,taskset:v(t.taskset),batch:v(a.batch),rewardBinding:v(s.binding)}})),b=a.evidence.map(o=>{let I=u.get(p(v(o))),B=`review-${o.contentHash}`,q=p({instructions:n.instructions,inputSchema:n.inputSchema,outputSchema:n.outputSchema,requiredOutputs:n.requiredOutputs??[],input:I?.input??o.submission.input})!==p({instructions:i.definition.instructions,inputSchema:i.definition.inputSchema,outputSchema:i.definition.outputSchema,requiredOutputs:i.definition.requiredOutputs??[],input:o.submission.input});return N.parse(P({schemaVersion:"openpond.taskEvidence.v1",id:Pe(f.id,o.submission.exampleId,B),revision:1,source:v(f),submission:{...o.submission,sourceId:f.id,taskDefinition:v(n),attemptId:B,observedOutput:q?null:o.submission.observedOutput,idempotencyKey:`${m}-${o.contentHash}`,...I?.input===void 0?{}:{input:I.input},...I?.expected===void 0?{}:{expected:I.expected},...I?.evaluatorContext===void 0?{}:{evaluatorContext:I.evaluatorContext}},supersedes:v(o),correctionFeedbackId:null,receivedAt:s.now}))}),_=b.flatMap(o=>{let I=u.get(p(o.supersedes)),B=x.get(p(o.supersedes)),q=I?.proposedTarget===void 0?B.approvedTarget:I.proposedTarget;return q===null?[]:[U.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${p([m,o.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:f.id,idempotencyKey:`${m}-${o.id}`,exampleId:o.submission.exampleId,attemptId:o.submission.attemptId,expectedEvidenceHash:o.contentHash,occurredAt:s.now,kind:"target_correction",value:q,note:"Proposed target for the revised task. Grade and review before admission."},status:"pending_review",evidence:v(o),createdAt:s.now,review:null})]});return{source:f,definition:n,binding:d,rewards:r,assets:E,evidence:b,proposals:_}}S(at,"prepareModelBatchReview");var Ue=S(s=>`model-batch-review-${p([s.modelId,s.operationId])}`,"operation");function is(s){let e=L(s);if(!e.learningResources)throw new D("model_review_batch_required",422);let t=z(e.taskset);return Ye.parse({schemaVersion:"openpond.modelBatchReviewInspection.v1",packageHash:e.contentHash,definition:t.definition,binding:t.binding,evidence:e.learningResources.evidence,decisions:e.learningResources.decisions})}S(is,"inspectModelBatchPackage");async function nt(s,e){let t=ke.parse(e),a=await s.operation(Ue(t));if(!a)return null;if(a.requestHash!==p(t))throw new D("learning_idempotency_conflict",409);return Ze(s,t,a.resources)}S(nt,"findModelBatchReview");async function cs(s,e){let t=ke.parse(e.request),a=await nt(s,t);if(a)return a;let i=L(e.package);if(!i.learningResources)throw new D("model_review_batch_required",422);let m=z(i.taskset),u=t.rewardBindingRef,g=!u||j(u,v(m.binding)),x=g?m.binding:await pe(s,"binding",u),R=g?m.rewards:await Promise.all(x.sources.map(d=>pe(s,"reward",d.reward))),r=new Set(R.flatMap(d=>[...d.assets,..."verifierRef"in d.implementation?[d.implementation.verifierRef]:[],..."rubricRef"in d.implementation?[d.implementation.rubricRef]:[],..."inputContract"in d.implementation?[d.implementation.inputContract]:[]]).map(d=>d.id)),w=g?i.learningResources.assets:await Promise.all([...r].map(d=>le(s,"asset",d,1))),c=at({...e,request:t,package:i,binding:x,rewards:R,assets:w}),l=[];for(let d of c.assets){let H=await s.get("asset",d.id,1);if(H&&H.contentHash!==d.contentHash)throw new D("model_review_asset_conflict",409);H||await s.put("asset",d,0)}for(let d of c.rewards)await s.put("reward",d,0);await s.put("binding",c.binding,0),await s.put("definition",c.definition,0),await s.put("source",c.source,0,{parentId:t.modelId}),l.push({kind:"source",id:c.source.id,revision:1});for(let d of c.evidence)await s.put("evidence",d,0,{parentId:c.source.id}),l.push({kind:"evidence",id:d.id,revision:1});for(let d of c.proposals)await s.put("feedback",d,0,{parentId:d.evidence.id,status:d.status}),l.push({kind:"feedback",id:d.id,revision:1});return await s.saveOperation(Ue(t),{requestHash:p(t),resources:l}),Ze(s,t,l)}S(cs,"beginModelBatchReview");async function Ze(s,e,t){let a=await Promise.all(t.map(i=>le(s,i.kind,i.id,i.revision)));return Qe.parse({schemaVersion:"openpond.modelBatchReviewReceipt.v1",operationId:e.operationId,modelId:e.modelId,source:a.find(i=>i.schemaVersion==="openpond.learningSource.v1"),evidence:a.filter(i=>i.schemaVersion==="openpond.taskEvidence.v1"),proposals:a.filter(i=>i.schemaVersion==="openpond.taskFeedbackRecord.v1")})}S(Ze,"readReceipt");function rt(s){let e=L(s.source),t=L(s.edited),a=s.preparation;if(a.authoringGraph!=="bound"||!e.modelResources||e.learningResources||t.modelResources||t.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(e.contentHash!==a.sourcePackageHash||!j(v(e.taskset),a.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let i=S(T=>T.taskset.graders.map(C=>C.kind==="custom_verifier"?{...C,exportName:C.exportName??"verify"}:C),"normalizedGraders");if(p(i(e))!==p(i(t)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let m=e.modelResources,u=new Map(m.assets.map(T=>[T.id,T])),g=X(t),x=X(e),R=S(T=>{let{id:C,revision:ce,contentHash:de,metadata:me,...st}=T,{javascriptEnvironment:lt,...Re}=me;return{...st,metadata:{...Re,resources:Re.resources??[]}}},"environmentContent"),r=S(T=>{if(!T)return null;let{id:C,revision:ce,contentHash:de,...me}=T.execution.javascript;return me},"javascriptContent"),w=p(R(e.environment))===p(R(t.environment))&&p(r(x))===p(r(g)),c=w?e.environment:t.environment,l=w?x:g,d=new Set([...m.assets.map(T=>T.id),...t.taskset.tasks.flatMap(T=>T.privilegedContextRef?[T.privilegedContextRef]:[]),...[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef].flatMap(T=>T?[T.id]:[]),...g?.assets.map(T=>T.id)??[]]);for(let T of d){let C=t.files.find(de=>de.asset.id===T);if(!C)throw new Error(`Bound Taskset asset is missing: ${T}.`);let ce=new TextDecoder("utf-8",{fatal:!0}).decode(J(C));u.set(T,Z.parse(P({schemaVersion:"openpond.learningTextAsset.v1",id:T,revision:1,asset:C.asset,text:ce})))}let H=se(t),{contentHash:E,...M}=m.taskDefinition,{policy:h,environment:y,environmentRelease:A,tools:F,capabilities:n,verifierSetRelease:f}=t.taskset,b=V.parse(P({...M,instructions:H,execution:{policy:h,environment:y,environmentRelease:A,tools:F,capabilities:n,verifierSetRelease:f}})),{contentHash:_,...o}=t.taskset,I=Y.parse(P({...o,tasks:t.taskset.tasks.map(T=>m.instructionMode==="per_task"?T:{...T,policyVisibleContext:{...T.policyVisibleContext,instructions:H}})})),B=he({owner:a.lineage.owner,source:{...m,taskset:e.taskset,executionResources:{environment:e.environment,verifierSet:e.verifierSet}},rewardBinding:m.rewardBinding,rewards:m.rewards,assets:[...u.values()],edits:{taskset:I,taskDefinition:b,executionResources:{environment:c,verifierSet:t.verifierSet},...l?{execution:l.execution}:{}}}),q=Ve.parse(B.taskset.metadata.modelTasksetDerivation);if(B.taskset.id!==a.tasksetId||B.taskset.revision!==a.tasksetRevision||p({...q,schemaVersion:a.lineage.schemaVersion})!==p(a.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:ie,executionResources:et,...tt}=B;return ae({schemaVersion:"openpond.tasksetPackage.v1",taskset:ie,...et,modelResources:tt,files:t.files})}S(rt,"publishBoundModelTasksetDraftPackage");function us(s){let e=Ce.parse(s.request),t=Ae.parse(s.owner),a=L(s.source);if(a.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(a.contentHash!==e.sourcePackageHash)throw new Error("Taskset draft source package changed.");if(a.modelResources){let x=$e({owner:t,source:{...a.modelResources,taskset:a.taskset,executionResources:{environment:a.environment,verifierSet:a.verifierSet}},rewardBinding:a.modelResources.rewardBinding,rewards:a.modelResources.rewards,assets:a.modelResources.assets}),R=x.taskset.metadata.modelTasksetDerivation;return W.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${p({owner:t,operationId:e.operationId})}`,requestHash:p(e),sourcePackageHash:a.contentHash,sourceTasksetRef:v(a.taskset),tasksetId:x.taskset.id,tasksetRevision:x.taskset.revision,lineage:{...R,schemaVersion:"openpond.modelTasksetAuthoring.v1"},authoringGraph:"bound"})}let i=ze(a.taskset),m=i&&p(i.owner)===p(t),u=m?i.root:v(a.taskset),g={schemaVersion:"openpond.modelTasksetAuthoring.v1",owner:t,root:u,parent:v(a.taskset)};return W.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${p({owner:t,operationId:e.operationId})}`,requestHash:p(e),sourcePackageHash:a.contentHash,sourceTasksetRef:v(a.taskset),tasksetId:Oe(g),tasksetRevision:m?a.taskset.revision+1:1,lineage:g})}S(us,"prepareModelTasksetDraft");function hs(s){let e=W.parse(s.preparation);if(!j(e.sourceTasksetRef,e.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(e.authoringGraph==="bound"){if(!s.source)throw new Error("Bound Taskset authoring requires its retained source package.");return rt({preparation:e,source:s.source,edited:s.edited})}let t=ot(s.edited),{contentHash:a,...i}=t.verifierSet,m=Me({...i,id:`${e.tasksetId}-verifiers`,revision:e.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:v(t.verifierSet)}}),{contentHash:u,...g}=t.taskset,x=Y.parse(P({...g,id:e.tasksetId,revision:e.tasksetRevision,verifierSetRelease:{id:m.id,contentHash:m.contentHash},metadata:{modelTasksetAuthoring:e.lineage,...t.taskset.metadata.environmentResources===void 0?{}:{environmentResources:t.taskset.metadata.environmentResources},...t.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:t.taskset.metadata.ordinaryAuthoring}}})),R=X(t),r=R?[...t.files.filter(w=>w.asset.id!==Fe(t.taskset)),ve({...R.execution,verifierSet:m})]:t.files;return ae({schemaVersion:"openpond.tasksetPackage.v1",taskset:x,environment:t.environment,verifierSet:m,files:r})}S(hs,"publishModelTasksetDraftPackage");function ot(s){let e=L(s);if(e.modelResources||e.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return e}S(ot,"requireOrdinaryPackage");function gs(s){let e=L(s.package),t=e.taskset,a=e.modelResources,i=e.learningResources?z(t):void 0,m=_e.parse({schemaVersion:"openpond.uploadedFileDatasetSource.v1",kind:"uploaded_file",id:`package-source-${p({profileId:s.profileId,packageHash:e.contentHash})}`,profileId:s.profileId,title:s.name,sourceHash:e.contentHash,occurredAt:s.createdAt,licensingStatus:"pending",secretScanStatus:"pending",piiScanStatus:"pending",originalFileNames:["taskset-package.json"],mediaTypes:["application/json"],sourceFileHashes:[e.contentHash],totalBytes:new TextEncoder().encode(JSON.stringify(e)).byteLength,parserVersion:"openpond.tasksetPackage.v1",metadata:{}}),u=Xe({profileId:s.profileId,id:`${t.id}-import`,name:s.name,now:s.createdAt}),g=[];for(let c of t.graders)if(c.kind==="custom_verifier"){let l=a?.assets.find(E=>E.id===c.verifierRef.id),d=e.files.find(E=>E.asset.id===c.verifierRef.id);if(!d)throw new Error(`Imported verifier source is missing: ${c.id}.`);let H=Je(c.verifierRef.contentHash);g.some(E=>E.path===H)||g.push({path:H,role:"verifier",content:l?ee(l,c.verifierRef):new TextDecoder("utf-8",{fatal:!0}).decode(J(d))})}let x=t.metadata.ordinaryAuthoring??t.metadata.starterAuthoring,R=De.array().max(1e5).parse(x?.graderFixtures??[]),r=t.environment.kind==="text"?"chat":t.environment.kind==="custom_program"?"program":t.environment.kind,w=$.parse({schemaVersion:"openpond.taskset.v1",id:t.id,revision:t.revision,profileId:s.profileId,profileRelease:null,createImproveRunId:null,name:s.name,objective:se(e),status:"needs_review",sourceRefs:[m],datasetArtifact:null,policy:t.policy,environment:{...u.environment,kind:r,entrypoint:t.environment.entrypoint,resources:Be.array().max(1e4).parse(t.metadata.environmentResources??[]),stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,toolNames:t.tools.map(c=>c.name),defaultTimeoutMs:t.environment.defaultTimeoutMs,networkPolicy:t.environment.networkPolicy,metadata:{runtimeSourceTasksetId:it(s.profileId,e.contentHash),portableEnvironment:t.environment,portableTools:t.tools,portableExecutionResources:{environment:e.environment,verifierSet:e.verifierSet}}},capabilities:{...u.capabilities,taskKind:r==="chat"?"chat":r==="program"?"custom_program":"single_agent",compatibleMethods:["none"],requiresTools:t.tools.length>0,requiresState:t.environment.stateful,rewardKinds:[...new Set(t.graders.map(c=>c.kind==="human"?"human":c.kind==="model_judge"?"model_judge":"deterministic"))]},tasks:t.tasks.map(c=>({...c,schemaVersion:"openpond.taskData.v1",sourceRefs:[m.id],assets:c.artifactRefs.map(l=>({id:l.id,sourceRefId:m.id,artifactRef:l.path,fileName:l.path.split("/").at(-1),mediaType:l.mediaType,sha256:l.contentHash,sizeBytes:l.sizeBytes,split:c.split,metadata:{portableAsset:l}})),...c.requiredOutputs?{requiredOutputs:c.requiredOutputs.map(l=>({...l,schemaRef:l.schemaRef?.id??null,maxBytes:l.maxBytes??void 0}))}:{},metadata:{portableTaskRecord:c,exampleOrigin:"imported"}})),graders:a?ge(a.rewardBinding,a.rewards,a.assets):i?ge(i.binding,i.rewards,e.learningResources.assets):We(e),graderFixtures:R,learningSignals:u.learningSignals,...t.metrics?{metrics:t.metrics}:{},authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:p("openpond-package-import-v1"),promptTemplateVersion:"package-import-v1",buildIntent:"discovery",buildSpecification:null,evidenceHashes:[e.contentHash],tasksetSdkVersion:"package-import-v1",sourceCommit:null,repairHistory:[],createdAt:s.createdAt},readiness:null,contentHash:"00000000",createdAt:s.createdAt,updatedAt:s.createdAt,metadata:{importedPackageHash:e.contentHash,...i?{learning:i}:{},portableFileInventory:e.files.map(c=>({asset:c.asset,sourcePath:c.asset.path})),...a?{taskDefinition:v(a.taskDefinition),rewardBinding:v(a.rewardBinding),rewardExecution:{binding:a.rewardBinding,rewards:a.rewards}}:{},portableCapabilities:t.capabilities,derivedPortableMetadata:t.metadata,...t.metadata.modelTasksetDerivation?{modelTasksetDerivation:t.metadata.modelTasksetDerivation}:{}}});return{package:e,taskset:$.parse({...w,contentHash:te(w)}),generatedFiles:g}}S(gs,"prepareImportedTasksetPackage");function it(s,e){return`package-${p({profileId:s,packageHash:e})}`}S(it,"tasksetPackageSourceId");function ct(s,e,t,a){if(s.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:s,inventory:t,generatedFiles:[]};let i="environment/execution.json",m=e.get(i);if(!m||m.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let u=Le.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(m))),g=S(M=>{if(!M)return null;let h=t.find(y=>y.asset.id===M.id&&y.asset.path===M.path);if(!h)throw new Error(`Authored environment dependency is missing: ${M.id}.`);return h.asset},"repin"),{contentHash:x,...R}=u.javascript,r=je.parse(P({...R,id:`javascript-${s.id}`,revision:s.revision,module:g(u.javascript.module)}));if(p(r.tools)!==p(s.environment.metadata.portableTools)||p(r.tools.map(M=>M.name))!==p(s.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let w=Ee({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${s.id}`,revision:s.revision,contract:Ne(s),actionSchemaRef:g(u.environment.actionSchemaRef),observationSchemaRef:g(u.environment.observationSchemaRef),stateSchemaRef:g(u.environment.stateSchemaRef),artifactCollection:u.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:v(r),resources:s.environment.resources??[]}}),c=$.parse({...s,environment:{...s.environment,metadata:{...s.environment.metadata,portableExecutionResources:{environment:w}}}}),l=Ge({taskset:c,adapterId:a}),d=ve({javascript:r,environment:w,verifierSet:l.verifierSetRelease}),H=[...t.filter(M=>M.sourcePath!==i),{asset:d.asset,sourcePath:i}],E=$.parse({...c,metadata:{...c.metadata,portableFileInventory:H}});return{taskset:$.parse({...E,contentHash:te(E)}),inventory:H,generatedFiles:[{path:i,role:"environment",content:new TextDecoder().decode(J(d))}]}}S(ct,"prepareAuthoredToolEnvironment");var we=k.array(k.object({asset:fe,sourcePath:k.string().min(1)}).strict()).max(1e4),dt=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function Ts(s){return dt.has(s)}S(Ts,"isGeneratedTasksetPublicationFilePath");function Ss(s,e,t){let a=$.parse(s);if(a.metadata.taskDefinition!==void 0||a.metadata.rewardBinding!==void 0)return{taskset:a,generatedFiles:[]};let i=new Map,m=0;for(let[n,f]of e){if(ue.parse(n),m+=f.byteLength,i.size>=1e4||m>qe*3/4)throw new Error("Taskset source exceeds the package byte limit.");i.set(n,f.slice())}let u=a.metrics?.customAggregator,g=u?i.get(u.module):void 0;if(u&&!g)throw new Error("Declared Taskset metric module is missing.");let x=u&&g?{...a.metrics,customAggregator:{...u,contentHash:K(g)}}:a.metrics,R=new Map,r=new Set,w=[],c=S((n,f,b,_)=>{let o=i.get(f);if(!o)throw new Error(`Declared Taskset file is missing: ${f}.`);return{id:n,path:f,contentHash:K(o),sizeBytes:o.byteLength,mediaType:b,visibility:_}},"ref"),l=S((n,f=n.path)=>{let b=R.get(n.id);if(b&&p(b)!==p({asset:n,sourcePath:f}))throw new Error(`Conflicting Taskset file identity: ${n.id}.`);let _=i.get(f);if(!_||_.length!==n.sizeBytes||K(_)!==n.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${n.id}.`);R.set(n.id,{asset:n,sourcePath:f}),r.add(f)},"add");for(let n of a.tasks){let f=Ke(n);for(let b of f.artifactRefs)l(b,n.assets?.find(_=>_.id===b.id)?.artifactRef??b.path);for(let b of f.requiredOutputs??[])b.schemaRef&&l(b.schemaRef)}for(let n of a.environment.resources??[])l(c(n.id,n.path,n.mediaType??"application/octet-stream",n.visibility==="policy_visible"?"policy":"host_private"));let d=a.graders.map(n=>{if(n.kind==="custom_verifier"){let f=c(`verifier-${n.id}`,n.module,"application/javascript","host_private"),b=fe.safeParse(n.metadata.portableVerifierRef);return b.success&&b.data.contentHash===f.contentHash&&b.data.sizeBytes===f.sizeBytes&&(f=b.data),l(f,n.module),{...n,metadata:{...n.metadata,portableVerifierRef:f}}}if(n.kind==="human"||n.kind==="model_judge"){let f=new TextEncoder().encode(n.rubric),b=`graders/rubric-${K(f)}.md`;i.set(b,f);let _=c(`rubric-${n.id}`,b,"text/markdown","verifier");return l(_),w.push({path:b,role:"verifier",content:n.rubric}),{...n,metadata:{...n.metadata,portableRubricRef:_}}}return n});u&&![...R.values()].some(n=>n.asset.path===u.module&&n.sourcePath===u.module&&n.asset.visibility!=="policy")&&l(c(`metric-${p(u.module)}`,u.module,"application/javascript","host_private"));let H=we.parse(a.metadata.portableFileInventory??[]);for(let n of[...i.keys()].sort())if(!r.has(n)){let f=H.find(b=>b.sourcePath===n&&!R.has(b.asset.id));l(f?{...c(f.asset.id,n,f.asset.mediaType,f.asset.visibility),path:f.asset.path}:c(`taskset-file-${p(n)}`,n,"application/octet-stream","host_private"),n)}let{importedPackageHash:E,derivedPortableMetadata:M,...h}=a.metadata,y={...a.environment.metadata};if(y.portableExecutionResources!==void 0){let n=k.object({environment:k.unknown(),verifierSet:k.unknown().optional()}).parse(y.portableExecutionResources);y.portableExecutionResources={environment:n.environment}}let A=$.parse({...a,graders:d,metrics:x,environment:{...a.environment,metadata:y},metadata:{...h,...E===void 0?{}:{sourceImportedPackageHash:E},portableFileInventory:we.parse([...R.values()].sort((n,f)=>n.asset.id.localeCompare(f.asset.id)))}}),F=ct(A,i,[...R.values()],t);return{taskset:$.parse({...F.taskset,contentHash:te(F.taskset)}),generatedFiles:[...w,...F.generatedFiles]}}S(Ss,"prepareAuthoredTasksetSource");var mt=k.object({draft:ne,filePaths:k.array(k.object({assetId:k.string().min(1),paths:k.array(ue).min(1).max(1e4)}).strict()).max(1e4)}).strict();function Is(s){let e=L(s.source),t=ne.parse(s.sourceDraft),a=W.parse(s.preparation);if(e.contentHash!==a.sourcePackageHash||!j(v(e.taskset),a.sourceTasksetRef))throw new Error("Taskset draft preparation differs from its source package.");if(e.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(!!e.modelResources!=(a.authoringGraph==="bound"))throw new Error("Taskset draft authoring graph differs from its source.");let i=we.parse(t.metadata.portableFileInventory??[]),m=S(r=>re(r)?`source-artifacts/${e.contentHash}/${p(r)}/${r.split("/").at(-1)}`:r,"sourcePath");if([...t.tasks.flatMap(r=>(r.assets??[]).map(w=>w.artifactRef)),...(t.environment.resources??[]).map(r=>r.path),...e.taskset.tasks.flatMap(r=>(r.requiredOutputs??[]).flatMap(w=>w.schemaRef?[w.schemaRef.path]:[])),...t.metrics.customAggregator?[t.metrics.customAggregator.module]:[],...t.graders.flatMap(r=>r.kind==="custom_verifier"?[r.module]:[])].some(re))throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");let g=e.files.map(r=>{let w=new Set([r.asset.path]);for(let c of i)c.asset.id===r.asset.id&&w.add(c.sourcePath);for(let c of t.tasks)for(let l of c.assets??[])l.id===r.asset.id&&w.add(l.artifactRef);for(let c of e.taskset.graders)if(c.kind==="custom_verifier"&&c.verifierRef.id===r.asset.id){let l=t.graders.find(d=>d.id===c.id);l?.kind==="custom_verifier"&&w.add(l.module)}return{assetId:r.asset.id,paths:[...w].map(m)}}),x={...t.metadata};if(e.modelResources)for(let r of["taskDefinition","rewardBinding","rewardExecution","derivedPortableMetadata","modelTasksetDerivation","importedPackageHash"])delete x[r];let R=ne.parse({...t,id:a.draftId,revision:1,status:"draft",graders:t.graders.map(r=>({...r,metadata:{...r.metadata,portableGrader:e.taskset.graders.find(w=>w.id===r.id)}})),environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:e.environment}}},modelScope:{modelId:a.lineage.owner.modelId,expectedModelRevision:s.expectedModelRevision,source:a},publishedTasksetRef:a.tasksetRevision>1?a.sourceTasksetRef:null,metadata:{...x,modelTasksetAuthoring:a.lineage,portableFileInventory:i.map(r=>({...r,sourcePath:m(r.sourcePath),asset:{...r.asset,id:re(r.sourcePath)?`source-artifact-${p({packageHash:e.contentHash,assetId:r.asset.id})}`:r.asset.id,path:m(r.asset.path)}}))}});return mt.parse({draft:R,filePaths:g})}S(Is,"prepareTasksetDraftSource");export{ke as a,ss as b,is as c,nt as d,cs as e,us as f,hs as g,gs as h,it as i,we as j,Ts as k,Ss as l,mt as m,Is as n};
2
+ import{$b as Ne,Aa as _e,Cb as Le,Da as Be,Eb as Fe,Ha as De,Jb as Ve,Lb as $e,Mb as he,Pa as $,Pb as qe,Qb as J,Rb as X,Sa as te,Sb as ve,Ta as Ae,Tb as Oe,Ub as ze,Va as Ce,Wa as W,Wb as se,Xa as ue,Xb as L,Yb as ae,_b as Ge,ba as fe,bc as Ke,cc as We,da as K,dc as ge,ea as p,ec as Je,mc as ne,nc as Xe,p as Ee,r as Me,sc as re,wb as je}from"./chunk-QTEYV4TW.js";import{n as le,o as pe,p as Pe}from"./chunk-B5LKUQGM.js";import{$a as Y,Ab as N,Cb as U,Eb as Ie,Lb as v,Mb as j,Nb as P,Ob as He,Qb as Z,Sb as ee,a as D,bc as z,fb as be,ib as Te,jb as Se,kb as xe,lb as ye,sb as O,tb as G,vb as V,xb as Q}from"./chunk-5BFWDFPX.js";import{b as k}from"./chunk-ES2ISFJC.js";import{a as S}from"./chunk-FTQLQJQV.js";var oe=G.shape.id,Ye=k.object({schemaVersion:k.literal("openpond.modelBatchReviewInspection.v1"),packageHash:k.string().regex(/^[a-f0-9]{64}$/),definition:V,binding:be,evidence:k.array(N).min(1).max(1e4),decisions:k.array(Ie).min(1).max(1e4)}).strict(),ke=k.object({schemaVersion:k.literal("openpond.modelBatchReviewRequest.v1"),operationId:oe,modelId:oe,expectedModelRevision:k.number().int().positive(),tasksetRef:G,rewardBindingRef:G.nullable(),definition:k.object({name:k.string().trim().min(1).max(500).optional(),instructions:k.string().trim().min(1).max(2e4).optional(),inputSchema:O.optional(),outputSchema:O.optional(),requiredOutputs:V.shape.requiredOutputs}).strict(),examples:k.array(k.object({evidence:G,input:O.optional(),expected:O.nullable().optional(),evaluatorContext:O.nullable().optional(),proposedTarget:O.nullable().optional()}).strict()).max(1e4)}).strict(),Qe=k.object({schemaVersion:k.literal("openpond.modelBatchReviewReceipt.v1"),operationId:oe,modelId:oe,source:Q,evidence:k.array(N).min(1).max(1e4),proposals:k.array(U).max(1e4)}).strict();function ss(s){let e=L(s.source);if(e.modelResources||e.learningResources)throw new Error("Binding an ordinary Reward requires an ordinary source package.");let t=se(e);if(!t.trim())throw new Error("Add collection instructions before selecting a saved Reward.");let a=new Map,i=X(e);for(let h of i?.assets??[])a.set(h.id,h);let m=new Set([...e.taskset.tasks.flatMap(h=>h.privilegedContextRef?[h.privilegedContextRef]:[]),...[e.environment.actionSchemaRef,e.environment.observationSchemaRef,e.environment.stateSchemaRef].flatMap(h=>h?[h.id]:[])]);for(let h of m){if(a.has(h))continue;let y=e.files.find(F=>F.asset.id===h);if(!y)throw new Error(`Source Taskset context is missing: ${h}.`);let A=new TextDecoder("utf-8",{fatal:!0}).decode(J(y));a.set(h,Z.parse(P({schemaVersion:"openpond.learningTextAsset.v1",id:h,revision:1,asset:y.asset,text:A})))}for(let h of s.assets){let y=e.files.find(A=>A.asset.id===h.id);if(y&&P({asset:y.asset}).contentHash!==P({asset:h.asset}).contentHash)throw new Error(`Selected Reward conflicts with a source asset: ${h.id}.`);a.set(h.id,h)}let{policy:u,environment:g,environmentRelease:x,tools:R,capabilities:r,verifierSetRelease:w}=e.taskset,c=V.parse(P({schemaVersion:"openpond.taskDefinition.v1",id:`${e.taskset.id}-definition`,revision:1,name:e.taskset.id,description:"",instructions:t,category:"custom",familyNamespace:e.taskset.id,inputSchema:{type:"object"},outputSchema:{type:"object"},rewardBinding:v(s.rewardBinding),harness:null,execution:{policy:u,environment:g,environmentRelease:x,tools:R,capabilities:r,verifierSetRelease:w}})),l=he({...s,assets:[...a.values()],source:{taskset:e.taskset,taskDefinition:c,instructionMode:"per_task",executionResources:{environment:e.environment,verifierSet:e.verifierSet},...i?{execution:i.execution}:{}}}),d=new Map(e.files.map(h=>[h.asset.id,h]));for(let h of l.assets){let y="";for(let A of new TextEncoder().encode(h.text))y+=String.fromCharCode(A);d.set(h.id,{asset:h.asset,base64:btoa(y)})}let{taskset:H,executionResources:E,...M}=l;return ae({schemaVersion:"openpond.tasksetPackage.v1",taskset:H,...E,modelResources:M,files:[...d.values()]})}S(ss,"bindOrdinaryModelTasksetReward");function at(s){let{request:e,package:t}=s,a=t.learningResources;if(!a)throw new D("model_review_batch_required",422);let i=z(t.taskset),m=`model-review-${p([s.scope,e.modelId,e.operationId])}`,u=new Map(e.examples.map(o=>[p(o.evidence),o])),g=new Set(a.evidence.map(o=>p(v(o)))),x=new Map(a.decisions.map(o=>[p(o.evidence),o]));if(u.size!==e.examples.length||e.examples.some(o=>!g.has(p(o.evidence))))throw new D("model_review_evidence_mismatch",409);for(let o of[s.binding,...s.rewards,...s.assets])He(o);xe(s.binding,s.rewards);let R=new Map;for(let o of s.binding.sources){let I=s.rewards.find(ie=>j(v(ie),o.reward)),{contentHash:B,...q}=I;R.set(I.contentHash,Te({...q,id:`${m}-reward-${I.contentHash}`,revision:1}))}let r=[...R.values()],{contentHash:w,recipeRef:c,...l}=s.binding,d=Se({...l,id:`${m}-binding`,revision:1,sources:s.binding.sources.map(o=>({...o,reward:v(R.get(o.reward.contentHash))}))},r),H=r.flatMap(o=>[...o.assets,..."verifierRef"in o.implementation?[o.implementation.verifierRef]:[],..."rubricRef"in o.implementation?[o.implementation.rubricRef]:[],..."inputContract"in o.implementation?[o.implementation.inputContract]:[]]),E=[...new Map(H.map(o=>{let I=s.assets.find(B=>B.id===o.id);if(!I)throw new D("model_review_reward_asset_missing",422);if(ee(I,o),o.visibility==="policy")throw new D("reward_asset_visibility_invalid",422);return[I.id,I]})).values()],{environmentRelease:M,verifierSetRelease:h,...y}=i.definition.execution,{contentHash:A,...F}=i.definition,n=V.parse(P({...F,...e.definition,id:`${m}-definition`,revision:1,rewardBinding:v(d),execution:{...y,policy:{...y.policy,hiddenGraderRefs:ye(d,r).filter(o=>o.privileged).map(o=>o.id)}}})),f=Q.parse(P({schemaVersion:"openpond.learningSource.v1",id:m,revision:1,name:`${n.name} review`,kind:"direct",taskDefinition:v(n),enabled:!0,allowedSplits:[...new Set(a.evidence.map(o=>o.submission.split))],mapping:null,adapterVersion:null,reviewOrigin:{modelId:e.modelId,packageHash:t.contentHash,taskset:v(t.taskset),batch:v(a.batch),rewardBinding:v(s.binding)}})),b=a.evidence.map(o=>{let I=u.get(p(v(o))),B=`review-${o.contentHash}`,q=p({instructions:n.instructions,inputSchema:n.inputSchema,outputSchema:n.outputSchema,requiredOutputs:n.requiredOutputs??[],input:I?.input??o.submission.input})!==p({instructions:i.definition.instructions,inputSchema:i.definition.inputSchema,outputSchema:i.definition.outputSchema,requiredOutputs:i.definition.requiredOutputs??[],input:o.submission.input});return N.parse(P({schemaVersion:"openpond.taskEvidence.v1",id:Pe(f.id,o.submission.exampleId,B),revision:1,source:v(f),submission:{...o.submission,sourceId:f.id,taskDefinition:v(n),attemptId:B,observedOutput:q?null:o.submission.observedOutput,idempotencyKey:`${m}-${o.contentHash}`,...I?.input===void 0?{}:{input:I.input},...I?.expected===void 0?{}:{expected:I.expected},...I?.evaluatorContext===void 0?{}:{evaluatorContext:I.evaluatorContext}},supersedes:v(o),correctionFeedbackId:null,receivedAt:s.now}))}),_=b.flatMap(o=>{let I=u.get(p(o.supersedes)),B=x.get(p(o.supersedes)),q=I?.proposedTarget===void 0?B.approvedTarget:I.proposedTarget;return q===null?[]:[U.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${p([m,o.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:f.id,idempotencyKey:`${m}-${o.id}`,exampleId:o.submission.exampleId,attemptId:o.submission.attemptId,expectedEvidenceHash:o.contentHash,occurredAt:s.now,kind:"target_correction",value:q,note:"Proposed target for the revised task. Grade and review before admission."},status:"pending_review",evidence:v(o),createdAt:s.now,review:null})]});return{source:f,definition:n,binding:d,rewards:r,assets:E,evidence:b,proposals:_}}S(at,"prepareModelBatchReview");var Ue=S(s=>`model-batch-review-${p([s.modelId,s.operationId])}`,"operation");function is(s){let e=L(s);if(!e.learningResources)throw new D("model_review_batch_required",422);let t=z(e.taskset);return Ye.parse({schemaVersion:"openpond.modelBatchReviewInspection.v1",packageHash:e.contentHash,definition:t.definition,binding:t.binding,evidence:e.learningResources.evidence,decisions:e.learningResources.decisions})}S(is,"inspectModelBatchPackage");async function nt(s,e){let t=ke.parse(e),a=await s.operation(Ue(t));if(!a)return null;if(a.requestHash!==p(t))throw new D("learning_idempotency_conflict",409);return Ze(s,t,a.resources)}S(nt,"findModelBatchReview");async function cs(s,e){let t=ke.parse(e.request),a=await nt(s,t);if(a)return a;let i=L(e.package);if(!i.learningResources)throw new D("model_review_batch_required",422);let m=z(i.taskset),u=t.rewardBindingRef,g=!u||j(u,v(m.binding)),x=g?m.binding:await pe(s,"binding",u),R=g?m.rewards:await Promise.all(x.sources.map(d=>pe(s,"reward",d.reward))),r=new Set(R.flatMap(d=>[...d.assets,..."verifierRef"in d.implementation?[d.implementation.verifierRef]:[],..."rubricRef"in d.implementation?[d.implementation.rubricRef]:[],..."inputContract"in d.implementation?[d.implementation.inputContract]:[]]).map(d=>d.id)),w=g?i.learningResources.assets:await Promise.all([...r].map(d=>le(s,"asset",d,1))),c=at({...e,request:t,package:i,binding:x,rewards:R,assets:w}),l=[];for(let d of c.assets){let H=await s.get("asset",d.id,1);if(H&&H.contentHash!==d.contentHash)throw new D("model_review_asset_conflict",409);H||await s.put("asset",d,0)}for(let d of c.rewards)await s.put("reward",d,0);await s.put("binding",c.binding,0),await s.put("definition",c.definition,0),await s.put("source",c.source,0,{parentId:t.modelId}),l.push({kind:"source",id:c.source.id,revision:1});for(let d of c.evidence)await s.put("evidence",d,0,{parentId:c.source.id}),l.push({kind:"evidence",id:d.id,revision:1});for(let d of c.proposals)await s.put("feedback",d,0,{parentId:d.evidence.id,status:d.status}),l.push({kind:"feedback",id:d.id,revision:1});return await s.saveOperation(Ue(t),{requestHash:p(t),resources:l}),Ze(s,t,l)}S(cs,"beginModelBatchReview");async function Ze(s,e,t){let a=await Promise.all(t.map(i=>le(s,i.kind,i.id,i.revision)));return Qe.parse({schemaVersion:"openpond.modelBatchReviewReceipt.v1",operationId:e.operationId,modelId:e.modelId,source:a.find(i=>i.schemaVersion==="openpond.learningSource.v1"),evidence:a.filter(i=>i.schemaVersion==="openpond.taskEvidence.v1"),proposals:a.filter(i=>i.schemaVersion==="openpond.taskFeedbackRecord.v1")})}S(Ze,"readReceipt");function rt(s){let e=L(s.source),t=L(s.edited),a=s.preparation;if(a.authoringGraph!=="bound"||!e.modelResources||e.learningResources||t.modelResources||t.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(e.contentHash!==a.sourcePackageHash||!j(v(e.taskset),a.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let i=S(T=>T.taskset.graders.map(C=>C.kind==="custom_verifier"?{...C,exportName:C.exportName??"verify"}:C),"normalizedGraders");if(p(i(e))!==p(i(t)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let m=e.modelResources,u=new Map(m.assets.map(T=>[T.id,T])),g=X(t),x=X(e),R=S(T=>{let{id:C,revision:ce,contentHash:de,metadata:me,...st}=T,{javascriptEnvironment:lt,...Re}=me;return{...st,metadata:{...Re,resources:Re.resources??[]}}},"environmentContent"),r=S(T=>{if(!T)return null;let{id:C,revision:ce,contentHash:de,...me}=T.execution.javascript;return me},"javascriptContent"),w=p(R(e.environment))===p(R(t.environment))&&p(r(x))===p(r(g)),c=w?e.environment:t.environment,l=w?x:g,d=new Set([...m.assets.map(T=>T.id),...t.taskset.tasks.flatMap(T=>T.privilegedContextRef?[T.privilegedContextRef]:[]),...[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef].flatMap(T=>T?[T.id]:[]),...g?.assets.map(T=>T.id)??[]]);for(let T of d){let C=t.files.find(de=>de.asset.id===T);if(!C)throw new Error(`Bound Taskset asset is missing: ${T}.`);let ce=new TextDecoder("utf-8",{fatal:!0}).decode(J(C));u.set(T,Z.parse(P({schemaVersion:"openpond.learningTextAsset.v1",id:T,revision:1,asset:C.asset,text:ce})))}let H=se(t),{contentHash:E,...M}=m.taskDefinition,{policy:h,environment:y,environmentRelease:A,tools:F,capabilities:n,verifierSetRelease:f}=t.taskset,b=V.parse(P({...M,instructions:H,execution:{policy:h,environment:y,environmentRelease:A,tools:F,capabilities:n,verifierSetRelease:f}})),{contentHash:_,...o}=t.taskset,I=Y.parse(P({...o,tasks:t.taskset.tasks.map(T=>m.instructionMode==="per_task"?T:{...T,policyVisibleContext:{...T.policyVisibleContext,instructions:H}})})),B=he({owner:a.lineage.owner,source:{...m,taskset:e.taskset,executionResources:{environment:e.environment,verifierSet:e.verifierSet}},rewardBinding:m.rewardBinding,rewards:m.rewards,assets:[...u.values()],edits:{taskset:I,taskDefinition:b,executionResources:{environment:c,verifierSet:t.verifierSet},...l?{execution:l.execution}:{}}}),q=Ve.parse(B.taskset.metadata.modelTasksetDerivation);if(B.taskset.id!==a.tasksetId||B.taskset.revision!==a.tasksetRevision||p({...q,schemaVersion:a.lineage.schemaVersion})!==p(a.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:ie,executionResources:et,...tt}=B;return ae({schemaVersion:"openpond.tasksetPackage.v1",taskset:ie,...et,modelResources:tt,files:t.files})}S(rt,"publishBoundModelTasksetDraftPackage");function us(s){let e=Ce.parse(s.request),t=Ae.parse(s.owner),a=L(s.source);if(a.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(a.contentHash!==e.sourcePackageHash)throw new Error("Taskset draft source package changed.");if(a.modelResources){let x=$e({owner:t,source:{...a.modelResources,taskset:a.taskset,executionResources:{environment:a.environment,verifierSet:a.verifierSet}},rewardBinding:a.modelResources.rewardBinding,rewards:a.modelResources.rewards,assets:a.modelResources.assets}),R=x.taskset.metadata.modelTasksetDerivation;return W.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${p({owner:t,operationId:e.operationId})}`,requestHash:p(e),sourcePackageHash:a.contentHash,sourceTasksetRef:v(a.taskset),tasksetId:x.taskset.id,tasksetRevision:x.taskset.revision,lineage:{...R,schemaVersion:"openpond.modelTasksetAuthoring.v1"},authoringGraph:"bound"})}let i=ze(a.taskset),m=i&&p(i.owner)===p(t),u=m?i.root:v(a.taskset),g={schemaVersion:"openpond.modelTasksetAuthoring.v1",owner:t,root:u,parent:v(a.taskset)};return W.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${p({owner:t,operationId:e.operationId})}`,requestHash:p(e),sourcePackageHash:a.contentHash,sourceTasksetRef:v(a.taskset),tasksetId:Oe(g),tasksetRevision:m?a.taskset.revision+1:1,lineage:g})}S(us,"prepareModelTasksetDraft");function hs(s){let e=W.parse(s.preparation);if(!j(e.sourceTasksetRef,e.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(e.authoringGraph==="bound"){if(!s.source)throw new Error("Bound Taskset authoring requires its retained source package.");return rt({preparation:e,source:s.source,edited:s.edited})}let t=ot(s.edited),{contentHash:a,...i}=t.verifierSet,m=Me({...i,id:`${e.tasksetId}-verifiers`,revision:e.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:v(t.verifierSet)}}),{contentHash:u,...g}=t.taskset,x=Y.parse(P({...g,id:e.tasksetId,revision:e.tasksetRevision,verifierSetRelease:{id:m.id,contentHash:m.contentHash},metadata:{modelTasksetAuthoring:e.lineage,...t.taskset.metadata.environmentResources===void 0?{}:{environmentResources:t.taskset.metadata.environmentResources},...t.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:t.taskset.metadata.ordinaryAuthoring}}})),R=X(t),r=R?[...t.files.filter(w=>w.asset.id!==Fe(t.taskset)),ve({...R.execution,verifierSet:m})]:t.files;return ae({schemaVersion:"openpond.tasksetPackage.v1",taskset:x,environment:t.environment,verifierSet:m,files:r})}S(hs,"publishModelTasksetDraftPackage");function ot(s){let e=L(s);if(e.modelResources||e.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return e}S(ot,"requireOrdinaryPackage");function gs(s){let e=L(s.package),t=e.taskset,a=e.modelResources,i=e.learningResources?z(t):void 0,m=_e.parse({schemaVersion:"openpond.uploadedFileDatasetSource.v1",kind:"uploaded_file",id:`package-source-${p({profileId:s.profileId,packageHash:e.contentHash})}`,profileId:s.profileId,title:s.name,sourceHash:e.contentHash,occurredAt:s.createdAt,licensingStatus:"pending",secretScanStatus:"pending",piiScanStatus:"pending",originalFileNames:["taskset-package.json"],mediaTypes:["application/json"],sourceFileHashes:[e.contentHash],totalBytes:new TextEncoder().encode(JSON.stringify(e)).byteLength,parserVersion:"openpond.tasksetPackage.v1",metadata:{}}),u=Xe({profileId:s.profileId,id:`${t.id}-import`,name:s.name,now:s.createdAt}),g=[];for(let c of t.graders)if(c.kind==="custom_verifier"){let l=a?.assets.find(E=>E.id===c.verifierRef.id),d=e.files.find(E=>E.asset.id===c.verifierRef.id);if(!d)throw new Error(`Imported verifier source is missing: ${c.id}.`);let H=Je(c.verifierRef.contentHash);g.some(E=>E.path===H)||g.push({path:H,role:"verifier",content:l?ee(l,c.verifierRef):new TextDecoder("utf-8",{fatal:!0}).decode(J(d))})}let x=t.metadata.ordinaryAuthoring??t.metadata.starterAuthoring,R=De.array().max(1e5).parse(x?.graderFixtures??[]),r=t.environment.kind==="text"?"chat":t.environment.kind==="custom_program"?"program":t.environment.kind,w=$.parse({schemaVersion:"openpond.taskset.v1",id:t.id,revision:t.revision,profileId:s.profileId,profileRelease:null,createImproveRunId:null,name:s.name,objective:se(e),status:"needs_review",sourceRefs:[m],datasetArtifact:null,policy:t.policy,environment:{...u.environment,kind:r,entrypoint:t.environment.entrypoint,resources:Be.array().max(1e4).parse(t.metadata.environmentResources??[]),stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,toolNames:t.tools.map(c=>c.name),defaultTimeoutMs:t.environment.defaultTimeoutMs,networkPolicy:t.environment.networkPolicy,metadata:{runtimeSourceTasksetId:it(s.profileId,e.contentHash),portableEnvironment:t.environment,portableTools:t.tools,portableExecutionResources:{environment:e.environment,verifierSet:e.verifierSet}}},capabilities:{...u.capabilities,taskKind:r==="chat"?"chat":r==="program"?"custom_program":"single_agent",compatibleMethods:["none"],requiresTools:t.tools.length>0,requiresState:t.environment.stateful,rewardKinds:[...new Set(t.graders.map(c=>c.kind==="human"?"human":c.kind==="model_judge"?"model_judge":"deterministic"))]},tasks:t.tasks.map(c=>({...c,schemaVersion:"openpond.taskData.v1",sourceRefs:[m.id],assets:c.artifactRefs.map(l=>({id:l.id,sourceRefId:m.id,artifactRef:l.path,fileName:l.path.split("/").at(-1),mediaType:l.mediaType,sha256:l.contentHash,sizeBytes:l.sizeBytes,split:c.split,metadata:{portableAsset:l}})),...c.requiredOutputs?{requiredOutputs:c.requiredOutputs.map(l=>({...l,schemaRef:l.schemaRef?.id??null,maxBytes:l.maxBytes??void 0}))}:{},metadata:{portableTaskRecord:c,exampleOrigin:"imported"}})),graders:a?ge(a.rewardBinding,a.rewards,a.assets):i?ge(i.binding,i.rewards,e.learningResources.assets):We(e),graderFixtures:R,learningSignals:u.learningSignals,...t.metrics?{metrics:t.metrics}:{},authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:p("openpond-package-import-v1"),promptTemplateVersion:"package-import-v1",buildIntent:"discovery",buildSpecification:null,evidenceHashes:[e.contentHash],tasksetSdkVersion:"package-import-v1",sourceCommit:null,repairHistory:[],createdAt:s.createdAt},readiness:null,contentHash:"00000000",createdAt:s.createdAt,updatedAt:s.createdAt,metadata:{importedPackageHash:e.contentHash,...i?{learning:i}:{},portableFileInventory:e.files.map(c=>({asset:c.asset,sourcePath:c.asset.path})),...a?{taskDefinition:v(a.taskDefinition),rewardBinding:v(a.rewardBinding),rewardExecution:{binding:a.rewardBinding,rewards:a.rewards}}:{},portableCapabilities:t.capabilities,derivedPortableMetadata:t.metadata,...t.metadata.modelTasksetDerivation?{modelTasksetDerivation:t.metadata.modelTasksetDerivation}:{}}});return{package:e,taskset:$.parse({...w,contentHash:te(w)}),generatedFiles:g}}S(gs,"prepareImportedTasksetPackage");function it(s,e){return`package-${p({profileId:s,packageHash:e})}`}S(it,"tasksetPackageSourceId");function ct(s,e,t,a){if(s.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:s,inventory:t,generatedFiles:[]};let i="environment/execution.json",m=e.get(i);if(!m||m.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let u=Le.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(m))),g=S(M=>{if(!M)return null;let h=t.find(y=>y.asset.id===M.id&&y.asset.path===M.path);if(!h)throw new Error(`Authored environment dependency is missing: ${M.id}.`);return h.asset},"repin"),{contentHash:x,...R}=u.javascript,r=je.parse(P({...R,id:`javascript-${s.id}`,revision:s.revision,module:g(u.javascript.module)}));if(p(r.tools)!==p(s.environment.metadata.portableTools)||p(r.tools.map(M=>M.name))!==p(s.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let w=Ee({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${s.id}`,revision:s.revision,contract:Ne(s),actionSchemaRef:g(u.environment.actionSchemaRef),observationSchemaRef:g(u.environment.observationSchemaRef),stateSchemaRef:g(u.environment.stateSchemaRef),artifactCollection:u.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:v(r),resources:s.environment.resources??[]}}),c=$.parse({...s,environment:{...s.environment,metadata:{...s.environment.metadata,portableExecutionResources:{environment:w}}}}),l=Ge({taskset:c,adapterId:a}),d=ve({javascript:r,environment:w,verifierSet:l.verifierSetRelease}),H=[...t.filter(M=>M.sourcePath!==i),{asset:d.asset,sourcePath:i}],E=$.parse({...c,metadata:{...c.metadata,portableFileInventory:H}});return{taskset:$.parse({...E,contentHash:te(E)}),inventory:H,generatedFiles:[{path:i,role:"environment",content:new TextDecoder().decode(J(d))}]}}S(ct,"prepareAuthoredToolEnvironment");var we=k.array(k.object({asset:fe,sourcePath:k.string().min(1)}).strict()).max(1e4),dt=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function Ts(s){return dt.has(s)}S(Ts,"isGeneratedTasksetPublicationFilePath");function Ss(s,e,t){let a=$.parse(s);if(a.metadata.taskDefinition!==void 0||a.metadata.rewardBinding!==void 0)return{taskset:a,generatedFiles:[]};let i=new Map,m=0;for(let[n,f]of e){if(ue.parse(n),m+=f.byteLength,i.size>=1e4||m>qe*3/4)throw new Error("Taskset source exceeds the package byte limit.");i.set(n,f.slice())}let u=a.metrics?.customAggregator,g=u?i.get(u.module):void 0;if(u&&!g)throw new Error("Declared Taskset metric module is missing.");let x=u&&g?{...a.metrics,customAggregator:{...u,contentHash:K(g)}}:a.metrics,R=new Map,r=new Set,w=[],c=S((n,f,b,_)=>{let o=i.get(f);if(!o)throw new Error(`Declared Taskset file is missing: ${f}.`);return{id:n,path:f,contentHash:K(o),sizeBytes:o.byteLength,mediaType:b,visibility:_}},"ref"),l=S((n,f=n.path)=>{let b=R.get(n.id);if(b&&p(b)!==p({asset:n,sourcePath:f}))throw new Error(`Conflicting Taskset file identity: ${n.id}.`);let _=i.get(f);if(!_||_.length!==n.sizeBytes||K(_)!==n.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${n.id}.`);R.set(n.id,{asset:n,sourcePath:f}),r.add(f)},"add");for(let n of a.tasks){let f=Ke(n);for(let b of f.artifactRefs)l(b,n.assets?.find(_=>_.id===b.id)?.artifactRef??b.path);for(let b of f.requiredOutputs??[])b.schemaRef&&l(b.schemaRef)}for(let n of a.environment.resources??[])l(c(n.id,n.path,n.mediaType??"application/octet-stream",n.visibility==="policy_visible"?"policy":"host_private"));let d=a.graders.map(n=>{if(n.kind==="custom_verifier"){let f=c(`verifier-${n.id}`,n.module,"application/javascript","host_private"),b=fe.safeParse(n.metadata.portableVerifierRef);return b.success&&b.data.contentHash===f.contentHash&&b.data.sizeBytes===f.sizeBytes&&(f=b.data),l(f,n.module),{...n,metadata:{...n.metadata,portableVerifierRef:f}}}if(n.kind==="human"||n.kind==="model_judge"){let f=new TextEncoder().encode(n.rubric),b=`graders/rubric-${K(f)}.md`;i.set(b,f);let _=c(`rubric-${n.id}`,b,"text/markdown","verifier");return l(_),w.push({path:b,role:"verifier",content:n.rubric}),{...n,metadata:{...n.metadata,portableRubricRef:_}}}return n});u&&![...R.values()].some(n=>n.asset.path===u.module&&n.sourcePath===u.module&&n.asset.visibility!=="policy")&&l(c(`metric-${p(u.module)}`,u.module,"application/javascript","host_private"));let H=we.parse(a.metadata.portableFileInventory??[]);for(let n of[...i.keys()].sort())if(!r.has(n)){let f=H.find(b=>b.sourcePath===n&&!R.has(b.asset.id));l(f?{...c(f.asset.id,n,f.asset.mediaType,f.asset.visibility),path:f.asset.path}:c(`taskset-file-${p(n)}`,n,"application/octet-stream","host_private"),n)}let{importedPackageHash:E,derivedPortableMetadata:M,...h}=a.metadata,y={...a.environment.metadata};if(y.portableExecutionResources!==void 0){let n=k.object({environment:k.unknown(),verifierSet:k.unknown().optional()}).parse(y.portableExecutionResources);y.portableExecutionResources={environment:n.environment}}let A=$.parse({...a,graders:d,metrics:x,environment:{...a.environment,metadata:y},metadata:{...h,...E===void 0?{}:{sourceImportedPackageHash:E},portableFileInventory:we.parse([...R.values()].sort((n,f)=>n.asset.id.localeCompare(f.asset.id)))}}),F=ct(A,i,[...R.values()],t);return{taskset:$.parse({...F.taskset,contentHash:te(F.taskset)}),generatedFiles:[...w,...F.generatedFiles]}}S(Ss,"prepareAuthoredTasksetSource");var mt=k.object({draft:ne,filePaths:k.array(k.object({assetId:k.string().min(1),paths:k.array(ue).min(1).max(1e4)}).strict()).max(1e4)}).strict();function Is(s){let e=L(s.source),t=ne.parse(s.sourceDraft),a=W.parse(s.preparation);if(e.contentHash!==a.sourcePackageHash||!j(v(e.taskset),a.sourceTasksetRef))throw new Error("Taskset draft preparation differs from its source package.");if(e.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(!!e.modelResources!=(a.authoringGraph==="bound"))throw new Error("Taskset draft authoring graph differs from its source.");let i=we.parse(t.metadata.portableFileInventory??[]),m=S(r=>re(r)?`source-artifacts/${e.contentHash}/${p(r)}/${r.split("/").at(-1)}`:r,"sourcePath");if([...t.tasks.flatMap(r=>(r.assets??[]).map(w=>w.artifactRef)),...(t.environment.resources??[]).map(r=>r.path),...e.taskset.tasks.flatMap(r=>(r.requiredOutputs??[]).flatMap(w=>w.schemaRef?[w.schemaRef.path]:[])),...t.metrics.customAggregator?[t.metrics.customAggregator.module]:[],...t.graders.flatMap(r=>r.kind==="custom_verifier"?[r.module]:[])].some(re))throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");let g=e.files.map(r=>{let w=new Set([r.asset.path]);for(let c of i)c.asset.id===r.asset.id&&w.add(c.sourcePath);for(let c of t.tasks)for(let l of c.assets??[])l.id===r.asset.id&&w.add(l.artifactRef);for(let c of e.taskset.graders)if(c.kind==="custom_verifier"&&c.verifierRef.id===r.asset.id){let l=t.graders.find(d=>d.id===c.id);l?.kind==="custom_verifier"&&w.add(l.module)}return{assetId:r.asset.id,paths:[...w].map(m)}}),x={...t.metadata};if(e.modelResources)for(let r of["taskDefinition","rewardBinding","rewardExecution","derivedPortableMetadata","modelTasksetDerivation","importedPackageHash"])delete x[r];let R=ne.parse({...t,id:a.draftId,revision:1,status:"draft",graders:t.graders.map(r=>({...r,metadata:{...r.metadata,portableGrader:e.taskset.graders.find(w=>w.id===r.id)}})),environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:e.environment}}},modelScope:{modelId:a.lineage.owner.modelId,expectedModelRevision:s.expectedModelRevision,source:a},publishedTasksetRef:a.tasksetRevision>1?a.sourceTasksetRef:null,metadata:{...x,modelTasksetAuthoring:a.lineage,portableFileInventory:i.map(r=>({...r,sourcePath:m(r.sourcePath),asset:{...r.asset,id:re(r.sourcePath)?`source-artifact-${p({packageHash:e.contentHash,assetId:r.asset.id})}`:r.asset.id,path:m(r.asset.path)}}))}});return mt.parse({draft:R,filePaths:g})}S(Is,"prepareTasksetDraftSource");export{ke as a,ss as b,is as c,nt as d,cs as e,us as f,hs as g,gs as h,it as i,we as j,Ts as k,Ss as l,mt as m,Is as n};