@openchambery/web 1.19.21-beta.1 → 2.0.0-beta.1

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 (195) hide show
  1. package/README.md +13 -11
  2. package/bin/cli-opencode.test.js +208 -0
  3. package/bin/cli.js +62 -9
  4. package/bin/lib/cli-startup.js +105 -2
  5. package/bin/lib/cli-startup.test.js +165 -0
  6. package/dist/assets/{AgentAvatar-NT957MuI.js → AgentAvatar-CLWWNu_Q.js} +1 -1
  7. package/dist/assets/AssistantView-BTCkm8yk.js +3 -0
  8. package/dist/assets/{DiagramView-Bh06xinl.js → DiagramView-xuSJTnv7.js} +1 -1
  9. package/dist/assets/{FadeInOnReveal-CilRl4gc.js → FadeInOnReveal-Ov0D96d0.js} +1 -1
  10. package/dist/assets/{Icon-i5GiQRLq.js → Icon-DD-BuMfZ.js} +1 -1
  11. package/dist/assets/MarkdownRenderer-bc_p1H7l.js +2 -0
  12. package/dist/assets/{MarkdownRendererImpl-f2agCc4q.js → MarkdownRendererImpl-SKi4oG0c.js} +1 -1
  13. package/dist/assets/{MarkstreamRendererImpl-ChD4WD2v.js → MarkstreamRendererImpl-CnkodGJW.js} +1 -1
  14. package/dist/assets/MobileDetailNavigation-Bnx59U_J.js +1 -0
  15. package/dist/assets/{MobileShareBridge-D7SG0ueZ.js → MobileShareBridge-BQlP4J-F.js} +1 -1
  16. package/dist/assets/MobileSurface-BXLeiZ4d.js +2 -0
  17. package/dist/assets/{MultiRunWindow-CjCw1X4n.js → MultiRunWindow-ChZGob0v.js} +1 -1
  18. package/dist/assets/{OnboardingScreen-BGRLk4Wi.js → OnboardingScreen-DtQJxZG-.js} +1 -1
  19. package/dist/assets/{OverlayScrollbar-NuQI58XD.js → OverlayScrollbar-pMwxaCca.js} +1 -1
  20. package/dist/assets/SettingsView-B5I0KDTZ.js +25 -0
  21. package/dist/assets/{SettingsWindow-C2DgbXJ3.js → SettingsWindow-DfnsFa8y.js} +1 -1
  22. package/dist/assets/{TerminalView-lubDPKMs.js → TerminalView-Dh9MWCpS.js} +1 -1
  23. package/dist/assets/{ToolOutputDialog-CzgW3-Cb.js → ToolOutputDialog-BejmjrRk.js} +1 -1
  24. package/dist/assets/{appThemeRegistry-BKc-qXbQ.js → appThemeRegistry-COGfxTFV.js} +1 -1
  25. package/dist/assets/{button-DtzFDvij.js → button-D-rATN7w.js} +1 -1
  26. package/dist/assets/{collapsible-D-nzhcyF.js → collapsible-BXRd5_Hr.js} +1 -1
  27. package/dist/assets/{context-menu-BzVSzHLG.js → context-menu-jGtH6fR9.js} +1 -1
  28. package/dist/assets/{diagram-2YWalSb5.js → diagram-DQf7Y_uR.js} +1 -1
  29. package/dist/assets/{dialog-DGV7DsZC.js → dialog-bfbvR4VH.js} +1 -1
  30. package/dist/assets/es-c52LTHHe.js +15 -0
  31. package/dist/assets/{fileMentionTouchSelection-BTkP7aYI.js → fileMentionTouchSelection-BvrNCroG.js} +1 -1
  32. package/dist/assets/{fr-DsBZeN8Y.js → fr-PisFbUE8.js} +3 -3
  33. package/dist/assets/gitApi-ButwzQ0N.js +9 -0
  34. package/dist/assets/{input-CbB2HdLg.js → input-8r6F_Fza.js} +1 -1
  35. package/dist/assets/insertionBoundaries-DGs7S5zv.js +1 -0
  36. package/dist/assets/ja-C8Ikun3Z.js +15 -0
  37. package/dist/assets/ko-ClFys5o2.js +15 -0
  38. package/dist/assets/main-CCE_4y5F.js +2 -0
  39. package/dist/assets/main-Dn9rpsgl.js +169 -0
  40. package/dist/assets/{markdownHeightCache-C9ym9Tsb.js → markdownHeightCache-1Qo6y6IJ.js} +1 -1
  41. package/dist/assets/miniChat-BpjxVqgg.js +2 -0
  42. package/dist/assets/mobile-nMJCaNq1.js +2 -0
  43. package/dist/assets/multirun-BvSG94mW.js +4 -0
  44. package/dist/assets/pl-CnaKWN5F.js +15 -0
  45. package/dist/assets/platform-CWTIp02q.js +4 -0
  46. package/dist/assets/projectMeta-DOe49dM_.js +3 -0
  47. package/dist/assets/pt-BR-s8OpfRI6.js +15 -0
  48. package/dist/assets/renderElectronMiniChatApp-R6dKh79f.js +2 -0
  49. package/dist/assets/renderMobileApp-y-S8y8v_.js +28 -0
  50. package/dist/assets/{runtimeConfig-PpnZiwcW.js → runtimeConfig-BMvqa5we.js} +1 -1
  51. package/dist/assets/{runtimeEndpointReset-BGjzNuQl.js → runtimeEndpointReset-B6BxhvR0.js} +6 -6
  52. package/dist/assets/sessionChangeSummary-VVBlEXuh.js +2 -0
  53. package/dist/assets/{sessionLookup-CbbzalcH.js → sessionLookup-gh-hVRIc.js} +1 -1
  54. package/dist/assets/{sortable-tabs-strip-CfgEJfB0.js → sortable-tabs-strip-CudoSgV4.js} +1 -1
  55. package/dist/assets/src-BzX5UI-c.css +2 -0
  56. package/dist/assets/{store-B6dImdlY.js → store-DJczmczv.js} +4 -4
  57. package/dist/assets/{terminalApi-xjqssKke.js → terminalApi-DiF6JmBP.js} +1 -1
  58. package/dist/assets/textarea-3XR8sUfy.js +1 -0
  59. package/dist/assets/{tooltip-Djn7MSOX.js → tooltip-CQvpK-UV.js} +1 -1
  60. package/dist/assets/uk-CaX0iqkB.js +15 -0
  61. package/dist/assets/{useAppFontEffects-BJBcy-84.js → useAppFontEffects-Cpmpo7Wb.js} +45 -45
  62. package/dist/assets/useDesktopWindowControlsLayout-B1GX59-L.js +1 -0
  63. package/dist/assets/{useEffectiveDirectory-CzHynoi_.js → useEffectiveDirectory-CN6JoCFw.js} +1 -1
  64. package/dist/assets/{useFontPreferences-B1JYyzpK.js → useFontPreferences-DcbXQOkc.js} +1 -1
  65. package/dist/assets/useMobileNavigationStore-BVjFtXSy.js +414 -0
  66. package/dist/assets/{useSessionAutoCleanup-DzV9N6G-.js → useSessionAutoCleanup-BLjymaFt.js} +1 -1
  67. package/dist/assets/{useWorkerHighlightedLines-Bi9ASKr_.js → useWorkerHighlightedLines-Bqn4AiBL.js} +1 -1
  68. package/dist/assets/vendor-opencode-client-BOe2qpQb.js +12 -0
  69. package/dist/assets/{vendor-yaml-DIcAK3EC.js → vendor-yaml-C9KlJAlj.js} +37 -37
  70. package/dist/assets/zh-CN-20MYEjha.js +15 -0
  71. package/dist/assets/{zh-TW-BsOQbrwT.js → zh-TW-DiN04qTw.js} +3 -3
  72. package/dist/index.html +6 -6
  73. package/dist/mini-chat.html +6 -6
  74. package/dist/mobile.html +6 -6
  75. package/package.json +2 -2
  76. package/server/index.js +107 -0
  77. package/server/lib/assistants/DOCUMENTATION.md +18 -18
  78. package/server/lib/assistants/assign.js +2 -1
  79. package/server/lib/assistants/contact-store.js +37 -19
  80. package/server/lib/assistants/projection-history.test.js +207 -0
  81. package/server/lib/assistants/routes.js +5 -5
  82. package/server/lib/assistants/service.js +493 -123
  83. package/server/lib/assistants/service.test.js +203 -133
  84. package/server/lib/conversations/DOCUMENTATION.md +4 -4
  85. package/server/lib/conversations/service.js +86 -57
  86. package/server/lib/conversations/service.test.js +116 -100
  87. package/server/lib/event-stream/global-hub.js +2 -1
  88. package/server/lib/llm/DOCUMENTATION.md +71 -84
  89. package/server/lib/llm/catalog.js +111 -45
  90. package/server/lib/llm/catalog.test.js +121 -59
  91. package/server/lib/llm/completions.js +37 -12
  92. package/server/lib/llm/completions.test.js +45 -4
  93. package/server/lib/llm/generate.js +421 -450
  94. package/server/lib/llm/generate.test.js +553 -487
  95. package/server/lib/llm/routes.js +6 -4
  96. package/server/lib/message-queue/DOCUMENTATION.md +5 -5
  97. package/server/lib/message-queue/opencode-adapter.js +191 -104
  98. package/server/lib/message-queue/opencode-adapter.test.js +328 -58
  99. package/server/lib/message-queue/runtime.test.js +6 -6
  100. package/server/lib/message-queue/worker.js +7 -1
  101. package/server/lib/opencode/DOCUMENTATION.md +28 -5
  102. package/server/lib/opencode/config-entity-routes.js +84 -13
  103. package/server/lib/opencode/config-entity-routes.test.js +41 -10
  104. package/server/lib/opencode/ensure-cli.js +239 -0
  105. package/server/lib/opencode/ensure-cli.test.js +119 -0
  106. package/server/lib/opencode/env-runtime.js +193 -110
  107. package/server/lib/opencode/env-runtime.test.js +221 -17
  108. package/server/lib/opencode/feature-routes-runtime.js +37 -1
  109. package/server/lib/opencode/lifecycle.js +204 -70
  110. package/server/lib/opencode/lifecycle.test.js +376 -6
  111. package/server/lib/opencode/network-runtime.js +28 -16
  112. package/server/lib/opencode/network-runtime.test.js +68 -4
  113. package/server/lib/opencode/opencode2-pin.js +139 -0
  114. package/server/lib/opencode/opencode2-pin.test.js +87 -0
  115. package/server/lib/opencode/opencode2-sidecar.e2e.test.js +203 -0
  116. package/server/lib/opencode/plugin-compatibility.js +15 -0
  117. package/server/lib/opencode/plugin-compatibility.test.js +21 -0
  118. package/server/lib/opencode/plugins.js +4 -3
  119. package/server/lib/opencode/plugins.test.js +12 -0
  120. package/server/lib/opencode/proxy.js +153 -16
  121. package/server/lib/opencode/proxy.test.js +120 -0
  122. package/server/lib/opencode/routes.js +25 -32
  123. package/server/lib/opencode/routes.test.js +51 -52
  124. package/server/lib/opencode/server-utils-runtime.js +2 -0
  125. package/server/lib/opencode/skill-routes.js +6 -7
  126. package/server/lib/opencode/skill-routes.test.js +36 -5
  127. package/server/lib/opencode/v1-migration-gate.js +157 -0
  128. package/server/lib/opencode/v1-migration-gate.test.js +111 -0
  129. package/server/lib/opencode/v2-client.js +49 -0
  130. package/server/lib/opencode/watcher.js +2 -1
  131. package/server/lib/opencode/watcher.test.js +1 -1
  132. package/server/lib/scheduled-tasks/DOCUMENTATION.md +71 -39
  133. package/server/lib/scheduled-tasks/managed-tool-route.js +31 -1
  134. package/server/lib/scheduled-tasks/managed-tool-route.test.js +23 -0
  135. package/server/lib/scheduled-tasks/routes.js +27 -0
  136. package/server/lib/scheduled-tasks/routes.test.js +94 -0
  137. package/server/lib/scheduled-tasks/runtime.js +331 -308
  138. package/server/lib/scheduled-tasks/runtime.test.js +530 -318
  139. package/server/lib/session-goal/DOCUMENTATION.md +65 -14
  140. package/server/lib/session-goal/capability.js +57 -0
  141. package/server/lib/session-goal/capability.test.js +33 -0
  142. package/server/lib/session-goal/routes.js +231 -2
  143. package/server/lib/session-goal/routes.test.js +211 -0
  144. package/server/lib/session-goal/runtime.js +46 -4
  145. package/server/lib/session-goal/runtime.test.js +62 -1
  146. package/server/lib/session-index/sync-runtime.js +20 -17
  147. package/server/lib/session-index/sync-runtime.test.js +9 -8
  148. package/server/lib/session-metadata/DOCUMENTATION.md +41 -0
  149. package/server/lib/session-metadata/routes.js +94 -0
  150. package/server/lib/session-metadata/routes.test.js +111 -0
  151. package/server/lib/session-metadata/session-metadata-store.js +235 -0
  152. package/server/lib/session-metadata/session-metadata-store.test.js +184 -0
  153. package/server/lib/session-turn-pages/DOCUMENTATION.md +3 -3
  154. package/server/lib/session-turn-pages/reconcile.service.js +1 -1
  155. package/server/lib/session-turn-pages/reconcile.service.test.js +16 -0
  156. package/server/lib/session-turn-pages/routes.js +204 -71
  157. package/server/lib/session-turn-pages/routes.test.js +285 -0
  158. package/server/lib/session-turn-pages/service.js +6 -2
  159. package/server/lib/session-turn-pages/service.test.js +34 -0
  160. package/server/lib/small-model/DOCUMENTATION.md +5 -4
  161. package/server/lib/small-model/catalog.js +56 -6
  162. package/server/lib/small-model/catalog.test.js +47 -0
  163. package/server/lib/small-model/index.js +3 -3
  164. package/server/lib/small-model/opencode-session.js +50 -206
  165. package/server/lib/small-model/opencode-session.test.js +58 -88
  166. package/server/opencode-proxy.test.js +61 -12
  167. package/dist/assets/AssistantView-BtGYjSW5.js +0 -3
  168. package/dist/assets/MarkdownRenderer-AwDKOCvD.js +0 -2
  169. package/dist/assets/MobileDetailNavigation-B6fGRYsg.js +0 -1
  170. package/dist/assets/MobileSurface-BY7eErHN.js +0 -2
  171. package/dist/assets/SettingsView-lcRi35Y3.js +0 -25
  172. package/dist/assets/es-rqMiRP7-.js +0 -15
  173. package/dist/assets/gitApi-CcIuekQ3.js +0 -7
  174. package/dist/assets/insertionBoundaries-BocNNP9Q.js +0 -1
  175. package/dist/assets/ja-Bgr8-dOg.js +0 -15
  176. package/dist/assets/ko-B_Gxh-0l.js +0 -15
  177. package/dist/assets/main-CFLmpNC5.js +0 -169
  178. package/dist/assets/main-Ckj_IpUy.js +0 -2
  179. package/dist/assets/miniChat-Dq1CTKNs.js +0 -2
  180. package/dist/assets/mobile-DlJ0Yr7h.js +0 -2
  181. package/dist/assets/multirun-BGUKIJys.js +0 -4
  182. package/dist/assets/pl-DW2XJGC4.js +0 -15
  183. package/dist/assets/platform-0w_Q9_ji.js +0 -2
  184. package/dist/assets/projectMeta-Bft2t6GF.js +0 -3
  185. package/dist/assets/pt-BR-CIsanf4T.js +0 -15
  186. package/dist/assets/renderElectronMiniChatApp-CTbXbB0Y.js +0 -2
  187. package/dist/assets/renderMobileApp-DLewUqoE.js +0 -28
  188. package/dist/assets/sessionChangeSummary-DiqwX3vZ.js +0 -2
  189. package/dist/assets/src-rS3zCcsC.css +0 -2
  190. package/dist/assets/textarea-DpK2Z0Gp.js +0 -1
  191. package/dist/assets/uk-BPmPEUYJ.js +0 -15
  192. package/dist/assets/useDesktopWindowControlsLayout-3Bm0rXCQ.js +0 -1
  193. package/dist/assets/useMobileNavigationStore-BIyCYi_z.js +0 -413
  194. package/dist/assets/vendor-opencode-sdk-C07HQypa.js +0 -7
  195. package/dist/assets/zh-CN-R8-mDcIp.js +0 -15
@@ -1,7 +0,0 @@
1
- var e=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u})=>{let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n/g,`
2
- `).replace(/\r/g,`
3
- `);let a=p.split(`
4
-
5
- `);p=a.pop()??``;for(let e of a){let t=e.split(`
6
- `),a=[],o;for(let e of t)if(e.startsWith(`data:`))a.push(e.replace(/^data:\s*/,``));else if(e.startsWith(`event:`))o=e.replace(/^event:\s*/,``);else if(e.startsWith(`id:`))d=e.replace(/^id:\s*/,``);else if(e.startsWith(`retry:`)){let t=Number.parseInt(e.replace(/^retry:\s*/,``),10);Number.isNaN(t)||(c=t)}let s,l=!1;if(a.length){let e=a.join(`
7
- `);try{s=JSON.parse(e),l=!0}catch{s=e}}l&&(i&&await i(s),r&&(s=await r(s))),n?.({data:s,event:o,id:d,retry:c}),a.length&&(yield s)}}}finally{m.removeEventListener(`abort`,h),f.releaseLock()}break}catch(e){if(t?.(e),o!==void 0&&p>=o)break;let n=Math.min(c*2**(p-1),s??3e4);await f(n)}}}()}},t=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},n=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},r=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},i=({allowReserved:e,explode:r,name:i,style:o,value:s})=>{if(!r){let t=(e?s:s.map(e=>encodeURIComponent(e))).join(n(o));switch(o){case`label`:return`.${t}`;case`matrix`:return`;${i}=${t}`;case`simple`:return t;default:return`${i}=${t}`}}let c=t(o),l=s.map(t=>o===`label`||o===`simple`?e?t:encodeURIComponent(t):a({allowReserved:e,name:i,value:t})).join(c);return o===`label`||o===`matrix`?c+l:l},a=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},o=({allowReserved:e,explode:t,name:n,style:i,value:o,valueOnly:s})=>{if(o instanceof Date)return s?o.toISOString():`${n}=${o.toISOString()}`;if(i!==`deepObject`&&!t){let t=[];Object.entries(o).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let r=t.join(`,`);switch(i){case`form`:return`${n}=${r}`;case`label`:return`.${r}`;case`matrix`:return`;${n}=${r}`;default:return r}}let c=r(i),l=Object.entries(o).map(([t,r])=>a({allowReserved:e,name:i===`deepObject`?`${n}[${t}]`:t,value:r})).join(c);return i===`label`||i===`matrix`?c+l:l},s=/\{[^{}]+\}/g,c=({path:e,url:t})=>{let n=t,r=t.match(s);if(r)for(let t of r){let r=!1,s=t.substring(1,t.length-1),c=`simple`;s.endsWith(`*`)&&(r=!0,s=s.substring(0,s.length-1)),s.startsWith(`.`)?(s=s.substring(1),c=`label`):s.startsWith(`;`)&&(s=s.substring(1),c=`matrix`);let l=e[s];if(l==null)continue;if(Array.isArray(l)){n=n.replace(t,i({explode:r,name:s,style:c,value:l}));continue}if(typeof l==`object`){n=n.replace(t,o({explode:r,name:s,style:c,value:l,valueOnly:!0}));continue}if(c===`matrix`){n=n.replace(t,`;${a({name:s,value:l})}`);continue}let u=encodeURIComponent(c===`label`?`.${l}`:l);n=n.replace(t,u)}return n},l=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=c({path:t,url:o}));let s=n?r(n):``;return s.startsWith(`?`)&&(s=s.substring(1)),s&&(o+=`?${s}`),o};function u(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return`serializedBody`in e?e.serializedBody!==void 0&&e.serializedBody!==``?e.serializedBody:null:e.body===``?null:e.body;if(t)return e.body}var d=async(e,t)=>{let n=typeof t==`function`?await t(e):t;if(n)return e.scheme===`bearer`?`Bearer ${n}`:e.scheme===`basic`?`Basic ${btoa(n)}`:n},f={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)},p=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let s in n){let c=n[s];if(c==null)continue;let l=e[s]||t;if(Array.isArray(c)){let e=i({allowReserved:l.allowReserved,explode:!0,name:s,style:`form`,value:c,...l.array});e&&r.push(e)}else if(typeof c==`object`){let e=o({allowReserved:l.allowReserved,explode:!0,name:s,style:`deepObject`,value:c,...l.object});e&&r.push(e)}else{let e=a({allowReserved:l.allowReserved,name:s,value:c});e&&r.push(e)}}return r.join(`&`)},m=e=>{if(!e)return`stream`;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if(t===`multipart/form-data`)return`formData`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},h=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1,ee=async({security:e,...t})=>{for(let n of e){if(h(t,n.name))continue;let e=await d(n,t.auth);if(!e)continue;let r=n.name??`Authorization`;switch(n.in){case`query`:t.query||={},t.query[r]=e;break;case`cookie`:t.headers.append(`Cookie`,`${r}=${e}`);break;default:t.headers.set(r,e)}}},g=e=>l({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:p(e.querySerializer),url:e.url}),_=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=v(e.headers,t.headers),n},te=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},v=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?te(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},y=class{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){let t=this.getInterceptorIndex(e);return!!this.fns[t]}getInterceptorIndex(e){return typeof e==`number`?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){let n=this.getInterceptorIndex(e);return this.fns[n]?(this.fns[n]=t,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},b=()=>({error:new y,request:new y,response:new y}),x=p({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),S={"Content-Type":`application/json`},C=(e={})=>({...f,headers:S,parseAs:`auto`,querySerializer:x,...e}),w=(t={})=>{let n=_(C(),t),r=()=>({...n}),i=e=>(n=_(n,e),r()),a=b(),o=async e=>{let t={...n,...e,fetch:e.fetch??n.fetch??globalThis.fetch,headers:v(n.headers,e.headers),serializedBody:void 0};return t.security&&await ee({...t,security:t.security}),t.requestValidator&&await t.requestValidator(t),t.body!==void 0&&t.bodySerializer&&(t.serializedBody=t.bodySerializer(t.body)),(t.body===void 0||t.serializedBody===``)&&t.headers.delete(`Content-Type`),{opts:t,url:g(t)}},s=async e=>{let{opts:t,url:n}=await o(e),r={redirect:`follow`,...t,body:u(t)},i=new Request(n,r);for(let e of a.request.fns)e&&(i=await e(i,t));let s=t.fetch,c;try{c=await s(i)}catch(e){let n=e;for(let r of a.error.fns)r&&(n=await r(e,void 0,i,t));if(n||={},t.throwOnError)throw n;return t.responseStyle===`data`?void 0:{error:n,request:i,response:void 0}}for(let e of a.response.fns)e&&(c=await e(c,i,t));let l={request:i,response:c};if(c.ok){let e=(t.parseAs===`auto`?m(c.headers.get(`Content-Type`)):t.parseAs)??`json`;if(c.status===204||c.headers.get(`Content-Length`)===`0`){let n;switch(e){case`arrayBuffer`:case`blob`:case`text`:n=await c[e]();break;case`formData`:n=new FormData;break;case`stream`:n=c.body;break;default:n={}}return t.responseStyle===`data`?n:{data:n,...l}}let n;switch(e){case`arrayBuffer`:case`blob`:case`formData`:case`text`:n=await c[e]();break;case`json`:{let e=await c.text();n=e?JSON.parse(e):{};break}case`stream`:return t.responseStyle===`data`?c.body:{data:c.body,...l}}return e===`json`&&(t.responseValidator&&await t.responseValidator(n),t.responseTransformer&&(n=await t.responseTransformer(n))),t.responseStyle===`data`?n:{data:n,...l}}let d=await c.text(),f;try{f=JSON.parse(d)}catch{}let p=f??d,h=p;for(let e of a.error.fns)e&&(h=await e(p,c,i,t));if(h||={},t.throwOnError)throw h;return t.responseStyle===`data`?void 0:{error:h,...l}},c=e=>t=>s({...t,method:e}),l=t=>async n=>{let{opts:r,url:i}=await o(n);return e({...r,body:r.body,headers:r.headers,method:t,onRequest:async(e,t)=>{let n=new Request(e,t);for(let e of a.request.fns)e&&(n=await e(n,r));return n},serializedBody:u(r),url:i})};return{buildUrl:g,connect:c(`CONNECT`),delete:c(`DELETE`),get:c(`GET`),getConfig:r,head:c(`HEAD`),interceptors:a,options:c(`OPTIONS`),patch:c(`PATCH`),post:c(`POST`),put:c(`PUT`),request:s,setConfig:i,sse:{connect:l(`CONNECT`),delete:l(`DELETE`),get:l(`GET`),head:l(`HEAD`),options:l(`OPTIONS`),patch:l(`PATCH`),post:l(`POST`),put:l(`PUT`),trace:l(`TRACE`)},trace:c(`TRACE`)}},ne=Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`}),T=(e,t)=>{t||=new Map;for(let n of e)`in`in n?n.key&&t.set(n.key,{in:n.in,map:n.map}):`key`in n?t.set(n.key,{map:n.map}):n.args&&T(n.args,t);return t},E=e=>{for(let[t,n]of Object.entries(e))n&&typeof n==`object`&&!Object.keys(n).length&&delete e[t]},D=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=T(t),i;for(let[a,o]of e.entries())if(t[a]&&(i=t[a]),i)if(`in`in i)if(i.key){let e=r.get(i.key),t=e.map||i.key;e.in&&(n[e.in][t]=o)}else n.body=o;else for(let[e,t]of Object.entries(o??{})){let a=r.get(e);if(a)if(a.in){let r=a.map||e;n[a.in][r]=t}else n[a.map]=t;else{let r=ne.find(([t])=>e.startsWith(t));if(r){let[i,a]=r;n[a][e.slice(i.length)]=t}else if(`allowExtra`in i&&i.allowExtra){for(let[r,a]of Object.entries(i.allowExtra))if(a){n[r][e]=t;break}}}}return E(n),n},O=w(C({baseUrl:`http://localhost:4096`})),k=class{client;constructor(e){this.client=e?.client??O}},A=class{defaultKey=`default`;instances=new Map;get(e){let t=this.instances.get(e??this.defaultKey);if(!t)throw Error(`No SDK client found. Create one with "new OpencodeClient()" to fix this error.`);return t}set(e,t){this.instances.set(t??this.defaultKey,e)}},j=class extends k{remove(e,t){let n=D([e],[{args:[{in:`path`,key:`providerID`}]}]);return(t?.client??this.client).delete({url:`/auth/{providerID}`,...t,...n})}set(e,t){let n=D([e],[{args:[{in:`path`,key:`providerID`},{key:`auth`,map:`body`}]}]);return(t?.client??this.client).put({url:`/auth/{providerID}`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},M=class extends k{log(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`service`},{in:`body`,key:`level`},{in:`body`,key:`message`},{in:`body`,key:`extra`}]}]);return(t?.client??this.client).post({url:`/log`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}agents(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/agent`,...t,...n})}skills(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/skill`,...t,...n})}},N=class extends k{moveSession(e,t){let n=D([e],[{args:[{in:`body`,key:`sessionID`},{in:`body`,key:`destination`},{in:`body`,key:`moveChanges`}]}]);return(t?.client??this.client).post({url:`/experimental/control-plane/move-session`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},P=class extends k{get(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/experimental/capabilities`,...t,...n})}},F=class extends k{get(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/experimental/console`,...t,...n})}listOrgs(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/experimental/console/orgs`,...t,...n})}switchOrg(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`accountID`},{in:`body`,key:`orgID`}]}]);return(t?.client??this.client).post({url:`/experimental/console/switch`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},I=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`roots`},{in:`query`,key:`start`},{in:`query`,key:`cursor`},{in:`query`,key:`search`},{in:`query`,key:`limit`},{in:`query`,key:`archived`}]}]);return(t?.client??this.client).get({url:`/experimental/session`,...t,...n})}background(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/experimental/session/{sessionID}/background`,...t,...n})}},L=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/experimental/resource`,...t,...n})}},R=class extends k{generateName(e,t){let n=D([e],[{args:[{in:`path`,key:`projectID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`context`}]}]);return(t?.client??this.client).post({url:`/experimental/project/{projectID}/copy/generate-name`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},z=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/experimental/workspace/adapter`,...t,...n})}},B=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/experimental/workspace`,...t,...n})}create(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`id`},{in:`body`,key:`type`},{in:`body`,key:`branch`},{in:`body`,key:`extra`}]}]);return(t?.client??this.client).post({url:`/experimental/workspace`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}syncList(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/experimental/workspace/sync-list`,...t,...n})}status(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/experimental/workspace/status`,...t,...n})}remove(e,t){let n=D([e],[{args:[{in:`path`,key:`id`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).delete({url:`/experimental/workspace/{id}`,...t,...n})}warp(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`id`},{in:`body`,key:`sessionID`},{in:`body`,key:`copyChanges`}]}]);return(t?.client??this.client).post({url:`/experimental/workspace/warp`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}_adapter;get adapter(){return this._adapter??=new z({client:this.client})}},V=class extends k{_controlPlane;get controlPlane(){return this._controlPlane??=new N({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new P({client:this.client})}_console;get console(){return this._console??=new F({client:this.client})}_session;get session(){return this._session??=new I({client:this.client})}_resource;get resource(){return this._resource??=new L({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new R({client:this.client})}_workspace;get workspace(){return this._workspace??=new B({client:this.client})}},H=class extends k{get(e){return(e?.client??this.client).get({url:`/global/config`,...e})}update(e,t){let n=D([e],[{args:[{key:`config`,map:`body`}]}]);return(t?.client??this.client).patch({url:`/global/config`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},U=class extends k{health(e){return(e?.client??this.client).get({url:`/global/health`,...e})}event(e){return(e?.client??this.client).sse.get({url:`/global/event`,...e})}dispose(e){return(e?.client??this.client).post({url:`/global/dispose`,...e})}upgrade(e,t){let n=D([e],[{args:[{in:`body`,key:`target`}]}]);return(t?.client??this.client).post({url:`/global/upgrade`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}_config;get config(){return this._config??=new H({client:this.client})}},W=class extends k{subscribe(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).sse.get({url:`/event`,...t,...n})}},G=class extends k{get(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/config`,...t,...n})}update(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{key:`config`,map:`body`}]}]);return(t?.client??this.client).patch({url:`/config`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}providers(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/config/providers`,...t,...n})}},K=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`provider`},{in:`query`,key:`model`}]}]);return(t?.client??this.client).get({url:`/experimental/tool`,...t,...n})}ids(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/experimental/tool/ids`,...t,...n})}},q=class extends k{remove(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{key:`worktreeRemoveInput`,map:`body`}]}]);return(t?.client??this.client).delete({url:`/experimental/worktree`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/experimental/worktree`,...t,...n})}create(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{key:`worktreeCreateInput`,map:`body`}]}]);return(t?.client??this.client).post({url:`/experimental/worktree`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}reset(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{key:`worktreeResetInput`,map:`body`}]}]);return(t?.client??this.client).post({url:`/experimental/worktree/reset`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},J=class extends k{text(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`pattern`}]}]);return(t?.client??this.client).get({url:`/find`,...t,...n})}files(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`query`},{in:`query`,key:`dirs`},{in:`query`,key:`type`},{in:`query`,key:`limit`}]}]);return(t?.client??this.client).get({url:`/find/file`,...t,...n})}symbols(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`query`}]}]);return(t?.client??this.client).get({url:`/find/symbol`,...t,...n})}},Y=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`path`}]}]);return(t?.client??this.client).get({url:`/file`,...t,...n})}read(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`path`}]}]);return(t?.client??this.client).get({url:`/file/content`,...t,...n})}status(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/file/status`,...t,...n})}},X=class extends k{dispose(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/instance/dispose`,...t,...n})}},Z=class extends k{get(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/path`,...t,...n})}},re=class extends k{raw(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/vcs/diff/raw`,...t,...n})}},ie=class extends k{get(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/vcs`,...t,...n})}status(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/vcs/status`,...t,...n})}diff(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`mode`},{in:`query`,key:`context`}]}]);return(t?.client??this.client).get({url:`/vcs/diff`,...t,...n})}apply(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`patch`}]}]);return(t?.client??this.client).post({url:`/vcs/apply`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}_diff;get diff2(){return this._diff??=new re({client:this.client})}},ae=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/command`,...t,...n})}},oe=class extends k{status(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/lsp`,...t,...n})}},se=class extends k{status(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/formatter`,...t,...n})}},ce=class extends k{remove(e,t){let n=D([e],[{args:[{in:`path`,key:`name`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).delete({url:`/mcp/{name}/auth`,...t,...n})}start(e,t){let n=D([e],[{args:[{in:`path`,key:`name`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/mcp/{name}/auth`,...t,...n})}callback(e,t){let n=D([e],[{args:[{in:`path`,key:`name`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`code`}]}]);return(t?.client??this.client).post({url:`/mcp/{name}/auth/callback`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}authenticate(e,t){let n=D([e],[{args:[{in:`path`,key:`name`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/mcp/{name}/auth/authenticate`,...t,...n})}},le=class extends k{status(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/mcp`,...t,...n})}add(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`name`},{in:`body`,key:`config`}]}]);return(t?.client??this.client).post({url:`/mcp`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}connect(e,t){let n=D([e],[{args:[{in:`path`,key:`name`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/mcp/{name}/connect`,...t,...n})}disconnect(e,t){let n=D([e],[{args:[{in:`path`,key:`name`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/mcp/{name}/disconnect`,...t,...n})}_auth;get auth(){return this._auth??=new ce({client:this.client})}},ue=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/project`,...t,...n})}current(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/project/current`,...t,...n})}initGit(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/project/git/init`,...t,...n})}update(e,t){let n=D([e],[{args:[{in:`path`,key:`projectID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`name`},{in:`body`,key:`icon`},{in:`body`,key:`commands`}]}]);return(t?.client??this.client).patch({url:`/project/{projectID}`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}directories(e,t){let n=D([e],[{args:[{in:`path`,key:`projectID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/project/{projectID}/directories`,...t,...n})}},de=class extends k{shells(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/pty/shells`,...t,...n})}list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/pty`,...t,...n})}create(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`command`},{in:`body`,key:`args`},{in:`body`,key:`cwd`},{in:`body`,key:`title`},{in:`body`,key:`env`}]}]);return(t?.client??this.client).post({url:`/pty`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}remove(e,t){let n=D([e],[{args:[{in:`path`,key:`ptyID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).delete({url:`/pty/{ptyID}`,...t,...n})}get(e,t){let n=D([e],[{args:[{in:`path`,key:`ptyID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/pty/{ptyID}`,...t,...n})}update(e,t){let n=D([e],[{args:[{in:`path`,key:`ptyID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`title`},{in:`body`,key:`size`}]}]);return(t?.client??this.client).put({url:`/pty/{ptyID}`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}connectToken(e,t){let n=D([e],[{args:[{in:`path`,key:`ptyID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/pty/{ptyID}/connect-token`,...t,...n})}connect(e,t){let n=D([e],[{args:[{in:`path`,key:`ptyID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`cursor`},{in:`query`,key:`ticket`}]}]);return(t?.client??this.client).get({url:`/pty/{ptyID}/connect`,...t,...n})}},fe=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/question`,...t,...n})}reply(e,t){let n=D([e],[{args:[{in:`path`,key:`requestID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`answers`}]}]);return(t?.client??this.client).post({url:`/question/{requestID}/reply`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}reject(e,t){let n=D([e],[{args:[{in:`path`,key:`requestID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/question/{requestID}/reject`,...t,...n})}},pe=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/permission`,...t,...n})}reply(e,t){let n=D([e],[{args:[{in:`path`,key:`requestID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`reply`},{in:`body`,key:`message`}]}]);return(t?.client??this.client).post({url:`/permission/{requestID}/reply`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}respond(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`path`,key:`permissionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`response`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/permissions/{permissionID}`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},me=class extends k{authorize(e,t){let n=D([e],[{args:[{in:`path`,key:`providerID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`method`},{in:`body`,key:`inputs`}]}]);return(t?.client??this.client).post({url:`/provider/{providerID}/oauth/authorize`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}callback(e,t){let n=D([e],[{args:[{in:`path`,key:`providerID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`method`},{in:`body`,key:`code`}]}]);return(t?.client??this.client).post({url:`/provider/{providerID}/oauth/callback`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},he=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/provider`,...t,...n})}auth(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/provider/auth`,...t,...n})}_oauth;get oauth(){return this._oauth??=new me({client:this.client})}},ge=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`scope`},{in:`query`,key:`path`},{in:`query`,key:`roots`},{in:`query`,key:`start`},{in:`query`,key:`search`},{in:`query`,key:`limit`}]}]);return(t?.client??this.client).get({url:`/session`,...t,...n})}create(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`parentID`},{in:`body`,key:`title`},{in:`body`,key:`agent`},{in:`body`,key:`model`},{in:`body`,key:`metadata`},{in:`body`,key:`permission`},{in:`body`,key:`workspaceID`}]}]);return(t?.client??this.client).post({url:`/session`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}status(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/session/status`,...t,...n})}delete(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).delete({url:`/session/{sessionID}`,...t,...n})}get(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/session/{sessionID}`,...t,...n})}update(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`title`},{in:`body`,key:`metadata`},{in:`body`,key:`permission`},{in:`body`,key:`time`}]}]);return(t?.client??this.client).patch({url:`/session/{sessionID}`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}children(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/session/{sessionID}/children`,...t,...n})}todo(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/session/{sessionID}/todo`,...t,...n})}diff(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`messageID`}]}]);return(t?.client??this.client).get({url:`/session/{sessionID}/diff`,...t,...n})}messages(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`query`,key:`limit`},{in:`query`,key:`before`}]}]);return(t?.client??this.client).get({url:`/session/{sessionID}/message`,...t,...n})}prompt(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`messageID`},{in:`body`,key:`model`},{in:`body`,key:`agent`},{in:`body`,key:`noReply`},{in:`body`,key:`tools`},{in:`body`,key:`format`},{in:`body`,key:`system`},{in:`body`,key:`variant`},{in:`body`,key:`parts`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/message`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}deleteMessage(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`path`,key:`messageID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).delete({url:`/session/{sessionID}/message/{messageID}`,...t,...n})}message(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`path`,key:`messageID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/session/{sessionID}/message/{messageID}`,...t,...n})}fork(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`messageID`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/fork`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}abort(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/abort`,...t,...n})}init(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`modelID`},{in:`body`,key:`providerID`},{in:`body`,key:`messageID`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/init`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}unshare(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).delete({url:`/session/{sessionID}/share`,...t,...n})}share(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/share`,...t,...n})}summarize(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`providerID`},{in:`body`,key:`modelID`},{in:`body`,key:`auto`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/summarize`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}promptAsync(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`messageID`},{in:`body`,key:`model`},{in:`body`,key:`agent`},{in:`body`,key:`noReply`},{in:`body`,key:`tools`},{in:`body`,key:`format`},{in:`body`,key:`system`},{in:`body`,key:`variant`},{in:`body`,key:`parts`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/prompt_async`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}command(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`messageID`},{in:`body`,key:`agent`},{in:`body`,key:`model`},{in:`body`,key:`arguments`},{in:`body`,key:`command`},{in:`body`,key:`variant`},{in:`body`,key:`parts`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/command`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}shell(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`messageID`},{in:`body`,key:`agent`},{in:`body`,key:`model`},{in:`body`,key:`command`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/shell`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}revert(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`messageID`},{in:`body`,key:`partID`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/revert`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}unrevert(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/session/{sessionID}/unrevert`,...t,...n})}},_e=class extends k{delete(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`path`,key:`messageID`},{in:`path`,key:`partID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).delete({url:`/session/{sessionID}/message/{messageID}/part/{partID}`,...t,...n})}update(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`path`,key:`messageID`},{in:`path`,key:`partID`},{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{key:`part`,map:`body`}]}]);return(t?.client??this.client).patch({url:`/session/{sessionID}/message/{messageID}/part/{partID}`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},ve=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{key:`body`,map:`body`}]}]);return(t?.client??this.client).post({url:`/sync/history`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},ye=class extends k{start(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/sync/start`,...t,...n})}replay(e,t){let n=D([e],[{args:[{in:`query`,key:`query_directory`,map:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`body_directory`,map:`directory`},{in:`body`,key:`events`}]}]);return(t?.client??this.client).post({url:`/sync/replay`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}steal(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`sessionID`}]}]);return(t?.client??this.client).post({url:`/sync/steal`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}_history;get history(){return this._history??=new ve({client:this.client})}},be=class extends k{next(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).get({url:`/tui/control/next`,...t,...n})}response(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{key:`body`,map:`body`}]}]);return(t?.client??this.client).post({url:`/tui/control/response`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},xe=class extends k{appendPrompt(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`text`}]}]);return(t?.client??this.client).post({url:`/tui/append-prompt`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}openHelp(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/tui/open-help`,...t,...n})}openSessions(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/tui/open-sessions`,...t,...n})}openThemes(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/tui/open-themes`,...t,...n})}openModels(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/tui/open-models`,...t,...n})}submitPrompt(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/tui/submit-prompt`,...t,...n})}clearPrompt(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`}]}]);return(t?.client??this.client).post({url:`/tui/clear-prompt`,...t,...n})}executeCommand(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`command`}]}]);return(t?.client??this.client).post({url:`/tui/execute-command`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}showToast(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`title`},{in:`body`,key:`message`},{in:`body`,key:`variant`},{in:`body`,key:`duration`}]}]);return(t?.client??this.client).post({url:`/tui/show-toast`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}publish(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{key:`body`,map:`body`}]}]);return(t?.client??this.client).post({url:`/tui/publish`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}selectSession(e,t){let n=D([e],[{args:[{in:`query`,key:`directory`},{in:`query`,key:`workspace`},{in:`body`,key:`sessionID`}]}]);return(t?.client??this.client).post({url:`/tui/select-session`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}_control;get control(){return this._control??=new be({client:this.client})}},Se=class extends k{get(e){return(e?.client??this.client).get({url:`/api/health`,...e})}},Ce=class extends k{get(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/location`,...t,...n})}},we=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/agent`,...t,...n})}},Te=class extends k{stage(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`body`,key:`messageID`},{in:`body`,key:`files`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/revert/stage`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}clear(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/revert/clear`,...t,...n})}commit(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/revert/commit`,...t,...n})}},Ee=class extends k{list(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`}]}]);return(t?.client??this.client).get({url:`/api/session/{sessionID}/permission`,...t,...n})}create(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`body`,key:`id`},{in:`body`,key:`action`},{in:`body`,key:`resources`},{in:`body`,key:`save`},{in:`body`,key:`metadata`},{in:`body`,key:`source`},{in:`body`,key:`agent`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/permission`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}get(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`path`,key:`requestID`}]}]);return(t?.client??this.client).get({url:`/api/session/{sessionID}/permission/{requestID}`,...t,...n})}reply(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`path`,key:`requestID`},{in:`body`,key:`reply`},{in:`body`,key:`message`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/permission/{requestID}/reply`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},De=class extends k{list(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`}]}]);return(t?.client??this.client).get({url:`/api/session/{sessionID}/question`,...t,...n})}reply(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`path`,key:`requestID`},{key:`questionV2Reply`,map:`body`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/question/{requestID}/reply`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}reject(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`path`,key:`requestID`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/question/{requestID}/reject`,...t,...n})}},Oe=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`workspace`},{in:`query`,key:`limit`},{in:`query`,key:`order`},{in:`query`,key:`search`},{in:`query`,key:`directory`},{in:`query`,key:`project`},{in:`query`,key:`subpath`},{in:`query`,key:`cursor`}]}]);return(t?.client??this.client).get({url:`/api/session`,...t,...n})}create(e,t){let n=D([e],[{args:[{in:`body`,key:`id`},{in:`body`,key:`agent`},{in:`body`,key:`model`},{in:`body`,key:`location`}]}]);return(t?.client??this.client).post({url:`/api/session`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}active(e){return(e?.client??this.client).get({url:`/api/session/active`,...e})}get(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`}]}]);return(t?.client??this.client).get({url:`/api/session/{sessionID}`,...t,...n})}switchAgent(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`body`,key:`agent`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/agent`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}switchModel(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`body`,key:`model`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/model`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}prompt(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`body`,key:`id`},{in:`body`,key:`prompt`},{in:`body`,key:`delivery`},{in:`body`,key:`resume`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/prompt`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}compact(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/compact`,...t,...n})}wait(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/wait`,...t,...n})}context(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`}]}]);return(t?.client??this.client).get({url:`/api/session/{sessionID}/context`,...t,...n})}history(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`limit`},{in:`query`,key:`after`}]}]);return(t?.client??this.client).get({url:`/api/session/{sessionID}/history`,...t,...n})}events(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`after`}]}]);return(t?.client??this.client).sse.get({url:`/api/session/{sessionID}/event`,...t,...n})}interrupt(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`}]}]);return(t?.client??this.client).post({url:`/api/session/{sessionID}/interrupt`,...t,...n})}message(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`path`,key:`messageID`}]}]);return(t?.client??this.client).get({url:`/api/session/{sessionID}/message/{messageID}`,...t,...n})}messages(e,t){let n=D([e],[{args:[{in:`path`,key:`sessionID`},{in:`query`,key:`limit`},{in:`query`,key:`order`},{in:`query`,key:`cursor`}]}]);return(t?.client??this.client).get({url:`/api/session/{sessionID}/message`,...t,...n})}_revert;get revert(){return this._revert??=new Te({client:this.client})}_permission;get permission(){return this._permission??=new Ee({client:this.client})}_question;get question(){return this._question??=new De({client:this.client})}},ke=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/model`,...t,...n})}},Ae=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/provider`,...t,...n})}get(e,t){let n=D([e],[{args:[{in:`path`,key:`providerID`},{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/provider/{providerID}`,...t,...n})}},je=class extends k{key(e,t){let n=D([e],[{args:[{in:`path`,key:`integrationID`},{in:`query`,key:`location`},{in:`body`,key:`key`},{in:`body`,key:`label`}]}]);return(t?.client??this.client).post({url:`/api/integration/{integrationID}/connect/key`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}oauth(e,t){let n=D([e],[{args:[{in:`path`,key:`integrationID`},{in:`query`,key:`location`},{in:`body`,key:`methodID`},{in:`body`,key:`inputs`},{in:`body`,key:`label`}]}]);return(t?.client??this.client).post({url:`/api/integration/{integrationID}/connect/oauth`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},Me=class extends k{cancel(e,t){let n=D([e],[{args:[{in:`path`,key:`attemptID`},{in:`query`,key:`location`}]}]);return(t?.client??this.client).delete({url:`/api/integration/attempt/{attemptID}`,...t,...n})}status(e,t){let n=D([e],[{args:[{in:`path`,key:`attemptID`},{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/integration/attempt/{attemptID}`,...t,...n})}complete(e,t){let n=D([e],[{args:[{in:`path`,key:`attemptID`},{in:`query`,key:`location`},{in:`body`,key:`code`}]}]);return(t?.client??this.client).post({url:`/api/integration/attempt/{attemptID}/complete`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},Ne=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/integration`,...t,...n})}get(e,t){let n=D([e],[{args:[{in:`path`,key:`integrationID`},{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/integration/{integrationID}`,...t,...n})}_connect;get connect(){return this._connect??=new je({client:this.client})}_attempt;get attempt(){return this._attempt??=new Me({client:this.client})}},Pe=class extends k{remove(e,t){let n=D([e],[{args:[{in:`path`,key:`credentialID`},{in:`query`,key:`location`}]}]);return(t?.client??this.client).delete({url:`/api/credential/{credentialID}`,...t,...n})}update(e,t){let n=D([e],[{args:[{in:`path`,key:`credentialID`},{in:`query`,key:`location`},{in:`body`,key:`label`}]}]);return(t?.client??this.client).patch({url:`/api/credential/{credentialID}`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}},Fe=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/permission/request`,...t,...n})}},Ie=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`projectID`}]}]);return(t?.client??this.client).get({url:`/api/permission/saved`,...t,...n})}remove(e,t){let n=D([e],[{args:[{in:`path`,key:`id`}]}]);return(t?.client??this.client).delete({url:`/api/permission/saved/{id}`,...t,...n})}},Le=class extends k{_request;get request(){return this._request??=new Fe({client:this.client})}_saved;get saved(){return this._saved??=new Ie({client:this.client})}},Re=class extends k{read(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/fs/read/*`,...t,...n})}list(e,t){let n=D([e],[{args:[{in:`query`,key:`location`},{in:`query`,key:`path`}]}]);return(t?.client??this.client).get({url:`/api/fs/list`,...t,...n})}find(e,t){let n=D([e],[{args:[{in:`query`,key:`location`},{in:`query`,key:`query`},{in:`query`,key:`type`},{in:`query`,key:`limit`}]}]);return(t?.client??this.client).get({url:`/api/fs/find`,...t,...n})}},ze=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/command`,...t,...n})}},Be=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/skill`,...t,...n})}},Ve=class extends k{subscribe(e){return(e?.client??this.client).sse.get({url:`/api/event`,...e})}},He=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/pty`,...t,...n})}create(e,t){let n=D([e],[{args:[{in:`query`,key:`location`},{in:`body`,key:`command`},{in:`body`,key:`args`},{in:`body`,key:`cwd`},{in:`body`,key:`title`},{in:`body`,key:`env`}]}]);return(t?.client??this.client).post({url:`/api/pty`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}remove(e,t){let n=D([e],[{args:[{in:`path`,key:`ptyID`},{in:`query`,key:`location`}]}]);return(t?.client??this.client).delete({url:`/api/pty/{ptyID}`,...t,...n})}get(e,t){let n=D([e],[{args:[{in:`path`,key:`ptyID`},{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/pty/{ptyID}`,...t,...n})}update(e,t){let n=D([e],[{args:[{in:`path`,key:`ptyID`},{in:`query`,key:`location`},{in:`body`,key:`title`},{in:`body`,key:`size`}]}]);return(t?.client??this.client).put({url:`/api/pty/{ptyID}`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}connectToken(e,t){let n=D([e],[{args:[{in:`path`,key:`ptyID`},{in:`query`,key:`location`}]}]);return(t?.client??this.client).post({url:`/api/pty/{ptyID}/connect-token`,...t,...n})}connect(e,t){let n=D([e],[{args:[{in:`path`,key:`ptyID`},{in:`query`,key:`location[directory]`},{in:`query`,key:`location[workspace]`},{in:`query`,key:`cursor`},{in:`query`,key:`ticket`}]}]);return(t?.client??this.client).get({url:`/api/pty/{ptyID}/connect`,...t,...n})}},Q=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/question/request`,...t,...n})}},Ue=class extends k{_request;get request(){return this._request??=new Q({client:this.client})}},We=class extends k{list(e,t){let n=D([e],[{args:[{in:`query`,key:`location`}]}]);return(t?.client??this.client).get({url:`/api/reference`,...t,...n})}},Ge=class extends k{remove(e,t){let n=D([e],[{args:[{in:`path`,key:`projectID`},{in:`query`,key:`location`},{in:`body`,key:`directory`},{in:`body`,key:`force`}]}]);return(t?.client??this.client).delete({url:`/experimental/project/{projectID}/copy`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}create(e,t){let n=D([e],[{args:[{in:`path`,key:`projectID`},{in:`query`,key:`location`},{in:`body`,key:`strategy`},{in:`body`,key:`directory`},{in:`body`,key:`name`}]}]);return(t?.client??this.client).post({url:`/experimental/project/{projectID}/copy`,...t,...n,headers:{"Content-Type":`application/json`,...t?.headers,...n.headers}})}refresh(e,t){let n=D([e],[{args:[{in:`path`,key:`projectID`},{in:`query`,key:`location`}]}]);return(t?.client??this.client).post({url:`/experimental/project/{projectID}/copy/refresh`,...t,...n})}},Ke=class extends k{_health;get health(){return this._health??=new Se({client:this.client})}_location;get location(){return this._location??=new Ce({client:this.client})}_agent;get agent(){return this._agent??=new we({client:this.client})}_session;get session(){return this._session??=new Oe({client:this.client})}_model;get model(){return this._model??=new ke({client:this.client})}_provider;get provider(){return this._provider??=new Ae({client:this.client})}_integration;get integration(){return this._integration??=new Ne({client:this.client})}_credential;get credential(){return this._credential??=new Pe({client:this.client})}_permission;get permission(){return this._permission??=new Le({client:this.client})}_fs;get fs(){return this._fs??=new Re({client:this.client})}_command;get command(){return this._command??=new ze({client:this.client})}_skill;get skill(){return this._skill??=new Be({client:this.client})}_event;get event(){return this._event??=new Ve({client:this.client})}_pty;get pty(){return this._pty??=new He({client:this.client})}_question;get question(){return this._question??=new Ue({client:this.client})}_reference;get reference(){return this._reference??=new We({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Ge({client:this.client})}},qe=class e extends k{static __registry=new A;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new j({client:this.client})}_app;get app(){return this._app??=new M({client:this.client})}_experimental;get experimental(){return this._experimental??=new V({client:this.client})}_global;get global(){return this._global??=new U({client:this.client})}_event;get event(){return this._event??=new W({client:this.client})}_config;get config(){return this._config??=new G({client:this.client})}_tool;get tool(){return this._tool??=new K({client:this.client})}_worktree;get worktree(){return this._worktree??=new q({client:this.client})}_find;get find(){return this._find??=new J({client:this.client})}_file;get file(){return this._file??=new Y({client:this.client})}_instance;get instance(){return this._instance??=new X({client:this.client})}_path;get path(){return this._path??=new Z({client:this.client})}_vcs;get vcs(){return this._vcs??=new ie({client:this.client})}_command;get command(){return this._command??=new ae({client:this.client})}_lsp;get lsp(){return this._lsp??=new oe({client:this.client})}_formatter;get formatter(){return this._formatter??=new se({client:this.client})}_mcp;get mcp(){return this._mcp??=new le({client:this.client})}_project;get project(){return this._project??=new ue({client:this.client})}_pty;get pty(){return this._pty??=new de({client:this.client})}_question;get question(){return this._question??=new fe({client:this.client})}_permission;get permission(){return this._permission??=new pe({client:this.client})}_provider;get provider(){return this._provider??=new he({client:this.client})}_session;get session(){return this._session??=new ge({client:this.client})}_part;get part(){return this._part??=new _e({client:this.client})}_sync;get sync(){return this._sync??=new ye({client:this.client})}_tui;get tui(){return this._tui??=new xe({client:this.client})}_v2;get v2(){return this._v2??=new Ke({client:this.client})}};function Je(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e==`object`&&e&&Object.keys(e).length>0){let r=e,i=typeof r.data?.message==`string`&&r.data.message||typeof r.message==`string`&&r.message||typeof r.name==`string`&&r.name||$(n,t);return Error(i,{cause:{body:e,status:t?.status}})}if(typeof e==`string`&&e.length>0)return Error(e,{cause:{body:e,status:t?.status}});let i=t?`(empty response body)`:`network error (no response)`;return Error(`opencode server ${$(n,t)}: ${i}`,{cause:{body:e,status:t?.status}})}function $(e,t){let n=e?.method??`?`,r=e?.url??`?`,i=t?.status,a=t?.statusText;return`${n} ${r}${i?` → `+i:``}${a?` `+a:``}`}function Ye(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function Xe(e,t){if(e.method!==`GET`&&e.method!==`HEAD`)return e;let n=new URL(e.url),r=!1;for(let[i,a]of[[`x-opencode-directory`,`directory`],[`x-opencode-workspace`,`workspace`]]){let o=Ye(e.headers.get(i),a===`directory`?t.directory:t.workspace,a===`directory`?encodeURIComponent:void 0);if(o){for(let e of n.pathname.startsWith(`/api/`)?[a,`location[${a}]`]:[a])n.searchParams.has(e)||n.searchParams.set(e,o);r=!0}}if(!r)return e;let i=new Request(n,e);return i.headers.delete(`x-opencode-directory`),i.headers.delete(`x-opencode-workspace`),i}function Ze(e){if(!e?.fetch){let t=e=>(e.timeout=!1,fetch(e));e={...e,fetch:t}}e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)}),e?.experimental_workspaceID&&(e.headers={...e.headers,"x-opencode-workspace":e.experimental_workspaceID});let t=w(e);return t.interceptors.request.use(t=>Xe(t,{directory:e?.directory,workspace:e?.experimental_workspaceID})),t.interceptors.response.use(e=>{if(e.headers.get(`content-type`)===`text/html`)throw Error(`Request is not supported by this version of OpenCode Server (Server responded with text/html)`);return e}),t.interceptors.error.use(Je),new qe({client:t})}export{Ze as t};