@easbot/sdk 0.1.7 → 0.1.11
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.
- package/LICENSE +21 -0
- package/dist/index.cjs +6 -6
- package/dist/index.d.cts +563 -265
- package/dist/index.d.ts +563 -265
- package/dist/index.mjs +6 -6
- package/package.json +4 -6
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 houjallen
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/index.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
'use strict';var child_process=require('child_process');var
|
|
1
|
+
'use strict';var child_process=require('child_process');var He=Object.defineProperty;var Ve=(s,t,e)=>t in s?He(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var y=(s,t,e)=>Ve(s,typeof t!="symbol"?t+"":t,e);var Ae=({onRequest:s,onSseError:t,onSseEvent:e,responseTransformer:r,responseValidator:o,sseDefaultRetryDelay:u,sseMaxRetryAttempts:l,sseMaxRetryDelay:i,sseSleepFn:p,url:m,...c})=>{let a,f=p??(S=>new Promise(g=>setTimeout(g,S)));return {stream:async function*(){let S=u??3e3,g=0,x=c.signal??new AbortController().signal;for(;!x.aborted;){g++;let I=c.headers instanceof Headers?c.headers:new Headers(c.headers);a!==void 0&&I.set("Last-Event-ID",a);try{let T={redirect:"follow",...c,body:c.serializedBody,headers:I,signal:x},w=new Request(m,T);s&&(w=await s(m,T));let h=await(c.fetch??globalThis.fetch)(w);if(!h.ok)throw new Error(`SSE failed: ${h.status} ${h.statusText}`);if(!h.body)throw new Error("No body in SSE response");let R=h.body.pipeThrough(new TextDecoderStream).getReader(),b="",we=()=>{try{R.cancel();}catch{}};x.addEventListener("abort",we);try{for(;;){let{done:Ne,value:We}=await R.read();if(Ne)break;b+=We,b=b.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
|
-
`);let
|
|
3
|
+
`);let Oe=b.split(`
|
|
4
4
|
|
|
5
|
-
`);b=
|
|
6
|
-
`),
|
|
7
|
-
`);try{O=JSON.parse(S),we=!0;}catch{O=S;}}we&&(o&&await o(O),r&&(O=await r(O))),e?.({data:O,event:Te,id:a,retry:v}),M.length&&(yield O);}}}finally{E.removeEventListener("abort",Se),f.releaseLock();}break}catch(T){if(t?.(T),l!==void 0&&g>=l)break;let w=Math.min(v*2**(g-1),i??3e4);await x(w);}}}()}};var $e=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},He=s=>{switch(s){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},Ve=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},j=({allowReserved:s,explode:t,name:e,style:r,value:o})=>{if(!t){let i=(s?o:o.map(p=>encodeURIComponent(p))).join(He(r));switch(r){case "label":return `.${i}`;case "matrix":return `;${e}=${i}`;case "simple":return i;default:return `${e}=${i}`}}let u=$e(r),l=o.map(i=>r==="label"||r==="simple"?s?i:encodeURIComponent(i):P({allowReserved:s,name:e,value:i})).join(u);return r==="label"||r==="matrix"?u+l:l},P=({allowReserved:s,name:t,value:e})=>{if(e==null)return "";if(typeof e=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${t}=${s?e:encodeURIComponent(e)}`},F=({allowReserved:s,explode:t,name:e,style:r,value:o,valueOnly:u})=>{if(o instanceof Date)return u?o.toISOString():`${e}=${o.toISOString()}`;if(r!=="deepObject"&&!t){let p=[];Object.entries(o).forEach(([c,a])=>{p=[...p,c,s?a:encodeURIComponent(a)];});let m=p.join(",");switch(r){case "form":return `${e}=${m}`;case "label":return `.${m}`;case "matrix":return `;${e}=${m}`;default:return m}}let l=Ve(r),i=Object.entries(o).map(([p,m])=>P({allowReserved:s,name:r==="deepObject"?`${e}[${p}]`:p,value:m})).join(l);return r==="label"||r==="matrix"?l+i:i};var Ke=/\{[^{}]+\}/g,Je=({path:s,url:t})=>{let e=t,r=t.match(Ke);if(r)for(let o of r){let u=false,l=o.substring(1,o.length-1),i="simple";l.endsWith("*")&&(u=true,l=l.substring(0,l.length-1)),l.startsWith(".")?(l=l.substring(1),i="label"):l.startsWith(";")&&(l=l.substring(1),i="matrix");let p=s[l];if(p==null)continue;if(Array.isArray(p)){e=e.replace(o,j({explode:u,name:l,style:i,value:p}));continue}if(typeof p=="object"){e=e.replace(o,F({explode:u,name:l,style:i,value:p,valueOnly:true}));continue}if(i==="matrix"){e=e.replace(o,`;${P({name:l,value:p})}`);continue}let m=encodeURIComponent(i==="label"?`.${p}`:p);e=e.replace(o,m);}return e},Pe=({baseUrl:s,path:t,query:e,querySerializer:r,url:o})=>{let u=o.startsWith("/")?o:`/${o}`,l=(s??"")+u;t&&(l=Je({path:t,url:l}));let i=e?r(e):"";return i.startsWith("?")&&(i=i.substring(1)),i&&(l+=`?${i}`),l};function B(s){let t=s.body!==void 0;if(t&&s.bodySerializer)return "serializedBody"in s?s.serializedBody!==void 0&&s.serializedBody!==""?s.serializedBody:null:s.body!==""?s.body:null;if(t)return s.body}var Ce=async(s,t)=>{let e=typeof t=="function"?await t(s):t;if(e)return s.scheme==="bearer"?`Bearer ${e}`:s.scheme==="basic"?`Basic ${btoa(e)}`:e};var N={bodySerializer:s=>JSON.stringify(s,(t,e)=>typeof e=="bigint"?e.toString():e)};var Ie=({parameters:s={},...t}={})=>r=>{let o=[];if(r&&typeof r=="object")for(let u in r){let l=r[u];if(l==null)continue;let i=s[u]||t;if(Array.isArray(l)){let p=j({allowReserved:i.allowReserved,explode:true,name:u,style:"form",value:l,...i.array});p&&o.push(p);}else if(typeof l=="object"){let p=F({allowReserved:i.allowReserved,explode:true,name:u,style:"deepObject",value:l,...i.object});p&&o.push(p);}else {let p=P({allowReserved:i.allowReserved,name:u,value:l});p&&o.push(p);}}return o.join("&")},Ae=s=>{if(!s)return "stream";let t=s.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"}},Xe=(s,t)=>t?!!(s.headers.has(t)||s.query?.[t]||s.headers.get("Cookie")?.includes(`${t}=`)):false,qe=async({security:s,...t})=>{for(let e of s){if(Xe(t,e.name))continue;let r=await Ce(e,t.auth);if(!r)continue;let o=e.name??"Authorization";switch(e.in){case "query":t.query||(t.query={}),t.query[o]=r;break;case "cookie":t.headers.append("Cookie",`${o}=${r}`);break;default:t.headers.set(o,r);break}}},W=s=>Pe({baseUrl:s.baseUrl,path:s.path,query:s.query,querySerializer:typeof s.querySerializer=="function"?s.querySerializer:Ie(s.querySerializer),url:s.url}),Q=(s,t)=>{let e={...s,...t};return e.baseUrl?.endsWith("/")&&(e.baseUrl=e.baseUrl.substring(0,e.baseUrl.length-1)),e.headers=U(s.headers,t.headers),e},Ye=s=>{let t=[];return s.forEach((e,r)=>{t.push([r,e]);}),t},U=(...s)=>{let t=new Headers;for(let e of s){if(!e)continue;let r=e instanceof Headers?Ye(e):Object.entries(e);for(let[o,u]of r)if(u===null)t.delete(o);else if(Array.isArray(u))for(let l of u)t.append(o,l);else u!==void 0&&t.set(o,typeof u=="object"?JSON.stringify(u):u);}return t},I=class{constructor(){y(this,"fns",[]);}clear(){this.fns=[];}eject(t){let e=this.getInterceptorIndex(t);this.fns[e]&&(this.fns[e]=null);}exists(t){let e=this.getInterceptorIndex(t);return !!this.fns[e]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,e){let r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=e,t):false}use(t){return this.fns.push(t),this.fns.length-1}},_e=()=>({error:new I,request:new I,response:new I}),Ze=Ie({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),er={"Content-Type":"application/json"},A=(s={})=>({...N,headers:er,parseAs:"auto",querySerializer:Ze,...s});var q=(s={})=>{let t=Q(A(),s),e=()=>({...t}),r=c=>(t=Q(t,c),e()),o=_e(),u=async c=>{let a={...t,...c,fetch:c.fetch??t.fetch??globalThis.fetch,headers:U(t.headers,c.headers),serializedBody:void 0};a.security&&await qe({...a,security:a.security}),a.requestValidator&&await a.requestValidator(a),a.body!==void 0&&a.bodySerializer&&(a.serializedBody=a.bodySerializer(a.body)),(a.body===void 0||a.serializedBody==="")&&a.headers.delete("Content-Type");let x=W(a);return {opts:a,url:x}},l=async c=>{let{opts:a,url:x}=await u(c),_={redirect:"follow",...a,body:B(a)},k=new Request(x,_);for(let h of o.request.fns)h&&(k=await h(k,a));let v=a.fetch,g;try{g=await v(k);}catch(h){let f=h;for(let b of o.error.fns)b&&(f=await b(h,void 0,k,a));if(f=f||{},a.throwOnError)throw f;return a.responseStyle==="data"?void 0:{error:f,request:k,response:void 0}}for(let h of o.response.fns)h&&(g=await h(g,k,a));let E={request:k,response:g};if(g.ok){let h=(a.parseAs==="auto"?Ae(g.headers.get("Content-Type")):a.parseAs)??"json";if(g.status===204||g.headers.get("Content-Length")==="0"){let b;switch(h){case "arrayBuffer":case "blob":case "text":b=await g[h]();break;case "formData":b=new FormData;break;case "stream":b=g.body;break;default:b={};break}return a.responseStyle==="data"?b:{data:b,...E}}let f;switch(h){case "arrayBuffer":case "blob":case "formData":case "text":f=await g[h]();break;case "json":{let b=await g.text();f=b?JSON.parse(b):{};break}case "stream":return a.responseStyle==="data"?g.body:{data:g.body,...E}}return h==="json"&&(a.responseValidator&&await a.responseValidator(f),a.responseTransformer&&(f=await a.responseTransformer(f))),a.responseStyle==="data"?f:{data:f,...E}}let C=await g.text(),T;try{T=JSON.parse(C);}catch{}let w=T??C,D=w;for(let h of o.error.fns)h&&(D=await h(w,g,k,a));if(D=D||{},a.throwOnError)throw D;return a.responseStyle==="data"?void 0:{error:D,...E}},i=c=>a=>l({...a,method:c}),p=c=>async a=>{let{opts:x,url:_}=await u(a);return De({...x,body:x.body,headers:x.headers,method:c,onRequest:async(k,v)=>{let g=new Request(k,v);for(let E of o.request.fns)E&&(g=await E(g,x));return g},serializedBody:B(x),url:_})};return {buildUrl:c=>W({...t,...c}),connect:i("CONNECT"),delete:i("DELETE"),get:i("GET"),getConfig:e,head:i("HEAD"),interceptors:o,options:i("OPTIONS"),patch:i("PATCH"),post:i("POST"),put:i("PUT"),request:l,setConfig:r,sse:{connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),head:p("HEAD"),options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),trace:p("TRACE")},trace:i("TRACE")}};var rr={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},tr=Object.entries(rr),Me=(s,t)=>{t||(t=new Map);for(let e of s)"in"in e?e.key&&t.set(e.key,{in:e.in,map:e.map}):"key"in e?t.set(e.key,{map:e.map}):e.args&&Me(e.args,t);return t},sr=s=>{for(let[t,e]of Object.entries(s))e&&typeof e=="object"&&!Array.isArray(e)&&!Object.keys(e).length&&delete s[t];},n=(s,t)=>{let e={body:{},headers:{},path:{},query:{}},r=Me(t),o;for(let[u,l]of s.entries())if(t[u]&&(o=t[u]),!!o)if("in"in o)if(o.key){let i=r.get(o.key),p=i.map||o.key;i.in&&(e[i.in][p]=l);}else e.body=l;else for(let[i,p]of Object.entries(l??{})){let m=r.get(i);if(m)if(m.in){let c=m.map||i;e[m.in][c]=p;}else e[m.map]=p;else {let c=tr.find(([a])=>i.startsWith(a));if(c){let[a,x]=c;e[x][i.slice(a.length)]=p;}else if("allowExtra"in o&&o.allowExtra){for(let[a,x]of Object.entries(o.allowExtra))if(x){e[a][i]=p;break}}}}return sr(e),e};var je=q(A({baseUrl:"http://localhost:4096"}));var d=class{constructor(t){y(this,"client");this.client=t?.client??je;}},$=class{constructor(){y(this,"defaultKey","default");y(this,"instances",new Map);}get(t){let e=this.instances.get(t??this.defaultKey);if(!e)throw new Error('No SDK client found. Create one with "new EasbotClient()" to fix this error.');return e}set(t,e){this.instances.set(e??this.defaultKey,t);}},H=class extends d{get(t){return (t?.client??this.client).get({url:"/global/config",...t})}update(t,e){let r=n([t],[{args:[{key:"config",map:"body"}]}]);return (e?.client??this.client).patch({url:"/global/config",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},V=class extends d{constructor(){super(...arguments);y(this,"_config");}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})}get config(){return this._config??(this._config=new H({client:this.client}))}},K=class extends d{remove(t,e){let r=n([t],[{args:[{in:"path",key:"providerID"}]}]);return (e?.client??this.client).delete({url:"/auth/{providerID}",...e,...r})}set(t,e){let r=n([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return (e?.client??this.client).put({url:"/auth/{providerID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},J=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project",...e,...r})}current(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project/current",...e,...r})}update(t,e){let r=n([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return (e?.client??this.client).patch({url:"/project/{projectID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},X=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty",...e,...r})}create(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return (e?.client??this.client).post({url:"/pty",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}remove(t,e){let r=n([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).delete({url:"/pty/{ptyID}",...e,...r})}get(t,e){let r=n([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty/{ptyID}",...e,...r})}update(t,e){let r=n([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return (e?.client??this.client).put({url:"/pty/{ptyID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}connect(t,e){let r=n([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty/{ptyID}/connect",...e,...r})}},Y=class extends d{get(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config",...e,...r})}update(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{key:"config",map:"body"}]}]);return (e?.client??this.client).patch({url:"/config",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}providers(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config/providers",...e,...r})}},Z=class extends d{default(t){return (t?.client??this.client).get({url:"/model/default",...t})}parse(t,e){let r=n([t],[{args:[{in:"query",key:"model"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/model/parse",...e,...r})}},ee=class extends d{ids(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/tool/ids",...e,...r})}list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return (e?.client??this.client).get({url:"/experimental/tool",...e,...r})}},re=class extends d{remove(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{key:"worktreeRemoveInput",map:"body"}]}]);return (e?.client??this.client).delete({url:"/experimental/worktree",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/worktree",...e,...r})}create(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{key:"worktreeCreateInput",map:"body"}]}]);return (e?.client??this.client).post({url:"/experimental/worktree",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}reset(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{key:"worktreeResetInput",map:"body"}]}]);return (e?.client??this.client).post({url:"/experimental/worktree/reset",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},te=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/resource",...e,...r})}},se=class extends d{constructor(){super(...arguments);y(this,"_resource");}get resource(){return this._resource??(this._resource=new te({client:this.client}))}},ne=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return (e?.client??this.client).get({url:"/session",...e,...r})}create(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"permission"}]}]);return (e?.client??this.client).post({url:"/session",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}status(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/status",...e,...r})}delete(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).delete({url:"/session/{sessionID}",...e,...r})}get(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}",...e,...r})}update(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"time"}]}]);return (e?.client??this.client).patch({url:"/session/{sessionID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}children(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/children",...e,...r})}todo(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/todo",...e,...r})}init(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/init",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}fork(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/fork",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}abort(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/abort",...e,...r})}unshare(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).delete({url:"/session/{sessionID}/share",...e,...r})}share(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/share",...e,...r})}diff(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"messageID"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/diff",...e,...r})}summarize(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/summarize",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}messages(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"limit"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/message",...e,...r})}prompt(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/message",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}message(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...e,...r})}promptAsync(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}command(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{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 (e?.client??this.client).post({url:"/session/{sessionID}/command",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}shell(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/shell",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}revert(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/revert",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}unrevert(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/unrevert",...e,...r})}},oe=class extends d{delete(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...e,...r})}update(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{key:"part",map:"body"}]}]);return (e?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},L=class extends d{respond(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"body",key:"response"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}reply(t,e){let r=n([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return (e?.client??this.client).post({url:"/permission/{requestID}/reply",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/permission",...e,...r})}},ie=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/question",...e,...r})}reply(t,e){let r=n([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"body",key:"answers"}]}]);return (e?.client??this.client).post({url:"/question/{requestID}/reply",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}reject(t,e){let r=n([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/question/{requestID}/reject",...e,...r})}},ae=class extends d{authorize(t,e){let r=n([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"body",key:"method"}]}]);return (e?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}callback(t,e){let r=n([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return (e?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},pe=class extends d{constructor(){super(...arguments);y(this,"_oauth");}list(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider",...r,...o})}auth(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider/auth",...r,...o})}get oauth(){return this._oauth??(this._oauth=new ae({client:this.client}))}},le=class extends d{text(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"pattern"}]}]);return (e?.client??this.client).get({url:"/find",...e,...r})}files(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return (e?.client??this.client).get({url:"/find/file",...e,...r})}symbols(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"}]}]);return (e?.client??this.client).get({url:"/find/symbol",...e,...r})}},ye=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"path"}]}]);return (e?.client??this.client).get({url:"/file",...e,...r})}read(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"path"}]}]);return (e?.client??this.client).get({url:"/file/content",...e,...r})}status(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/file/status",...e,...r})}},ue=class extends d{remove(t,e){let r=n([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).delete({url:"/mcp/{name}/auth",...e,...r})}start(t,e){let r=n([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/mcp/{name}/auth",...e,...r})}callback(t,e){let r=n([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"body",key:"code"}]}]);return (e?.client??this.client).post({url:"/mcp/{name}/auth/callback",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}authenticate(t,e){let r=n([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...e,...r})}},de=class extends d{constructor(){super(...arguments);y(this,"_auth");}status(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/mcp",...r,...o})}add(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return (r?.client??this.client).post({url:"/mcp",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}connect(e,r){let o=n([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/connect",...r,...o})}disconnect(e,r){let o=n([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/disconnect",...r,...o})}get auth(){return this._auth??(this._auth=new ue({client:this.client}))}},ce=class extends d{next(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/tui/control/next",...e,...r})}response(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return (e?.client??this.client).post({url:"/tui/control/response",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},ge=class extends d{constructor(){super(...arguments);y(this,"_control");}appendPrompt(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"text"}]}]);return (r?.client??this.client).post({url:"/tui/append-prompt",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}openHelp(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-help",...r,...o})}openSessions(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-sessions",...r,...o})}openThemes(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-themes",...r,...o})}openModels(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-models",...r,...o})}submitPrompt(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/submit-prompt",...r,...o})}clearPrompt(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/clear-prompt",...r,...o})}executeCommand(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"}]}]);return (r?.client??this.client).post({url:"/tui/execute-command",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}showToast(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return (r?.client??this.client).post({url:"/tui/show-toast",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}publish(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return (r?.client??this.client).post({url:"/tui/publish",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}selectSession(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"sessionID"}]}]);return (r?.client??this.client).post({url:"/tui/select-session",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}get control(){return this._control??(this._control=new ce({client:this.client}))}},me=class extends d{dispose(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/instance/dispose",...e,...r})}},he=class extends d{get(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/path",...e,...r})}},be=class extends d{get(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/vcs",...e,...r})}},fe=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/command",...e,...r})}},Re=class extends d{log(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return (e?.client??this.client).post({url:"/log",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}agents(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent",...e,...r})}skills(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/skill",...e,...r})}},xe=class extends d{status(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/lsp",...e,...r})}},Ee=class extends d{status(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/formatter",...e,...r})}},ke=class extends d{subscribe(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).sse.get({url:"/event",...e,...r})}},G=class G extends d{constructor(e){super(e);y(this,"_global");y(this,"_auth");y(this,"_project");y(this,"_pty");y(this,"_config");y(this,"_model");y(this,"_tool");y(this,"_worktree");y(this,"_experimental");y(this,"_session");y(this,"_part");y(this,"_permission");y(this,"_question");y(this,"_provider");y(this,"_find");y(this,"_file");y(this,"_mcp");y(this,"_tui");y(this,"_instance");y(this,"_path");y(this,"_vcs");y(this,"_command");y(this,"_app");y(this,"_lsp");y(this,"_formatter");y(this,"_event");G.__registry.set(this,e?.key);}get global(){return this._global??(this._global=new V({client:this.client}))}get auth(){return this._auth??(this._auth=new K({client:this.client}))}get project(){return this._project??(this._project=new J({client:this.client}))}get pty(){return this._pty??(this._pty=new X({client:this.client}))}get config(){return this._config??(this._config=new Y({client:this.client}))}get model(){return this._model??(this._model=new Z({client:this.client}))}get tool(){return this._tool??(this._tool=new ee({client:this.client}))}get worktree(){return this._worktree??(this._worktree=new re({client:this.client}))}get experimental(){return this._experimental??(this._experimental=new se({client:this.client}))}get session(){return this._session??(this._session=new ne({client:this.client}))}get part(){return this._part??(this._part=new oe({client:this.client}))}get permission(){return this._permission??(this._permission=new L({client:this.client}))}get question(){return this._question??(this._question=new ie({client:this.client}))}get provider(){return this._provider??(this._provider=new pe({client:this.client}))}get find(){return this._find??(this._find=new le({client:this.client}))}get file(){return this._file??(this._file=new ye({client:this.client}))}get mcp(){return this._mcp??(this._mcp=new de({client:this.client}))}get tui(){return this._tui??(this._tui=new ge({client:this.client}))}get instance(){return this._instance??(this._instance=new me({client:this.client}))}get path(){return this._path??(this._path=new he({client:this.client}))}get vcs(){return this._vcs??(this._vcs=new be({client:this.client}))}get command(){return this._command??(this._command=new fe({client:this.client}))}get app(){return this._app??(this._app=new Re({client:this.client}))}get lsp(){return this._lsp??(this._lsp=new xe({client:this.client}))}get formatter(){return this._formatter??(this._formatter=new Ee({client:this.client}))}get event(){return this._event??(this._event=new ke({client:this.client}))}};y(G,"__registry",new $);var z=G;function Fe(s){if(s?.fetch||(s={...s,fetch:r=>(r.timeout=false,fetch(r))}),s?.directory){let r=/[^\x00-\x7F]/.test(s.directory)?encodeURIComponent(s.directory):s.directory;s.headers={...s.headers,"x-easbot-directory|":r};}let t=q(s);return new z({client:t})}async function Le(s){s=Object.assign({hostname:"127.0.0.1",port:4096,timeout:5e3},s??{});let t=["serve",`--hostname=${s.hostname}`,`--port=${s.port}`];s.config?.logLevel&&t.push(`--log-level=${s.config.logLevel}`);let e=child_process.spawn("easbot",t,{signal:s.signal,env:{...process.env,EASBOT_CONFIG_CONTENT:JSON.stringify(s.config??{})}});return {url:await new Promise((o,u)=>{let l=setTimeout(()=>{u(new Error(`Timeout waiting for server to start after ${s.timeout}ms`));},s.timeout),i="";e.stdout?.on("data",p=>{i+=p.toString();let m=i.split(`
|
|
5
|
+
`);b=Oe.pop()??"";for(let Qe of Oe){let $e=Qe.split(`
|
|
6
|
+
`),j=[],De;for(let v of $e)if(v.startsWith("data:"))j.push(v.replace(/^data:\s*/,""));else if(v.startsWith("event:"))De=v.replace(/^event:\s*/,"");else if(v.startsWith("id:"))a=v.replace(/^id:\s*/,"");else if(v.startsWith("retry:")){let Ie=Number.parseInt(v.replace(/^retry:\s*/,""),10);Number.isNaN(Ie)||(S=Ie);}let O,Pe=!1;if(j.length){let v=j.join(`
|
|
7
|
+
`);try{O=JSON.parse(v),Pe=!0;}catch{O=v;}}Pe&&(o&&await o(O),r&&(O=await r(O))),e?.({data:O,event:De,id:a,retry:S}),j.length&&(yield O);}}}finally{x.removeEventListener("abort",we),R.releaseLock();}break}catch(T){if(t?.(T),l!==void 0&&g>=l)break;let w=Math.min(S*2**(g-1),i??3e4);await f(w);}}}()}};var Je=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},Ke=s=>{switch(s){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},Xe=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},F=({allowReserved:s,explode:t,name:e,style:r,value:o})=>{if(!t){let i=(s?o:o.map(p=>encodeURIComponent(p))).join(Ke(r));switch(r){case "label":return `.${i}`;case "matrix":return `;${e}=${i}`;case "simple":return i;default:return `${e}=${i}`}}let u=Je(r),l=o.map(i=>r==="label"||r==="simple"?s?i:encodeURIComponent(i):P({allowReserved:s,name:e,value:i})).join(u);return r==="label"||r==="matrix"?u+l:l},P=({allowReserved:s,name:t,value:e})=>{if(e==null)return "";if(typeof e=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${t}=${s?e:encodeURIComponent(e)}`},U=({allowReserved:s,explode:t,name:e,style:r,value:o,valueOnly:u})=>{if(o instanceof Date)return u?o.toISOString():`${e}=${o.toISOString()}`;if(r!=="deepObject"&&!t){let p=[];Object.entries(o).forEach(([c,a])=>{p=[...p,c,s?a:encodeURIComponent(a)];});let m=p.join(",");switch(r){case "form":return `${e}=${m}`;case "label":return `.${m}`;case "matrix":return `;${e}=${m}`;default:return m}}let l=Xe(r),i=Object.entries(o).map(([p,m])=>P({allowReserved:s,name:r==="deepObject"?`${e}[${p}]`:p,value:m})).join(l);return r==="label"||r==="matrix"?l+i:i};var Ye=/\{[^{}]+\}/g,Ze=({path:s,url:t})=>{let e=t,r=t.match(Ye);if(r)for(let o of r){let u=false,l=o.substring(1,o.length-1),i="simple";l.endsWith("*")&&(u=true,l=l.substring(0,l.length-1)),l.startsWith(".")?(l=l.substring(1),i="label"):l.startsWith(";")&&(l=l.substring(1),i="matrix");let p=s[l];if(p==null)continue;if(Array.isArray(p)){e=e.replace(o,F({explode:u,name:l,style:i,value:p}));continue}if(typeof p=="object"){e=e.replace(o,U({explode:u,name:l,style:i,value:p,valueOnly:true}));continue}if(i==="matrix"){e=e.replace(o,`;${P({name:l,value:p})}`);continue}let m=encodeURIComponent(i==="label"?`.${p}`:p);e=e.replace(o,m);}return e},Ce=({baseUrl:s,path:t,query:e,querySerializer:r,url:o})=>{let u=o.startsWith("/")?o:`/${o}`,l=(s??"")+u;t&&(l=Ze({path:t,url:l}));let i=e?r(e):"";return i.startsWith("?")&&(i=i.substring(1)),i&&(l+=`?${i}`),l};function B(s){let t=s.body!==void 0;if(t&&s.bodySerializer)return "serializedBody"in s?s.serializedBody!==void 0&&s.serializedBody!==""?s.serializedBody:null:s.body!==""?s.body:null;if(t)return s.body}var qe=async(s,t)=>{let e=typeof t=="function"?await t(s):t;if(e)return s.scheme==="bearer"?`Bearer ${e}`:s.scheme==="basic"?`Basic ${btoa(e)}`:e};var N={bodySerializer:s=>JSON.stringify(s,(t,e)=>typeof e=="bigint"?e.toString():e)};var Me=({parameters:s={},...t}={})=>r=>{let o=[];if(r&&typeof r=="object")for(let u in r){let l=r[u];if(l==null)continue;let i=s[u]||t;if(Array.isArray(l)){let p=F({allowReserved:i.allowReserved,explode:true,name:u,style:"form",value:l,...i.array});p&&o.push(p);}else if(typeof l=="object"){let p=U({allowReserved:i.allowReserved,explode:true,name:u,style:"deepObject",value:l,...i.object});p&&o.push(p);}else {let p=P({allowReserved:i.allowReserved,name:u,value:l});p&&o.push(p);}}return o.join("&")},je=s=>{if(!s)return "stream";let t=s.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"}},er=(s,t)=>t?!!(s.headers.has(t)||s.query?.[t]||s.headers.get("Cookie")?.includes(`${t}=`)):false,Fe=async({security:s,...t})=>{for(let e of s){if(er(t,e.name))continue;let r=await qe(e,t.auth);if(!r)continue;let o=e.name??"Authorization";switch(e.in){case "query":t.query||(t.query={}),t.query[o]=r;break;case "cookie":t.headers.append("Cookie",`${o}=${r}`);break;default:t.headers.set(o,r);break}}},W=s=>Ce({baseUrl:s.baseUrl,path:s.path,query:s.query,querySerializer:typeof s.querySerializer=="function"?s.querySerializer:Me(s.querySerializer),url:s.url}),Q=(s,t)=>{let e={...s,...t};return e.baseUrl?.endsWith("/")&&(e.baseUrl=e.baseUrl.substring(0,e.baseUrl.length-1)),e.headers=L(s.headers,t.headers),e},rr=s=>{let t=[];return s.forEach((e,r)=>{t.push([r,e]);}),t},L=(...s)=>{let t=new Headers;for(let e of s){if(!e)continue;let r=e instanceof Headers?rr(e):Object.entries(e);for(let[o,u]of r)if(u===null)t.delete(o);else if(Array.isArray(u))for(let l of u)t.append(o,l);else u!==void 0&&t.set(o,typeof u=="object"?JSON.stringify(u):u);}return t},A=class{constructor(){y(this,"fns",[]);}clear(){this.fns=[];}eject(t){let e=this.getInterceptorIndex(t);this.fns[e]&&(this.fns[e]=null);}exists(t){let e=this.getInterceptorIndex(t);return !!this.fns[e]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,e){let r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=e,t):false}use(t){return this.fns.push(t),this.fns.length-1}},Ue=()=>({error:new A,request:new A,response:new A}),tr=Me({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),sr={"Content-Type":"application/json"},C=(s={})=>({...N,headers:sr,parseAs:"auto",querySerializer:tr,...s});var q=(s={})=>{let t=Q(C(),s),e=()=>({...t}),r=c=>(t=Q(t,c),e()),o=Ue(),u=async c=>{let a={...t,...c,fetch:c.fetch??t.fetch??globalThis.fetch,headers:L(t.headers,c.headers),serializedBody:void 0};a.security&&await Fe({...a,security:a.security}),a.requestValidator&&await a.requestValidator(a),a.body!==void 0&&a.bodySerializer&&(a.serializedBody=a.bodySerializer(a.body)),(a.body===void 0||a.serializedBody==="")&&a.headers.delete("Content-Type");let f=W(a);return {opts:a,url:f}},l=async c=>{let{opts:a,url:f}=await u(c),M={redirect:"follow",...a,body:B(a)},k=new Request(f,M);for(let h of o.request.fns)h&&(k=await h(k,a));let S=a.fetch,g;try{g=await S(k);}catch(h){let R=h;for(let b of o.error.fns)b&&(R=await b(h,void 0,k,a));if(R=R||{},a.throwOnError)throw R;return a.responseStyle==="data"?void 0:{error:R,request:k,response:void 0}}for(let h of o.response.fns)h&&(g=await h(g,k,a));let x={request:k,response:g};if(g.ok){let h=(a.parseAs==="auto"?je(g.headers.get("Content-Type")):a.parseAs)??"json";if(g.status===204||g.headers.get("Content-Length")==="0"){let b;switch(h){case "arrayBuffer":case "blob":case "text":b=await g[h]();break;case "formData":b=new FormData;break;case "stream":b=g.body;break;default:b={};break}return a.responseStyle==="data"?b:{data:b,...x}}let R;switch(h){case "arrayBuffer":case "blob":case "formData":case "text":R=await g[h]();break;case "json":{let b=await g.text();R=b?JSON.parse(b):{};break}case "stream":return a.responseStyle==="data"?g.body:{data:g.body,...x}}return h==="json"&&(a.responseValidator&&await a.responseValidator(R),a.responseTransformer&&(R=await a.responseTransformer(R))),a.responseStyle==="data"?R:{data:R,...x}}let I=await g.text(),T;try{T=JSON.parse(I);}catch{}let w=T??I,D=w;for(let h of o.error.fns)h&&(D=await h(w,g,k,a));if(D=D||{},a.throwOnError)throw D;return a.responseStyle==="data"?void 0:{error:D,...x}},i=c=>a=>l({...a,method:c}),p=c=>async a=>{let{opts:f,url:M}=await u(a);return Ae({...f,body:f.body,headers:f.headers,method:c,onRequest:async(k,S)=>{let g=new Request(k,S);for(let x of o.request.fns)x&&(g=await x(g,f));return g},serializedBody:B(f),url:M})};return {buildUrl:c=>W({...t,...c}),connect:i("CONNECT"),delete:i("DELETE"),get:i("GET"),getConfig:e,head:i("HEAD"),interceptors:o,options:i("OPTIONS"),patch:i("PATCH"),post:i("POST"),put:i("PUT"),request:l,setConfig:r,sse:{connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),head:p("HEAD"),options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),trace:p("TRACE")},trace:i("TRACE")}};var nr={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},or=Object.entries(nr),Le=(s,t)=>{t||(t=new Map);for(let e of s)"in"in e?e.key&&t.set(e.key,{in:e.in,map:e.map}):"key"in e?t.set(e.key,{map:e.map}):e.args&&Le(e.args,t);return t},ir=s=>{for(let[t,e]of Object.entries(s))e&&typeof e=="object"&&!Array.isArray(e)&&!Object.keys(e).length&&delete s[t];},n=(s,t)=>{let e={body:{},headers:{},path:{},query:{}},r=Le(t),o;for(let[u,l]of s.entries())if(t[u]&&(o=t[u]),!!o)if("in"in o)if(o.key){let i=r.get(o.key),p=i.map||o.key;i.in&&(e[i.in][p]=l);}else e.body=l;else for(let[i,p]of Object.entries(l??{})){let m=r.get(i);if(m)if(m.in){let c=m.map||i;e[m.in][c]=p;}else e[m.map]=p;else {let c=or.find(([a])=>i.startsWith(a));if(c){let[a,f]=c;e[f][i.slice(a.length)]=p;}else if("allowExtra"in o&&o.allowExtra){for(let[a,f]of Object.entries(o.allowExtra))if(f){e[a][i]=p;break}}}}return ir(e),e};var _e=q(C({baseUrl:"http://localhost:4096"}));var d=class{constructor(t){y(this,"client");this.client=t?.client??_e;}},$=class{constructor(){y(this,"defaultKey","default");y(this,"instances",new Map);}get(t){let e=this.instances.get(t??this.defaultKey);if(!e)throw new Error('No SDK client found. Create one with "new EasbotClient()" to fix this error.');return e}set(t,e){this.instances.set(e??this.defaultKey,t);}},H=class extends d{get(t){return (t?.client??this.client).get({url:"/global/config",...t})}update(t,e){let r=n([t],[{args:[{key:"config",map:"body"}]}]);return (e?.client??this.client).patch({url:"/global/config",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},V=class extends d{constructor(){super(...arguments);y(this,"_config");}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})}get config(){return this._config??(this._config=new H({client:this.client}))}},J=class extends d{event(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).sse.get({url:"/session/{sessionID}/event",...e,...r})}list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return (e?.client??this.client).get({url:"/session",...e,...r})}create(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"permission"}]}]);return (e?.client??this.client).post({url:"/session",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}status(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/status",...e,...r})}delete(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).delete({url:"/session/{sessionID}",...e,...r})}get(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}",...e,...r})}update(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"time"}]}]);return (e?.client??this.client).patch({url:"/session/{sessionID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}children(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/children",...e,...r})}todo(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/todo",...e,...r})}init(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/init",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}fork(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/fork",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}abort(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/abort",...e,...r})}unshare(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).delete({url:"/session/{sessionID}/share",...e,...r})}share(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/share",...e,...r})}diff(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"messageID"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/diff",...e,...r})}summarize(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/summarize",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}messages(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"limit"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/message",...e,...r})}prompt(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{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 (e?.client??this.client).post({url:"/session/{sessionID}/message",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}deleteMessage(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...e,...r})}message(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...e,...r})}promptAsync(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}command(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{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 (e?.client??this.client).post({url:"/session/{sessionID}/command",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}shell(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/shell",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}revert(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/revert",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}unrevert(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/unrevert",...e,...r})}},K=class extends d{event(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).sse.get({url:"/session/{sessionID}/message/{messageID}/event",...e,...r})}},X=class extends d{remove(t,e){let r=n([t],[{args:[{in:"path",key:"providerID"}]}]);return (e?.client??this.client).delete({url:"/auth/{providerID}",...e,...r})}set(t,e){let r=n([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return (e?.client??this.client).put({url:"/auth/{providerID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},Y=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project",...e,...r})}current(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project/current",...e,...r})}initGit(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return (e?.client??this.client).post({url:"/project/git/init",...e,...r})}update(t,e){let r=n([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return (e?.client??this.client).patch({url:"/project/{projectID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},Z=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty",...e,...r})}create(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return (e?.client??this.client).post({url:"/pty",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}remove(t,e){let r=n([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).delete({url:"/pty/{ptyID}",...e,...r})}get(t,e){let r=n([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty/{ptyID}",...e,...r})}update(t,e){let r=n([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return (e?.client??this.client).put({url:"/pty/{ptyID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}connect(t,e){let r=n([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty/{ptyID}/connect",...e,...r})}},ee=class extends d{get(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config",...e,...r})}update(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{key:"config",map:"body"}]}]);return (e?.client??this.client).patch({url:"/config",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}providers(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config/providers",...e,...r})}},re=class extends d{default(t){return (t?.client??this.client).get({url:"/model/default",...t})}parse(t,e){let r=n([t],[{args:[{in:"query",key:"model"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/model/parse",...e,...r})}},te=class extends d{ids(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/tool/ids",...e,...r})}list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return (e?.client??this.client).get({url:"/experimental/tool",...e,...r})}},se=class extends d{remove(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{key:"worktreeRemoveInput",map:"body"}]}]);return (e?.client??this.client).delete({url:"/experimental/worktree",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/worktree",...e,...r})}create(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{key:"worktreeCreateInput",map:"body"}]}]);return (e?.client??this.client).post({url:"/experimental/worktree",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}reset(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{key:"worktreeResetInput",map:"body"}]}]);return (e?.client??this.client).post({url:"/experimental/worktree/reset",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},ne=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{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 (e?.client??this.client).get({url:"/experimental/session",...e,...r})}},oe=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/resource",...e,...r})}},ie=class extends d{constructor(){super(...arguments);y(this,"_session");y(this,"_resource");}get session(){return this._session??(this._session=new ne({client:this.client}))}get resource(){return this._resource??(this._resource=new oe({client:this.client}))}},ae=class extends d{delete(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...e,...r})}update(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{key:"part",map:"body"}]}]);return (e?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},_=class extends d{respond(t,e){let r=n([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"body",key:"response"}]}]);return (e?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}reply(t,e){let r=n([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return (e?.client??this.client).post({url:"/permission/{requestID}/reply",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/permission",...e,...r})}},pe=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/question",...e,...r})}reply(t,e){let r=n([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"body",key:"answers"}]}]);return (e?.client??this.client).post({url:"/question/{requestID}/reply",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}reject(t,e){let r=n([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/question/{requestID}/reject",...e,...r})}},le=class extends d{authorize(t,e){let r=n([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"body",key:"method"}]}]);return (e?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}callback(t,e){let r=n([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return (e?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},ye=class extends d{constructor(){super(...arguments);y(this,"_oauth");}list(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider",...r,...o})}auth(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider/auth",...r,...o})}get oauth(){return this._oauth??(this._oauth=new le({client:this.client}))}},ue=class extends d{text(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"pattern"}]}]);return (e?.client??this.client).get({url:"/find",...e,...r})}files(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return (e?.client??this.client).get({url:"/find/file",...e,...r})}symbols(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"}]}]);return (e?.client??this.client).get({url:"/find/symbol",...e,...r})}},de=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"path"}]}]);return (e?.client??this.client).get({url:"/file",...e,...r})}read(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"path"}]}]);return (e?.client??this.client).get({url:"/file/content",...e,...r})}status(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/file/status",...e,...r})}},ce=class extends d{remove(t,e){let r=n([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).delete({url:"/mcp/{name}/auth",...e,...r})}start(t,e){let r=n([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/mcp/{name}/auth",...e,...r})}callback(t,e){let r=n([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"body",key:"code"}]}]);return (e?.client??this.client).post({url:"/mcp/{name}/auth/callback",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}authenticate(t,e){let r=n([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...e,...r})}},ge=class extends d{constructor(){super(...arguments);y(this,"_auth");}status(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/mcp",...r,...o})}add(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return (r?.client??this.client).post({url:"/mcp",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}connect(e,r){let o=n([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/connect",...r,...o})}disconnect(e,r){let o=n([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/disconnect",...r,...o})}get auth(){return this._auth??(this._auth=new ce({client:this.client}))}},me=class extends d{next(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/tui/control/next",...e,...r})}response(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return (e?.client??this.client).post({url:"/tui/control/response",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},he=class extends d{constructor(){super(...arguments);y(this,"_control");}appendPrompt(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"text"}]}]);return (r?.client??this.client).post({url:"/tui/append-prompt",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}openHelp(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-help",...r,...o})}openSessions(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-sessions",...r,...o})}openThemes(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-themes",...r,...o})}openModels(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-models",...r,...o})}submitPrompt(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/submit-prompt",...r,...o})}clearPrompt(e,r){let o=n([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/clear-prompt",...r,...o})}executeCommand(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"}]}]);return (r?.client??this.client).post({url:"/tui/execute-command",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}showToast(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return (r?.client??this.client).post({url:"/tui/show-toast",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}publish(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return (r?.client??this.client).post({url:"/tui/publish",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}selectSession(e,r){let o=n([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"sessionID"}]}]);return (r?.client??this.client).post({url:"/tui/select-session",...r,...o,headers:{"Content-Type":"application/json",...r?.headers,...o.headers}})}get control(){return this._control??(this._control=new me({client:this.client}))}},be=class extends d{dispose(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/instance/dispose",...e,...r})}},Re=class extends d{get(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/path",...e,...r})}},Ee=class extends d{get(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/vcs",...e,...r})}},fe=class extends d{list(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/command",...e,...r})}},xe=class extends d{log(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return (e?.client??this.client).post({url:"/log",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}agents(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent",...e,...r})}skills(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/skill",...e,...r})}},ke=class extends d{create(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"mode"},{in:"body",key:"permission"},{in:"body",key:"description"},{in:"body",key:"prompt"},{in:"body",key:"model"},{in:"body",key:"temperature"},{in:"body",key:"topP"},{in:"body",key:"color"},{in:"body",key:"hidden"},{in:"body",key:"variant"},{in:"body",key:"steps"},{in:"body",key:"options"}]}]);return (e?.client??this.client).post({url:"/agent",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}get(t,e){let r=n([t],[{args:[{in:"path",key:"agentID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent/{agentID}",...e,...r})}event(t,e){let r=n([t],[{args:[{in:"path",key:"agentID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).sse.get({url:"/agent/{agentID}/event",...e,...r})}default(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent/default",...e,...r})}},ve=class extends d{status(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/lsp",...e,...r})}},Se=class extends d{status(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/formatter",...e,...r})}},Te=class extends d{subscribe(t,e){let r=n([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).sse.get({url:"/event",...e,...r})}publish(t,e){let r=n([t],[{args:[{in:"query",key:"directory"},{key:"event",map:"body"}]}]);return (e?.client??this.client).post({url:"/event",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},G=class G extends d{constructor(e){super(e);y(this,"_global");y(this,"_session");y(this,"_message");y(this,"_auth");y(this,"_project");y(this,"_pty");y(this,"_config");y(this,"_model");y(this,"_tool");y(this,"_worktree");y(this,"_experimental");y(this,"_part");y(this,"_permission");y(this,"_question");y(this,"_provider");y(this,"_find");y(this,"_file");y(this,"_mcp");y(this,"_tui");y(this,"_instance");y(this,"_path");y(this,"_vcs");y(this,"_command");y(this,"_app");y(this,"_agent");y(this,"_lsp");y(this,"_formatter");y(this,"_event");G.__registry.set(this,e?.key);}get global(){return this._global??(this._global=new V({client:this.client}))}get session(){return this._session??(this._session=new J({client:this.client}))}get message(){return this._message??(this._message=new K({client:this.client}))}get auth(){return this._auth??(this._auth=new X({client:this.client}))}get project(){return this._project??(this._project=new Y({client:this.client}))}get pty(){return this._pty??(this._pty=new Z({client:this.client}))}get config(){return this._config??(this._config=new ee({client:this.client}))}get model(){return this._model??(this._model=new re({client:this.client}))}get tool(){return this._tool??(this._tool=new te({client:this.client}))}get worktree(){return this._worktree??(this._worktree=new se({client:this.client}))}get experimental(){return this._experimental??(this._experimental=new ie({client:this.client}))}get part(){return this._part??(this._part=new ae({client:this.client}))}get permission(){return this._permission??(this._permission=new _({client:this.client}))}get question(){return this._question??(this._question=new pe({client:this.client}))}get provider(){return this._provider??(this._provider=new ye({client:this.client}))}get find(){return this._find??(this._find=new ue({client:this.client}))}get file(){return this._file??(this._file=new de({client:this.client}))}get mcp(){return this._mcp??(this._mcp=new ge({client:this.client}))}get tui(){return this._tui??(this._tui=new he({client:this.client}))}get instance(){return this._instance??(this._instance=new be({client:this.client}))}get path(){return this._path??(this._path=new Re({client:this.client}))}get vcs(){return this._vcs??(this._vcs=new Ee({client:this.client}))}get command(){return this._command??(this._command=new fe({client:this.client}))}get app(){return this._app??(this._app=new xe({client:this.client}))}get agent(){return this._agent??(this._agent=new ke({client:this.client}))}get lsp(){return this._lsp??(this._lsp=new ve({client:this.client}))}get formatter(){return this._formatter??(this._formatter=new Se({client:this.client}))}get event(){return this._event??(this._event=new Te({client:this.client}))}};y(G,"__registry",new $);var z=G;function ze(s){if(s?.fetch||(s={...s,fetch:r=>(r.timeout=false,fetch(r))}),s?.directory){let r=/[^\x00-\x7F]/.test(s.directory)?encodeURIComponent(s.directory):s.directory;s.headers={...s.headers,"x-easbot-directory|":r};}let t=q(s);return new z({client:t})}async function Be(s){s=Object.assign({hostname:"127.0.0.1",port:4096,timeout:5e3},s??{});let t=["serve",`--hostname=${s.hostname}`,`--port=${s.port}`];s.config?.logLevel&&t.push(`--log-level=${s.config.logLevel}`);let e=child_process.spawn("easbot",t,{signal:s.signal,env:{...process.env,EASBOT_CONFIG_CONTENT:JSON.stringify(s.config??{})}});return {url:await new Promise((o,u)=>{let l=setTimeout(()=>{u(new Error(`Timeout waiting for server to start after ${s.timeout}ms`));},s.timeout),i="";e.stdout?.on("data",p=>{i+=p.toString();let m=i.split(`
|
|
8
8
|
`);for(let c of m)if(c.startsWith("easbot server listening")){let a=c.match(/on\s+(https?:\/\/[^\s]+)/);if(!a)throw new Error(`Failed to parse server url from output: ${c}`);clearTimeout(l),o(a[1]);return}}),e.stderr?.on("data",p=>{i+=p.toString();}),e.on("exit",p=>{clearTimeout(l);let m=`Server exited with code ${p}`;i.trim()&&(m+=`
|
|
9
|
-
Server output: ${i}`),u(new Error(m));}),e.on("error",p=>{clearTimeout(l),u(p);}),s.signal&&s.signal.addEventListener("abort",()=>{clearTimeout(l),u(new Error("Aborted"));});}),close(){e.kill();}}}function
|
|
9
|
+
Server output: ${i}`),u(new Error(m));}),e.on("error",p=>{clearTimeout(l),u(p);}),s.signal&&s.signal.addEventListener("abort",()=>{clearTimeout(l),u(new Error("Aborted"));});}),close(){e.kill();}}}function lt(s){let t=[];s?.project&&t.push(`--project=${s.project}`),s?.model&&t.push(`--model=${s.model}`),s?.session&&t.push(`--session=${s.session}`),s?.agent&&t.push(`--agent=${s.agent}`);let e=child_process.spawn("easbot",t,{signal:s?.signal,stdio:"inherit",env:{...process.env,EASBOT_CONFIG_CONTENT:JSON.stringify(s?.config??{})}});return {close(){e.kill();}}}async function gt(s){let t=await Be({...s});return {client:ze({baseUrl:t.url}),server:t}}exports.EasbotClient=z;exports.Permission=_;exports.createEasbotClient=ze;exports.createEasbotServer=Be;exports.createEascode=gt;exports.createEascodeTui=lt;
|