@easbot/sdk 0.2.0 → 0.2.2
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/dist/index.cjs +7 -8
- package/dist/index.d.cts +13 -12
- package/dist/index.d.ts +13 -12
- package/dist/index.mjs +7 -8
- package/package.json +22 -24
package/dist/index.cjs
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
'use strict';var child_process=require('child_process');var Ve=Object.defineProperty;var Je=(s,t,e)=>t in s?Ve(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var
|
|
2
|
-
`).
|
|
3
|
-
`);let De=b.split(`
|
|
1
|
+
'use strict';var child_process=require('child_process');var Ve=Object.defineProperty;var Je=(s,t,e)=>t in s?Ve(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var l=(s,t,e)=>Je(s,typeof t!="symbol"?t+"":t,e);function Ae({onRequest:s,onSseError:t,onSseEvent:e,responseTransformer:r,responseValidator:n,sseDefaultRetryDelay:d,sseMaxRetryAttempts:p,sseMaxRetryDelay:i,sseSleepFn:a,url:m,...c}){let y,E=a??(g=>new Promise(b=>setTimeout(b,g)));return {stream:async function*(){let g=d??3e3,b=0,S=c.signal??new AbortController().signal;for(;!S.aborted;){b++;let q=c.headers instanceof Headers?c.headers:new Headers(c.headers);y!==void 0&&q.set("Last-Event-ID",y);try{let w={redirect:"follow",...c,body:c.serializedBody,headers:q,signal:S},O=new Request(m,w);s&&(O=await s(m,w));let x=await(c.fetch??globalThis.fetch)(O);if(!x.ok)throw new Error(`SSE failed: ${x.status} ${x.statusText}`);if(!x.body)throw new Error("No body in SSE response");let v=x.body.pipeThrough(new TextDecoderStream).getReader(),f="",Oe=()=>{try{v.cancel();}catch{}};S.addEventListener("abort",Oe);try{for(;;){let{done:We,value:Qe}=await v.read();if(We)break;f+=Qe,f=f.replace(/\r\n?/g,`
|
|
2
|
+
`);let De=f.split(`
|
|
4
3
|
|
|
5
|
-
`);
|
|
6
|
-
`),
|
|
7
|
-
`);try{O=JSON.parse(S),Pe=!0;}catch{O=S;}}Pe&&(n&&await n(O),r&&(O=await r(O))),e?.({data:O,event:Ie,id:a,retry:v}),j.length&&(yield O);}}}finally{f.removeEventListener("abort",Oe),x.releaseLock();}break}catch(T){if(t?.(T),l!==void 0&&g>=l)break;let w=Math.min(v*2**(g-1),i??3e4);await E(w);}}}()}};var Ke=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},Xe=s=>{switch(s){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},Ye=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},F=({allowReserved:s,explode:t,name:e,style:r,value:n})=>{if(!t){let i=(s?n:n.map(p=>encodeURIComponent(p))).join(Xe(r));switch(r){case "label":return `.${i}`;case "matrix":return `;${e}=${i}`;case "simple":return i;default:return `${e}=${i}`}}let d=Ke(r),l=n.map(i=>r==="label"||r==="simple"?s?i:encodeURIComponent(i):I({allowReserved:s,name:e,value:i})).join(d);return r==="label"||r==="matrix"?d+l:l},I=({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:n,valueOnly:d})=>{if(n instanceof Date)return d?n.toISOString():`${e}=${n.toISOString()}`;if(r!=="deepObject"&&!t){let p=[];Object.entries(n).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=Ye(r),i=Object.entries(n).map(([p,m])=>I({allowReserved:s,name:r==="deepObject"?`${e}[${p}]`:p,value:m})).join(l);return r==="label"||r==="matrix"?l+i:i};var Ze=/\{[^{}]+\}/g,er=({path:s,url:t})=>{let e=t,r=t.match(Ze);if(r)for(let n of r){let d=false,l=n.substring(1,n.length-1),i="simple";l.endsWith("*")&&(d=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(n,F({explode:d,name:l,style:i,value:p}));continue}if(typeof p=="object"){e=e.replace(n,U({explode:d,name:l,style:i,value:p,valueOnly:true}));continue}if(i==="matrix"){e=e.replace(n,`;${I({name:l,value:p})}`);continue}let m=encodeURIComponent(i==="label"?`.${p}`:p);e=e.replace(n,m);}return e},qe=({baseUrl:s,path:t,query:e,querySerializer:r,url:n})=>{let d=n.startsWith("/")?n:`/${n}`,l=(s??"")+d;t&&(l=er({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 Me=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 je=({parameters:s={},...t}={})=>r=>{let n=[];if(r&&typeof r=="object")for(let d in r){let l=r[d];if(l==null)continue;let i=s[d]||t;if(Array.isArray(l)){let p=F({allowReserved:i.allowReserved,explode:true,name:d,style:"form",value:l,...i.array});p&&n.push(p);}else if(typeof l=="object"){let p=U({allowReserved:i.allowReserved,explode:true,name:d,style:"deepObject",value:l,...i.object});p&&n.push(p);}else {let p=I({allowReserved:i.allowReserved,name:d,value:l});p&&n.push(p);}}return n.join("&")},Fe=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"}},rr=(s,t)=>t?!!(s.headers.has(t)||s.query?.[t]||s.headers.get("Cookie")?.includes(`${t}=`)):false,Ue=async({security:s,...t})=>{for(let e of s){if(rr(t,e.name))continue;let r=await Me(e,t.auth);if(!r)continue;let n=e.name??"Authorization";switch(e.in){case "query":t.query||(t.query={}),t.query[n]=r;break;case "cookie":t.headers.append("Cookie",`${n}=${r}`);break;default:t.headers.set(n,r);break}}},W=s=>qe({baseUrl:s.baseUrl,path:s.path,query:s.query,querySerializer:typeof s.querySerializer=="function"?s.querySerializer:je(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},tr=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?tr(e):Object.entries(e);for(let[n,d]of r)if(d===null)t.delete(n);else if(Array.isArray(d))for(let l of d)t.append(n,l);else d!==void 0&&t.set(n,typeof d=="object"?JSON.stringify(d):d);}return t},C=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}},Le=()=>({error:new C,request:new C,response:new C}),sr=je({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),nr={"Content-Type":"application/json"},A=(s={})=>({...N,headers:nr,parseAs:"auto",querySerializer:sr,...s});var q=(s={})=>{let t=Q(A(),s),e=()=>({...t}),r=c=>(t=Q(t,c),e()),n=Le(),d=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 Ue({...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 E=W(a);return {opts:a,url:E}},l=async c=>{let{opts:a,url:E}=await d(c),M={redirect:"follow",...a,body:B(a)},k=new Request(E,M);for(let h of n.request.fns)h&&(k=await h(k,a));let v=a.fetch,g;try{g=await v(k);}catch(h){let x=h;for(let b of n.error.fns)b&&(x=await b(h,void 0,k,a));if(x=x||{},a.throwOnError)throw x;return a.responseStyle==="data"?void 0:{error:x,request:k,response:void 0}}for(let h of n.response.fns)h&&(g=await h(g,k,a));let f={request:k,response:g};if(g.ok){let h=(a.parseAs==="auto"?Fe(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,...f}}let x;switch(h){case "arrayBuffer":case "blob":case "formData":case "text":x=await g[h]();break;case "json":{let b=await g.text();x=b?JSON.parse(b):{};break}case "stream":return a.responseStyle==="data"?g.body:{data:g.body,...f}}return h==="json"&&(a.responseValidator&&await a.responseValidator(x),a.responseTransformer&&(x=await a.responseTransformer(x))),a.responseStyle==="data"?x:{data:x,...f}}let P=await g.text(),T;try{T=JSON.parse(P);}catch{}let w=T??P,D=w;for(let h of n.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,...f}},i=c=>a=>l({...a,method:c}),p=c=>async a=>{let{opts:E,url:M}=await d(a);return Ae({...E,body:E.body,headers:E.headers,method:c,onRequest:async(k,v)=>{let g=new Request(k,v);for(let f of n.request.fns)f&&(g=await f(g,E));return g},serializedBody:B(E),url:M})};return {buildUrl:c=>W({...t,...c}),connect:i("CONNECT"),delete:i("DELETE"),get:i("GET"),getConfig:e,head:i("HEAD"),interceptors:n,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 or={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},ir=Object.entries(or),Ge=(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&&Ge(e.args,t);return t},ar=s=>{for(let[t,e]of Object.entries(s))e&&typeof e=="object"&&!Array.isArray(e)&&!Object.keys(e).length&&delete s[t];},o=(s,t)=>{let e={body:{},headers:{},path:{},query:{}},r=Ge(t),n;for(let[d,l]of s.entries())if(t[d]&&(n=t[d]),!!n)if("in"in n)if(n.key){let i=r.get(n.key),p=i.map||n.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=ir.find(([a])=>i.startsWith(a));if(c){let[a,E]=c;e[E][i.slice(a.length)]=p;}else if("allowExtra"in n&&n.allowExtra){for(let[a,E]of Object.entries(n.allowExtra))if(E){e[a][i]=p;break}}}}return ar(e),e};var _e=q(A({baseUrl:"http://localhost:4096"}));var u=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 u{get(t){return (t?.client??this.client).get({url:"/global/config",...t})}update(t,e){let r=o([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 u{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 u{get(t,e){let r=o([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/contextMode",...e,...r})}set(t,e){let r=o([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"mode"}]}]);return (e?.client??this.client).put({url:"/session/{sessionID}/contextMode",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},K=class extends u{constructor(){super(...arguments);y(this,"_contextMode");}event(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).sse.get({url:"/session/{sessionID}/event",...r,...n})}list(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return (r?.client??this.client).get({url:"/session",...r,...n})}create(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"permission"},{in:"body",key:"contextMode"}]}]);return (r?.client??this.client).post({url:"/session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}status(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/status",...r,...n})}delete(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}",...r,...n})}get(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}",...r,...n})}update(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"time"}]}]);return (r?.client??this.client).patch({url:"/session/{sessionID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}children(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/children",...r,...n})}todo(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/todo",...r,...n})}init(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/init",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}fork(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"contextMode"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/fork",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}abort(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/abort",...r,...n})}unshare(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}/share",...r,...n})}share(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/share",...r,...n})}diff(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"messageID"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/diff",...r,...n})}summarize(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/summarize",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}messages(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"limit"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/message",...r,...n})}prompt(e,r){let n=o([e],[{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:"contextMode"},{in:"body",key:"parts"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/message",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}deleteMessage(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...r,...n})}message(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...r,...n})}promptAsync(e,r){let n=o([e],[{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 (r?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}command(e,r){let n=o([e],[{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:"contextMode"},{in:"body",key:"parts"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}shell(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/shell",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}revert(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/revert",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}unrevert(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/unrevert",...r,...n})}get contextMode(){return this._contextMode??(this._contextMode=new J({client:this.client}))}},X=class extends u{event(t,e){let r=o([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})}},Y=class extends u{remove(t,e){let r=o([t],[{args:[{in:"path",key:"providerID"}]}]);return (e?.client??this.client).delete({url:"/auth/{providerID}",...e,...r})}set(t,e){let r=o([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}})}},Z=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project",...e,...r})}current(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project/current",...e,...r})}initGit(t,e){let r=o([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=o([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}})}},ee=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty",...e,...r})}create(t,e){let r=o([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=o([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=o([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=o([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=o([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty/{ptyID}/connect",...e,...r})}},re=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config",...e,...r})}update(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config/providers",...e,...r})}},te=class extends u{default(t){return (t?.client??this.client).get({url:"/model/default",...t})}parse(t,e){let r=o([t],[{args:[{in:"query",key:"model"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/model/parse",...e,...r})}},se=class extends u{ids(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/tool/ids",...e,...r})}list(t,e){let r=o([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})}},ne=class extends u{remove(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/worktree",...e,...r})}create(t,e){let r=o([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=o([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}})}},oe=class extends u{list(t,e){let r=o([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})}},ie=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/resource",...e,...r})}},ae=class extends u{constructor(){super(...arguments);y(this,"_session");y(this,"_resource");}get session(){return this._session??(this._session=new oe({client:this.client}))}get resource(){return this._resource??(this._resource=new ie({client:this.client}))}},pe=class extends u{delete(t,e){let r=o([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=o([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}})}},G=class extends u{respond(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/permission",...e,...r})}},le=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/question",...e,...r})}reply(t,e){let r=o([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=o([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/question/{requestID}/reject",...e,...r})}},ye=class extends u{authorize(t,e){let r=o([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=o([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}})}},ue=class extends u{constructor(){super(...arguments);y(this,"_oauth");}list(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider",...r,...n})}auth(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider/auth",...r,...n})}get oauth(){return this._oauth??(this._oauth=new ye({client:this.client}))}},de=class extends u{text(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"}]}]);return (e?.client??this.client).get({url:"/find/symbol",...e,...r})}},ce=class extends u{list(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/file/status",...e,...r})}},ge=class extends u{remove(t,e){let r=o([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=o([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=o([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=o([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...e,...r})}},me=class extends u{constructor(){super(...arguments);y(this,"_auth");}status(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/mcp",...r,...n})}add(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return (r?.client??this.client).post({url:"/mcp",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connect(e,r){let n=o([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/connect",...r,...n})}disconnect(e,r){let n=o([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/disconnect",...r,...n})}get auth(){return this._auth??(this._auth=new ge({client:this.client}))}},he=class extends u{next(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/tui/control/next",...e,...r})}response(t,e){let r=o([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}})}},be=class extends u{constructor(){super(...arguments);y(this,"_control");}appendPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"text"}]}]);return (r?.client??this.client).post({url:"/tui/append-prompt",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}openHelp(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-help",...r,...n})}openSessions(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-sessions",...r,...n})}openThemes(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-themes",...r,...n})}openModels(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-models",...r,...n})}submitPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/submit-prompt",...r,...n})}clearPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/clear-prompt",...r,...n})}executeCommand(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"}]}]);return (r?.client??this.client).post({url:"/tui/execute-command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}showToast(e,r){let n=o([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,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}publish(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return (r?.client??this.client).post({url:"/tui/publish",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}selectSession(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"sessionID"}]}]);return (r?.client??this.client).post({url:"/tui/select-session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}get control(){return this._control??(this._control=new he({client:this.client}))}},xe=class extends u{dispose(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/instance/dispose",...e,...r})}},Re=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/path",...e,...r})}},Ee=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/vcs",...e,...r})}},fe=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"contextMode"}]}]);return (e?.client??this.client).get({url:"/command",...e,...r})}},ke=class extends u{log(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent",...e,...r})}skills(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/skill",...e,...r})}},Se=class extends u{create(t,e){let r=o([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=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent/default",...e,...r})}},ve=class extends u{status(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/lsp",...e,...r})}},Te=class extends u{status(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/formatter",...e,...r})}},we=class extends u{subscribe(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).sse.get({url:"/event",...e,...r})}publish(t,e){let r=o([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}})}},z=class z extends u{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");z.__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 K({client:this.client}))}get message(){return this._message??(this._message=new X({client:this.client}))}get auth(){return this._auth??(this._auth=new Y({client:this.client}))}get project(){return this._project??(this._project=new Z({client:this.client}))}get pty(){return this._pty??(this._pty=new ee({client:this.client}))}get config(){return this._config??(this._config=new re({client:this.client}))}get model(){return this._model??(this._model=new te({client:this.client}))}get tool(){return this._tool??(this._tool=new se({client:this.client}))}get worktree(){return this._worktree??(this._worktree=new ne({client:this.client}))}get experimental(){return this._experimental??(this._experimental=new ae({client:this.client}))}get part(){return this._part??(this._part=new pe({client:this.client}))}get permission(){return this._permission??(this._permission=new G({client:this.client}))}get question(){return this._question??(this._question=new le({client:this.client}))}get provider(){return this._provider??(this._provider=new ue({client:this.client}))}get find(){return this._find??(this._find=new de({client:this.client}))}get file(){return this._file??(this._file=new ce({client:this.client}))}get mcp(){return this._mcp??(this._mcp=new me({client:this.client}))}get tui(){return this._tui??(this._tui=new be({client:this.client}))}get instance(){return this._instance??(this._instance=new xe({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 ke({client:this.client}))}get agent(){return this._agent??(this._agent=new Se({client:this.client}))}get lsp(){return this._lsp??(this._lsp=new ve({client:this.client}))}get formatter(){return this._formatter??(this._formatter=new Te({client:this.client}))}get event(){return this._event??(this._event=new we({client:this.client}))}};y(z,"__registry",new $);var _=z;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 _({client:t})}async function Ne(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((n,d)=>{let l=setTimeout(()=>{d(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
|
-
`);for(let c of m)if(c.startsWith("easbot server listening")){let
|
|
9
|
-
Server output: ${i}`),d(new Error(m));}),e.on("error",
|
|
4
|
+
`);f=De.pop()??"";for(let $e of De){let He=$e.split(`
|
|
5
|
+
`),M=[],Ie;for(let T of He)if(T.startsWith("data:"))M.push(T.replace(/^data:\s*/,""));else if(T.startsWith("event:"))Ie=T.replace(/^event:\s*/,"");else if(T.startsWith("id:"))y=T.replace(/^id:\s*/,"");else if(T.startsWith("retry:")){let Ce=Number.parseInt(T.replace(/^retry:\s*/,""),10);Number.isNaN(Ce)||(g=Ce);}let D,Pe=!1;if(M.length){let T=M.join(`
|
|
6
|
+
`);try{D=JSON.parse(T),Pe=!0;}catch{D=T;}}Pe&&(n&&await n(D),r&&(D=await r(D))),e?.({data:D,event:Ie,id:y,retry:g}),M.length&&(yield D);}}}finally{S.removeEventListener("abort",Oe),v.releaseLock();}break}catch(w){if(t?.(w),p!==void 0&&b>=p)break;let O=Math.min(g*2**(b-1),i??3e4);await E(O);}}}()}}var Ke=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},Xe=s=>{switch(s){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},Ye=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},j=({allowReserved:s,explode:t,name:e,style:r,value:n})=>{if(!t){let i=(s?n:n.map(a=>encodeURIComponent(a))).join(Xe(r));switch(r){case "label":return `.${i}`;case "matrix":return `;${e}=${i}`;case "simple":return i;default:return `${e}=${i}`}}let d=Ke(r),p=n.map(i=>r==="label"||r==="simple"?s?i:encodeURIComponent(i):I({allowReserved:s,name:e,value:i})).join(d);return r==="label"||r==="matrix"?d+p:p},I=({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:n,valueOnly:d})=>{if(n instanceof Date)return d?n.toISOString():`${e}=${n.toISOString()}`;if(r!=="deepObject"&&!t){let a=[];Object.entries(n).forEach(([c,y])=>{a=[...a,c,s?y:encodeURIComponent(y)];});let m=a.join(",");switch(r){case "form":return `${e}=${m}`;case "label":return `.${m}`;case "matrix":return `;${e}=${m}`;default:return m}}let p=Ye(r),i=Object.entries(n).map(([a,m])=>I({allowReserved:s,name:r==="deepObject"?`${e}[${a}]`:a,value:m})).join(p);return r==="label"||r==="matrix"?p+i:i};var Ze=/\{[^{}]+\}/g,er=({path:s,url:t})=>{let e=t,r=t.match(Ze);if(r)for(let n of r){let d=false,p=n.substring(1,n.length-1),i="simple";p.endsWith("*")&&(d=true,p=p.substring(0,p.length-1)),p.startsWith(".")?(p=p.substring(1),i="label"):p.startsWith(";")&&(p=p.substring(1),i="matrix");let a=s[p];if(a==null)continue;if(Array.isArray(a)){e=e.replace(n,j({explode:d,name:p,style:i,value:a}));continue}if(typeof a=="object"){e=e.replace(n,F({explode:d,name:p,style:i,value:a,valueOnly:true}));continue}if(i==="matrix"){e=e.replace(n,`;${I({name:p,value:a})}`);continue}let m=encodeURIComponent(i==="label"?`.${a}`:a);e=e.replace(n,m);}return e},qe=({baseUrl:s,path:t,query:e,querySerializer:r,url:n})=>{let d=n.startsWith("/")?n:`/${n}`,p=(s??"")+d;t&&(p=er({path:t,url:p}));let i=e?r(e):"";return i.startsWith("?")&&(i=i.substring(1)),i&&(p+=`?${i}`),p};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 Me=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 je=({parameters:s={},...t}={})=>r=>{let n=[];if(r&&typeof r=="object")for(let d in r){let p=r[d];if(p==null)continue;let i=s[d]||t;if(Array.isArray(p)){let a=j({allowReserved:i.allowReserved,explode:true,name:d,style:"form",value:p,...i.array});a&&n.push(a);}else if(typeof p=="object"){let a=F({allowReserved:i.allowReserved,explode:true,name:d,style:"deepObject",value:p,...i.object});a&&n.push(a);}else {let a=I({allowReserved:i.allowReserved,name:d,value:p});a&&n.push(a);}}return n.join("&")},Fe=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"}},rr=(s,t)=>t?!!(s.headers.has(t)||s.query?.[t]||s.headers.get("Cookie")?.includes(`${t}=`)):false,Ue=async({security:s,...t})=>{for(let e of s){if(rr(t,e.name))continue;let r=await Me(e,t.auth);if(!r)continue;let n=e.name??"Authorization";switch(e.in){case "query":t.query||(t.query={}),t.query[n]=r;break;case "cookie":t.headers.append("Cookie",`${n}=${r}`);break;default:t.headers.set(n,r);break}}},W=s=>qe({baseUrl:s.baseUrl,path:s.path,query:s.query,querySerializer:typeof s.querySerializer=="function"?s.querySerializer:je(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},tr=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?tr(e):Object.entries(e);for(let[n,d]of r)if(d===null)t.delete(n);else if(Array.isArray(d))for(let p of d)t.append(n,p);else d!==void 0&&t.set(n,typeof d=="object"?JSON.stringify(d):d);}return t},P=class{constructor(){l(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}},Le=()=>({error:new P,request:new P,response:new P}),sr=je({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),nr={"Content-Type":"application/json"},C=(s={})=>({...N,headers:nr,parseAs:"auto",querySerializer:sr,...s});var A=(s={})=>{let t=Q(C(),s),e=()=>({...t}),r=c=>(t=Q(t,c),e()),n=Le(),d=async c=>{let y={...t,...c,fetch:c.fetch??t.fetch??globalThis.fetch,headers:U(t.headers,c.headers),serializedBody:void 0};y.security&&await Ue({...y,security:y.security}),y.requestValidator&&await y.requestValidator(y),y.body!==void 0&&y.bodySerializer&&(y.serializedBody=y.bodySerializer(y.body)),(y.body===void 0||y.serializedBody==="")&&y.headers.delete("Content-Type");let E=y,k=W(E);return {opts:E,url:k}},p=async c=>{let y=c.throwOnError??t.throwOnError,E=c.responseStyle??t.responseStyle,k,h;try{let{opts:g,url:b}=await d(c),S={redirect:"follow",...g,body:B(g)};k=new Request(b,S);for(let x of n.request.fns)x&&(k=await x(k,g));let q=g.fetch;h=await q(k);for(let x of n.response.fns)x&&(h=await x(h,k,g));let w={request:k,response:h};if(h.ok){let x=(g.parseAs==="auto"?Fe(h.headers.get("Content-Type")):g.parseAs)??"json";if(h.status===204||h.headers.get("Content-Length")==="0"){let f;switch(x){case "arrayBuffer":case "blob":case "text":f=await h[x]();break;case "formData":f=new FormData;break;case "stream":f=h.body;break;default:f={};break}return g.responseStyle==="data"?f:{data:f,...w}}let v;switch(x){case "arrayBuffer":case "blob":case "formData":case "text":v=await h[x]();break;case "json":{let f=await h.text();v=f?JSON.parse(f):{};break}case "stream":return g.responseStyle==="data"?h.body:{data:h.body,...w}}return x==="json"&&(g.responseValidator&&await g.responseValidator(v),g.responseTransformer&&(v=await g.responseTransformer(v))),g.responseStyle==="data"?v:{data:v,...w}}let O=await h.text(),z;try{z=JSON.parse(O);}catch{}throw z??O}catch(g){let b=g;for(let S of n.error.fns)S&&(b=await S(b,h,k,c));if(b=b||{},y)throw b;return E==="data"?void 0:{error:b,request:k,response:h}}},i=c=>y=>p({...y,method:c}),a=c=>async y=>{let{opts:E,url:k}=await d(y);return Ae({...E,body:E.body,method:c,onRequest:async(h,g)=>{let b=new Request(h,g);for(let S of n.request.fns)S&&(b=await S(b,E));return b},serializedBody:B(E),url:k})};return {buildUrl:c=>W({...t,...c}),connect:i("CONNECT"),delete:i("DELETE"),get:i("GET"),getConfig:e,head:i("HEAD"),interceptors:n,options:i("OPTIONS"),patch:i("PATCH"),post:i("POST"),put:i("PUT"),request:p,setConfig:r,sse:{connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),head:a("HEAD"),options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),trace:a("TRACE")},trace:i("TRACE")}};var or={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},ir=Object.entries(or),Ge=(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&&Ge(e.args,t);return t},ar=s=>{for(let[t,e]of Object.entries(s))e&&typeof e=="object"&&!Array.isArray(e)&&!Object.keys(e).length&&delete s[t];},o=(s,t)=>{let e={body:{},headers:{},path:{},query:{}},r=Ge(t),n;for(let[d,p]of s.entries())if(t[d]&&(n=t[d]),!!n)if("in"in n)if(n.key){let i=r.get(n.key),a=i.map||n.key;i.in&&(e[i.in][a]=p);}else e.body=p;else for(let[i,a]of Object.entries(p??{})){let m=r.get(i);if(m)if(m.in){let c=m.map||i;e[m.in][c]=a;}else e[m.map]=a;else {let c=ir.find(([y])=>i.startsWith(y));if(c){let[y,E]=c;e[E][i.slice(y.length)]=a;}else if("allowExtra"in n&&n.allowExtra){for(let[y,E]of Object.entries(n.allowExtra))if(E){e[y][i]=a;break}}}}return ar(e),e};var _e=A(C({baseUrl:"http://localhost:4096"}));var u=class{constructor(t){l(this,"client");this.client=t?.client??_e;}},$=class{constructor(){l(this,"defaultKey","default");l(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 u{get(t){return (t?.client??this.client).get({url:"/global/config",...t})}update(t,e){let r=o([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 u{constructor(){super(...arguments);l(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 u{get(t,e){let r=o([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/contextMode",...e,...r})}set(t,e){let r=o([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"mode"}]}]);return (e?.client??this.client).put({url:"/session/{sessionID}/contextMode",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},K=class extends u{constructor(){super(...arguments);l(this,"_contextMode");}event(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).sse.get({url:"/session/{sessionID}/event",...r,...n})}list(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return (r?.client??this.client).get({url:"/session",...r,...n})}create(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"permission"},{in:"body",key:"contextMode"}]}]);return (r?.client??this.client).post({url:"/session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}status(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/status",...r,...n})}delete(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}",...r,...n})}get(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}",...r,...n})}update(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"time"}]}]);return (r?.client??this.client).patch({url:"/session/{sessionID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}children(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/children",...r,...n})}todo(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/todo",...r,...n})}init(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/init",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}fork(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"contextMode"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/fork",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}abort(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/abort",...r,...n})}unshare(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}/share",...r,...n})}share(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/share",...r,...n})}diff(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"messageID"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/diff",...r,...n})}summarize(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/summarize",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}messages(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"limit"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/message",...r,...n})}prompt(e,r){let n=o([e],[{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:"contextMode"},{in:"body",key:"parts"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/message",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}deleteMessage(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...r,...n})}message(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...r,...n})}promptAsync(e,r){let n=o([e],[{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 (r?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}command(e,r){let n=o([e],[{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:"contextMode"},{in:"body",key:"parts"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}shell(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/shell",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}revert(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/revert",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}unrevert(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/unrevert",...r,...n})}get contextMode(){return this._contextMode??(this._contextMode=new J({client:this.client}))}},X=class extends u{event(t,e){let r=o([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})}},Y=class extends u{remove(t,e){let r=o([t],[{args:[{in:"path",key:"providerID"}]}]);return (e?.client??this.client).delete({url:"/auth/{providerID}",...e,...r})}set(t,e){let r=o([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}})}},Z=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project",...e,...r})}current(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project/current",...e,...r})}initGit(t,e){let r=o([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=o([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}})}},ee=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty",...e,...r})}create(t,e){let r=o([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=o([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=o([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=o([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=o([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty/{ptyID}/connect",...e,...r})}},re=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config",...e,...r})}update(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config/providers",...e,...r})}},te=class extends u{default(t){return (t?.client??this.client).get({url:"/model/default",...t})}parse(t,e){let r=o([t],[{args:[{in:"query",key:"model"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/model/parse",...e,...r})}},se=class extends u{ids(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/tool/ids",...e,...r})}list(t,e){let r=o([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})}},ne=class extends u{remove(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/worktree",...e,...r})}create(t,e){let r=o([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=o([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}})}},oe=class extends u{list(t,e){let r=o([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})}},ie=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/resource",...e,...r})}},ae=class extends u{constructor(){super(...arguments);l(this,"_session");l(this,"_resource");}get session(){return this._session??(this._session=new oe({client:this.client}))}get resource(){return this._resource??(this._resource=new ie({client:this.client}))}},pe=class extends u{delete(t,e){let r=o([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=o([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 u{respond(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/permission",...e,...r})}},le=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/question",...e,...r})}reply(t,e){let r=o([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=o([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/question/{requestID}/reject",...e,...r})}},ye=class extends u{authorize(t,e){let r=o([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=o([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}})}},ue=class extends u{constructor(){super(...arguments);l(this,"_oauth");}list(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider",...r,...n})}auth(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider/auth",...r,...n})}get oauth(){return this._oauth??(this._oauth=new ye({client:this.client}))}},de=class extends u{text(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"}]}]);return (e?.client??this.client).get({url:"/find/symbol",...e,...r})}},ce=class extends u{list(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/file/status",...e,...r})}},ge=class extends u{remove(t,e){let r=o([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=o([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=o([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=o([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...e,...r})}},me=class extends u{constructor(){super(...arguments);l(this,"_auth");}status(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/mcp",...r,...n})}add(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return (r?.client??this.client).post({url:"/mcp",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connect(e,r){let n=o([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/connect",...r,...n})}disconnect(e,r){let n=o([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/disconnect",...r,...n})}get auth(){return this._auth??(this._auth=new ge({client:this.client}))}},he=class extends u{next(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/tui/control/next",...e,...r})}response(t,e){let r=o([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}})}},be=class extends u{constructor(){super(...arguments);l(this,"_control");}appendPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"text"}]}]);return (r?.client??this.client).post({url:"/tui/append-prompt",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}openHelp(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-help",...r,...n})}openSessions(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-sessions",...r,...n})}openThemes(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-themes",...r,...n})}openModels(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-models",...r,...n})}submitPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/submit-prompt",...r,...n})}clearPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/clear-prompt",...r,...n})}executeCommand(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"}]}]);return (r?.client??this.client).post({url:"/tui/execute-command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}showToast(e,r){let n=o([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,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}publish(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return (r?.client??this.client).post({url:"/tui/publish",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}selectSession(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"sessionID"}]}]);return (r?.client??this.client).post({url:"/tui/select-session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}get control(){return this._control??(this._control=new he({client:this.client}))}},xe=class extends u{dispose(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/instance/dispose",...e,...r})}},Re=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/path",...e,...r})}},Ee=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/vcs",...e,...r})}},fe=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"contextMode"}]}]);return (e?.client??this.client).get({url:"/command",...e,...r})}},ke=class extends u{log(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent",...e,...r})}skills(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/skill",...e,...r})}},Se=class extends u{create(t,e){let r=o([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=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent/default",...e,...r})}},ve=class extends u{status(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/lsp",...e,...r})}},Te=class extends u{status(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/formatter",...e,...r})}},we=class extends u{subscribe(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).sse.get({url:"/event",...e,...r})}publish(t,e){let r=o([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}})}},_=class _ extends u{constructor(e){super(e);l(this,"_global");l(this,"_session");l(this,"_message");l(this,"_auth");l(this,"_project");l(this,"_pty");l(this,"_config");l(this,"_model");l(this,"_tool");l(this,"_worktree");l(this,"_experimental");l(this,"_part");l(this,"_permission");l(this,"_question");l(this,"_provider");l(this,"_find");l(this,"_file");l(this,"_mcp");l(this,"_tui");l(this,"_instance");l(this,"_path");l(this,"_vcs");l(this,"_command");l(this,"_app");l(this,"_agent");l(this,"_lsp");l(this,"_formatter");l(this,"_event");_.__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 K({client:this.client}))}get message(){return this._message??(this._message=new X({client:this.client}))}get auth(){return this._auth??(this._auth=new Y({client:this.client}))}get project(){return this._project??(this._project=new Z({client:this.client}))}get pty(){return this._pty??(this._pty=new ee({client:this.client}))}get config(){return this._config??(this._config=new re({client:this.client}))}get model(){return this._model??(this._model=new te({client:this.client}))}get tool(){return this._tool??(this._tool=new se({client:this.client}))}get worktree(){return this._worktree??(this._worktree=new ne({client:this.client}))}get experimental(){return this._experimental??(this._experimental=new ae({client:this.client}))}get part(){return this._part??(this._part=new pe({client:this.client}))}get permission(){return this._permission??(this._permission=new L({client:this.client}))}get question(){return this._question??(this._question=new le({client:this.client}))}get provider(){return this._provider??(this._provider=new ue({client:this.client}))}get find(){return this._find??(this._find=new de({client:this.client}))}get file(){return this._file??(this._file=new ce({client:this.client}))}get mcp(){return this._mcp??(this._mcp=new me({client:this.client}))}get tui(){return this._tui??(this._tui=new be({client:this.client}))}get instance(){return this._instance??(this._instance=new xe({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 ke({client:this.client}))}get agent(){return this._agent??(this._agent=new Se({client:this.client}))}get lsp(){return this._lsp??(this._lsp=new ve({client:this.client}))}get formatter(){return this._formatter??(this._formatter=new Te({client:this.client}))}get event(){return this._event??(this._event=new we({client:this.client}))}};l(_,"__registry",new $);var 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=A(s);return new G({client:t})}async function Ne(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((n,d)=>{let p=setTimeout(()=>{d(new Error(`Timeout waiting for server to start after ${s.timeout}ms`));},s.timeout),i="";e.stdout?.on("data",a=>{i+=a.toString();let m=i.split(`
|
|
7
|
+
`);for(let c of m)if(c.startsWith("easbot server listening")){let y=c.match(/on\s+(https?:\/\/[^\s]+)/);if(!y)throw new Error(`Failed to parse server url from output: ${c}`);clearTimeout(p),n(y[1]);return}}),e.stderr?.on("data",a=>{i+=a.toString();}),e.on("exit",a=>{clearTimeout(p);let m=`Server exited with code ${a}`;i.trim()&&(m+=`
|
|
8
|
+
Server output: ${i}`),d(new Error(m));}),e.on("error",a=>{clearTimeout(p),d(a);}),s.signal&&s.signal.addEventListener("abort",()=>{clearTimeout(p),d(new Error("Aborted"));});}),close(){e.kill();}}}function yt(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 mt(s){let t=await Ne({...s});return {client:ze({baseUrl:t.url}),server:t}}exports.EasbotClient=G;exports.Permission=L;exports.createEasbotClient=ze;exports.createEasbotServer=Ne;exports.createEascode=mt;exports.createEascodeTui=yt;
|
package/dist/index.d.cts
CHANGED
|
@@ -481,7 +481,7 @@ type MemoryPart = {
|
|
|
481
481
|
sessionID: string;
|
|
482
482
|
messageID: string;
|
|
483
483
|
type: 'memory';
|
|
484
|
-
status: 'pending' | 'processing' | 'completed' | 'failed';
|
|
484
|
+
status: 'pending' | 'processing' | 'completed' | 'failed' | 'skipped';
|
|
485
485
|
time: {
|
|
486
486
|
start: number;
|
|
487
487
|
end?: number;
|
|
@@ -1358,7 +1358,7 @@ type SubtaskResultPartInput = {
|
|
|
1358
1358
|
type MemoryPartInput = {
|
|
1359
1359
|
id?: string;
|
|
1360
1360
|
type: 'memory';
|
|
1361
|
-
status: 'pending' | 'processing' | 'completed' | 'failed';
|
|
1361
|
+
status: 'pending' | 'processing' | 'completed' | 'failed' | 'skipped';
|
|
1362
1362
|
time: {
|
|
1363
1363
|
start: number;
|
|
1364
1364
|
end?: number;
|
|
@@ -3624,7 +3624,7 @@ type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> =
|
|
|
3624
3624
|
stream: AsyncGenerator<TData extends Record<string, unknown> ? TData[keyof TData] : TData, TReturn, TNext>;
|
|
3625
3625
|
};
|
|
3626
3626
|
|
|
3627
|
-
type ErrInterceptor<Err, Res, Req, Options> = (error: Err, response: Res, request: Req, options: Options) => Err | Promise<Err>;
|
|
3627
|
+
type ErrInterceptor<Err, Res, Req, Options> = (error: Err, response: Res | undefined, request: Req | undefined, options: Options) => Err | Promise<Err>;
|
|
3628
3628
|
type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
|
|
3629
3629
|
type ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
|
|
3630
3630
|
declare class Interceptors<Interceptor> {
|
|
@@ -3662,6 +3662,7 @@ interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle =
|
|
|
3662
3662
|
url: Url;
|
|
3663
3663
|
}
|
|
3664
3664
|
interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
|
|
3665
|
+
headers: Headers;
|
|
3665
3666
|
serializedBody?: string;
|
|
3666
3667
|
}
|
|
3667
3668
|
type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle = 'fields'> = ThrowOnError extends true ? Promise<TResponseStyle extends 'data' ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
|
|
@@ -3675,8 +3676,8 @@ type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boole
|
|
|
3675
3676
|
data: undefined;
|
|
3676
3677
|
error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
|
|
3677
3678
|
}) & {
|
|
3678
|
-
request
|
|
3679
|
-
response
|
|
3679
|
+
request?: Request;
|
|
3680
|
+
response?: Response;
|
|
3680
3681
|
}>;
|
|
3681
3682
|
interface ClientOptions {
|
|
3682
3683
|
baseUrl?: string;
|
|
@@ -3684,7 +3685,7 @@ interface ClientOptions {
|
|
|
3684
3685
|
throwOnError?: boolean;
|
|
3685
3686
|
}
|
|
3686
3687
|
type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'>) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
|
|
3687
|
-
type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<
|
|
3688
|
+
type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<never, TResponseStyle, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
|
|
3688
3689
|
type RequestFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'> & Pick<Required<RequestOptions<TData, TResponseStyle, ThrowOnError>>, 'method'>) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
|
|
3689
3690
|
type BuildUrlFn = <TData extends {
|
|
3690
3691
|
body?: unknown;
|
|
@@ -3705,7 +3706,7 @@ interface TDataShape {
|
|
|
3705
3706
|
type OmitKeys<T, K> = Pick<T, Exclude<keyof T, K>>;
|
|
3706
3707
|
type Options$1<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown, TResponseStyle extends ResponseStyle = 'fields'> = OmitKeys<RequestOptions<TResponse, TResponseStyle, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & ([TData] extends [never] ? unknown : Omit<TData, 'url'>);
|
|
3707
3708
|
|
|
3708
|
-
type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options$1<TData, ThrowOnError> & {
|
|
3709
|
+
type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options$1<TData, ThrowOnError, TResponse> & {
|
|
3709
3710
|
client?: Client;
|
|
3710
3711
|
meta?: Record<string, unknown>;
|
|
3711
3712
|
};
|
|
@@ -3729,7 +3730,7 @@ declare class Config extends HeyApiClient {
|
|
|
3729
3730
|
}
|
|
3730
3731
|
declare class Global extends HeyApiClient {
|
|
3731
3732
|
health<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<GlobalHealthResponses, unknown, ThrowOnError, "fields">;
|
|
3732
|
-
event<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): Promise<ServerSentEventsResult<GlobalEventResponses, unknown>>;
|
|
3733
|
+
event<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError, GlobalEventResponse>): Promise<ServerSentEventsResult<GlobalEventResponses, unknown>>;
|
|
3733
3734
|
dispose<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<GlobalDisposeResponses, unknown, ThrowOnError, "fields">;
|
|
3734
3735
|
private _config?;
|
|
3735
3736
|
get config(): Config;
|
|
@@ -3749,7 +3750,7 @@ declare class Session extends HeyApiClient {
|
|
|
3749
3750
|
event<ThrowOnError extends boolean = false>(parameters: {
|
|
3750
3751
|
sessionID: string;
|
|
3751
3752
|
directory?: string;
|
|
3752
|
-
}, options?: Options<never, ThrowOnError>): Promise<ServerSentEventsResult<SessionEventResponses, unknown>>;
|
|
3753
|
+
}, options?: Options<never, ThrowOnError, SessionEventResponse>): Promise<ServerSentEventsResult<SessionEventResponses, unknown>>;
|
|
3753
3754
|
list<ThrowOnError extends boolean = false>(parameters?: {
|
|
3754
3755
|
directory?: string;
|
|
3755
3756
|
roots?: boolean;
|
|
@@ -3919,7 +3920,7 @@ declare class Message extends HeyApiClient {
|
|
|
3919
3920
|
sessionID: string;
|
|
3920
3921
|
messageID: string;
|
|
3921
3922
|
directory?: string;
|
|
3922
|
-
}, options?: Options<never, ThrowOnError>): Promise<ServerSentEventsResult<MessageEventResponses, unknown>>;
|
|
3923
|
+
}, options?: Options<never, ThrowOnError, MessageEventResponse>): Promise<ServerSentEventsResult<MessageEventResponses, unknown>>;
|
|
3923
3924
|
}
|
|
3924
3925
|
declare class Auth extends HeyApiClient {
|
|
3925
3926
|
remove<ThrowOnError extends boolean = false>(parameters: {
|
|
@@ -4320,7 +4321,7 @@ declare class Agent extends HeyApiClient {
|
|
|
4320
4321
|
event<ThrowOnError extends boolean = false>(parameters: {
|
|
4321
4322
|
agentID: string;
|
|
4322
4323
|
directory?: string;
|
|
4323
|
-
}, options?: Options<never, ThrowOnError>): Promise<ServerSentEventsResult<AgentEventResponses, unknown>>;
|
|
4324
|
+
}, options?: Options<never, ThrowOnError, AgentEventResponse>): Promise<ServerSentEventsResult<AgentEventResponses, unknown>>;
|
|
4324
4325
|
default<ThrowOnError extends boolean = false>(parameters?: {
|
|
4325
4326
|
directory?: string;
|
|
4326
4327
|
}, options?: Options<never, ThrowOnError>): RequestResult<AgentDefaultResponses, AgentDefaultErrors, ThrowOnError, "fields">;
|
|
@@ -4338,7 +4339,7 @@ declare class Formatter extends HeyApiClient {
|
|
|
4338
4339
|
declare class Event_ extends HeyApiClient {
|
|
4339
4340
|
subscribe<ThrowOnError extends boolean = false>(parameters?: {
|
|
4340
4341
|
directory?: string;
|
|
4341
|
-
}, options?: Options<never, ThrowOnError>): Promise<ServerSentEventsResult<EventSubscribeResponses, unknown>>;
|
|
4342
|
+
}, options?: Options<never, ThrowOnError, EventSubscribeResponse>): Promise<ServerSentEventsResult<EventSubscribeResponses, unknown>>;
|
|
4342
4343
|
publish<ThrowOnError extends boolean = false>(parameters: {
|
|
4343
4344
|
directory?: string;
|
|
4344
4345
|
event: Event;
|
package/dist/index.d.ts
CHANGED
|
@@ -481,7 +481,7 @@ type MemoryPart = {
|
|
|
481
481
|
sessionID: string;
|
|
482
482
|
messageID: string;
|
|
483
483
|
type: 'memory';
|
|
484
|
-
status: 'pending' | 'processing' | 'completed' | 'failed';
|
|
484
|
+
status: 'pending' | 'processing' | 'completed' | 'failed' | 'skipped';
|
|
485
485
|
time: {
|
|
486
486
|
start: number;
|
|
487
487
|
end?: number;
|
|
@@ -1358,7 +1358,7 @@ type SubtaskResultPartInput = {
|
|
|
1358
1358
|
type MemoryPartInput = {
|
|
1359
1359
|
id?: string;
|
|
1360
1360
|
type: 'memory';
|
|
1361
|
-
status: 'pending' | 'processing' | 'completed' | 'failed';
|
|
1361
|
+
status: 'pending' | 'processing' | 'completed' | 'failed' | 'skipped';
|
|
1362
1362
|
time: {
|
|
1363
1363
|
start: number;
|
|
1364
1364
|
end?: number;
|
|
@@ -3624,7 +3624,7 @@ type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> =
|
|
|
3624
3624
|
stream: AsyncGenerator<TData extends Record<string, unknown> ? TData[keyof TData] : TData, TReturn, TNext>;
|
|
3625
3625
|
};
|
|
3626
3626
|
|
|
3627
|
-
type ErrInterceptor<Err, Res, Req, Options> = (error: Err, response: Res, request: Req, options: Options) => Err | Promise<Err>;
|
|
3627
|
+
type ErrInterceptor<Err, Res, Req, Options> = (error: Err, response: Res | undefined, request: Req | undefined, options: Options) => Err | Promise<Err>;
|
|
3628
3628
|
type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
|
|
3629
3629
|
type ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
|
|
3630
3630
|
declare class Interceptors<Interceptor> {
|
|
@@ -3662,6 +3662,7 @@ interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle =
|
|
|
3662
3662
|
url: Url;
|
|
3663
3663
|
}
|
|
3664
3664
|
interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
|
|
3665
|
+
headers: Headers;
|
|
3665
3666
|
serializedBody?: string;
|
|
3666
3667
|
}
|
|
3667
3668
|
type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle = 'fields'> = ThrowOnError extends true ? Promise<TResponseStyle extends 'data' ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
|
|
@@ -3675,8 +3676,8 @@ type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boole
|
|
|
3675
3676
|
data: undefined;
|
|
3676
3677
|
error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
|
|
3677
3678
|
}) & {
|
|
3678
|
-
request
|
|
3679
|
-
response
|
|
3679
|
+
request?: Request;
|
|
3680
|
+
response?: Response;
|
|
3680
3681
|
}>;
|
|
3681
3682
|
interface ClientOptions {
|
|
3682
3683
|
baseUrl?: string;
|
|
@@ -3684,7 +3685,7 @@ interface ClientOptions {
|
|
|
3684
3685
|
throwOnError?: boolean;
|
|
3685
3686
|
}
|
|
3686
3687
|
type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'>) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
|
|
3687
|
-
type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<
|
|
3688
|
+
type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<never, TResponseStyle, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
|
|
3688
3689
|
type RequestFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'> & Pick<Required<RequestOptions<TData, TResponseStyle, ThrowOnError>>, 'method'>) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
|
|
3689
3690
|
type BuildUrlFn = <TData extends {
|
|
3690
3691
|
body?: unknown;
|
|
@@ -3705,7 +3706,7 @@ interface TDataShape {
|
|
|
3705
3706
|
type OmitKeys<T, K> = Pick<T, Exclude<keyof T, K>>;
|
|
3706
3707
|
type Options$1<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown, TResponseStyle extends ResponseStyle = 'fields'> = OmitKeys<RequestOptions<TResponse, TResponseStyle, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & ([TData] extends [never] ? unknown : Omit<TData, 'url'>);
|
|
3707
3708
|
|
|
3708
|
-
type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options$1<TData, ThrowOnError> & {
|
|
3709
|
+
type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options$1<TData, ThrowOnError, TResponse> & {
|
|
3709
3710
|
client?: Client;
|
|
3710
3711
|
meta?: Record<string, unknown>;
|
|
3711
3712
|
};
|
|
@@ -3729,7 +3730,7 @@ declare class Config extends HeyApiClient {
|
|
|
3729
3730
|
}
|
|
3730
3731
|
declare class Global extends HeyApiClient {
|
|
3731
3732
|
health<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<GlobalHealthResponses, unknown, ThrowOnError, "fields">;
|
|
3732
|
-
event<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): Promise<ServerSentEventsResult<GlobalEventResponses, unknown>>;
|
|
3733
|
+
event<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError, GlobalEventResponse>): Promise<ServerSentEventsResult<GlobalEventResponses, unknown>>;
|
|
3733
3734
|
dispose<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<GlobalDisposeResponses, unknown, ThrowOnError, "fields">;
|
|
3734
3735
|
private _config?;
|
|
3735
3736
|
get config(): Config;
|
|
@@ -3749,7 +3750,7 @@ declare class Session extends HeyApiClient {
|
|
|
3749
3750
|
event<ThrowOnError extends boolean = false>(parameters: {
|
|
3750
3751
|
sessionID: string;
|
|
3751
3752
|
directory?: string;
|
|
3752
|
-
}, options?: Options<never, ThrowOnError>): Promise<ServerSentEventsResult<SessionEventResponses, unknown>>;
|
|
3753
|
+
}, options?: Options<never, ThrowOnError, SessionEventResponse>): Promise<ServerSentEventsResult<SessionEventResponses, unknown>>;
|
|
3753
3754
|
list<ThrowOnError extends boolean = false>(parameters?: {
|
|
3754
3755
|
directory?: string;
|
|
3755
3756
|
roots?: boolean;
|
|
@@ -3919,7 +3920,7 @@ declare class Message extends HeyApiClient {
|
|
|
3919
3920
|
sessionID: string;
|
|
3920
3921
|
messageID: string;
|
|
3921
3922
|
directory?: string;
|
|
3922
|
-
}, options?: Options<never, ThrowOnError>): Promise<ServerSentEventsResult<MessageEventResponses, unknown>>;
|
|
3923
|
+
}, options?: Options<never, ThrowOnError, MessageEventResponse>): Promise<ServerSentEventsResult<MessageEventResponses, unknown>>;
|
|
3923
3924
|
}
|
|
3924
3925
|
declare class Auth extends HeyApiClient {
|
|
3925
3926
|
remove<ThrowOnError extends boolean = false>(parameters: {
|
|
@@ -4320,7 +4321,7 @@ declare class Agent extends HeyApiClient {
|
|
|
4320
4321
|
event<ThrowOnError extends boolean = false>(parameters: {
|
|
4321
4322
|
agentID: string;
|
|
4322
4323
|
directory?: string;
|
|
4323
|
-
}, options?: Options<never, ThrowOnError>): Promise<ServerSentEventsResult<AgentEventResponses, unknown>>;
|
|
4324
|
+
}, options?: Options<never, ThrowOnError, AgentEventResponse>): Promise<ServerSentEventsResult<AgentEventResponses, unknown>>;
|
|
4324
4325
|
default<ThrowOnError extends boolean = false>(parameters?: {
|
|
4325
4326
|
directory?: string;
|
|
4326
4327
|
}, options?: Options<never, ThrowOnError>): RequestResult<AgentDefaultResponses, AgentDefaultErrors, ThrowOnError, "fields">;
|
|
@@ -4338,7 +4339,7 @@ declare class Formatter extends HeyApiClient {
|
|
|
4338
4339
|
declare class Event_ extends HeyApiClient {
|
|
4339
4340
|
subscribe<ThrowOnError extends boolean = false>(parameters?: {
|
|
4340
4341
|
directory?: string;
|
|
4341
|
-
}, options?: Options<never, ThrowOnError>): Promise<ServerSentEventsResult<EventSubscribeResponses, unknown>>;
|
|
4342
|
+
}, options?: Options<never, ThrowOnError, EventSubscribeResponse>): Promise<ServerSentEventsResult<EventSubscribeResponses, unknown>>;
|
|
4342
4343
|
publish<ThrowOnError extends boolean = false>(parameters: {
|
|
4343
4344
|
directory?: string;
|
|
4344
4345
|
event: Event;
|
package/dist/index.mjs
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {spawn}from'child_process';var Je=Object.defineProperty;var Ke=(s,t,e)=>t in s?Je(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var
|
|
2
|
-
`).
|
|
3
|
-
`);let Ie=b.split(`
|
|
1
|
+
import {spawn}from'child_process';var Je=Object.defineProperty;var Ke=(s,t,e)=>t in s?Je(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var l=(s,t,e)=>Ke(s,typeof t!="symbol"?t+"":t,e);function qe({onRequest:s,onSseError:t,onSseEvent:e,responseTransformer:r,responseValidator:n,sseDefaultRetryDelay:d,sseMaxRetryAttempts:p,sseMaxRetryDelay:i,sseSleepFn:a,url:m,...c}){let y,f=a??(g=>new Promise(b=>setTimeout(b,g)));return {stream:async function*(){let g=d??3e3,b=0,v=c.signal??new AbortController().signal;for(;!v.aborted;){b++;let M=c.headers instanceof Headers?c.headers:new Headers(c.headers);y!==void 0&&M.set("Last-Event-ID",y);try{let O={redirect:"follow",...c,body:c.serializedBody,headers:M,signal:v},D=new Request(m,O);s&&(D=await s(m,O));let x=await(c.fetch??globalThis.fetch)(D);if(!x.ok)throw new Error(`SSE failed: ${x.status} ${x.statusText}`);if(!x.body)throw new Error("No body in SSE response");let T=x.body.pipeThrough(new TextDecoderStream).getReader(),k="",De=()=>{try{T.cancel();}catch{}};v.addEventListener("abort",De);try{for(;;){let{done:Qe,value:$e}=await T.read();if(Qe)break;k+=$e,k=k.replace(/\r\n?/g,`
|
|
2
|
+
`);let Ie=k.split(`
|
|
4
3
|
|
|
5
|
-
`);
|
|
6
|
-
`),
|
|
7
|
-
`);try{D=JSON.parse(v),Ce=!0;}catch{D=v;}}Ce&&(n&&await n(D),r&&(D=await r(D))),e?.({data:D,event:Pe,id:a,retry:T}),F.length&&(yield D);}}}finally{k.removeEventListener("abort",De),x.releaseLock();}break}catch(w){if(t?.(w),l!==void 0&&g>=l)break;let O=Math.min(T*2**(g-1),i??3e4);await f(O);}}}()}};var Xe=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},Ye=s=>{switch(s){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},Ze=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},U=({allowReserved:s,explode:t,name:e,style:r,value:n})=>{if(!t){let i=(s?n:n.map(p=>encodeURIComponent(p))).join(Ye(r));switch(r){case "label":return `.${i}`;case "matrix":return `;${e}=${i}`;case "simple":return i;default:return `${e}=${i}`}}let d=Xe(r),l=n.map(i=>r==="label"||r==="simple"?s?i:encodeURIComponent(i):P({allowReserved:s,name:e,value:i})).join(d);return r==="label"||r==="matrix"?d+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)}`},L=({allowReserved:s,explode:t,name:e,style:r,value:n,valueOnly:d})=>{if(n instanceof Date)return d?n.toISOString():`${e}=${n.toISOString()}`;if(r!=="deepObject"&&!t){let p=[];Object.entries(n).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=Ze(r),i=Object.entries(n).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 er=/\{[^{}]+\}/g,rr=({path:s,url:t})=>{let e=t,r=t.match(er);if(r)for(let n of r){let d=false,l=n.substring(1,n.length-1),i="simple";l.endsWith("*")&&(d=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(n,U({explode:d,name:l,style:i,value:p}));continue}if(typeof p=="object"){e=e.replace(n,L({explode:d,name:l,style:i,value:p,valueOnly:true}));continue}if(i==="matrix"){e=e.replace(n,`;${P({name:l,value:p})}`);continue}let m=encodeURIComponent(i==="label"?`.${p}`:p);e=e.replace(n,m);}return e},Me=({baseUrl:s,path:t,query:e,querySerializer:r,url:n})=>{let d=n.startsWith("/")?n:`/${n}`,l=(s??"")+d;t&&(l=rr({path:t,url:l}));let i=e?r(e):"";return i.startsWith("?")&&(i=i.substring(1)),i&&(l+=`?${i}`),l};function N(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 je=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 W={bodySerializer:s=>JSON.stringify(s,(t,e)=>typeof e=="bigint"?e.toString():e)};var Fe=({parameters:s={},...t}={})=>r=>{let n=[];if(r&&typeof r=="object")for(let d in r){let l=r[d];if(l==null)continue;let i=s[d]||t;if(Array.isArray(l)){let p=U({allowReserved:i.allowReserved,explode:true,name:d,style:"form",value:l,...i.array});p&&n.push(p);}else if(typeof l=="object"){let p=L({allowReserved:i.allowReserved,explode:true,name:d,style:"deepObject",value:l,...i.object});p&&n.push(p);}else {let p=P({allowReserved:i.allowReserved,name:d,value:l});p&&n.push(p);}}return n.join("&")},Ue=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"}},tr=(s,t)=>t?!!(s.headers.has(t)||s.query?.[t]||s.headers.get("Cookie")?.includes(`${t}=`)):false,Le=async({security:s,...t})=>{for(let e of s){if(tr(t,e.name))continue;let r=await je(e,t.auth);if(!r)continue;let n=e.name??"Authorization";switch(e.in){case "query":t.query||(t.query={}),t.query[n]=r;break;case "cookie":t.headers.append("Cookie",`${n}=${r}`);break;default:t.headers.set(n,r);break}}},Q=s=>Me({baseUrl:s.baseUrl,path:s.path,query:s.query,querySerializer:typeof s.querySerializer=="function"?s.querySerializer:Fe(s.querySerializer),url:s.url}),$=(s,t)=>{let e={...s,...t};return e.baseUrl?.endsWith("/")&&(e.baseUrl=e.baseUrl.substring(0,e.baseUrl.length-1)),e.headers=G(s.headers,t.headers),e},sr=s=>{let t=[];return s.forEach((e,r)=>{t.push([r,e]);}),t},G=(...s)=>{let t=new Headers;for(let e of s){if(!e)continue;let r=e instanceof Headers?sr(e):Object.entries(e);for(let[n,d]of r)if(d===null)t.delete(n);else if(Array.isArray(d))for(let l of d)t.append(n,l);else d!==void 0&&t.set(n,typeof d=="object"?JSON.stringify(d):d);}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}},Ge=()=>({error:new A,request:new A,response:new A}),nr=Fe({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),or={"Content-Type":"application/json"},q=(s={})=>({...W,headers:or,parseAs:"auto",querySerializer:nr,...s});var M=(s={})=>{let t=$(q(),s),e=()=>({...t}),r=c=>(t=$(t,c),e()),n=Ge(),d=async c=>{let a={...t,...c,fetch:c.fetch??t.fetch??globalThis.fetch,headers:G(t.headers,c.headers),serializedBody:void 0};a.security&&await Le({...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=Q(a);return {opts:a,url:f}},l=async c=>{let{opts:a,url:f}=await d(c),j={redirect:"follow",...a,body:N(a)},S=new Request(f,j);for(let h of n.request.fns)h&&(S=await h(S,a));let T=a.fetch,g;try{g=await T(S);}catch(h){let x=h;for(let b of n.error.fns)b&&(x=await b(h,void 0,S,a));if(x=x||{},a.throwOnError)throw x;return a.responseStyle==="data"?void 0:{error:x,request:S,response:void 0}}for(let h of n.response.fns)h&&(g=await h(g,S,a));let k={request:S,response:g};if(g.ok){let h=(a.parseAs==="auto"?Ue(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,...k}}let x;switch(h){case "arrayBuffer":case "blob":case "formData":case "text":x=await g[h]();break;case "json":{let b=await g.text();x=b?JSON.parse(b):{};break}case "stream":return a.responseStyle==="data"?g.body:{data:g.body,...k}}return h==="json"&&(a.responseValidator&&await a.responseValidator(x),a.responseTransformer&&(x=await a.responseTransformer(x))),a.responseStyle==="data"?x:{data:x,...k}}let C=await g.text(),w;try{w=JSON.parse(C);}catch{}let O=w??C,I=O;for(let h of n.error.fns)h&&(I=await h(O,g,S,a));if(I=I||{},a.throwOnError)throw I;return a.responseStyle==="data"?void 0:{error:I,...k}},i=c=>a=>l({...a,method:c}),p=c=>async a=>{let{opts:f,url:j}=await d(a);return qe({...f,body:f.body,headers:f.headers,method:c,onRequest:async(S,T)=>{let g=new Request(S,T);for(let k of n.request.fns)k&&(g=await k(g,f));return g},serializedBody:N(f),url:j})};return {buildUrl:c=>Q({...t,...c}),connect:i("CONNECT"),delete:i("DELETE"),get:i("GET"),getConfig:e,head:i("HEAD"),interceptors:n,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 ir={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},ar=Object.entries(ir),_e=(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&&_e(e.args,t);return t},pr=s=>{for(let[t,e]of Object.entries(s))e&&typeof e=="object"&&!Array.isArray(e)&&!Object.keys(e).length&&delete s[t];},o=(s,t)=>{let e={body:{},headers:{},path:{},query:{}},r=_e(t),n;for(let[d,l]of s.entries())if(t[d]&&(n=t[d]),!!n)if("in"in n)if(n.key){let i=r.get(n.key),p=i.map||n.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=ar.find(([a])=>i.startsWith(a));if(c){let[a,f]=c;e[f][i.slice(a.length)]=p;}else if("allowExtra"in n&&n.allowExtra){for(let[a,f]of Object.entries(n.allowExtra))if(f){e[a][i]=p;break}}}}return pr(e),e};var ze=M(q({baseUrl:"http://localhost:4096"}));var u=class{constructor(t){y(this,"client");this.client=t?.client??ze;}},H=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);}},V=class extends u{get(t){return (t?.client??this.client).get({url:"/global/config",...t})}update(t,e){let r=o([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}})}},J=class extends u{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 V({client:this.client}))}},K=class extends u{get(t,e){let r=o([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/contextMode",...e,...r})}set(t,e){let r=o([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"mode"}]}]);return (e?.client??this.client).put({url:"/session/{sessionID}/contextMode",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},X=class extends u{constructor(){super(...arguments);y(this,"_contextMode");}event(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).sse.get({url:"/session/{sessionID}/event",...r,...n})}list(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return (r?.client??this.client).get({url:"/session",...r,...n})}create(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"permission"},{in:"body",key:"contextMode"}]}]);return (r?.client??this.client).post({url:"/session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}status(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/status",...r,...n})}delete(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}",...r,...n})}get(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}",...r,...n})}update(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"time"}]}]);return (r?.client??this.client).patch({url:"/session/{sessionID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}children(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/children",...r,...n})}todo(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/todo",...r,...n})}init(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/init",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}fork(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"contextMode"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/fork",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}abort(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/abort",...r,...n})}unshare(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}/share",...r,...n})}share(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/share",...r,...n})}diff(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"messageID"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/diff",...r,...n})}summarize(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/summarize",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}messages(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"limit"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/message",...r,...n})}prompt(e,r){let n=o([e],[{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:"contextMode"},{in:"body",key:"parts"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/message",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}deleteMessage(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...r,...n})}message(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...r,...n})}promptAsync(e,r){let n=o([e],[{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 (r?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}command(e,r){let n=o([e],[{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:"contextMode"},{in:"body",key:"parts"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}shell(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/shell",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}revert(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/revert",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}unrevert(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/unrevert",...r,...n})}get contextMode(){return this._contextMode??(this._contextMode=new K({client:this.client}))}},Y=class extends u{event(t,e){let r=o([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})}},Z=class extends u{remove(t,e){let r=o([t],[{args:[{in:"path",key:"providerID"}]}]);return (e?.client??this.client).delete({url:"/auth/{providerID}",...e,...r})}set(t,e){let r=o([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}})}},ee=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project",...e,...r})}current(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project/current",...e,...r})}initGit(t,e){let r=o([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=o([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}})}},re=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty",...e,...r})}create(t,e){let r=o([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=o([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=o([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=o([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=o([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty/{ptyID}/connect",...e,...r})}},te=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config",...e,...r})}update(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config/providers",...e,...r})}},se=class extends u{default(t){return (t?.client??this.client).get({url:"/model/default",...t})}parse(t,e){let r=o([t],[{args:[{in:"query",key:"model"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/model/parse",...e,...r})}},ne=class extends u{ids(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/tool/ids",...e,...r})}list(t,e){let r=o([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})}},oe=class extends u{remove(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/worktree",...e,...r})}create(t,e){let r=o([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=o([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}})}},ie=class extends u{list(t,e){let r=o([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})}},ae=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/resource",...e,...r})}},pe=class extends u{constructor(){super(...arguments);y(this,"_session");y(this,"_resource");}get session(){return this._session??(this._session=new ie({client:this.client}))}get resource(){return this._resource??(this._resource=new ae({client:this.client}))}},le=class extends u{delete(t,e){let r=o([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=o([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 u{respond(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/permission",...e,...r})}},ye=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/question",...e,...r})}reply(t,e){let r=o([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=o([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/question/{requestID}/reject",...e,...r})}},ue=class extends u{authorize(t,e){let r=o([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=o([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}})}},de=class extends u{constructor(){super(...arguments);y(this,"_oauth");}list(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider",...r,...n})}auth(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider/auth",...r,...n})}get oauth(){return this._oauth??(this._oauth=new ue({client:this.client}))}},ce=class extends u{text(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"}]}]);return (e?.client??this.client).get({url:"/find/symbol",...e,...r})}},ge=class extends u{list(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/file/status",...e,...r})}},me=class extends u{remove(t,e){let r=o([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=o([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=o([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=o([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...e,...r})}},he=class extends u{constructor(){super(...arguments);y(this,"_auth");}status(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/mcp",...r,...n})}add(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return (r?.client??this.client).post({url:"/mcp",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connect(e,r){let n=o([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/connect",...r,...n})}disconnect(e,r){let n=o([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/disconnect",...r,...n})}get auth(){return this._auth??(this._auth=new me({client:this.client}))}},be=class extends u{next(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/tui/control/next",...e,...r})}response(t,e){let r=o([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}})}},xe=class extends u{constructor(){super(...arguments);y(this,"_control");}appendPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"text"}]}]);return (r?.client??this.client).post({url:"/tui/append-prompt",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}openHelp(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-help",...r,...n})}openSessions(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-sessions",...r,...n})}openThemes(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-themes",...r,...n})}openModels(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-models",...r,...n})}submitPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/submit-prompt",...r,...n})}clearPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/clear-prompt",...r,...n})}executeCommand(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"}]}]);return (r?.client??this.client).post({url:"/tui/execute-command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}showToast(e,r){let n=o([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,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}publish(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return (r?.client??this.client).post({url:"/tui/publish",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}selectSession(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"sessionID"}]}]);return (r?.client??this.client).post({url:"/tui/select-session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}get control(){return this._control??(this._control=new be({client:this.client}))}},Re=class extends u{dispose(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/instance/dispose",...e,...r})}},Ee=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/path",...e,...r})}},fe=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/vcs",...e,...r})}},ke=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"contextMode"}]}]);return (e?.client??this.client).get({url:"/command",...e,...r})}},Se=class extends u{log(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent",...e,...r})}skills(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/skill",...e,...r})}},ve=class extends u{create(t,e){let r=o([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=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent/default",...e,...r})}},Te=class extends u{status(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/lsp",...e,...r})}},we=class extends u{status(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/formatter",...e,...r})}},Oe=class extends u{subscribe(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).sse.get({url:"/event",...e,...r})}publish(t,e){let r=o([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}})}},B=class B extends u{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");B.__registry.set(this,e?.key);}get global(){return this._global??(this._global=new J({client:this.client}))}get session(){return this._session??(this._session=new X({client:this.client}))}get message(){return this._message??(this._message=new Y({client:this.client}))}get auth(){return this._auth??(this._auth=new Z({client:this.client}))}get project(){return this._project??(this._project=new ee({client:this.client}))}get pty(){return this._pty??(this._pty=new re({client:this.client}))}get config(){return this._config??(this._config=new te({client:this.client}))}get model(){return this._model??(this._model=new se({client:this.client}))}get tool(){return this._tool??(this._tool=new ne({client:this.client}))}get worktree(){return this._worktree??(this._worktree=new oe({client:this.client}))}get experimental(){return this._experimental??(this._experimental=new pe({client:this.client}))}get part(){return this._part??(this._part=new le({client:this.client}))}get permission(){return this._permission??(this._permission=new _({client:this.client}))}get question(){return this._question??(this._question=new ye({client:this.client}))}get provider(){return this._provider??(this._provider=new de({client:this.client}))}get find(){return this._find??(this._find=new ce({client:this.client}))}get file(){return this._file??(this._file=new ge({client:this.client}))}get mcp(){return this._mcp??(this._mcp=new he({client:this.client}))}get tui(){return this._tui??(this._tui=new xe({client:this.client}))}get instance(){return this._instance??(this._instance=new Re({client:this.client}))}get path(){return this._path??(this._path=new Ee({client:this.client}))}get vcs(){return this._vcs??(this._vcs=new fe({client:this.client}))}get command(){return this._command??(this._command=new ke({client:this.client}))}get app(){return this._app??(this._app=new Se({client:this.client}))}get agent(){return this._agent??(this._agent=new ve({client:this.client}))}get lsp(){return this._lsp??(this._lsp=new Te({client:this.client}))}get formatter(){return this._formatter??(this._formatter=new we({client:this.client}))}get event(){return this._event??(this._event=new Oe({client:this.client}))}};y(B,"__registry",new H);var z=B;function Be(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=M(s);return new z({client:t})}async function We(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=spawn("easbot",t,{signal:s.signal,env:{...process.env,EASBOT_CONFIG_CONTENT:JSON.stringify(s.config??{})}});return {url:await new Promise((n,d)=>{let l=setTimeout(()=>{d(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
|
-
`);for(let c of m)if(c.startsWith("easbot server listening")){let
|
|
9
|
-
Server output: ${i}`),d(new Error(m));}),e.on("error",
|
|
4
|
+
`);k=Ie.pop()??"";for(let He of Ie){let Ve=He.split(`
|
|
5
|
+
`),j=[],Pe;for(let w of Ve)if(w.startsWith("data:"))j.push(w.replace(/^data:\s*/,""));else if(w.startsWith("event:"))Pe=w.replace(/^event:\s*/,"");else if(w.startsWith("id:"))y=w.replace(/^id:\s*/,"");else if(w.startsWith("retry:")){let Ae=Number.parseInt(w.replace(/^retry:\s*/,""),10);Number.isNaN(Ae)||(g=Ae);}let I,Ce=!1;if(j.length){let w=j.join(`
|
|
6
|
+
`);try{I=JSON.parse(w),Ce=!0;}catch{I=w;}}Ce&&(n&&await n(I),r&&(I=await r(I))),e?.({data:I,event:Pe,id:y,retry:g}),j.length&&(yield I);}}}finally{v.removeEventListener("abort",De),T.releaseLock();}break}catch(O){if(t?.(O),p!==void 0&&b>=p)break;let D=Math.min(g*2**(b-1),i??3e4);await f(D);}}}()}}var Xe=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},Ye=s=>{switch(s){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},Ze=s=>{switch(s){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},F=({allowReserved:s,explode:t,name:e,style:r,value:n})=>{if(!t){let i=(s?n:n.map(a=>encodeURIComponent(a))).join(Ye(r));switch(r){case "label":return `.${i}`;case "matrix":return `;${e}=${i}`;case "simple":return i;default:return `${e}=${i}`}}let d=Xe(r),p=n.map(i=>r==="label"||r==="simple"?s?i:encodeURIComponent(i):P({allowReserved:s,name:e,value:i})).join(d);return r==="label"||r==="matrix"?d+p:p},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:n,valueOnly:d})=>{if(n instanceof Date)return d?n.toISOString():`${e}=${n.toISOString()}`;if(r!=="deepObject"&&!t){let a=[];Object.entries(n).forEach(([c,y])=>{a=[...a,c,s?y:encodeURIComponent(y)];});let m=a.join(",");switch(r){case "form":return `${e}=${m}`;case "label":return `.${m}`;case "matrix":return `;${e}=${m}`;default:return m}}let p=Ze(r),i=Object.entries(n).map(([a,m])=>P({allowReserved:s,name:r==="deepObject"?`${e}[${a}]`:a,value:m})).join(p);return r==="label"||r==="matrix"?p+i:i};var er=/\{[^{}]+\}/g,rr=({path:s,url:t})=>{let e=t,r=t.match(er);if(r)for(let n of r){let d=false,p=n.substring(1,n.length-1),i="simple";p.endsWith("*")&&(d=true,p=p.substring(0,p.length-1)),p.startsWith(".")?(p=p.substring(1),i="label"):p.startsWith(";")&&(p=p.substring(1),i="matrix");let a=s[p];if(a==null)continue;if(Array.isArray(a)){e=e.replace(n,F({explode:d,name:p,style:i,value:a}));continue}if(typeof a=="object"){e=e.replace(n,U({explode:d,name:p,style:i,value:a,valueOnly:true}));continue}if(i==="matrix"){e=e.replace(n,`;${P({name:p,value:a})}`);continue}let m=encodeURIComponent(i==="label"?`.${a}`:a);e=e.replace(n,m);}return e},Me=({baseUrl:s,path:t,query:e,querySerializer:r,url:n})=>{let d=n.startsWith("/")?n:`/${n}`,p=(s??"")+d;t&&(p=rr({path:t,url:p}));let i=e?r(e):"";return i.startsWith("?")&&(i=i.substring(1)),i&&(p+=`?${i}`),p};function N(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 je=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 W={bodySerializer:s=>JSON.stringify(s,(t,e)=>typeof e=="bigint"?e.toString():e)};var Fe=({parameters:s={},...t}={})=>r=>{let n=[];if(r&&typeof r=="object")for(let d in r){let p=r[d];if(p==null)continue;let i=s[d]||t;if(Array.isArray(p)){let a=F({allowReserved:i.allowReserved,explode:true,name:d,style:"form",value:p,...i.array});a&&n.push(a);}else if(typeof p=="object"){let a=U({allowReserved:i.allowReserved,explode:true,name:d,style:"deepObject",value:p,...i.object});a&&n.push(a);}else {let a=P({allowReserved:i.allowReserved,name:d,value:p});a&&n.push(a);}}return n.join("&")},Ue=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"}},tr=(s,t)=>t?!!(s.headers.has(t)||s.query?.[t]||s.headers.get("Cookie")?.includes(`${t}=`)):false,Le=async({security:s,...t})=>{for(let e of s){if(tr(t,e.name))continue;let r=await je(e,t.auth);if(!r)continue;let n=e.name??"Authorization";switch(e.in){case "query":t.query||(t.query={}),t.query[n]=r;break;case "cookie":t.headers.append("Cookie",`${n}=${r}`);break;default:t.headers.set(n,r);break}}},Q=s=>Me({baseUrl:s.baseUrl,path:s.path,query:s.query,querySerializer:typeof s.querySerializer=="function"?s.querySerializer:Fe(s.querySerializer),url:s.url}),$=(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},sr=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?sr(e):Object.entries(e);for(let[n,d]of r)if(d===null)t.delete(n);else if(Array.isArray(d))for(let p of d)t.append(n,p);else d!==void 0&&t.set(n,typeof d=="object"?JSON.stringify(d):d);}return t},C=class{constructor(){l(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}},Ge=()=>({error:new C,request:new C,response:new C}),nr=Fe({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),or={"Content-Type":"application/json"},A=(s={})=>({...W,headers:or,parseAs:"auto",querySerializer:nr,...s});var q=(s={})=>{let t=$(A(),s),e=()=>({...t}),r=c=>(t=$(t,c),e()),n=Ge(),d=async c=>{let y={...t,...c,fetch:c.fetch??t.fetch??globalThis.fetch,headers:L(t.headers,c.headers),serializedBody:void 0};y.security&&await Le({...y,security:y.security}),y.requestValidator&&await y.requestValidator(y),y.body!==void 0&&y.bodySerializer&&(y.serializedBody=y.bodySerializer(y.body)),(y.body===void 0||y.serializedBody==="")&&y.headers.delete("Content-Type");let f=y,S=Q(f);return {opts:f,url:S}},p=async c=>{let y=c.throwOnError??t.throwOnError,f=c.responseStyle??t.responseStyle,S,h;try{let{opts:g,url:b}=await d(c),v={redirect:"follow",...g,body:N(g)};S=new Request(b,v);for(let x of n.request.fns)x&&(S=await x(S,g));let M=g.fetch;h=await M(S);for(let x of n.response.fns)x&&(h=await x(h,S,g));let O={request:S,response:h};if(h.ok){let x=(g.parseAs==="auto"?Ue(h.headers.get("Content-Type")):g.parseAs)??"json";if(h.status===204||h.headers.get("Content-Length")==="0"){let k;switch(x){case "arrayBuffer":case "blob":case "text":k=await h[x]();break;case "formData":k=new FormData;break;case "stream":k=h.body;break;default:k={};break}return g.responseStyle==="data"?k:{data:k,...O}}let T;switch(x){case "arrayBuffer":case "blob":case "formData":case "text":T=await h[x]();break;case "json":{let k=await h.text();T=k?JSON.parse(k):{};break}case "stream":return g.responseStyle==="data"?h.body:{data:h.body,...O}}return x==="json"&&(g.responseValidator&&await g.responseValidator(T),g.responseTransformer&&(T=await g.responseTransformer(T))),g.responseStyle==="data"?T:{data:T,...O}}let D=await h.text(),B;try{B=JSON.parse(D);}catch{}throw B??D}catch(g){let b=g;for(let v of n.error.fns)v&&(b=await v(b,h,S,c));if(b=b||{},y)throw b;return f==="data"?void 0:{error:b,request:S,response:h}}},i=c=>y=>p({...y,method:c}),a=c=>async y=>{let{opts:f,url:S}=await d(y);return qe({...f,body:f.body,method:c,onRequest:async(h,g)=>{let b=new Request(h,g);for(let v of n.request.fns)v&&(b=await v(b,f));return b},serializedBody:N(f),url:S})};return {buildUrl:c=>Q({...t,...c}),connect:i("CONNECT"),delete:i("DELETE"),get:i("GET"),getConfig:e,head:i("HEAD"),interceptors:n,options:i("OPTIONS"),patch:i("PATCH"),post:i("POST"),put:i("PUT"),request:p,setConfig:r,sse:{connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),head:a("HEAD"),options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),trace:a("TRACE")},trace:i("TRACE")}};var ir={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},ar=Object.entries(ir),_e=(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&&_e(e.args,t);return t},pr=s=>{for(let[t,e]of Object.entries(s))e&&typeof e=="object"&&!Array.isArray(e)&&!Object.keys(e).length&&delete s[t];},o=(s,t)=>{let e={body:{},headers:{},path:{},query:{}},r=_e(t),n;for(let[d,p]of s.entries())if(t[d]&&(n=t[d]),!!n)if("in"in n)if(n.key){let i=r.get(n.key),a=i.map||n.key;i.in&&(e[i.in][a]=p);}else e.body=p;else for(let[i,a]of Object.entries(p??{})){let m=r.get(i);if(m)if(m.in){let c=m.map||i;e[m.in][c]=a;}else e[m.map]=a;else {let c=ar.find(([y])=>i.startsWith(y));if(c){let[y,f]=c;e[f][i.slice(y.length)]=a;}else if("allowExtra"in n&&n.allowExtra){for(let[y,f]of Object.entries(n.allowExtra))if(f){e[y][i]=a;break}}}}return pr(e),e};var ze=q(A({baseUrl:"http://localhost:4096"}));var u=class{constructor(t){l(this,"client");this.client=t?.client??ze;}},H=class{constructor(){l(this,"defaultKey","default");l(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);}},V=class extends u{get(t){return (t?.client??this.client).get({url:"/global/config",...t})}update(t,e){let r=o([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}})}},J=class extends u{constructor(){super(...arguments);l(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 V({client:this.client}))}},K=class extends u{get(t,e){let r=o([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/session/{sessionID}/contextMode",...e,...r})}set(t,e){let r=o([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"mode"}]}]);return (e?.client??this.client).put({url:"/session/{sessionID}/contextMode",...e,...r,headers:{"Content-Type":"application/json",...e?.headers,...r.headers}})}},X=class extends u{constructor(){super(...arguments);l(this,"_contextMode");}event(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).sse.get({url:"/session/{sessionID}/event",...r,...n})}list(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return (r?.client??this.client).get({url:"/session",...r,...n})}create(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"permission"},{in:"body",key:"contextMode"}]}]);return (r?.client??this.client).post({url:"/session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}status(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/status",...r,...n})}delete(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}",...r,...n})}get(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}",...r,...n})}update(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"time"}]}]);return (r?.client??this.client).patch({url:"/session/{sessionID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}children(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/children",...r,...n})}todo(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/todo",...r,...n})}init(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/init",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}fork(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"contextMode"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/fork",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}abort(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/abort",...r,...n})}unshare(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}/share",...r,...n})}share(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/share",...r,...n})}diff(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"messageID"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/diff",...r,...n})}summarize(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/summarize",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}messages(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"limit"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/message",...r,...n})}prompt(e,r){let n=o([e],[{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:"contextMode"},{in:"body",key:"parts"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/message",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}deleteMessage(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...r,...n})}message(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...r,...n})}promptAsync(e,r){let n=o([e],[{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 (r?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}command(e,r){let n=o([e],[{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:"contextMode"},{in:"body",key:"parts"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}shell(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/shell",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}revert(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/revert",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}unrevert(e,r){let n=o([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/session/{sessionID}/unrevert",...r,...n})}get contextMode(){return this._contextMode??(this._contextMode=new K({client:this.client}))}},Y=class extends u{event(t,e){let r=o([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})}},Z=class extends u{remove(t,e){let r=o([t],[{args:[{in:"path",key:"providerID"}]}]);return (e?.client??this.client).delete({url:"/auth/{providerID}",...e,...r})}set(t,e){let r=o([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}})}},ee=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project",...e,...r})}current(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/project/current",...e,...r})}initGit(t,e){let r=o([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=o([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}})}},re=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty",...e,...r})}create(t,e){let r=o([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=o([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=o([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=o([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=o([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/pty/{ptyID}/connect",...e,...r})}},te=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config",...e,...r})}update(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/config/providers",...e,...r})}},se=class extends u{default(t){return (t?.client??this.client).get({url:"/model/default",...t})}parse(t,e){let r=o([t],[{args:[{in:"query",key:"model"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/model/parse",...e,...r})}},ne=class extends u{ids(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/tool/ids",...e,...r})}list(t,e){let r=o([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})}},oe=class extends u{remove(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/worktree",...e,...r})}create(t,e){let r=o([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=o([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}})}},ie=class extends u{list(t,e){let r=o([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})}},ae=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/experimental/resource",...e,...r})}},pe=class extends u{constructor(){super(...arguments);l(this,"_session");l(this,"_resource");}get session(){return this._session??(this._session=new ie({client:this.client}))}get resource(){return this._resource??(this._resource=new ae({client:this.client}))}},le=class extends u{delete(t,e){let r=o([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=o([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}})}},G=class extends u{respond(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/permission",...e,...r})}},ye=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/question",...e,...r})}reply(t,e){let r=o([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=o([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/question/{requestID}/reject",...e,...r})}},ue=class extends u{authorize(t,e){let r=o([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=o([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}})}},de=class extends u{constructor(){super(...arguments);l(this,"_oauth");}list(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider",...r,...n})}auth(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/provider/auth",...r,...n})}get oauth(){return this._oauth??(this._oauth=new ue({client:this.client}))}},ce=class extends u{text(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"}]}]);return (e?.client??this.client).get({url:"/find/symbol",...e,...r})}},ge=class extends u{list(t,e){let r=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/file/status",...e,...r})}},me=class extends u{remove(t,e){let r=o([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=o([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=o([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=o([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...e,...r})}},he=class extends u{constructor(){super(...arguments);l(this,"_auth");}status(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).get({url:"/mcp",...r,...n})}add(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return (r?.client??this.client).post({url:"/mcp",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connect(e,r){let n=o([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/connect",...r,...n})}disconnect(e,r){let n=o([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/mcp/{name}/disconnect",...r,...n})}get auth(){return this._auth??(this._auth=new me({client:this.client}))}},be=class extends u{next(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/tui/control/next",...e,...r})}response(t,e){let r=o([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}})}},xe=class extends u{constructor(){super(...arguments);l(this,"_control");}appendPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"text"}]}]);return (r?.client??this.client).post({url:"/tui/append-prompt",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}openHelp(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-help",...r,...n})}openSessions(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-sessions",...r,...n})}openThemes(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-themes",...r,...n})}openModels(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/open-models",...r,...n})}submitPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/submit-prompt",...r,...n})}clearPrompt(e,r){let n=o([e],[{args:[{in:"query",key:"directory"}]}]);return (r?.client??this.client).post({url:"/tui/clear-prompt",...r,...n})}executeCommand(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"}]}]);return (r?.client??this.client).post({url:"/tui/execute-command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}showToast(e,r){let n=o([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,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}publish(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return (r?.client??this.client).post({url:"/tui/publish",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}selectSession(e,r){let n=o([e],[{args:[{in:"query",key:"directory"},{in:"body",key:"sessionID"}]}]);return (r?.client??this.client).post({url:"/tui/select-session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}get control(){return this._control??(this._control=new be({client:this.client}))}},Re=class extends u{dispose(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).post({url:"/instance/dispose",...e,...r})}},Ee=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/path",...e,...r})}},fe=class extends u{get(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/vcs",...e,...r})}},ke=class extends u{list(t,e){let r=o([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"contextMode"}]}]);return (e?.client??this.client).get({url:"/command",...e,...r})}},Se=class extends u{log(t,e){let r=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent",...e,...r})}skills(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/skill",...e,...r})}},ve=class extends u{create(t,e){let r=o([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=o([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=o([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=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/agent/default",...e,...r})}},Te=class extends u{status(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/lsp",...e,...r})}},we=class extends u{status(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).get({url:"/formatter",...e,...r})}},Oe=class extends u{subscribe(t,e){let r=o([t],[{args:[{in:"query",key:"directory"}]}]);return (e?.client??this.client).sse.get({url:"/event",...e,...r})}publish(t,e){let r=o([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}})}},z=class z extends u{constructor(e){super(e);l(this,"_global");l(this,"_session");l(this,"_message");l(this,"_auth");l(this,"_project");l(this,"_pty");l(this,"_config");l(this,"_model");l(this,"_tool");l(this,"_worktree");l(this,"_experimental");l(this,"_part");l(this,"_permission");l(this,"_question");l(this,"_provider");l(this,"_find");l(this,"_file");l(this,"_mcp");l(this,"_tui");l(this,"_instance");l(this,"_path");l(this,"_vcs");l(this,"_command");l(this,"_app");l(this,"_agent");l(this,"_lsp");l(this,"_formatter");l(this,"_event");z.__registry.set(this,e?.key);}get global(){return this._global??(this._global=new J({client:this.client}))}get session(){return this._session??(this._session=new X({client:this.client}))}get message(){return this._message??(this._message=new Y({client:this.client}))}get auth(){return this._auth??(this._auth=new Z({client:this.client}))}get project(){return this._project??(this._project=new ee({client:this.client}))}get pty(){return this._pty??(this._pty=new re({client:this.client}))}get config(){return this._config??(this._config=new te({client:this.client}))}get model(){return this._model??(this._model=new se({client:this.client}))}get tool(){return this._tool??(this._tool=new ne({client:this.client}))}get worktree(){return this._worktree??(this._worktree=new oe({client:this.client}))}get experimental(){return this._experimental??(this._experimental=new pe({client:this.client}))}get part(){return this._part??(this._part=new le({client:this.client}))}get permission(){return this._permission??(this._permission=new G({client:this.client}))}get question(){return this._question??(this._question=new ye({client:this.client}))}get provider(){return this._provider??(this._provider=new de({client:this.client}))}get find(){return this._find??(this._find=new ce({client:this.client}))}get file(){return this._file??(this._file=new ge({client:this.client}))}get mcp(){return this._mcp??(this._mcp=new he({client:this.client}))}get tui(){return this._tui??(this._tui=new xe({client:this.client}))}get instance(){return this._instance??(this._instance=new Re({client:this.client}))}get path(){return this._path??(this._path=new Ee({client:this.client}))}get vcs(){return this._vcs??(this._vcs=new fe({client:this.client}))}get command(){return this._command??(this._command=new ke({client:this.client}))}get app(){return this._app??(this._app=new Se({client:this.client}))}get agent(){return this._agent??(this._agent=new ve({client:this.client}))}get lsp(){return this._lsp??(this._lsp=new Te({client:this.client}))}get formatter(){return this._formatter??(this._formatter=new we({client:this.client}))}get event(){return this._event??(this._event=new Oe({client:this.client}))}};l(z,"__registry",new H);var _=z;function Be(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 _({client:t})}async function We(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=spawn("easbot",t,{signal:s.signal,env:{...process.env,EASBOT_CONFIG_CONTENT:JSON.stringify(s.config??{})}});return {url:await new Promise((n,d)=>{let p=setTimeout(()=>{d(new Error(`Timeout waiting for server to start after ${s.timeout}ms`));},s.timeout),i="";e.stdout?.on("data",a=>{i+=a.toString();let m=i.split(`
|
|
7
|
+
`);for(let c of m)if(c.startsWith("easbot server listening")){let y=c.match(/on\s+(https?:\/\/[^\s]+)/);if(!y)throw new Error(`Failed to parse server url from output: ${c}`);clearTimeout(p),n(y[1]);return}}),e.stderr?.on("data",a=>{i+=a.toString();}),e.on("exit",a=>{clearTimeout(p);let m=`Server exited with code ${a}`;i.trim()&&(m+=`
|
|
8
|
+
Server output: ${i}`),d(new Error(m));}),e.on("error",a=>{clearTimeout(p),d(a);}),s.signal&&s.signal.addEventListener("abort",()=>{clearTimeout(p),d(new Error("Aborted"));});}),close(){e.kill();}}}function ut(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=spawn("easbot",t,{signal:s?.signal,stdio:"inherit",env:{...process.env,EASBOT_CONFIG_CONTENT:JSON.stringify(s?.config??{})}});return {close(){e.kill();}}}async function ht(s){let t=await We({...s});return {client:Be({baseUrl:t.url}),server:t}}export{_ as EasbotClient,G as Permission,Be as createEasbotClient,We as createEasbotServer,ht as createEascode,ut as createEascodeTui};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@easbot/sdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Easbot SDK for client applications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -14,23 +14,6 @@
|
|
|
14
14
|
},
|
|
15
15
|
"./package.json": "./package.json"
|
|
16
16
|
},
|
|
17
|
-
"scripts": {
|
|
18
|
-
"dev": "tsup --watch --env.NODE_ENV development",
|
|
19
|
-
"build": "node scripts/build.mjs",
|
|
20
|
-
"test": "vitest",
|
|
21
|
-
"test:run": "vitest run",
|
|
22
|
-
"lint": "biome check .",
|
|
23
|
-
"lint:fix": "biome check --write .",
|
|
24
|
-
"lint:report": "biome check --reporter=summary .",
|
|
25
|
-
"format": "biome format .",
|
|
26
|
-
"format:fix": "biome format --write .",
|
|
27
|
-
"type-check": "tsc --noEmit",
|
|
28
|
-
"clean": "npx rimraf dist node_modules",
|
|
29
|
-
"prepare": "echo norun",
|
|
30
|
-
"prepublishOnly": "pnpm build",
|
|
31
|
-
"publish:npm": "bash scripts/publish.sh",
|
|
32
|
-
"publish:npm:win": "powershell -ExecutionPolicy Bypass -File scripts/publish.ps1"
|
|
33
|
-
},
|
|
34
17
|
"keywords": [
|
|
35
18
|
"easbot",
|
|
36
19
|
"sdk",
|
|
@@ -58,17 +41,32 @@
|
|
|
58
41
|
"events": "^3.3.0"
|
|
59
42
|
},
|
|
60
43
|
"devDependencies": {
|
|
61
|
-
"@biomejs/biome": "^2.4.
|
|
62
|
-
"@types/node": "^
|
|
63
|
-
"@hey-api/openapi-ts": "^0.
|
|
44
|
+
"@biomejs/biome": "^2.4.14",
|
|
45
|
+
"@types/node": "^25.6.2",
|
|
46
|
+
"@hey-api/openapi-ts": "^0.97.1",
|
|
64
47
|
"tsup": "^8.5.1",
|
|
65
|
-
"typescript": "^6.0.
|
|
66
|
-
"vitest": "^4.1.
|
|
48
|
+
"typescript": "^6.0.3",
|
|
49
|
+
"vitest": "^4.1.5"
|
|
67
50
|
},
|
|
68
51
|
"engines": {
|
|
69
52
|
"node": ">=22.17.0"
|
|
70
53
|
},
|
|
71
54
|
"publishConfig": {
|
|
72
55
|
"access": "public"
|
|
56
|
+
},
|
|
57
|
+
"scripts": {
|
|
58
|
+
"dev": "tsup --watch --env.NODE_ENV development",
|
|
59
|
+
"build": "node scripts/build.mjs",
|
|
60
|
+
"test": "vitest",
|
|
61
|
+
"test:run": "vitest run",
|
|
62
|
+
"lint": "biome check .",
|
|
63
|
+
"lint:fix": "biome check --write .",
|
|
64
|
+
"lint:report": "biome check --reporter=summary .",
|
|
65
|
+
"format": "biome format .",
|
|
66
|
+
"format:fix": "biome format --write .",
|
|
67
|
+
"type-check": "tsc --noEmit",
|
|
68
|
+
"clean": "npx rimraf dist node_modules",
|
|
69
|
+
"publish:npm": "bash scripts/publish.sh",
|
|
70
|
+
"publish:npm:win": "powershell -ExecutionPolicy Bypass -File scripts/publish.ps1"
|
|
73
71
|
}
|
|
74
|
-
}
|
|
72
|
+
}
|