@kortix/sdk 0.10.10 → 0.10.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/core/client/kortix.d.ts +10 -1
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +9 -1
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/rest/projects-client/connectors.d.ts +93 -1
- package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
- package/dist/core/rest/projects-client/connectors.js +16 -0
- package/dist/core/rest/projects-client/connectors.js.map +1 -1
- package/dist/core/rest/projects-client/gateway.d.ts +43 -2
- package/dist/core/rest/projects-client/gateway.d.ts.map +1 -1
- package/dist/core/rest/projects-client/gateway.js +12 -2
- package/dist/core/rest/projects-client/gateway.js.map +1 -1
- package/dist/core/rest/projects-client/projects.d.ts +30 -1
- package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
- package/dist/core/rest/projects-client/projects.js +19 -3
- package/dist/core/rest/projects-client/projects.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kortix.esm.min.js +26 -26
- package/dist/kortix.global.js +28 -28
- package/dist/react/model-flatten.d.ts +24 -0
- package/dist/react/model-flatten.d.ts.map +1 -1
- package/dist/react/model-flatten.js +5 -0
- package/dist/react/model-flatten.js.map +1 -1
- package/dist/react/provider-selection.d.ts +11 -6
- package/dist/react/provider-selection.d.ts.map +1 -1
- package/dist/react/provider-selection.js +17 -15
- package/dist/react/provider-selection.js.map +1 -1
- package/dist/react/use-model-store.d.ts +10 -0
- package/dist/react/use-model-store.d.ts.map +1 -1
- package/dist/react/use-model-store.js +10 -3
- package/dist/react/use-model-store.js.map +1 -1
- package/package.json +2 -2
package/dist/kortix.esm.min.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
var
|
|
1
|
+
var zc={backendUrl:"",getToken:async()=>null},bt=null,Be=null;function Np(e){Be=e}function Hp(){return Be}function xt(e,t){t?.global!==!1&&(bt=e)}function I(){return Be?.()??bt??zc}function kt(){return bt!==null||Be?.()!==void 0}var Sn=({onRequest:e,onSseError:t,onSseEvent:r,responseTransformer:n,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:d,sseSleepFn:g,url:h,...m})=>{let x,w=g??(i=>new Promise(P=>setTimeout(P,i)));return{stream:async function*(){let i=c??3e3,P=0,_=m.signal??new AbortController().signal;for(;!_.aborted;){P++;let D=m.headers instanceof Headers?m.headers:new Headers(m.headers);x!==void 0&&D.set("Last-Event-ID",x);try{let j={redirect:"follow",...m,body:m.serializedBody,headers:D,signal:_},v=new Request(h,j);e&&(v=await e(h,j));let A=await(m.fetch??globalThis.fetch)(v);if(!A.ok)throw new Error(`SSE failed: ${A.status} ${A.statusText}`);if(!A.body)throw new Error("No body in SSE response");let f=A.body.pipeThrough(new TextDecoderStream).getReader(),S="",U=()=>{try{f.cancel()}catch{}};_.addEventListener("abort",U);try{for(;;){let{done:K,value:M}=await f.read();if(K)break;S+=M,S=S.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
3
|
`);let O=S.split(`
|
|
4
4
|
|
|
5
5
|
`);S=O.pop()??"";for(let se of O){let Le=se.split(`
|
|
6
6
|
`),fe=[],ye;for(let E of Le)if(E.startsWith("data:"))fe.push(E.replace(/^data:\s*/,""));else if(E.startsWith("event:"))ye=E.replace(/^event:\s*/,"");else if(E.startsWith("id:"))x=E.replace(/^id:\s*/,"");else if(E.startsWith("retry:")){let B=Number.parseInt(E.replace(/^retry:\s*/,""),10);Number.isNaN(B)||(i=B)}let N,F=!1;if(fe.length){let E=fe.join(`
|
|
7
|
-
`);try{N=JSON.parse(E),F=!0}catch{N=E}}F&&(s&&await s(N),r&&(N=await r(N))),n?.({data:N,event:ye,id:x,retry:i}),fe.length&&(yield N)}}}finally{_.removeEventListener("abort",U),f.releaseLock()}break}catch(A){if(t?.(A),u!==void 0&&P>=u)break;let v=Math.min(i*2**(P-1),d??3e4);await w(v)}}}()}};var Wc=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Vc=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},zc=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ke=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let d=(e?s:s.map(g=>encodeURIComponent(g))).join(Vc(r));switch(r){case"label":return`.${d}`;case"matrix":return`;${n}=${d}`;case"simple":return d;default:return`${n}=${d}`}}let c=Wc(r),u=s.map(d=>r==="label"||r==="simple"?e?d:encodeURIComponent(d):ie({allowReserved:e,name:n,value:d})).join(c);return r==="label"||r==="matrix"?c+u:u},ie=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},Ne=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,x])=>{g=[...g,m,e?x:encodeURIComponent(x)]});let h=g.join(",");switch(r){case"form":return`${n}=${h}`;case"label":return`.${h}`;case"matrix":return`;${n}=${h}`;default:return h}}let u=zc(r),d=Object.entries(s).map(([g,h])=>ie({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:h})).join(u);return r==="label"||r==="matrix"?u+d:d};var Jc=/\{[^{}]+\}/g,Xc=({path:e,url:t})=>{let n=t,r=t.match(Jc);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),d="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),d="label"):u.startsWith(";")&&(u=u.substring(1),d="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,Ke({explode:c,name:u,style:d,value:g}));continue}if(typeof g=="object"){n=n.replace(s,Ne({explode:c,name:u,style:d,value:g,valueOnly:!0}));continue}if(d==="matrix"){n=n.replace(s,`;${ie({name:u,value:g})}`);continue}let h=encodeURIComponent(d==="label"?`.${g}`:g);n=n.replace(s,h)}return n},vr=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=Xc({path:t,url:u}));let d=n?r(n):"";return d.startsWith("?")&&(d=d.substring(1)),d&&(u+=`?${d}`),u};function Pt(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(t)return e.body}var Cr=async(e,t)=>{let n=typeof t=="function"?await t(e):t;if(n)return e.scheme==="bearer"?`Bearer ${n}`:e.scheme==="basic"?`Basic ${btoa(n)}`:n};var wt={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Rr=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let d=e[c]||t;if(Array.isArray(u)){let g=Ke({allowReserved:d.allowReserved,explode:!0,name:c,style:"form",value:u,...d.array});g&&s.push(g)}else if(typeof u=="object"){let g=Ne({allowReserved:d.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...d.object});g&&s.push(g)}else{let g=ie({allowReserved:d.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},Tr=e=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>t.startsWith(n)))return"blob";if(t.startsWith("text/"))return"text"}},Qc=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,Ir=async({security:e,...t})=>{for(let n of e){if(Qc(t,n.name))continue;let r=await Cr(n,t.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":t.query||(t.query={}),t.query[s]=r;break;case"cookie":t.headers.append("Cookie",`${s}=${r}`);break;default:t.headers.set(s,r);break}}},_t=e=>vr({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Rr(e.querySerializer),url:e.url}),St=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=He(e.headers,t.headers),n},Yc=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},He=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?Yc(n):Object.entries(n);for(let[s,c]of r)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},be=class{fns=[];clear(){this.fns=[]}eject(t){let n=this.getInterceptorIndex(t);this.fns[n]&&(this.fns[n]=null)}exists(t){let n=this.getInterceptorIndex(t);return!!this.fns[n]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,n){let r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=n,t):!1}use(t){return this.fns.push(t),this.fns.length-1}},jr=()=>({error:new be,request:new be,response:new be}),Zc=Rr({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),el={"Content-Type":"application/json"},xe=(e={})=>({...wt,headers:el,parseAs:"auto",querySerializer:Zc,...e});var ke=(e={})=>{let t=St(xe(),e),n=()=>({...t}),r=h=>(t=St(t,h),n()),s=jr(),c=async h=>{let m={...t,...h,fetch:h.fetch??t.fetch??globalThis.fetch,headers:He(t.headers,h.headers),serializedBody:void 0};m.security&&await Ir({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let x=_t(m);return{opts:m,url:x}},u=async h=>{let{opts:m,url:x}=await c(h),w={redirect:"follow",...m,body:Pt(m)},k=new Request(x,w);for(let T of s.request.fns)T&&(k=await T(k,m));let l=m.fetch,i;try{i=await l(k)}catch(T){let j=T;for(let f of s.error.fns)f&&(j=await f(T,void 0,k,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,request:k,response:void 0}}for(let T of s.response.fns)T&&(i=await T(i,k,m));let P={request:k,response:i};if(i.ok){let T=(m.parseAs==="auto"?Tr(i.headers.get("Content-Type")):m.parseAs)??"json";if(i.status===204||i.headers.get("Content-Length")==="0"){let f;switch(T){case"arrayBuffer":case"blob":case"text":f=await i[T]();break;case"formData":f=new FormData;break;case"stream":f=i.body;break;default:f={};break}return m.responseStyle==="data"?f:{data:f,...P}}let j;switch(T){case"arrayBuffer":case"blob":case"formData":case"text":j=await i[T]();break;case"json":{let f=await i.text();j=f?JSON.parse(f):{};break}case"stream":return m.responseStyle==="data"?i.body:{data:i.body,...P}}return T==="json"&&(m.responseValidator&&await m.responseValidator(j),m.responseTransformer&&(j=await m.responseTransformer(j))),m.responseStyle==="data"?j:{data:j,...P}}let _=await i.text(),D;try{D=JSON.parse(_)}catch{}let A=D??_,v=A;for(let T of s.error.fns)T&&(v=await T(A,i,k,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...P}},d=h=>m=>u({...m,method:h}),g=h=>async m=>{let{opts:x,url:w}=await c(m);return Sr({...x,body:x.body,headers:x.headers,method:h,onRequest:async(k,l)=>{let i=new Request(k,l);for(let P of s.request.fns)P&&(i=await P(i,x));return i},serializedBody:Pt(x),url:w})};return{buildUrl:_t,connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),getConfig:n,head:d("HEAD"),interceptors:s,options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),request:u,setConfig:r,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:d("TRACE")}};var tl={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},nl=Object.entries(tl),Ar=(e,t)=>{t||(t=new Map);for(let n of e)"in"in n?n.key&&t.set(n.key,{in:n.in,map:n.map}):"key"in n?t.set(n.key,{map:n.map}):n.args&&Ar(n.args,t);return t},rl=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},p=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=Ar(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let d=r.get(s.key),g=d.map||s.key;d.in&&(n[d.in][g]=u)}else n.body=u;else for(let[d,g]of Object.entries(u??{})){let h=r.get(d);if(h)if(h.in){let m=h.map||d;n[h.in][m]=g}else n[h.map]=g;else{let m=nl.find(([x])=>d.startsWith(x));if(m){let[x,w]=m;n[w][d.slice(x.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[x,w]of Object.entries(s.allowExtra))if(w){n[x][d]=g;break}}}}return rl(n),n};var Er=ke(xe({baseUrl:"http://localhost:4096"}));var y=class{client;constructor(t){this.client=t?.client??Er}},vt=class{defaultKey="default";instances=new Map;get(t){let n=this.instances.get(t??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(t,n){this.instances.set(n??this.defaultKey,t)}},Ct=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Rt=class extends y{log(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Tt=class extends y{moveSession(t,n){let r=p([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},It=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},jt=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},At=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},Et=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},qt=class extends y{generateName(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},$t=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},Dt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new $t({client:this.client})}},Mt=class extends y{_controlPlane;get controlPlane(){return this._controlPlane??=new Tt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new It({client:this.client})}_console;get console(){return this._console??=new jt({client:this.client})}_session;get session(){return this._session??=new At({client:this.client})}_resource;get resource(){return this._resource??=new Et({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new qt({client:this.client})}_workspace;get workspace(){return this._workspace??=new Dt({client:this.client})}},Ut=class extends y{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=p([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Ot=class extends y{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=p([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new Ut({client:this.client})}},Lt=class extends y{subscribe(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},Ft=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},Gt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},Bt=class extends y{remove(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Kt=class extends y{text(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},Nt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},Ht=class extends y{dispose(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},Wt=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},Vt=class extends y{raw(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},zt=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new Vt({client:this.client})}},Jt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},Xt=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Qt=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Yt=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Zt=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Yt({client:this.client})}},en=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},tn=class extends y{shells(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},nn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},rn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},sn=class extends y{authorize(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},on=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new sn({client:this.client})}},an=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},cn=class extends y{delete(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ln=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},un=class extends y{start(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=p([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new ln({client:this.client})}},pn=class extends y{next(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},dn=class extends y{appendPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new pn({client:this.client})}},gn=class extends y{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},mn=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},fn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},yn=class extends y{stage(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},hn=class extends y{list(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},bn=class extends y{list(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},xn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new yn({client:this.client})}_permission;get permission(){return this._permission??=new hn({client:this.client})}_question;get question(){return this._question??=new bn({client:this.client})}},kn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Pn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},wn=class extends y{key(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},_n=class extends y{cancel(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Sn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new wn({client:this.client})}_attempt;get attempt(){return this._attempt??=new _n({client:this.client})}},vn=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Cn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Rn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Tn=class extends y{_request;get request(){return this._request??=new Cn({client:this.client})}_saved;get saved(){return this._saved??=new Rn({client:this.client})}},In=class extends y{read(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},jn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},An=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},En=class extends y{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},qn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},$n=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Dn=class extends y{_request;get request(){return this._request??=new $n({client:this.client})}},Mn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Un=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},On=class extends y{_health;get health(){return this._health??=new gn({client:this.client})}_location;get location(){return this._location??=new mn({client:this.client})}_agent;get agent(){return this._agent??=new fn({client:this.client})}_session;get session(){return this._session??=new xn({client:this.client})}_model;get model(){return this._model??=new kn({client:this.client})}_provider;get provider(){return this._provider??=new Pn({client:this.client})}_integration;get integration(){return this._integration??=new Sn({client:this.client})}_credential;get credential(){return this._credential??=new vn({client:this.client})}_permission;get permission(){return this._permission??=new Tn({client:this.client})}_fs;get fs(){return this._fs??=new In({client:this.client})}_command;get command(){return this._command??=new jn({client:this.client})}_skill;get skill(){return this._skill??=new An({client:this.client})}_event;get event(){return this._event??=new En({client:this.client})}_pty;get pty(){return this._pty??=new qn({client:this.client})}_question;get question(){return this._question??=new Dn({client:this.client})}_reference;get reference(){return this._reference??=new Mn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Un({client:this.client})}},We=class e extends y{static __registry=new vt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Ct({client:this.client})}_app;get app(){return this._app??=new Rt({client:this.client})}_experimental;get experimental(){return this._experimental??=new Mt({client:this.client})}_global;get global(){return this._global??=new Ot({client:this.client})}_event;get event(){return this._event??=new Lt({client:this.client})}_config;get config(){return this._config??=new Ft({client:this.client})}_tool;get tool(){return this._tool??=new Gt({client:this.client})}_worktree;get worktree(){return this._worktree??=new Bt({client:this.client})}_find;get find(){return this._find??=new Kt({client:this.client})}_file;get file(){return this._file??=new Nt({client:this.client})}_instance;get instance(){return this._instance??=new Ht({client:this.client})}_path;get path(){return this._path??=new Wt({client:this.client})}_vcs;get vcs(){return this._vcs??=new zt({client:this.client})}_command;get command(){return this._command??=new Jt({client:this.client})}_lsp;get lsp(){return this._lsp??=new Xt({client:this.client})}_formatter;get formatter(){return this._formatter??=new Qt({client:this.client})}_mcp;get mcp(){return this._mcp??=new Zt({client:this.client})}_project;get project(){return this._project??=new en({client:this.client})}_pty;get pty(){return this._pty??=new tn({client:this.client})}_question;get question(){return this._question??=new nn({client:this.client})}_permission;get permission(){return this._permission??=new rn({client:this.client})}_provider;get provider(){return this._provider??=new on({client:this.client})}_session;get session(){return this._session??=new an({client:this.client})}_part;get part(){return this._part??=new cn({client:this.client})}_sync;get sync(){return this._sync??=new un({client:this.client})}_tui;get tui(){return this._tui??=new dn({client:this.client})}_v2;get v2(){return this._v2??=new On({client:this.client})}};function $r(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let c=e,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||qr(n,t);return new Error(u,{cause:{body:e,status:t?.status}})}if(typeof e=="string"&&e.length>0)return new Error(e,{cause:{body:e,status:t?.status}});let s=t?"(empty response body)":"network error (no response)";return new Error(`opencode server ${qr(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function qr(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function sl(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function il(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let d=sl(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(d){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,d);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function Ln(e){e?.fetch||(e={...e,fetch:r=>(r.timeout=!1,fetch(r))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)}),e?.experimental_workspaceID&&(e.headers={...e.headers,"x-opencode-workspace":e.experimental_workspaceID});let t=ke(e);return t.interceptors.request.use(n=>il(n,{directory:e?.directory,workspace:e?.experimental_workspaceID})),t.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),t.interceptors.error.use($r),new We({client:t})}function ol(e){return new Promise(t=>setTimeout(t,e))}async function Dr(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let d=0;d<r;d++)if(d>0&&(c&&n?.(),s>0&&await ol(s)),u=await e(),u)return u;return u}var al=3e4;function cl(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function Mr(e,t,n=al){let r=e instanceof Request?e.signal:t?.signal;if(cl(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function Fn(e,t,n){let r=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,c)=>{r.set(c,s)}),n&&!r.has("Authorization")&&r.set("Authorization",`Bearer ${n}`),r}function Ur(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function Gn(){return I().getToken()}async function Pe(e){return Dr(()=>I().getToken(),e,Ve)}function Ve(){}function jd(e){}function Ad(e){}async function ze(){return Gn()}async function Or(e){return Pe(e)}function Lr(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function R(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await Or();if(!s)return Ur();let c=Fn(e,t,s),u=Mr(e,t),d=await Lr(e,t,c,u);if(d.status===401&&r&&s){Ve();let g=await Or({attempts:2,baseDelayMs:200});if(g&&g!==s){let h=Fn(e,t,g);return Lr(e,t,h,u)}}return d}var oe={url:null,sandboxId:null,dbSandboxId:null,version:0},ll=new Set;function Fr(e,t=null,n=null){if(!(oe.url===e&&oe.sandboxId===t&&oe.dbSandboxId===n)){oe={url:e,sandboxId:t,dbSandboxId:n,version:oe.version+1};for(let r of ll)r()}}function Gr(){return oe.url}function ul(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function we(){return ul(I().backendUrl||"http://localhost:8008/v1")}function Br(){let e=I().sandboxId||"";return`${we()}/p/${e}/8000`}function pl(e){return`${we()}/p/${e}/8000`}function Je(e){return pl(e)}function q(){let e=Gr();return e||(I().billingEnabled??!1?"":Br())}var C=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},_e=class extends C{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},ae=class e extends Error{status;detail;constructor(t,n,r){super(r||n.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=n,Object.setPrototypeOf(this,e.prototype)}},Se=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function ve(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new ae(t,{message:r?.message||e.message||"Billing error",...r})}function dl(e){return e instanceof ae}function gl(e){if(!(e instanceof ae))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function Bn(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function Kn(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Kr(e){let t=Kn(e),n=await R(`${t}/env`);if(!n.ok)throw new Error(await Bn(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Nr(e,t,n){let r=Kn(e),s=await R(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await Bn(s,"Failed to save secret"))}async function Hr(e,t){let n=Kn(e),r=await R(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Bn(r,"Failed to delete secret"))}var ml={list:Kr,set:Nr,delete:Hr};async function fl(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await R(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function ce(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function Xe(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Ce(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ce(e)}async function Wr(e){let t=Ce(e),n=await R(`${t}/kortix/pty`);if(!n.ok)throw new Error(await Xe(n,"Failed to list terminals"));return n.json()}async function Vr(e,t){let n=Ce(e),r=await R(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await Xe(r,"Failed to create terminal"));return r.json()}async function zr(e,t,n){let r=Ce(e),s=await R(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await Xe(s,"Failed to update terminal"));return s.json()}async function Jr(e,t){let n=Ce(e),r=await R(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Xe(r,"Failed to remove terminal"))}async function Xr(e,t){let n=Ce(t),s=`${(()=>{try{let d=new URL(n);return d.protocol==="https:"?d.protocol="wss:":d.protocol==="http:"&&(d.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&d.protocol==="ws:"&&(d.protocol="wss:"),ce(d.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await ze();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var yl={list:Wr,create:Vr,update:zr,remove:Jr,webSocketUrl:Xr};async function b(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await R(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),d={};try{d=u?JSON.parse(u):{}}catch{d={}}if(!c.ok)throw new Error(d?.error||d?.message||d?.details||u.slice(0,200)||`Request failed with ${c.status}`);return d}async function Yd(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return b(e,`/kortix/tasks${r}`)}async function Zd(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function eg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function tg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function ng(e,t){return b(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function rg(e,t,n){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function sg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function ig(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function og(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function ag(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return b(e,`/kortix/tickets${n}`)}async function cg(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function lg(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function ug(e,t){return b(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function pg(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function dg(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function gg(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function mg(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function fg(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function yg(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function hg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function bg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function xg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function kg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Pg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function wg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function _g(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Sg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function vg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Cg(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Rg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Tg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Ig(e,t,n=200){return b(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function jg(e){return b(e,"/kortix/projects")}async function Ag(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Eg(e,t){return b(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function qg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function $g(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Dg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Mg(e,t,n="all"){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function Ug(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function Og(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function Lg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function Fg(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Gg(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function Bg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function Kg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Ng(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function Hg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function Wg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function Vg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function zg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var hl=1e4,bl={retryOnAuthError:!1};function le(e,t,n){return b(e,t,{signal:AbortSignal.timeout(hl),...n},bl)}async function Jg(e,t=!1){return(await le(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function Xg(e){return(await le(e,"/kortix/services/templates")).templates??[]}async function Qg(e,t){return(await le(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function Yg(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return le(e,s,{method:r?"DELETE":"POST"})}async function Zg(e,t){return le(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function em(e,t){return le(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var Qe=new Map,Nn=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function Z(){let e=q();if(!e)throw new Nn;return ue(e)}function ue(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=Qe.get(e);if(t)return t;if(!kt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Ln({baseUrl:e,fetch:R});return Qe.set(e,n),n}function am(e){Qe.delete(e)}function cm(){Qe.clear()}var Ye=new Map;function lm(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Ye.get(e);if(t)return t;let n=Ln({baseUrl:e,fetch});return Ye.set(e,n),n}function um(e){Ye.delete(e)}function pm(){Ye.clear()}async function xl(e){let t=await e.text().catch(()=>"");try{let n=JSON.parse(t);return n?.error||n?.message||t||e.statusText||`HTTP ${e.status}`}catch{return t||e.statusText||`HTTP ${e.status}`}}async function dm(e){let t=q();if(!t)throw new C("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await R(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new C(`System reload failed (${n.status}): ${await xl(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function Yr(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new C(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function pe(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function Ze(e,t=q()){let n=await R(`${t}${e}`);if(!n.ok)throw new C(await pe(n),{status:n.status,response:n});return n.json()}var Zr=["/workspace","/tmp","/home","/opt"],kl=Zr.filter(e=>e!=="/workspace");function Pl(e){return Zr.some(t=>e===t||e.startsWith(`${t}/`))}function wl(e){return Pl(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function Te(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(kl.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var _l=Te;async function Hn(e,t=q()){let n=Te(e)||".";return(await Ze(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function et(e,t=q()){let n=Te(e),r=await R(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new C(await pe(r),{status:r.status,response:r});return r.json()}async function Sl(e,t,n=q()){let r=Te(e),s=await R(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new C(await pe(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new C("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function tt(e,t=q()){try{return await Sl(e,void 0,t)}catch{}let n=await et(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function Wn(e=q()){return Ze("/file/status",e)}async function Vn(e,t,n=q()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),Ze(`/find/file?${r.toString()}`,n)}async function zn(e,t=q()){return(await Ze(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var Re=[400,1200],vl=e=>e===408||e===429||e===502||e===503||e===504,Qr=e=>new Promise(t=>setTimeout(t,e));async function Cl(e){let t=await e.text().catch(()=>""),n=null;try{n=t?JSON.parse(t):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(e.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(t)?e.status===502||/bad gateway/i.test(t)?"Bad gateway while reaching the sandbox upload service. Please retry.":e.statusText||`HTTP ${e.status}`:t.replace(/\s+/g," ").trim().slice(0,500)||e.statusText||`HTTP ${e.status}`}async function es(e,t){let n;for(let s=0;s<=Re.length;s++){let c;try{c=await t(e())}catch(d){if(n=d,s===Re.length)break;await Qr(Re[s]);continue}if(c.ok)return c.json();let u=await Cl(c);if(n=new C(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!vl(c.status)||s===Re.length)throw n;await Qr(Re[s])}if(n instanceof C)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new C(`Upload failed: ${r}`)}function nt(e,t,n,r=q()){return es(()=>{let s=new FormData,c=(t??"").trim();return c&&s.append("path",c.startsWith("/")?c:`/${c}`),n?s.append("file",e,n):s.append("file",e),s},s=>R(`${r}/file/upload`,{method:"POST",body:s}))}function Rl(e,t,n=q()){return es(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await ze();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function Jn(e,t=q()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return nt(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function Xn(e,t,n=q()){return Rl(t,await tt(e,n),n)}async function Qn(e,t=q()){let n=await R(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new C(`Delete failed (${n.status}): ${await pe(n)}`,{status:n.status,response:n});return n.json()}async function Yn(e,t=q()){let n=await R(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new C(`Mkdir failed (${n.status}): ${await pe(n)}`,{status:n.status,response:n});return n.json()}async function Zn(e,t,n=q()){let r=await R(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new C(`Rename failed (${r.status}): ${await pe(r)}`,{status:r.status,response:r});return r.json()}async function Tl(){return Yr(await Z().project.current())}async function ts(){return Yr(await Z().global.health())}async function Il(){try{return(await ts()).healthy===!0}catch{return!1}}var jl={list:Hn,read:et,readBlob:tt,status:Wn,findFiles:Vn,findText:zn,upload:nt,create:Jn,copy:Xn,remove:Qn,mkdir:Yn,rename:Zn,currentProject:Tl,health:ts,isReachable:Il,toDaemonPath:Te,toSandboxAbsolutePath:wl,toWorkspaceRelative:_l};var z=()=>I().backendUrl||"",El=e=>new Promise(t=>setTimeout(t,e)),ql=new Set([502,503,504]),ns=e=>ql.has(e),$l=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Dl=2,er=!1;function vm(e){er=e}function Cm(){return er}async function ee(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,d=null,g=!1,h=!1;try{d=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,h=!0,u.abort())},s);let m=await Pe(),x=c.body instanceof FormData,w={};if(x||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),er&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new _e,success:!1};let k=await fetch(e,{...c,headers:w,signal:u.signal,credentials:c.credentials??"omit"});if(d&&(clearTimeout(d),d=null),!k.ok&&$l(c.method)&&ns(k.status))for(let P=0;P<Dl;P++){try{await k.arrayBuffer()}catch{}await El(250*2**P);let _=new AbortController,D=setTimeout(()=>{_.abort()},s);try{k=await fetch(e,{...c,headers:w,signal:_.signal,credentials:c.credentials??"omit"})}catch{break}finally{D&&(clearTimeout(D),D=null)}if(k.ok||!ns(k.status))break}if(!k.ok){let P=`HTTP ${k.status}: ${k.statusText}`,_=null;try{_=await k.json(),typeof _.message=="string"?P=_.message:_.error&&typeof _.error=="string"?P=_.error:typeof _.detail=="string"?P=_.detail:typeof _.detail?.message=="string"&&(P=_.detail.message)}catch{}let D=new C(P,{status:k.status,response:k,details:_||void 0,data:_,detail:_?.detail,code:_?.code||_?.error_code||_?.detail?.error_code||k.status.toString()});if(k.status===402&&(D=ve(D)),k.status===403&&_?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}return k.status===431&&(D=new Se(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."})),n&&I().onError?.(D,r),{error:D,success:!1}}let l,i=k.headers.get("content-type");return i?.includes("application/json")?l=await k.json():i?.includes("text/")?l=await k.text():l=await k.blob(),{data:l,success:!0}}catch(m){d&&(clearTimeout(d),d=null);let x=m?.name==="AbortError"||m?.name==="AbortSignal"||m instanceof Error&&m.message.includes("aborted");x&&(g=!0);let w;if(x){if(!h)return{error:new C("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let k=e.replace(z(),"")||e;w=new C(`Request timed out after ${Math.round(s/1e3)}s: ${k}`,{code:"TIMEOUT",url:e,endpoint:k,timeout:s}),n&&I().onError?.(w,r)}else m instanceof Error?(w=new C(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&I().onError?.(w,r)):(w=new C(String(m)),n&&I().onError?.(w,r));return{error:w,success:!1}}}var Rm={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new C(r.message||"Database error",{code:r.code,details:r});return I().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new C(n.message,{name:n.name||"ApiError",stack:n.stack}):new C(String(n));return I().onError?.(r,t),{error:r,success:!1}}}},o={get:(e,t)=>ee(`${z()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>ee(`${z()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>ee(`${z()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>ee(`${z()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ee(`${z()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],ee(`${z()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],ee(`${z()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function tr(e){return e.replace(/\/v1\/?$/,"")}async function de(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=tr(e.backendUrl);try{let r=await fetch(`${n}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function rs(){return a(await o.get("/accounts"))}async function ss(e){return a(await o.post("/accounts",e))}async function is(e){return a(await o.get(`/accounts/${e}`))}async function os(e,t){return a(await o.patch(`/accounts/${e}`,{name:t}))}async function as(e){return a(await o.get(`/accounts/${e}/members`))}async function cs(e,t){return a(await o.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function ls(e){return a(await o.get(`/accounts/${e}/invites`))}async function us(e,t){return a(await o.delete(`/accounts/${e}/invites/${t}`))}async function ps(e,t){return a(await o.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function ds(e){return a(await o.get(`/account-invites/${e}`,{showErrors:!1}))}async function gs(e){return a(await o.post(`/account-invites/${e}/accept`,{}))}async function ms(e){return a(await o.post(`/account-invites/${e}/decline`,{}))}async function fs(e,t){return a(await o.delete(`/accounts/${e}/members/${t}`))}async function ys(e,t,n){return a(await o.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function hs(e){return a(await o.post(`/accounts/${e}/leave`,{}))}async function Em(e){return de(e,"/v1/accounts")}async function bs(){let e=await o.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function ge(){return a(await o.get("/projects"))}async function xs(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/projects${t}`))}async function nr(e,t){return a(await o.get(`/projects/${e}`,t))}async function ks(e,t,n="write"){return a(await o.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Ps(e,t){return a(await o.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function ws(e){return a(await o.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Mm(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function rr(e,t){return a(await o.get(`/projects/${e}/detail`,{showErrors:!1,...t}))}async function sr(e,t){return a(await o.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function ir(e,t){return a(await o.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function _s(e){return a(await o.post("/projects",e))}async function Ss(e){return a(await o.post("/projects/create-repo",e))}async function vs(e){return a(await o.post("/projects/provision",{seed_starter:!0,...e}))}async function Um(){try{return a(await o.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function or(e,t){return a(await o.patch(`/projects/${e}`,t))}async function Cs(e,t,n){return a(await o.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function Rs(e,t){return a(await o.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Om(e,t){return a(await o.patch(`/projects/${e}/warm-pool`,t))}async function Ts(e,t){return a(await o.patch(`/projects/${e}/onboarding`,{completed:t}))}async function ar(e){return a(await o.delete(`/projects/${e}`))}async function Lm(e,t){return de(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Fm(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=tr(e.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...t}),signal:AbortSignal.timeout(e.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function Is(e){return a(await o.post("/projects/link-repository",e,{showErrors:!1}))}async function js(e){return a(await o.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function As(e){return a(await o.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Es(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),a(await o.get(`/projects/github/repositories?${n.toString()}`,{showErrors:!1}))}async function qs(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return a(await o.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function $s(e){return a(await o.post("/projects/github/installation",e,{showErrors:!1}))}async function Ds(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),a(await o.delete(`/projects/github/installation?${n.toString()}`))}async function Vm(e,t){return a(await o.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Ms(e,t){return a(await o.get(`/projects/${e}/access-requests`,t))}async function Us(e,t,n="member"){return a(await o.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function Os(e,t){return a(await o.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Ls(e){return a(await o.get(`/projects/${e}/access`))}async function Fs(e,t,n){return a(await o.put(`/projects/${e}/access/${t}`,{role:n}))}async function Gs(e,t){return a(await o.delete(`/projects/${e}/access/${t}`))}function zm(e){return"status"in e&&e.status==="invited"}async function Bs(e,t,n,r){return a(await o.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Ks(e){return a(await o.get(`/projects/${e}/access/pending-invites`))}async function Ns(e,t){return a(await o.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Hs(e,t){return a(await o.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Ws(e){return a(await o.get(`/projects/${e}/group-grants`))}async function Vs(e,t,n,r){return a(await o.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function zs(e,t,n,r){return a(await o.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Js(e,t){return a(await o.delete(`/projects/${e}/group-grants/${t}`))}async function Xs(e){return a(await o.get(`/projects/${e}/resource-grants`))}async function Qs(e,t){return a(await o.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function Ys(e,t){return a(await o.delete(`/projects/${e}/resource-grants/${t}`))}async function Zs(e,t){return a(await o.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function ei(e,t){return a(await o.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function ti(e,t,n,r="once"){return a(await o.post(`/projects/${e}/approvals/${t}`,{decision:n,scope:r}))}async function ni(e){return a(await o.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function ri(e,t){return a(await o.post(`/projects/${e}/secrets`,t))}async function si(e,t,n){return a(await o.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function ii(e,t,n){return a(await o.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function oi(e,t){return a(await o.put(`/projects/${e}/git-credential`,t))}async function ai(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function ci(e,t,n){return a(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function li(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function ui(e){return a(await o.get(`/projects/${e}/connector-profiles`))}async function pi(e,t){return a(await o.post(`/projects/${e}/connector-profiles`,t))}async function di(e,t,n){return a(await o.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}async function gi(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function mi(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function fi(e){return a(await o.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function yi(e){return a(await o.post(`/executor/projects/${e}/connectors/sync`,{}))}async function hi(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function bi(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function xi(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function ki(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function Pi(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function wi(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function _i(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Si(e,t){return a(await o.post(`/executor/projects/${e}/connectors`,t))}async function vi(e,t){return a(await o.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Ci(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return a(await o.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Ri(){return a(await o.get("/executor/connect-status"))}async function Ti(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,{value:n}))}async function Ii(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function ji(e){return a(await o.get(`/executor/projects/${e}/policies`))}async function Ai(e,t,n){return a(await o.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function Ei(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function qi(e){return a(await o.get(`/projects/${e}/snapshots`))}async function cr(e){return a(await o.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function $i(e,t){return a(await o.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Di(e){return a(await o.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Mi(e,t){return a(await o.post(`/projects/${e}/sandbox-templates`,t))}async function Ui(e,t,n){return a(await o.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Oi(e,t){return a(await o.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Li(e,t){return a(await o.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Fi(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function Gi(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Bi(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),a(await o.get(`/projects/${e}/files/search?${r.toString()}`))}async function Ki(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),a(await o.get(`/projects/${e}/files/content?${r.toString()}`))}async function Ni(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",c=await Pe(),u=`${I().backendUrl||""}/projects/${e}/files/archive${s}`,d=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!d.ok){let g=await d.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${d.status})`)}return await d.blob()}async function Hi(e){return a(await o.get(`/projects/${e}/branches`))}async function Wi(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/commits${r}`))}async function Vi(e,t){return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function zi(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Ji(e,t,n){let r=new URLSearchParams({path:t});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),a(await o.get(`/projects/${e}/files/history?${r.toString()}`))}async function Xi(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return a(await o.get(`/projects/${e}/version-diff?${n.toString()}`))}async function Qi(e,t){let n=t?`?status=${t}`:"";return a(await o.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Yi(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}`))}async function Zi(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/diff`))}async function eo(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function to(e,t){return a(await o.post(`/projects/${e}/change-requests`,t))}async function no(e,t,n){return a(await o.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function ro(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function so(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function io(e,t,n){return a(await o.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function oo(e,t,n){return a(await o.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var lr=new Set;function ao(e){e&&lr.add(e)}function co(e){return!!e&&lr.has(e)}function kf(e){e&&lr.delete(e)}async function Ie(e){return a(await o.get(`/projects/${e}/sessions`))}async function lo(e,t,n){return a(await o.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function uo(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/previews`))}async function po(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function go(e,t,n){return a(await o.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function mo(e,t,n){return a(await o.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function je(e,t){let n=a(await o.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||ao(n?.session_id),n}async function fo(e,t,n){return a(await o.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function yo(e,t,n,r){let s=n?`?limit=${n}`:"";return a(await o.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function ho(e,t,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return a(await o.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function bo(e,t,n){return a(await o.patch(`/projects/${e}/sessions/${t}`,n))}async function xo(e,t){return a(await o.delete(`/projects/${e}/sessions/${t}`))}async function rt(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function st(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function ko(e){return a(await o.get(`/projects/${e}/triggers`))}async function Po(e,t){return a(await o.post(`/projects/${e}/triggers`,t))}async function wo(e,t,n){return a(await o.patch(`/projects/${e}/triggers/${t}`,n))}async function _o(e,t){return a(await o.delete(`/projects/${e}/triggers/${t}`))}async function So(e,t){return a(await o.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function vo(e,t){return a(await o.post(`/projects/${e}/triggers/${t}/fire`,{}))}var J=new Map;function ur(e,t){return`${e}::${t}`}function Co(e,t){J.delete(e),J.set(e,t)}function Ro(e,t){let n=ur(e,t),r=J.get(n);return r&&Co(n,r),r}function To(e,t,n){let r=ur(e,t);if(!J.has(r)&&J.size>=512){let s=J.keys().next().value;s!==void 0&&J.delete(s)}Co(r,n)}function Io(e,t){J.delete(ur(e,t))}var pr=class extends Error{status;code;terminal;constructor(t,n){super(t),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function $f(e){return e instanceof Error&&e.name==="SessionStartError"}function Ml(e){let t=e,n=t?.status,r=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new pr(s,{status:n,code:r,terminal:!0}):null}async function Ae(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await o.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let d=Ml(s.error);if(d&&!(d.status===404&&co(t)))throw d;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&To(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:Je(u),sandboxId:u}),c}function Df(e,t){return["session-start",e,t]}async function jo(e){return a(await o.get(`/projects/${e}/model-defaults`))}async function Ao(e,t){return a(await o.put(`/projects/${e}/model-defaults`,t))}async function Eo(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await o.delete(`/projects/${e}/model-defaults?${n}`))}async function qo(e,t,n){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,n))}async function Hf(e,t){return a(await o.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function Wf(e,t,n){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,n))}async function $o(e,t){return a(await o.put(`/projects/${e}/default-agent`,{agent:t}))}function Do(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function Mo(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Do():s.data}async function Uo(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Do():s.data}async function Oo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return a(await o.get(`/billing/transactions${n?`?${n}`:""}`))}async function Lo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return a(await o.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Fo(){return a(await o.get("/billing/credit-breakdown"))}async function Go(e){let t=e!=null?`?days=${e}`:"";return a(await o.get(`/billing/usage-history${t}`))}async function Bo(){return a(await o.get("/billing/tier-configurations"))}async function Xf(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return de(e,`/v1/billing/account-state${t}`)}async function Ko(e){return a(await o.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function No(e,t){return a(await o.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Ho(e,t){return a(await o.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Wo(e,t){return a(await o.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function Vo(e){return a(await o.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function zo(e,t,n){return a(await o.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function Jo(e){return a(await o.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function Xo(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),a(await o.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Qo(e){return a(await o.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function Yo(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function Zo(e){return a(await o.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function ea(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function ta(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Ul={oauth_available:!1,install_url:null};async function na(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Ul:t.data}async function ra(e){return a(await o.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function sa(e){let t=await o.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function ia(e,t){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function oa(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function dr(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Ol={provider:"agentmail",managed_available:!1};async function aa(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?dr(r.data):null}async function ca(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Ol:t.data}async function la(e,t){let n=a(await o.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return dr(n)}async function ua(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function pa(e,t,n){let r=a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return dr(r)}async function da(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/meet/voices`,{showErrors:!1});return t.success?t.data??null:null}async function ga(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/voice`,{voice:t},{showErrors:!1}),"Failed to save voice")}async function ma(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function fa(e,t){let n=await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/voices/${encodeURIComponent(t)}/preview`,{},{showErrors:!1});return!n.success||!n.data?.b64?null:n.data.b64}async function ey(e){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function ty(e,t,n){return a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function ya(e,t,n,r){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/speak`,{bot_id:t,text:n,voice:r},{showErrors:!1}),"Failed to speak in meeting")}async function ha(e){return a(await o.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ba(e,t){return a(await o.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function xa(e){return a(await o.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ka(e,t){return a(await o.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Pa(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return a(await o.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function wa(e,t){return a(await o.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function _a(e,t){return a(await o.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Sa(e,t){return a(await o.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function va(e,t){return a(await o.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ca(e,t){return a(await o.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ra(e,t){return a(await o.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ta(e){return a(await o.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Ia(e,t){return a(await o.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function ja(e,t){return a(await o.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Aa(e){return a(await o.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Ea(e,t){return a(await o.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function qa(e,t){return a(await o.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function $a(e,t,n){return a(await o.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n}),"Gateway request failed")}async function Da(e){let t=new FormData;t.append("audio_file",e);let n=await o.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function Ma(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return a(await o.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Ua(e,t){return a(await o.get(`/projects/${e}/review/items/${t}`))}async function Oa(e,t){return a(await o.post(`/projects/${e}/review/items`,t))}async function La(e,t,n){return a(await o.post(`/projects/${e}/review/items/${t}/act`,n))}async function Fa(e,t){return a(await o.post(`/projects/${e}/review/bulk`,t))}async function Ga(e){return a(await o.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Ba(e){return a(await o.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function Ka(e,t){let n=await o.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var gr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Na(e,t=""){return`${we()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Ha(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new gr(s,t.status)}return r}async function fy(e){return Ha(Na(e))}async function yy(e){return Ha(Na(e,"/messages"))}async function Wa(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/accounts/tokens${t}`))}async function Va(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return a(await o.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function za(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await o.delete(`/accounts/tokens/${e}${n}`))}async function Ja(e){return a(await o.get(`/projects/${e}/cli-token`))}async function Xa(e,t){return a(await o.post(`/projects/${e}/cli-token`,t??{}))}async function Qa(e,t){return a(await o.delete(`/projects/${e}/cli-token/${t}`))}async function Ya(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return a(await o.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Za(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since);let r=n.toString();return a(await o.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function ec(e){return a(await o.get(`/accounts/${e}/audit/webhooks`))}async function tc(e,t){return a(await o.post(`/accounts/${e}/audit/webhooks`,t))}async function nc(e,t,n){return a(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function rc(e,t){return a(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function sc(e,t){return a(await o.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function ic(e,t){return a(await o.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function oc(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source);let n=t.toString()?`?${t.toString()}`:"";return a(await o.get(`/marketplace/items${n}`))}async function ac(){return a(await o.get("/marketplace/marketplaces"))}async function cc(){return a(await o.get("/marketplace/marketplaces/featured"))}async function lc(e){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function uc(e,t){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function pc(){return a(await o.get("/marketplace/sources"))}async function dc(e){return a(await o.post("/marketplace/sources",e),"Failed to add marketplace source")}async function gc(e){return a(await o.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function Ey(e){return a(await o.get(`/templates/${encodeURIComponent(e)}`))}async function qy(e,t){return a(await o.post(`/templates/${encodeURIComponent(e)}/install`,t))}function Uy(e){return e?e.runtimeReady!==void 0?e.runtimeReady===!0:e.opencode!==void 0?e.opencode==="ok"||e.opencode===!0:e.status!=="starting"&&e.status!=="down"&&e.status!=="error":!1}async function mc(e,t){let n=(e===void 0?q():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await R(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var X={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var fc=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,yc=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,hc=new Set([22,4096,parseInt(X.KORTIX_MASTER,10)]);function Ll(e){return yc.test(e)}function it(e){if(!e)return"/";let t=e,n=t.indexOf("](");n!==-1&&(t=t.slice(0,n));let r=t.toLowerCase().indexOf("%5d(");return r!==-1&&(t=t.slice(0,r)),t?t.startsWith("/")?t:`/${t}`:"/"}function Fl(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Gl=new Set(["'",'"',"`","<","(","["]),Bl=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Kl(e){let t=0,n=e.length;for(;t<n&&(e[t]===" "||e[t]===" ");)t++;for(;n>t&&(e[n-1]===" "||e[n-1]===" ");)n--;for(;t<n&&Gl.has(e[t]);)t++;for(;n>t&&Bl.has(e[n-1]);)n--;return e.slice(t,n)}function Nl(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Hl=/^\/proxy\/(\d{1,5})(\/.*)?$/,Wl=/^\/(connectors|settings|dashboard|projects|agents|skills|tools|commands|support|changelog|files|p|browser|desktop|terminal|sessions|services|workspace|channels|scheduled-tasks|marketplace|templates|tunnel|admin|auth)(\/|$|\?)/;function Vl(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Wl.test(t.pathname)}catch{return!1}}function ot(e){if(!e)return null;let t=Kl(Fl(e.trim())),n=kc(t);if(n){let r=it(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(X.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(Hl);if(g){let h=parseInt(g[1],10);if(h>=1&&h<=65535)return s=h,c=it(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let d=it(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${d}`,port:s,path:d}}catch{let r=Nl(e);return r&&r!==e?ot(r):null}}function zl(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let c=r.index,u=c+r[0].length;t.some(([g,h])=>c>=g&&u<=h)||t.push([c,u])}return t}function Jl(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Xl(e){let t=[],n=new Set,r=zl(e);fc.lastIndex=0;let s;for(;(s=fc.exec(e))!==null;){let c=ot(s[0]);if(!c)continue;let{originalUrl:u,port:d,path:g}=c;d<1||d>65535||hc.has(d)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:d,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Jl(s.index,r)}))}return t}function Gy(e){return Xl(e).length>0}function Ql(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function qe(e,t,n){let r=it(t);if(!Ql(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${e}${r}`}return`http://p${e}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function By(e,t){return qe(e,"/",t)}function Yl(e){let t=ot(e);return!(!t||hc.has(t.port)||Vl(e))}function bc(e,t){if(!e)return e;let n=ot(e);return n?Yl(n.originalUrl)?qe(n.port,n.path,t):n.originalUrl:e}function Ky(e,t="/"){return`http://localhost:${e}${t}`}var xc=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function kc(e){let t=e.match(yc);if(t)return{port:parseInt(t[1],10),sandboxId:t[2],backendPort:t[3]?parseInt(t[3],10):80,path:t[4]||"/"};let n=e.match(xc);if(n)try{let r=new URL(e);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function Ny(e){try{let t=kc(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function Hy(e){return Ll(e)||xc.test(e)}var Ee="/web-proxy/";function Wy(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Ee}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(X.KORTIX_MASTER,10);return`${qe(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Vy(e){try{let t=new URL(e),n=t.pathname.indexOf(Ee);if(n===-1)return null;let s=t.pathname.slice(n+Ee.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],d=s[3]||"/";return`${c}://${u}${d}${t.search}${t.hash}`}catch{return null}}function zy(e){try{return new URL(e).pathname.includes(Ee)}catch{return e.includes(Ee)}}function Jy(e){if(!e)return!1;let t=e.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(t)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t))}function Xy(e){let t=e.trim();return t?/^https?:\/\//i.test(t)?t:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t)?`https://${t}`:null:null}var Pc="frontend";function at(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Pc}] ${t}`,...n?[n]:[]);try{Z().app.log({service:Pc,level:e,message:t,extra:n})}catch{}}var Q={debug:(e,t)=>at("debug",e,t),info:(e,t)=>at("info",e,t),warn:(e,t)=>at("warn",e,t),error:(e,t)=>at("error",e,t)};function Zl(e){return{type:"heartbeat-gap",gapMs:e}}function eu(e){switch(e.type){case"message.updated":return{type:"message.updated",sessionID:e.properties.sessionID,message:e.properties.info};case"message.removed":return{type:"message.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:e.properties.sessionID,part:e.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID,partID:e.properties.partID};case"session.status":return{type:"session.status",sessionID:e.properties.sessionID,status:e.properties.status};case"session.idle":return{type:"session.idle",sessionID:e.properties.sessionID};case"session.error":return{type:"session.error",sessionID:e.properties.sessionID,error:e.properties.error};case"question.asked":return{type:"question.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,questions:e.properties.questions,tool:e.properties.tool};case"question.replied":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"replied",answers:e.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,permission:e.properties.permission,patterns:e.properties.patterns,tool:e.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:e.properties.sessionID,requestID:e.properties.requestID,reply:e.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:e.properties.sessionID,todos:e.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var tu={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},nu=16,ru=8,su=6e4,iu=5e3,ou=250,au=1e3,cu=3e4,lu=5,uu=3e3,pu=3e4,du=2e4,gu=2e3,mu=8;function fu(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function wc(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function mr(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??tu,d=e.connectTimeoutMs??du,g=e.heartbeatTimeoutMs??su,h=e.maxConsecutiveHardFailures??mu,m=new AbortController,x=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",x,{once:!0}));let w=u.now(),k=[],l,i=0,P=new Map,_=()=>{if(l&&u.clearTimeout(l),l=void 0,k.length===0)return;let A=k;k=[],P.clear(),i=u.now(),w=u.now();for(let v of A)if(v)try{n(v.event)}catch(T){console.warn("[opencode-events] event handler threw, skipping",T)}},D=()=>{if(l)return;let A=u.now()-i;l=u.setTimeout(_,Math.max(0,nu-A))};return(async()=>{let A=0,v=0;for(;!m.signal.aborted;){let T=!1,j=!1,f,S,U=null,K=u.now(),M=new AbortController,O=wc(m.signal);O.promise.then(()=>M.abort());try{let F=await new Promise((yt,he)=>{let G=!1;S=u.setTimeout(()=>{G||(G=!0,Q.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:d}),M.abort(),he(new Error(`SSE connect timed out after ${d}ms`)))},d),t.global.event({signal:M.signal,sseDefaultRetryDelay:uu,sseMaxRetryDelay:pu,sseMaxRetryAttempts:1}).then(H=>{G||(G=!0,u.clearTimeout(S),yt(H))},H=>{G||(G=!0,u.clearTimeout(S),he(H))})}),{stream:E}=F;w=u.now();let B=()=>{u.clearTimeout(f),f=u.setTimeout(()=>{Q.warn("SSE heartbeat timeout, forcing reconnect"),M.abort()},g)};B();let Fe=u.now(),Nc=E[Symbol.asyncIterator]();for(;!M.signal.aborted;){let yt=Nc.next().then(V=>({kind:"next",result:V}),V=>({kind:"error",error:V})),he=wc(M.signal),G=await Promise.race([yt,he.promise.then(()=>({kind:"aborted"}))]);if(he.cleanup(),G.kind==="aborted")break;if(G.kind==="error")throw G.error;if(G.result.done)break;T=!0,B();let H=G.result.value,Ge=H&&typeof H=="object"&&"payload"in H?H.payload:H;if(!Ge?.type)continue;let ht=fu(Ge);if(ht){let V=P.get(ht);V!==void 0&&(k[V]=void 0),P.set(ht,k.length)}k.push({type:Ge.type,event:Ge}),D(),!(u.now()-Fe<ru)&&(Fe=u.now(),await new Promise(V=>u.setTimeout(V,0)))}j=T}catch(F){if(m.signal.aborted)break;U=F;let E=String(F),B=E.includes("401")||E.includes("403")||E.includes("Unauthorized")||E.includes("Token refresh failed");if(Q.error("SSE event stream error",{error:E,retryCount:A,isAuthError:B}),B)try{Ve(),await Gn(),Q.info("SSE: refreshed auth token after auth error")}catch(Fe){Q.error("SSE: failed to refresh auth token",{error:String(Fe)})}}finally{u.clearTimeout(f),u.clearTimeout(S),M.abort(),O.cleanup(),_()}if(m.signal.aborted)break;let se=u.now()-K,Le=U?.cause?.status;if(v=!T&&(typeof Le=="number"&&Le>=400||se<gu)?v+1:0,v>=h){Q.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(U)});try{s?.({consecutiveFailures:v,lastError:U})}catch(F){console.warn("[opencode-events] onParked handler threw",F)}break}let ye=u.now()-w;ye>iu&&r?.(ye),j?A=0:(A++,A>1&&Q.warn("SSE event stream reconnecting",{retryCount:A}));let N=j?ou:Math.min(au*2**Math.min(A-1,lu),cu);await new Promise(F=>{let E=u.setTimeout(F,N),B=()=>{u.clearTimeout(E),F()};m.signal.addEventListener("abort",B,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",x),l&&u.clearTimeout(l)}}}function yu(){return Z()}var ct=new Map,lt=class extends Error{constructor(t){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${t}\`.`),this.name="SessionNotReadyError"}};function hu(e,t){xt(e,t);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new C(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let i=I().backendUrl??e.backendUrl,P=80,_=n(i);return _&&(P=_.port?Number(_.port):_.protocol==="https:"?443:80),{sandboxId:l,backendPort:P,apiBaseUrl:i}}let s={list:rs,get:is,create:ss,updateName:os,leave:hs,members:as,invite:cs,removeMember:fs,updateMemberRole:ys,invites:ls,cancelInvite:us,resendInvite:ps,tokens:{list:Wa,create:Va,revoke:za},audit:{log:Ya,export:Za,webhooks:{list:ec,create:tc,update:nc,remove:rc}}},c={accountState:Mo,accountStateMinimal:Uo,transactions:Oo,transactionsSummary:Lo,creditBreakdown:Fo,usageHistory:Go,tierConfigurations:Bo,checkout:{createSession:l=>Ko(l),confirmSession:(l,i)=>No(l,i)},subscription:{createPortalSession:(l,i)=>Ho(l,i),cancel:(l,i)=>Wo(l,i),reactivate:l=>Vo(l),scheduleDowngrade:(l,i,P)=>zo(l,i,P),cancelScheduledChange:l=>Jo(l),prorationPreview:(l,i)=>Xo(l,i)},credits:{purchase:l=>Qo(l),autoTopupSettings:l=>Yo(l),configureAutoTopup:l=>Zo(l)}},u={describe:ds,accept:gs,decline:ms},d={list:ge,listForAccount:xs,get:nr,detail:rr,create:_s,createRepo:Ss,provision:vs,update:or,archive:ar,llmCatalog:sr,modelPicker:ir,sandboxHealth:cr,sandboxTemplates:Ei,sessions:Ie,createSession:je},g={linkRepository:Is,getInstallation:js,listInstallations:As,listRepositories:Es,listRepositoryBranches:qs,saveInstallation:$s,deleteInstallation:Ds},h={list:Ga,create:Ba,revoke:Ka},m=Ri,x={items:l=>oc(l),item:l=>lc(l),itemFile:(l,i)=>uc(l,i),marketplaces:()=>ac(),featured:()=>cc(),sources:{list:()=>pc(),add:l=>dc(l),remove:l=>gc(l)}};function w(l){return{get:i=>nr(l,i),detail:()=>rr(l),update:i=>or(l,i),archive:()=>ar(l),llmCatalog:()=>sr(l),modelPicker:()=>ir(l),sandboxHealth:()=>cr(l),onboardingComplete:(...i)=>Ts(l,...i),tokens:{list:()=>Ja(l),create:i=>Xa(l,i),revoke:i=>Qa(l,i)},setupLinks:{requestSecret:i=>sc(l,i),requestConnector:i=>ic(l,i)},validateManifest:i=>Ps(l,i),gitToken:()=>ws(l),secrets:{list:()=>ni(l),upsert:i=>ri(l,i),remove:i=>ai(l,i),setPersonal:(...i)=>ci(l,...i),removePersonal:i=>li(l,i),setGitCredential:i=>oi(l,i),startProviderOAuth:(...i)=>si(l,...i),pollProviderOAuth:(...i)=>ii(l,...i)},access:{list:()=>Ls(l),invite:(...i)=>Bs(l,...i),update:(...i)=>Fs(l,...i),revoke:i=>Gs(l,i),pendingInvites:()=>Ks(l),resendInvite:(...i)=>Hs(l,...i),revokeInvite:(...i)=>Ns(l,...i),requests:()=>Ms(l),approveRequest:(...i)=>Us(l,...i),rejectRequest:(...i)=>Os(l,...i),groupGrants:()=>Ws(l),attachGroupGrant:(...i)=>Vs(l,...i),updateGroupGrant:(...i)=>zs(l,...i),detachGroupGrant:i=>Js(l,i),resourceGrants:{list:()=>Xs(l),create:i=>Qs(l,i),remove:i=>Ys(l,i)}},connectors:{list:()=>fi(l),config:(...i)=>Pi(l,...i),create:(...i)=>Si(l,...i),remove:(...i)=>vi(l,...i),sync:()=>yi(l),setName:(...i)=>wi(l,...i),setCredentialMode:(...i)=>hi(l,...i),setCredential:(...i)=>Ti(l,...i),setSensitive:(...i)=>bi(l,...i),profiles:{list:()=>ui(l),reconcile:(...i)=>pi(l,...i),updateCredential:(...i)=>di(l,...i),revoke:(...i)=>gi(l,...i),activate:(...i)=>mi(l,...i)},policies:{get:(...i)=>xi(l,...i),set:(...i)=>ki(l,...i)},pipedream:{listApps:(...i)=>Ci(l,...i),connect:(...i)=>_i(l,...i),finalize:(...i)=>Ii(l,...i)}},policies:{list:()=>ji(l),set:(...i)=>Ai(l,...i)},triggers:{list:()=>ko(l),create:(...i)=>Po(l,...i),update:(...i)=>wo(l,...i),remove:(...i)=>_o(l,...i),fire:(...i)=>vo(l,...i),setActivation:(...i)=>So(l,...i)},files:{list:i=>Gi(l,i),read:(i,P)=>Ki(l,i,P),search:(...i)=>Bi(l,...i),archive:(...i)=>Ni(l,...i),history:(...i)=>Ji(l,...i)},git:{commits:()=>Wi(l),commit:i=>Vi(l,i),commitDiff:i=>zi(l,i),branches:()=>Hi(l),versionDiff:(...i)=>Xi(l,...i),inviteCollaborator:(...i)=>ks(l,...i)},changeRequests:{list:()=>Qi(l),get:i=>Yi(l,i),diff:i=>Zi(l,i),mergePreview:i=>eo(l,i),open:(...i)=>to(l,...i),merge:(...i)=>no(l,...i),close:(...i)=>ro(l,...i),reopen:(...i)=>so(l,...i),requestChanges:(...i)=>io(l,...i)},sessions:{list:()=>Ie(l),create:i=>je(l,i)},review:{list:i=>Ma(l,i),get:i=>Ua(l,i),submit:i=>Oa(l,i),act:(...i)=>La(l,...i),bulkAct:i=>Fa(l,i)},approvals:{list:i=>Zs(l,i),resolve:(...i)=>ti(l,...i),sessionsNeedingInput:i=>ei(l,i)},gateway:{logs:i=>Pa(l,i),log:i=>wa(l,i),overview:i=>_a(l,i),series:i=>Sa(l,i),breakdown:i=>va(l,i),sessions:i=>Ca(l,i),errors:i=>Ra(l,i),budgets:()=>Ta(l),setBudget:i=>Ia(l,i),deleteBudget:i=>ja(l,i),keys:()=>Aa(l),createKey:i=>Ea(l,i),revokeKey:i=>qa(l,i),routing:{get:()=>ha(l),set:i=>ba(l,i),reset:()=>xa(l),preview:i=>ka(l,i)},playground:(i,P)=>$a(l,i,P)},channels:{slack:{installation:()=>ea(l),connect:i=>ta(l,i),mode:()=>na(l),manifest:()=>ra(l),disconnect:()=>sa(l),getFile:i=>ia(l,i),uploadFile:i=>oa(l,i)},email:{installation:i=>aa(l,i),mode:()=>ca(l),connect:i=>la(l,i),disconnect:i=>ua(l,i),updatePolicy:(...i)=>pa(l,...i)},meet:{voices:()=>da(l),setVoice:i=>ga(l,i),setBotName:i=>ma(l,i),previewVoice:i=>fa(l,i),speak:(i,P,_)=>ya(l,i,P,_)}},updateExperimentalFeature:(...i)=>Cs(l,...i),modelDefaults:{get:()=>jo(l),set:i=>Ao(l,i),clear:i=>Eo(l,i)},setDefaultAgent:i=>$o(l,i),sandbox:{list:()=>Fi(l),snapshots:()=>qi(l),rebuildSnapshot:i=>$i(l,i),fixWithAgent:()=>Di(l),createTemplate:i=>Mi(l,i),updateTemplate:(...i)=>Ui(l,...i),removeTemplate:i=>Oi(l,i),buildTemplate:i=>Li(l,i),setProvider:i=>Rs(l,i)},setAgentScope:(...i)=>qo(l,...i),session:i=>k(l,i)}}function k(l,i){let P=null,_,D;function A(){if(P)return P;let f=Ro(l,i);return f&&(P=f),P}async function v(){let f=A();if(f)return f;let S=`${l}
|
|
8
|
-
${i}`,U=ct.get(S);if(U)return P=await U,P;let K=(async()=>{let M=await
|
|
7
|
+
`);try{N=JSON.parse(E),F=!0}catch{N=E}}F&&(s&&await s(N),n&&(N=await n(N))),r?.({data:N,event:ye,id:x,retry:i}),fe.length&&(yield N)}}}finally{_.removeEventListener("abort",U),f.releaseLock()}break}catch(j){if(t?.(j),u!==void 0&&P>=u)break;let v=Math.min(i*2**(P-1),d??3e4);await w(v)}}}()}};var Jc=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Xc=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Qc=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ke=({allowReserved:e,explode:t,name:r,style:n,value:s})=>{if(!t){let d=(e?s:s.map(g=>encodeURIComponent(g))).join(Xc(n));switch(n){case"label":return`.${d}`;case"matrix":return`;${r}=${d}`;case"simple":return d;default:return`${r}=${d}`}}let c=Jc(n),u=s.map(d=>n==="label"||n==="simple"?e?d:encodeURIComponent(d):ie({allowReserved:e,name:r,value:d})).join(c);return n==="label"||n==="matrix"?c+u:u},ie=({allowReserved:e,name:t,value:r})=>{if(r==null)return"";if(typeof r=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?r:encodeURIComponent(r)}`},Ne=({allowReserved:e,explode:t,name:r,style:n,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${r}=${s.toISOString()}`;if(n!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,x])=>{g=[...g,m,e?x:encodeURIComponent(x)]});let h=g.join(",");switch(n){case"form":return`${r}=${h}`;case"label":return`.${h}`;case"matrix":return`;${r}=${h}`;default:return h}}let u=Qc(n),d=Object.entries(s).map(([g,h])=>ie({allowReserved:e,name:n==="deepObject"?`${r}[${g}]`:g,value:h})).join(u);return n==="label"||n==="matrix"?u+d:d};var Yc=/\{[^{}]+\}/g,Zc=({path:e,url:t})=>{let r=t,n=t.match(Yc);if(n)for(let s of n){let c=!1,u=s.substring(1,s.length-1),d="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),d="label"):u.startsWith(";")&&(u=u.substring(1),d="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){r=r.replace(s,Ke({explode:c,name:u,style:d,value:g}));continue}if(typeof g=="object"){r=r.replace(s,Ne({explode:c,name:u,style:d,value:g,valueOnly:!0}));continue}if(d==="matrix"){r=r.replace(s,`;${ie({name:u,value:g})}`);continue}let h=encodeURIComponent(d==="label"?`.${g}`:g);r=r.replace(s,h)}return r},vn=({baseUrl:e,path:t,query:r,querySerializer:n,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=Zc({path:t,url:u}));let d=r?n(r):"";return d.startsWith("?")&&(d=d.substring(1)),d&&(u+=`?${d}`),u};function Pt(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(t)return e.body}var Cn=async(e,t)=>{let r=typeof t=="function"?await t(e):t;if(r)return e.scheme==="bearer"?`Bearer ${r}`:e.scheme==="basic"?`Basic ${btoa(r)}`:r};var wt={bodySerializer:e=>JSON.stringify(e,(t,r)=>typeof r=="bigint"?r.toString():r)};var Rn=({parameters:e={},...t}={})=>n=>{let s=[];if(n&&typeof n=="object")for(let c in n){let u=n[c];if(u==null)continue;let d=e[c]||t;if(Array.isArray(u)){let g=Ke({allowReserved:d.allowReserved,explode:!0,name:c,style:"form",value:u,...d.array});g&&s.push(g)}else if(typeof u=="object"){let g=Ne({allowReserved:d.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...d.object});g&&s.push(g)}else{let g=ie({allowReserved:d.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},Tn=e=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(r=>t.startsWith(r)))return"blob";if(t.startsWith("text/"))return"text"}},el=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,In=async({security:e,...t})=>{for(let r of e){if(el(t,r.name))continue;let n=await Cn(r,t.auth);if(!n)continue;let s=r.name??"Authorization";switch(r.in){case"query":t.query||(t.query={}),t.query[s]=n;break;case"cookie":t.headers.append("Cookie",`${s}=${n}`);break;default:t.headers.set(s,n);break}}},_t=e=>vn({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Rn(e.querySerializer),url:e.url}),St=(e,t)=>{let r={...e,...t};return r.baseUrl?.endsWith("/")&&(r.baseUrl=r.baseUrl.substring(0,r.baseUrl.length-1)),r.headers=He(e.headers,t.headers),r},tl=e=>{let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t},He=(...e)=>{let t=new Headers;for(let r of e){if(!r)continue;let n=r instanceof Headers?tl(r):Object.entries(r);for(let[s,c]of n)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},be=class{fns=[];clear(){this.fns=[]}eject(t){let r=this.getInterceptorIndex(t);this.fns[r]&&(this.fns[r]=null)}exists(t){let r=this.getInterceptorIndex(t);return!!this.fns[r]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,r){let n=this.getInterceptorIndex(t);return this.fns[n]?(this.fns[n]=r,t):!1}use(t){return this.fns.push(t),this.fns.length-1}},An=()=>({error:new be,request:new be,response:new be}),rl=Rn({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),nl={"Content-Type":"application/json"},xe=(e={})=>({...wt,headers:nl,parseAs:"auto",querySerializer:rl,...e});var ke=(e={})=>{let t=St(xe(),e),r=()=>({...t}),n=h=>(t=St(t,h),r()),s=An(),c=async h=>{let m={...t,...h,fetch:h.fetch??t.fetch??globalThis.fetch,headers:He(t.headers,h.headers),serializedBody:void 0};m.security&&await In({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let x=_t(m);return{opts:m,url:x}},u=async h=>{let{opts:m,url:x}=await c(h),w={redirect:"follow",...m,body:Pt(m)},k=new Request(x,w);for(let T of s.request.fns)T&&(k=await T(k,m));let l=m.fetch,i;try{i=await l(k)}catch(T){let A=T;for(let f of s.error.fns)f&&(A=await f(T,void 0,k,m));if(A=A||{},m.throwOnError)throw A;return m.responseStyle==="data"?void 0:{error:A,request:k,response:void 0}}for(let T of s.response.fns)T&&(i=await T(i,k,m));let P={request:k,response:i};if(i.ok){let T=(m.parseAs==="auto"?Tn(i.headers.get("Content-Type")):m.parseAs)??"json";if(i.status===204||i.headers.get("Content-Length")==="0"){let f;switch(T){case"arrayBuffer":case"blob":case"text":f=await i[T]();break;case"formData":f=new FormData;break;case"stream":f=i.body;break;default:f={};break}return m.responseStyle==="data"?f:{data:f,...P}}let A;switch(T){case"arrayBuffer":case"blob":case"formData":case"text":A=await i[T]();break;case"json":{let f=await i.text();A=f?JSON.parse(f):{};break}case"stream":return m.responseStyle==="data"?i.body:{data:i.body,...P}}return T==="json"&&(m.responseValidator&&await m.responseValidator(A),m.responseTransformer&&(A=await m.responseTransformer(A))),m.responseStyle==="data"?A:{data:A,...P}}let _=await i.text(),D;try{D=JSON.parse(_)}catch{}let j=D??_,v=j;for(let T of s.error.fns)T&&(v=await T(j,i,k,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...P}},d=h=>m=>u({...m,method:h}),g=h=>async m=>{let{opts:x,url:w}=await c(m);return Sn({...x,body:x.body,headers:x.headers,method:h,onRequest:async(k,l)=>{let i=new Request(k,l);for(let P of s.request.fns)P&&(i=await P(i,x));return i},serializedBody:Pt(x),url:w})};return{buildUrl:_t,connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),getConfig:r,head:d("HEAD"),interceptors:s,options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),request:u,setConfig:n,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:d("TRACE")}};var sl={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},il=Object.entries(sl),jn=(e,t)=>{t||(t=new Map);for(let r of e)"in"in r?r.key&&t.set(r.key,{in:r.in,map:r.map}):"key"in r?t.set(r.key,{map:r.map}):r.args&&jn(r.args,t);return t},ol=e=>{for(let[t,r]of Object.entries(e))r&&typeof r=="object"&&!Object.keys(r).length&&delete e[t]},p=(e,t)=>{let r={body:{},headers:{},path:{},query:{}},n=jn(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let d=n.get(s.key),g=d.map||s.key;d.in&&(r[d.in][g]=u)}else r.body=u;else for(let[d,g]of Object.entries(u??{})){let h=n.get(d);if(h)if(h.in){let m=h.map||d;r[h.in][m]=g}else r[h.map]=g;else{let m=il.find(([x])=>d.startsWith(x));if(m){let[x,w]=m;r[w][d.slice(x.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[x,w]of Object.entries(s.allowExtra))if(w){r[x][d]=g;break}}}}return ol(r),r};var En=ke(xe({baseUrl:"http://localhost:4096"}));var y=class{client;constructor(t){this.client=t?.client??En}},vt=class{defaultKey="default";instances=new Map;get(t){let r=this.instances.get(t??this.defaultKey);if(!r)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return r}set(t,r){this.instances.set(r??this.defaultKey,t)}},Ct=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"}]}]);return(r?.client??this.client).delete({url:"/auth/{providerID}",...r,...n})}set(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(r?.client??this.client).put({url:"/auth/{providerID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Rt=class extends y{log(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(r?.client??this.client).post({url:"/log",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}agents(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/agent",...r,...n})}skills(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/skill",...r,...n})}},Tt=class extends y{moveSession(t,r){let n=p([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(r?.client??this.client).post({url:"/experimental/control-plane/move-session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},It=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/capabilities",...r,...n})}},At=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/console",...r,...n})}listOrgs(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/console/orgs",...r,...n})}switchOrg(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(r?.client??this.client).post({url:"/experimental/console/switch",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},jt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(r?.client??this.client).get({url:"/experimental/session",...r,...n})}background(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...r,...n})}},Et=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/resource",...r,...n})}},qt=class extends y{generateName(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(r?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},$t=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/workspace/adapter",...r,...n})}},Dt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/workspace",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(r?.client??this.client).post({url:"/experimental/workspace",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}syncList(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/experimental/workspace/sync-list",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/workspace/status",...r,...n})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/experimental/workspace/{id}",...r,...n})}warp(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(r?.client??this.client).post({url:"/experimental/workspace/warp",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_adapter;get adapter(){return this._adapter??=new $t({client:this.client})}},Mt=class extends y{_controlPlane;get controlPlane(){return this._controlPlane??=new Tt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new It({client:this.client})}_console;get console(){return this._console??=new At({client:this.client})}_session;get session(){return this._session??=new jt({client:this.client})}_resource;get resource(){return this._resource??=new Et({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new qt({client:this.client})}_workspace;get workspace(){return this._workspace??=new Dt({client:this.client})}},Ut=class extends y{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,r){let n=p([t],[{args:[{key:"config",map:"body"}]}]);return(r?.client??this.client).patch({url:"/global/config",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Ot=class extends y{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,r){let n=p([t],[{args:[{in:"body",key:"target"}]}]);return(r?.client??this.client).post({url:"/global/upgrade",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_config;get config(){return this._config??=new Ut({client:this.client})}},Lt=class extends y{subscribe(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).sse.get({url:"/event",...r,...n})}},Ft=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/config",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(r?.client??this.client).patch({url:"/config",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}providers(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/config/providers",...r,...n})}},Gt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(r?.client??this.client).get({url:"/experimental/tool",...r,...n})}ids(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/tool/ids",...r,...n})}},Bt=class extends y{remove(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(r?.client??this.client).delete({url:"/experimental/worktree",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/worktree",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(r?.client??this.client).post({url:"/experimental/worktree",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}reset(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(r?.client??this.client).post({url:"/experimental/worktree/reset",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Kt=class extends y{text(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(r?.client??this.client).get({url:"/find",...r,...n})}files(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(r?.client??this.client).get({url:"/find/file",...r,...n})}symbols(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(r?.client??this.client).get({url:"/find/symbol",...r,...n})}},Nt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(r?.client??this.client).get({url:"/file",...r,...n})}read(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(r?.client??this.client).get({url:"/file/content",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/file/status",...r,...n})}},Ht=class extends y{dispose(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/instance/dispose",...r,...n})}},Vt=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/path",...r,...n})}},Wt=class extends y{raw(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/vcs/diff/raw",...r,...n})}},zt=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/vcs",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/vcs/status",...r,...n})}diff(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(r?.client??this.client).get({url:"/vcs/diff",...r,...n})}apply(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(r?.client??this.client).post({url:"/vcs/apply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_diff;get diff2(){return this._diff??=new Wt({client:this.client})}},Jt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/command",...r,...n})}},Xt=class extends y{status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/lsp",...r,...n})}},Qt=class extends y{status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/formatter",...r,...n})}},Yt=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/mcp/{name}/auth",...r,...n})}start(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/auth",...r,...n})}callback(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/auth/callback",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}authenticate(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...r,...n})}},Zt=class extends y{status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/mcp",...r,...n})}add(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{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(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/connect",...r,...n})}disconnect(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/disconnect",...r,...n})}_auth;get auth(){return this._auth??=new Yt({client:this.client})}},er=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/project",...r,...n})}current(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/project/current",...r,...n})}initGit(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/project/git/init",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(r?.client??this.client).patch({url:"/project/{projectID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}directories(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/project/{projectID}/directories",...r,...n})}},tr=class extends y{shells(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/pty/shells",...r,...n})}list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/pty",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(r?.client??this.client).post({url:"/pty",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/pty/{ptyID}",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/pty/{ptyID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(r?.client??this.client).put({url:"/pty/{ptyID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connectToken(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...r,...n})}connect(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(r?.client??this.client).get({url:"/pty/{ptyID}/connect",...r,...n})}},rr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/question",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(r?.client??this.client).post({url:"/question/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}reject(t,r){let n=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/question/{requestID}/reject",...r,...n})}},nr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/permission",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(r?.client??this.client).post({url:"/permission/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}respond(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},sr=class extends y{authorize(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(r?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}callback(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(r?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},ir=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/provider",...r,...n})}auth(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/provider/auth",...r,...n})}_oauth;get oauth(){return this._oauth??=new sr({client:this.client})}},or=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(r?.client??this.client).get({url:"/session",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(r?.client??this.client).post({url:"/session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/status",...r,...n})}delete(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(r?.client??this.client).patch({url:"/session/{sessionID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}children(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/children",...r,...n})}todo(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/todo",...r,...n})}diff(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/diff",...r,...n})}messages(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/message",...r,...n})}prompt(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/message",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}deleteMessage(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...r,...n})}message(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...r,...n})}fork(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/fork",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}abort(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/abort",...r,...n})}init(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/init",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}unshare(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}/share",...r,...n})}share(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/share",...r,...n})}summarize(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/summarize",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}promptAsync(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}command(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}shell(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/shell",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}revert(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{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(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/unrevert",...r,...n})}},ar=class extends y{delete(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(r?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},cr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(r?.client??this.client).post({url:"/sync/history",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},lr=class extends y{start(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/sync/start",...r,...n})}replay(t,r){let n=p([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(r?.client??this.client).post({url:"/sync/replay",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}steal(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/sync/steal",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_history;get history(){return this._history??=new cr({client:this.client})}},ur=class extends y{next(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/tui/control/next",...r,...n})}response(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(r?.client??this.client).post({url:"/tui/control/response",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},pr=class extends y{appendPrompt(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{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(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-help",...r,...n})}openSessions(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-sessions",...r,...n})}openThemes(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-themes",...r,...n})}openModels(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-models",...r,...n})}submitPrompt(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/submit-prompt",...r,...n})}clearPrompt(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/clear-prompt",...r,...n})}executeCommand(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{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(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(r?.client??this.client).post({url:"/tui/show-toast",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}publish(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{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(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{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}})}_control;get control(){return this._control??=new ur({client:this.client})}},dr=class extends y{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},gr=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/location",...r,...n})}},mr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/agent",...r,...n})}},fr=class extends y{stage(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}clear(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...r,...n})}commit(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...r,...n})}},yr=class extends y{list(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/permission",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},hr=class extends y{list(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/question",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}reject(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...r,...n})}},br=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(r?.client??this.client).get({url:"/api/session",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(r?.client??this.client).post({url:"/api/session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}get(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}",...r,...n})}switchAgent(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/agent",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}switchModel(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/model",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}prompt(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}compact(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/compact",...r,...n})}wait(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/wait",...r,...n})}context(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/context",...r,...n})}messages(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/message",...r,...n})}_revert;get revert(){return this._revert??=new fr({client:this.client})}_permission;get permission(){return this._permission??=new yr({client:this.client})}_question;get question(){return this._question??=new hr({client:this.client})}},xr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/model",...r,...n})}},kr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/provider",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/provider/{providerID}",...r,...n})}},Pr=class extends y{key(t,r){let n=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(r?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}oauth(t,r){let n=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(r?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},wr=class extends y{cancel(t,r){let n=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...r,...n})}complete(t,r){let n=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(r?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},_r=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/integration",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/integration/{integrationID}",...r,...n})}_connect;get connect(){return this._connect??=new Pr({client:this.client})}_attempt;get attempt(){return this._attempt??=new wr({client:this.client})}},Sr=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).delete({url:"/api/credential/{credentialID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(r?.client??this.client).patch({url:"/api/credential/{credentialID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},vr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/permission/request",...r,...n})}},Cr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"projectID"}]}]);return(r?.client??this.client).get({url:"/api/permission/saved",...r,...n})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"id"}]}]);return(r?.client??this.client).delete({url:"/api/permission/saved/{id}",...r,...n})}},Rr=class extends y{_request;get request(){return this._request??=new vr({client:this.client})}_saved;get saved(){return this._saved??=new Cr({client:this.client})}},Tr=class extends y{read(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/fs/read/*",...r,...n})}list(t,r){let n=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(r?.client??this.client).get({url:"/api/fs/list",...r,...n})}find(t,r){let n=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(r?.client??this.client).get({url:"/api/fs/find",...r,...n})}},Ir=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/command",...r,...n})}},Ar=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/skill",...r,...n})}},jr=class extends y{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Er=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/pty",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(r?.client??this.client).post({url:"/api/pty",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).delete({url:"/api/pty/{ptyID}",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/pty/{ptyID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(r?.client??this.client).put({url:"/api/pty/{ptyID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connectToken(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...r,...n})}connect(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(r?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...r,...n})}},qr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/question/request",...r,...n})}},$r=class extends y{_request;get request(){return this._request??=new qr({client:this.client})}},Dr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/reference",...r,...n})}},Mr=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(r?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}create(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(r?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}refresh(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...r,...n})}},Ur=class extends y{_health;get health(){return this._health??=new dr({client:this.client})}_location;get location(){return this._location??=new gr({client:this.client})}_agent;get agent(){return this._agent??=new mr({client:this.client})}_session;get session(){return this._session??=new br({client:this.client})}_model;get model(){return this._model??=new xr({client:this.client})}_provider;get provider(){return this._provider??=new kr({client:this.client})}_integration;get integration(){return this._integration??=new _r({client:this.client})}_credential;get credential(){return this._credential??=new Sr({client:this.client})}_permission;get permission(){return this._permission??=new Rr({client:this.client})}_fs;get fs(){return this._fs??=new Tr({client:this.client})}_command;get command(){return this._command??=new Ir({client:this.client})}_skill;get skill(){return this._skill??=new Ar({client:this.client})}_event;get event(){return this._event??=new jr({client:this.client})}_pty;get pty(){return this._pty??=new Er({client:this.client})}_question;get question(){return this._question??=new $r({client:this.client})}_reference;get reference(){return this._reference??=new Dr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Mr({client:this.client})}},Ve=class e extends y{static __registry=new vt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Ct({client:this.client})}_app;get app(){return this._app??=new Rt({client:this.client})}_experimental;get experimental(){return this._experimental??=new Mt({client:this.client})}_global;get global(){return this._global??=new Ot({client:this.client})}_event;get event(){return this._event??=new Lt({client:this.client})}_config;get config(){return this._config??=new Ft({client:this.client})}_tool;get tool(){return this._tool??=new Gt({client:this.client})}_worktree;get worktree(){return this._worktree??=new Bt({client:this.client})}_find;get find(){return this._find??=new Kt({client:this.client})}_file;get file(){return this._file??=new Nt({client:this.client})}_instance;get instance(){return this._instance??=new Ht({client:this.client})}_path;get path(){return this._path??=new Vt({client:this.client})}_vcs;get vcs(){return this._vcs??=new zt({client:this.client})}_command;get command(){return this._command??=new Jt({client:this.client})}_lsp;get lsp(){return this._lsp??=new Xt({client:this.client})}_formatter;get formatter(){return this._formatter??=new Qt({client:this.client})}_mcp;get mcp(){return this._mcp??=new Zt({client:this.client})}_project;get project(){return this._project??=new er({client:this.client})}_pty;get pty(){return this._pty??=new tr({client:this.client})}_question;get question(){return this._question??=new rr({client:this.client})}_permission;get permission(){return this._permission??=new nr({client:this.client})}_provider;get provider(){return this._provider??=new ir({client:this.client})}_session;get session(){return this._session??=new or({client:this.client})}_part;get part(){return this._part??=new ar({client:this.client})}_sync;get sync(){return this._sync??=new lr({client:this.client})}_tui;get tui(){return this._tui??=new pr({client:this.client})}_v2;get v2(){return this._v2??=new Ur({client:this.client})}};function $n(e,t,r,n){if(!n?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let c=e,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||qn(r,t);return new Error(u,{cause:{body:e,status:t?.status}})}if(typeof e=="string"&&e.length>0)return new Error(e,{cause:{body:e,status:t?.status}});let s=t?"(empty response body)":"network error (no response)";return new Error(`opencode server ${qn(r,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function qn(e,t){let r=e?.method??"?",n=e?.url??"?",s=t?.status,c=t?.statusText;return`${r} ${n}${s?" \u2192 "+s:""}${c?" "+c:""}`}function al(e,t,r){if(e)return t&&(e===t||r&&e===r(t))?t:e}function cl(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let r=new URL(e.url),n=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let d=al(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(d){for(let g of r.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])r.searchParams.has(g)||r.searchParams.set(g,d);n=!0}}if(!n)return e;let s=new Request(r,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function Or(e){e?.fetch||(e={...e,fetch:n=>(n.timeout=!1,fetch(n))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)}),e?.experimental_workspaceID&&(e.headers={...e.headers,"x-opencode-workspace":e.experimental_workspaceID});let t=ke(e);return t.interceptors.request.use(r=>cl(r,{directory:e?.directory,workspace:e?.experimental_workspaceID})),t.interceptors.response.use(r=>{if(r.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return r}),t.interceptors.error.use($n),new Ve({client:t})}function ll(e){return new Promise(t=>setTimeout(t,e))}async function Dn(e,t,r){let n=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let d=0;d<n;d++)if(d>0&&(c&&r?.(),s>0&&await ll(s)),u=await e(),u)return u;return u}var ul=3e4;function pl(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function Mn(e,t,r=ul){let n=e instanceof Request?e.signal:t?.signal;if(pl(e))return n??void 0;let s=AbortSignal.timeout(r);return n?typeof AbortSignal.any=="function"?AbortSignal.any([n,s]):n:s}function Lr(e,t,r){let n=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,c)=>{n.set(c,s)}),r&&!n.has("Authorization")&&n.set("Authorization",`Bearer ${r}`),n}function Un(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function Fr(){return I().getToken()}async function Pe(e){return Dn(()=>I().getToken(),e,We)}function We(){}function qd(e){}function $d(e){}async function ze(){return Fr()}async function On(e){return Pe(e)}function Ln(e,t,r,n){if(e instanceof Request){let s=new Request(e,{headers:r,...n?{signal:n}:{}});return fetch(s)}return fetch(e,{...t,headers:r,...n?{signal:n}:{}})}async function R(e,t,r){let{retryOnAuthError:n=!0}=r??{},s=await On();if(!s)return Un();let c=Lr(e,t,s),u=Mn(e,t),d=await Ln(e,t,c,u);if(d.status===401&&n&&s){We();let g=await On({attempts:2,baseDelayMs:200});if(g&&g!==s){let h=Lr(e,t,g);return Ln(e,t,h,u)}}return d}var oe={url:null,sandboxId:null,dbSandboxId:null,version:0},dl=new Set;function Fn(e,t=null,r=null){if(!(oe.url===e&&oe.sandboxId===t&&oe.dbSandboxId===r)){oe={url:e,sandboxId:t,dbSandboxId:r,version:oe.version+1};for(let n of dl)n()}}function Gn(){return oe.url}function gl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function we(){return gl(I().backendUrl||"http://localhost:8008/v1")}function Bn(){let e=I().sandboxId||"";return`${we()}/p/${e}/8000`}function ml(e){return`${we()}/p/${e}/8000`}function Je(e){return ml(e)}function q(){let e=Gn();return e||(I().billingEnabled??!1?"":Bn())}var C=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,r={}){super(t),this.name="ApiError";let{name:n,stack:s,...c}=r;Object.assign(this,c),n&&(this.name=n),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},_e=class extends C{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},ae=class e extends Error{status;detail;constructor(t,r,n){super(n||r.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=r,Object.setPrototypeOf(this,e.prototype)}},Se=class e extends Error{status;detail;constructor(t=431,r,n){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(n||r?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:r?.message||s,suggestion:r?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function ve(e){let t=e.response?.status||e.status;if(t!==402)return e;let r=e.response?.data||e.data||e.detail||{},n=r?.detail||r;return new ae(t,{message:n?.message||e.message||"Billing error",...n})}function fl(e){return e instanceof ae}function yl(e){if(!(e instanceof ae))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function Gr(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function Br(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Kn(e){let t=Br(e),r=await R(`${t}/env`);if(!r.ok)throw new Error(await Gr(r,"Failed to load secrets"));return(await r.json()).secrets??{}}async function Nn(e,t,r){let n=Br(e),s=await R(`${n}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:r})});if(!s.ok)throw new Error(await Gr(s,"Failed to save secret"))}async function Hn(e,t){let r=Br(e),n=await R(`${r}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!n.ok)throw new Error(await Gr(n,"Failed to delete secret"))}var hl={list:Kn,set:Nn,delete:Hn};async function bl(e,t,r){let n=e;for(;n.endsWith("/");)n=n.slice(0,-1);let s=await R(`${n}/kortix/triggers${t}`,{...r,headers:{"Content-Type":"application/json",...r?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function ce(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function Xe(e,t){let r=await e.json().catch(()=>({}));return r?.error||r?.message||e.statusText||t}function Ce(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ce(e)}async function Vn(e){let t=Ce(e),r=await R(`${t}/kortix/pty`);if(!r.ok)throw new Error(await Xe(r,"Failed to list terminals"));return r.json()}async function Wn(e,t){let r=Ce(e),n=await R(`${r}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!n.ok)throw new Error(await Xe(n,"Failed to create terminal"));return n.json()}async function zn(e,t,r){let n=Ce(e),s=await R(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!s.ok)throw new Error(await Xe(s,"Failed to update terminal"));return s.json()}async function Jn(e,t){let r=Ce(e),n=await R(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!n.ok)throw new Error(await Xe(n,"Failed to remove terminal"))}async function Xn(e,t){let r=Ce(t),s=`${(()=>{try{let d=new URL(r);return d.protocol==="https:"?d.protocol="wss:":d.protocol==="http:"&&(d.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&d.protocol==="ws:"&&(d.protocol="wss:"),ce(d.toString())}catch{return r.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await ze();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var xl={list:Vn,create:Wn,update:zn,remove:Jn,webSocketUrl:Xn};async function b(e,t,r,n){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await R(`${s}${t}`,{...r,headers:{"Content-Type":"application/json",...r?.headers}},n),u=await c.text(),d={};try{d=u?JSON.parse(u):{}}catch{d={}}if(!c.ok)throw new Error(d?.error||d?.message||d?.details||u.slice(0,200)||`Request failed with ${c.status}`);return d}async function tg(e,t={}){let r=new URLSearchParams;t.projectId&&r.set("project_id",t.projectId),t.status&&r.set("status",t.status);let n=r.toString()?`?${r}`:"";return b(e,`/kortix/tasks${n}`)}async function rg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function ng(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function sg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function ig(e,t){return b(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function og(e,t,r){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)})}async function ag(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function cg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function lg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function ug(e,t){let r=t?`?project_id=${encodeURIComponent(t)}`:"";return b(e,`/kortix/tickets${r}`)}async function pg(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function dg(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function gg(e,t){return b(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function mg(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)})}async function fg(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(r)})}async function yg(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(r)})}async function hg(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(r)})}async function bg(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(r)})}async function xg(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function kg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Pg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:r})})}async function wg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function _g(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:r})})}async function Sg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function vg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:r})})}async function Cg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Rg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Tg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(r)})}async function Ig(e,t,r,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(r)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Ag(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(r)}`,{method:"DELETE"})}async function jg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(r)}/persona`)}async function Eg(e,t,r=200){return b(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${r}`)}async function qg(e){return b(e,"/kortix/projects")}async function $g(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Dg(e,t){return b(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Mg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Ug(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Og(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Lg(e,t,r="all"){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${r}`)}async function Fg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}`)}async function Gg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}/events`)}async function Bg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(r)})}async function Kg(e,t,r,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Ng(e,t,r,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}/close`,{method:"POST",body:JSON.stringify(n)})}async function Hg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}/reopen`,{method:"POST"})}async function Vg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}`,{method:"DELETE"})}async function Wg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function zg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(r)}/events`)}async function Jg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(r)})}async function Xg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(r)}`)}async function Qg(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(r)}`,{method:"DELETE"})}var kl=1e4,Pl={retryOnAuthError:!1};function le(e,t,r){return b(e,t,{signal:AbortSignal.timeout(kl),...r},Pl)}async function Yg(e,t=!1){return(await le(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function Zg(e){return(await le(e,"/kortix/services/templates")).templates??[]}async function em(e,t){return(await le(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function tm(e,t,r){let n=r==="delete",s=n?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${r}`;return le(e,s,{method:n?"DELETE":"POST"})}async function rm(e,t){return le(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function nm(e,t){return le(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var Qe=new Map,Kr=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function Z(){let e=q();if(!e)throw new Kr;return ue(e)}function ue(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=Qe.get(e);if(t)return t;if(!kt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let r=Or({baseUrl:e,fetch:R});return Qe.set(e,r),r}function um(e){Qe.delete(e)}function pm(){Qe.clear()}var Ye=new Map;function dm(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Ye.get(e);if(t)return t;let r=Or({baseUrl:e,fetch});return Ye.set(e,r),r}function gm(e){Ye.delete(e)}function mm(){Ye.clear()}async function wl(e){let t=await e.text().catch(()=>"");try{let r=JSON.parse(t);return r?.error||r?.message||t||e.statusText||`HTTP ${e.status}`}catch{return t||e.statusText||`HTTP ${e.status}`}}async function fm(e){let t=q();if(!t)throw new C("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let r=await R(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!r.ok)throw new C(`System reload failed (${r.status}): ${await wl(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});return r.json()}function Yn(e){if(e.error){let t=e.error,r=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new C(r,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function pe(e){let t=await e.text().catch(()=>""),r=null;try{r=JSON.parse(t)}catch{}return r?.error||t||e.statusText||`HTTP ${e.status}`}async function Ze(e,t=q()){let r=await R(`${t}${e}`);if(!r.ok)throw new C(await pe(r),{status:r.status,response:r});return r.json()}var Zn=["/workspace","/tmp","/home","/opt"],_l=Zn.filter(e=>e!=="/workspace");function Sl(e){return Zn.some(t=>e===t||e.startsWith(`${t}/`))}function vl(e){return Sl(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function Te(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(_l.some(r=>t===r||t.startsWith(`${r}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Cl=Te;async function Nr(e,t=q()){let r=Te(e)||".";return(await Ze(`/file?path=${encodeURIComponent(r)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function et(e,t=q()){let r=Te(e),n=await R(`${t}/file/content?path=${encodeURIComponent(r)}`);if(!n.ok)throw new C(await pe(n),{status:n.status,response:n});return n.json()}async function Rl(e,t,r=q()){let n=Te(e),s=await R(`${r}/file/raw?path=${encodeURIComponent(n)}`);if(!s.ok)throw new C(await pe(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new C("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function tt(e,t=q()){try{return await Rl(e,void 0,t)}catch{}let r=await et(e,t);if(r.encoding==="base64"&&r.content){let n=Uint8Array.from(atob(r.content),s=>s.charCodeAt(0));return new Blob([n],{type:r.mimeType||"application/octet-stream"})}return new Blob([r.content??""],{type:r.mimeType||"text/plain;charset=utf-8"})}function Hr(e=q()){return Ze("/file/status",e)}async function Vr(e,t,r=q()){let n=new URLSearchParams({query:e});return t?.type&&n.set("type",t.type),t?.limit&&n.set("limit",String(t.limit)),Ze(`/find/file?${n.toString()}`,r)}async function Wr(e,t=q()){return(await Ze(`/find?pattern=${encodeURIComponent(e)}`,t)).map(n=>({path:typeof n.path=="string"?n.path:n.path?.text??"",lines:typeof n.lines=="string"?n.lines:n.lines?.text??"",line_number:n.line_number,absolute_offset:n.absolute_offset,submatches:(n.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var Re=[400,1200],Tl=e=>e===408||e===429||e===502||e===503||e===504,Qn=e=>new Promise(t=>setTimeout(t,e));async function Il(e){let t=await e.text().catch(()=>""),r=null;try{r=t?JSON.parse(t):null}catch{}let n=r?.error||r?.message||r?.data?.message;return typeof n=="string"&&n.trim()?n.trim():(e.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(t)?e.status===502||/bad gateway/i.test(t)?"Bad gateway while reaching the sandbox upload service. Please retry.":e.statusText||`HTTP ${e.status}`:t.replace(/\s+/g," ").trim().slice(0,500)||e.statusText||`HTTP ${e.status}`}async function es(e,t){let r;for(let s=0;s<=Re.length;s++){let c;try{c=await t(e())}catch(d){if(r=d,s===Re.length)break;await Qn(Re[s]);continue}if(c.ok)return c.json();let u=await Il(c);if(r=new C(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!Tl(c.status)||s===Re.length)throw r;await Qn(Re[s])}if(r instanceof C)throw r;let n=r instanceof Error?r.message:String(r||"request failed");throw new C(`Upload failed: ${n}`)}function rt(e,t,r,n=q()){return es(()=>{let s=new FormData,c=(t??"").trim();return c&&s.append("path",c.startsWith("/")?c:`/${c}`),r?s.append("file",e,r):s.append("file",e),s},s=>R(`${n}/file/upload`,{method:"POST",body:s}))}function Al(e,t,r=q()){return es(()=>{let n=new FormData;return n.append(e,t,e.split("/").pop()||"file"),n},async n=>{let s={},c=await ze();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${r}/file/upload`,{method:"POST",body:n,headers:s})})}function zr(e,t=q()){let r=e.trim(),s=(r.startsWith("/")?r:`/${r}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return rt(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function Jr(e,t,r=q()){return Al(t,await tt(e,r),r)}async function Xr(e,t=q()){let r=await R(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!r.ok)throw new C(`Delete failed (${r.status}): ${await pe(r)}`,{status:r.status,response:r});return r.json()}async function Qr(e,t=q()){let r=await R(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!r.ok)throw new C(`Mkdir failed (${r.status}): ${await pe(r)}`,{status:r.status,response:r});return r.json()}async function Yr(e,t,r=q()){let n=await R(`${r}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!n.ok)throw new C(`Rename failed (${n.status}): ${await pe(n)}`,{status:n.status,response:n});return n.json()}async function jl(){return Yn(await Z().project.current())}async function ts(){return Yn(await Z().global.health())}async function El(){try{return(await ts()).healthy===!0}catch{return!1}}var ql={list:Nr,read:et,readBlob:tt,status:Hr,findFiles:Vr,findText:Wr,upload:rt,create:zr,copy:Jr,remove:Xr,mkdir:Qr,rename:Yr,currentProject:jl,health:ts,isReachable:El,toDaemonPath:Te,toSandboxAbsolutePath:vl,toWorkspaceRelative:Cl};var z=()=>I().backendUrl||"",Dl=e=>new Promise(t=>setTimeout(t,e)),Ml=new Set([502,503,504]),rs=e=>Ml.has(e),Ul=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Ol=2,Zr=!1;function Tm(e){Zr=e}function Im(){return Zr}async function ee(e,t={}){let{showErrors:r=!0,errorContext:n,timeout:s=3e4,...c}=t,u=new AbortController,d=null,g=!1,h=!1;try{d=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,h=!0,u.abort())},s);let m=await Pe(),x=c.body instanceof FormData,w={};if(x||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),Zr&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new _e,success:!1};let k=await fetch(e,{...c,headers:w,signal:u.signal,credentials:c.credentials??"omit"});if(d&&(clearTimeout(d),d=null),!k.ok&&Ul(c.method)&&rs(k.status))for(let P=0;P<Ol;P++){try{await k.arrayBuffer()}catch{}await Dl(250*2**P);let _=new AbortController,D=setTimeout(()=>{_.abort()},s);try{k=await fetch(e,{...c,headers:w,signal:_.signal,credentials:c.credentials??"omit"})}catch{break}finally{D&&(clearTimeout(D),D=null)}if(k.ok||!rs(k.status))break}if(!k.ok){let P=`HTTP ${k.status}: ${k.statusText}`,_=null;try{_=await k.json(),typeof _.message=="string"?P=_.message:_.error&&typeof _.error=="string"?P=_.error:typeof _.detail=="string"?P=_.detail:typeof _.detail?.message=="string"&&(P=_.detail.message)}catch{}let D=new C(P,{status:k.status,response:k,details:_||void 0,data:_,detail:_?.detail,code:_?.code||_?.error_code||_?.detail?.error_code||k.status.toString()});if(k.status===402&&(D=ve(D)),k.status===403&&_?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}return k.status===431&&(D=new Se(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."})),r&&I().onError?.(D,n),{error:D,success:!1}}let l,i=k.headers.get("content-type");return i?.includes("application/json")?l=await k.json():i?.includes("text/")?l=await k.text():l=await k.blob(),{data:l,success:!0}}catch(m){d&&(clearTimeout(d),d=null);let x=m?.name==="AbortError"||m?.name==="AbortSignal"||m instanceof Error&&m.message.includes("aborted");x&&(g=!0);let w;if(x){if(!h)return{error:new C("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let k=e.replace(z(),"")||e;w=new C(`Request timed out after ${Math.round(s/1e3)}s: ${k}`,{code:"TIMEOUT",url:e,endpoint:k,timeout:s}),r&&I().onError?.(w,n)}else m instanceof Error?(w=new C(m.message,{name:m.name||"ApiError",stack:m.stack}),r&&I().onError?.(w,n)):(w=new C(String(m)),r&&I().onError?.(w,n));return{error:w,success:!1}}}var Am={async execute(e,t){try{let{data:r,error:n}=await e();if(n){let s=new C(n.message||"Database error",{code:n.code,details:n});return I().onError?.(s,t),{error:s,success:!1}}return{data:r,success:!0}}catch(r){let n=r instanceof Error?new C(r.message,{name:r.name||"ApiError",stack:r.stack}):new C(String(r));return I().onError?.(n,t),{error:n,success:!1}}}},o={get:(e,t)=>ee(`${z()}${e}`,{...t,method:"GET"}),post:(e,t,r)=>ee(`${z()}${e}`,{...r,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,r)=>ee(`${z()}${e}`,{...r,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,r)=>ee(`${z()}${e}`,{...r,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ee(`${z()}${e}`,{...t,method:"DELETE"}),upload:(e,t,r)=>{let{headers:n,...s}=r||{},c={...n};return delete c["Content-Type"],ee(`${z()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,r)=>{let{headers:n,...s}=r||{},c={...n};return delete c["Content-Type"],ee(`${z()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function en(e){return e.replace(/\/v1\/?$/,"")}async function de(e,t){if(!e.backendUrl||!e.accessToken)return null;let r=en(e.backendUrl);try{let n=await fetch(`${r}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return n.ok?await n.json():null}catch{return null}}async function ns(){return a(await o.get("/accounts"))}async function ss(e){return a(await o.post("/accounts",e))}async function is(e){return a(await o.get(`/accounts/${e}`))}async function os(e,t){return a(await o.patch(`/accounts/${e}`,{name:t}))}async function as(e){return a(await o.get(`/accounts/${e}/members`))}async function cs(e,t){return a(await o.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function ls(e){return a(await o.get(`/accounts/${e}/invites`))}async function us(e,t){return a(await o.delete(`/accounts/${e}/invites/${t}`))}async function ps(e,t){return a(await o.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function ds(e){return a(await o.get(`/account-invites/${e}`,{showErrors:!1}))}async function gs(e){return a(await o.post(`/account-invites/${e}/accept`,{}))}async function ms(e){return a(await o.post(`/account-invites/${e}/decline`,{}))}async function fs(e,t){return a(await o.delete(`/accounts/${e}/members/${t}`))}async function ys(e,t,r){return a(await o.patch(`/accounts/${e}/members/${t}`,{role:r}))}async function hs(e){return a(await o.post(`/accounts/${e}/leave`,{}))}async function Dm(e){return de(e,"/v1/accounts")}async function bs(){let e=await o.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function ge(){return a(await o.get("/projects"))}async function xs(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/projects${t}`))}async function tn(e,t){return a(await o.get(`/projects/${e}`,t))}async function ks(e,t,r="write"){return a(await o.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:r}))}async function Ps(e,t){return a(await o.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function ws(e){return a(await o.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Lm(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function rn(e,t){return a(await o.get(`/projects/${e}/detail`,{showErrors:!1,...t}))}async function nn(e,t){return a(await o.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function sn(e,t){return a(await o.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Fm(e,t){return a(await o.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function _s(e){return a(await o.post("/projects",e))}async function Ss(e){return a(await o.post("/projects/create-repo",e))}async function vs(e){return a(await o.post("/projects/provision",{seed_starter:!0,...e}))}async function Gm(){try{return a(await o.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function on(e,t){return a(await o.patch(`/projects/${e}`,t))}async function Cs(e,t,r){return a(await o.patch(`/projects/${e}/experimental`,{feature:t,enabled:r}))}async function Rs(e,t){return a(await o.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Bm(e,t){return a(await o.patch(`/projects/${e}/warm-pool`,t))}async function Ts(e,t){return a(await o.patch(`/projects/${e}/onboarding`,{completed:t}))}async function an(e){return a(await o.delete(`/projects/${e}`))}async function Km(e,t){return de(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Nm(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let r=en(e.backendUrl);try{let n=await fetch(`${r}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...t}),signal:AbortSignal.timeout(e.timeoutMs??9e4)});if(n.ok){let s=await n.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return n.status===403?{ok:!1,limitReached:(await n.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function Is(e){return a(await o.post("/projects/link-repository",e,{showErrors:!1}))}async function As(e){return a(await o.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function js(e){return a(await o.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Es(e,t){let r=new URLSearchParams({account_id:e});return t&&r.set("installation_id",t),a(await o.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function qs(e,t,r){let n=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:r});return a(await o.get(`/projects/github/repository-branches?${n.toString()}`,{showErrors:!1}))}async function $s(e){return a(await o.post("/projects/github/installation",e,{showErrors:!1}))}async function Ds(e,t){let r=new URLSearchParams({account_id:e});return t&&r.set("installation_id",t),a(await o.delete(`/projects/github/installation?${r.toString()}`))}async function Qm(e,t){return a(await o.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Ms(e,t){return a(await o.get(`/projects/${e}/access-requests`,t))}async function Us(e,t,r="member"){return a(await o.post(`/projects/${e}/access-requests/${t}/approve`,{role:r}))}async function Os(e,t){return a(await o.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Ls(e){return a(await o.get(`/projects/${e}/access`))}async function Fs(e,t,r){return a(await o.put(`/projects/${e}/access/${t}`,{role:r}))}async function Gs(e,t){return a(await o.delete(`/projects/${e}/access/${t}`))}function Ym(e){return"status"in e&&e.status==="invited"}async function Bs(e,t,r,n){return a(await o.post(`/projects/${e}/access/invite`,{email:t,role:r,...n!==void 0?{expires_at:n}:{}}))}async function Ks(e){return a(await o.get(`/projects/${e}/access/pending-invites`))}async function Ns(e,t){return a(await o.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Hs(e,t){return a(await o.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Vs(e){return a(await o.get(`/projects/${e}/group-grants`))}async function Ws(e,t,r,n){return a(await o.post(`/projects/${e}/group-grants`,n===void 0?{group_id:t,role:r}:{group_id:t,role:r,expires_at:n}))}async function zs(e,t,r,n){return a(await o.patch(`/projects/${e}/group-grants/${t}`,n===void 0?{role:r}:{role:r,expires_at:n}))}async function Js(e,t){return a(await o.delete(`/projects/${e}/group-grants/${t}`))}async function Xs(e){return a(await o.get(`/projects/${e}/resource-grants`))}async function Qs(e,t){return a(await o.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function Ys(e,t){return a(await o.delete(`/projects/${e}/resource-grants/${t}`))}async function Zs(e,t){return a(await o.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function ei(e,t){return a(await o.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function ti(e,t,r,n="once"){return a(await o.post(`/projects/${e}/approvals/${t}`,{decision:r,scope:n}))}async function ri(e){return a(await o.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function ni(e,t){return a(await o.post(`/projects/${e}/secrets`,t))}async function si(e,t,r){return a(await o.post(`/projects/${e}/oauth/${t}/start`,{sharing:r?.sharing}))}async function ii(e,t,r){return a(await o.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:r}))}async function oi(e,t){return a(await o.put(`/projects/${e}/git-credential`,t))}async function ai(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function ci(e,t,r){return a(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,r))}async function li(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function ui(e){return a(await o.get(`/projects/${e}/connector-profiles`))}async function pi(e,t){return a(await o.post(`/projects/${e}/connector-profiles`,t))}async function di(e,t,r){return a(await o.put(`/projects/${e}/connector-profiles/${t}/credential`,r))}async function gi(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function mi(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function fi(e){return a(await o.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function yi(e){return a(await o.post(`/executor/projects/${e}/connectors/sync`,{}))}async function hi(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:r}))}async function bi(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:r}))}async function xi(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function ki(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:r}))}async function Pi(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function wi(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:r}))}async function _i(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Si(e,t){return a(await o.post(`/executor/projects/${e}/connectors`,t))}async function vi(e,t){return a(await o.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function Ci(e,t){return a(await o.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Ri(e,t,r){let n=new URLSearchParams;t&&n.set("q",t),r&&n.set("cursor",r);let s=n.toString();return a(await o.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Ti(e,t,r){let n=new URLSearchParams;t&&n.set("q",t),r&&n.set("cursor",r);let s=n.toString();return a(await o.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function Ii(e,t){let r=new URLSearchParams({id:t});return a(await o.get(`/executor/projects/${e}/discover/integrations/detail?${r.toString()}`))}async function Ai(){return a(await o.get("/executor/connect-status"))}async function ji(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,{value:r}))}async function Ei(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function qi(e){return a(await o.get(`/executor/projects/${e}/policies`))}async function $i(e,t,r){return a(await o.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:r}))}async function Di(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function Mi(e){return a(await o.get(`/projects/${e}/snapshots`))}async function cn(e){return a(await o.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Ui(e,t){return a(await o.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Oi(e){return a(await o.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Li(e,t){return a(await o.post(`/projects/${e}/sandbox-templates`,t))}async function Fi(e,t,r){return a(await o.patch(`/projects/${e}/sandbox-templates/${t}`,r))}async function Gi(e,t){return a(await o.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Bi(e,t){return a(await o.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Ki(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function Ni(e,t){let r=new URLSearchParams;t?.ref&&r.set("ref",t.ref),t?.path&&r.set("path",t.path);let n=r.toString()?`?${r.toString()}`:"";return a(await o.get(`/projects/${e}/files${n}`,{showErrors:!1}))}async function Hi(e,t,r){let n=new URLSearchParams({q:t});return r?.content&&n.set("content","1"),r?.ref&&n.set("ref",r.ref),r?.limit&&n.set("limit",String(r.limit)),a(await o.get(`/projects/${e}/files/search?${n.toString()}`))}async function Vi(e,t,r){let n=new URLSearchParams({path:t});return r&&n.set("ref",r),a(await o.get(`/projects/${e}/files/content?${n.toString()}`))}async function Wi(e,t,r){let n=new URLSearchParams;t&&n.set("ref",t),r&&n.set("path",r);let s=n.toString()?`?${n.toString()}`:"",c=await Pe(),u=`${I().backendUrl||""}/projects/${e}/files/archive${s}`,d=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!d.ok){let g=await d.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${d.status})`)}return await d.blob()}async function zi(e){return a(await o.get(`/projects/${e}/branches`))}async function Ji(e,t){let r=new URLSearchParams;t?.ref&&r.set("ref",t.ref),t?.path&&r.set("path",t.path),t?.limit!=null&&r.set("limit",String(t.limit)),t?.skip!=null&&r.set("skip",String(t.skip));let n=r.toString()?`?${r.toString()}`:"";return a(await o.get(`/projects/${e}/commits${n}`))}async function Xi(e,t){return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Qi(e,t,r){let n=new URLSearchParams;r?.path&&n.set("path",r.path);let s=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Yi(e,t,r){let n=new URLSearchParams({path:t});return r?.ref&&n.set("ref",r.ref),r?.limit!=null&&n.set("limit",String(r.limit)),r?.skip!=null&&n.set("skip",String(r.skip)),a(await o.get(`/projects/${e}/files/history?${n.toString()}`))}async function Zi(e,t){let r=new URLSearchParams({from:t.from,into:t.into});return a(await o.get(`/projects/${e}/version-diff?${r.toString()}`))}async function eo(e,t){let r=t?`?status=${t}`:"";return a(await o.get(`/projects/${e}/change-requests${r}`,{showErrors:!1,timeout:15e3}))}async function to(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}`))}async function ro(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/diff`))}async function no(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function so(e,t){return a(await o.post(`/projects/${e}/change-requests`,t))}async function io(e,t,r){return a(await o.post(`/projects/${e}/change-requests/${t}/merge`,r??{},{showErrors:!1}))}async function oo(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function ao(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function co(e,t,r){return a(await o.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:r}))}async function lo(e,t,r){return a(await o.post(`/projects/${e}/sessions/${t}/commit-push`,r??{}))}var ln=new Set;function uo(e){e&&ln.add(e)}function po(e){return!!e&&ln.has(e)}function Sf(e){e&&ln.delete(e)}async function Ie(e){return a(await o.get(`/projects/${e}/sessions`))}async function go(e,t,r){return a(await o.put(`/projects/${e}/sessions/${t}/sharing`,r))}async function mo(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/previews`))}async function fo(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function yo(e,t,r){return a(await o.post(`/projects/${e}/sessions/${t}/public-shares`,r))}async function ho(e,t,r){return a(await o.delete(`/projects/${e}/sessions/${t}/public-shares/${r}`))}async function Ae(e,t){let r=a(await o.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||uo(r?.session_id),r}async function bo(e,t,r){return a(await o.get(`/projects/${e}/sessions/${t}`,{showErrors:r?.showErrors}))}async function xo(e,t,r,n){let s=r?`?limit=${r}`:"";return a(await o.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:n?.showErrors}))}async function ko(e,t,r){let n=new URLSearchParams;r?.limit!=null&&n.set("limit",String(r.limit)),r?.chars!=null&&n.set("chars",String(r.chars));let s=n.toString();return a(await o.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Po(e,t,r){return a(await o.patch(`/projects/${e}/sessions/${t}`,r))}async function wo(e,t){return a(await o.delete(`/projects/${e}/sessions/${t}`))}async function nt(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function st(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function _o(e){return a(await o.get(`/projects/${e}/triggers`))}async function So(e,t){return a(await o.post(`/projects/${e}/triggers`,t))}async function vo(e,t,r){return a(await o.patch(`/projects/${e}/triggers/${t}`,r))}async function Co(e,t){return a(await o.delete(`/projects/${e}/triggers/${t}`))}async function Ro(e,t){return a(await o.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function To(e,t){return a(await o.post(`/projects/${e}/triggers/${t}/fire`,{}))}var J=new Map;function un(e,t){return`${e}::${t}`}function Io(e,t){J.delete(e),J.set(e,t)}function Ao(e,t){let r=un(e,t),n=J.get(r);return n&&Io(r,n),n}function jo(e,t,r){let n=un(e,t);if(!J.has(n)&&J.size>=512){let s=J.keys().next().value;s!==void 0&&J.delete(s)}Io(n,r)}function Eo(e,t){J.delete(un(e,t))}var pn=class extends Error{status;code;terminal;constructor(t,r){super(t),this.name="SessionStartError",this.status=r.status,this.code=r.code,this.terminal=r.terminal}};function Of(e){return e instanceof Error&&e.name==="SessionStartError"}function Ll(e){let t=e,r=t?.status,n=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return r&&r>=400&&r<500&&r!==408&&r!==429?new pn(s,{status:r,code:n,terminal:!0}):null}async function je(e,t,r){let n=r&&r>0?`?wait_ms=${Math.floor(r)}`:"",s=await o.post(`/projects/${e}/sessions/${t}/start${n}`,{},{showErrors:!1});if(!s.success||!s.data){let d=Ll(s.error);if(d&&!(d.status===404&&po(t)))throw d;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&jo(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:Je(u),sandboxId:u}),c}function Lf(e,t){return["session-start",e,t]}async function qo(e){return a(await o.get(`/projects/${e}/model-defaults`))}async function $o(e,t){return a(await o.put(`/projects/${e}/model-defaults`,t))}async function Do(e,t){let r=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await o.delete(`/projects/${e}/model-defaults?${r}`))}async function Mo(e,t,r){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}async function Jf(e,t){return a(await o.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function Xf(e,t,r){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r))}async function Uo(e,t){return a(await o.put(`/projects/${e}/default-agent`,{agent:t}))}function Oo(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function Lo(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let r=t.toString(),n=r?`?${r}`:"",s=await o.get(`/billing/account-state${n}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Oo():s.data}async function Fo(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let r=t.toString(),n=r?`?${r}`:"",s=await o.get(`/billing/account-state/minimal${n}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Oo():s.data}async function Go(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let r=t.toString();return a(await o.get(`/billing/transactions${r?`?${r}`:""}`))}async function Bo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let r=t.toString();return a(await o.get(`/billing/transactions/summary${r?`?${r}`:""}`))}async function Ko(){return a(await o.get("/billing/credit-breakdown"))}async function No(e){let t=e!=null?`?days=${e}`:"";return a(await o.get(`/billing/usage-history${t}`))}async function Ho(){return a(await o.get("/billing/tier-configurations"))}async function ey(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return de(e,`/v1/billing/account-state${t}`)}async function Vo(e){return a(await o.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function Wo(e,t){return a(await o.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function zo(e,t){return a(await o.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Jo(e,t){return a(await o.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function Xo(e){return a(await o.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function Qo(e,t,r){return a(await o.post("/billing/schedule-downgrade",{account_id:r,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function Yo(e){return a(await o.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function Zo(e,t){let r=new URLSearchParams({new_price_id:e});return t&&r.set("account_id",t),a(await o.get(`/billing/proration-preview?${r.toString()}`),"Failed to load proration preview")}async function ea(e){return a(await o.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function ta(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function ra(e){return a(await o.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function na(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function sa(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Fl={oauth_available:!1,install_url:null};async function ia(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Fl:t.data}async function oa(e){return a(await o.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function aa(e){let t=await o.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function ca(e,t){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function la(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function dn(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Gl={provider:"agentmail",managed_available:!1};async function ua(e,t){let r=t?`?connector_slug=${encodeURIComponent(t)}`:"",n=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${r}`,{showErrors:!1});return n.success&&n.data?dn(n.data):null}async function pa(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Gl:t.data}async function da(e,t){let r=a(await o.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return dn(r)}async function ga(e,t){let r=t?`?connector_slug=${encodeURIComponent(t)}`:"",n=await o.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${r}`,{showErrors:!1});if(!n.success)throw new Error(n.error?.message??"Failed to disconnect email")}async function ma(e,t,r){let n=a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:r},{showErrors:!1}),"Failed to update email policy");return dn(n)}async function fa(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/meet/voices`,{showErrors:!1});return t.success?t.data??null:null}async function ya(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/voice`,{voice:t},{showErrors:!1}),"Failed to save voice")}async function ha(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function ba(e,t){let r=await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/voices/${encodeURIComponent(t)}/preview`,{},{showErrors:!1});return!r.success||!r.data?.b64?null:r.data.b64}async function sy(e){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function iy(e,t,r){return a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,r,{showErrors:!1}),"Failed to update channel binding")}async function xa(e,t,r,n){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/speak`,{bot_id:t,text:r,voice:n},{showErrors:!1}),"Failed to speak in meeting")}async function ka(e){return a(await o.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Pa(e,t){return a(await o.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function wa(e){return a(await o.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function _a(e,t){return a(await o.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Sa(e,t){let r=new URLSearchParams;t?.limit&&r.set("limit",String(t.limit)),t?.offset&&r.set("offset",String(t.offset)),t?.ok!==void 0&&r.set("ok",String(t.ok));let n=r.toString();return a(await o.get(`/projects/${e}/gateway/logs${n?`?${n}`:""}`),"Gateway request failed")}async function va(e,t){return a(await o.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Ca(e,t){return a(await o.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ra(e,t){return a(await o.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ta(e,t){return a(await o.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ia(e,t){return a(await o.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Aa(e,t){return a(await o.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function ja(e){return a(await o.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Ea(e,t){return a(await o.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function qa(e,t){return a(await o.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function $a(e){return a(await o.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Da(e,t){return a(await o.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Ma(e,t){return a(await o.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Ua(e,t,r,n,s){return a(await o.post(`/projects/${e}/gateway/playground`,{prompt:t,models:r,...n?{system:n}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function ly(e,t){return a(await o.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Oa(e){let t=new FormData;t.append("audio_file",e);let r=await o.upload("/transcription",t,{showErrors:!0});if(r.error)throw new Error(`Error transcribing audio: ${r.error.message} (${r.error.status})`);return r.data}async function La(e,t){let r=new URLSearchParams;t?.segment&&r.set("segment",t.segment),t?.kind&&r.set("kind",t.kind);let n=r.toString();return a(await o.get(`/projects/${e}/review/items${n?`?${n}`:""}`,{showErrors:!1}))}async function Fa(e,t){return a(await o.get(`/projects/${e}/review/items/${t}`))}async function Ga(e,t){return a(await o.post(`/projects/${e}/review/items`,t))}async function Ba(e,t,r){return a(await o.post(`/projects/${e}/review/items/${t}/act`,r))}async function Ka(e,t){return a(await o.post(`/projects/${e}/review/bulk`,t))}async function Na(e){return a(await o.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Ha(e){return a(await o.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function Va(e,t){let r=await o.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!r.success)throw new Error(r.error?.message??"Failed to revoke public link")}var gn=class extends Error{constructor(r,n){super(r);this.status=n;this.name="PublicSessionShareError"}status};function Wa(e,t=""){return`${we()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function za(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),r=await t.text().catch(()=>""),n=null;try{n=r?JSON.parse(r):null}catch{}if(!t.ok){let s=(n&&typeof n=="object"&&"error"in n&&typeof n.error=="string"?n.error:null)||t.statusText||`HTTP ${t.status}`;throw new gn(s,t.status)}return n}async function ky(e){return za(Wa(e))}async function Py(e){return za(Wa(e,"/messages"))}async function Ja(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/accounts/tokens${t}`))}async function Xa(e){let{accountId:t,expiresAt:r,projectId:n,name:s}=e;return a(await o.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...r?{expires_at:r}:{},...n?{project_id:n}:{}}))}async function Qa(e,t){let r=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await o.delete(`/accounts/tokens/${e}${r}`))}async function Ya(e){return a(await o.get(`/projects/${e}/cli-token`))}async function Za(e,t){return a(await o.post(`/projects/${e}/cli-token`,t??{}))}async function ec(e,t){return a(await o.delete(`/projects/${e}/cli-token/${t}`))}async function tc(e,t){let r=new URLSearchParams;t?.action&&r.set("action",t.action),t?.since&&r.set("since",t.since),t?.cursor&&r.set("cursor",t.cursor),t?.limit!=null&&r.set("limit",String(t.limit));let n=r.toString();return a(await o.get(`/accounts/${e}/audit${n?`?${n}`:""}`))}async function rc(e,t){let r=new URLSearchParams;t?.format&&r.set("format",t.format),t?.action&&r.set("action",t.action),t?.since&&r.set("since",t.since);let n=r.toString();return a(await o.get(`/accounts/${e}/audit/export${n?`?${n}`:""}`))}async function nc(e){return a(await o.get(`/accounts/${e}/audit/webhooks`))}async function sc(e,t){return a(await o.post(`/accounts/${e}/audit/webhooks`,t))}async function ic(e,t,r){return a(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,r))}async function oc(e,t){return a(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function ac(e,t){return a(await o.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function cc(e,t){return a(await o.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function lc(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source);let r=t.toString()?`?${t.toString()}`:"";return a(await o.get(`/marketplace/items${r}`))}async function uc(){return a(await o.get("/marketplace/marketplaces"))}async function pc(){return a(await o.get("/marketplace/marketplaces/featured"))}async function dc(e){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function gc(e,t){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function mc(){return a(await o.get("/marketplace/sources"))}async function fc(e){return a(await o.post("/marketplace/sources",e),"Failed to add marketplace source")}async function yc(e){return a(await o.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function Uy(e){return a(await o.get(`/templates/${encodeURIComponent(e)}`))}async function Oy(e,t){return a(await o.post(`/templates/${encodeURIComponent(e)}/install`,t))}function By(e){return e?e.runtimeReady!==void 0?e.runtimeReady===!0:e.opencode!==void 0?e.opencode==="ok"||e.opencode===!0:e.status!=="starting"&&e.status!=="down"&&e.status!=="error":!1}async function hc(e,t){let r=(e===void 0?q():e)||null;if(!r)return{status:0,ok:!1,health:null,body:""};let n=await R(`${r}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await n.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:n.status,ok:n.ok,health:c,body:s}}var X={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var bc=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,xc=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,kc=new Set([22,4096,parseInt(X.KORTIX_MASTER,10)]);function Bl(e){return xc.test(e)}function it(e){if(!e)return"/";let t=e,r=t.indexOf("](");r!==-1&&(t=t.slice(0,r));let n=t.toLowerCase().indexOf("%5d(");return n!==-1&&(t=t.slice(0,n)),t?t.startsWith("/")?t:`/${t}`:"/"}function Kl(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Nl=new Set(["'",'"',"`","<","(","["]),Hl=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Vl(e){let t=0,r=e.length;for(;t<r&&(e[t]===" "||e[t]===" ");)t++;for(;r>t&&(e[r-1]===" "||e[r-1]===" ");)r--;for(;t<r&&Nl.has(e[t]);)t++;for(;r>t&&Hl.has(e[r-1]);)r--;return e.slice(t,r)}function Wl(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var zl=/^\/proxy\/(\d{1,5})(\/.*)?$/,Jl=/^\/(connectors|settings|dashboard|projects|agents|skills|tools|commands|support|changelog|files|p|browser|desktop|terminal|sessions|services|workspace|channels|scheduled-tasks|marketplace|templates|tunnel|admin|auth)(\/|$|\?)/;function Xl(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Jl.test(t.pathname)}catch{return!1}}function ot(e){if(!e)return null;let t=Vl(Kl(e.trim())),r=_c(t);if(r){let n=it(r.path||"/");return{originalUrl:`http://localhost:${r.port}${n}`,port:r.port,path:n}}try{let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:"||n.hostname!=="localhost"&&n.hostname!=="127.0.0.1"||!n.port)return null;let s=parseInt(n.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${n.pathname||"/"}${n.search}${n.hash}`,u=parseInt(X.KORTIX_MASTER,10);if(s===u){let g=n.pathname.match(zl);if(g){let h=parseInt(g[1],10);if(h>=1&&h<=65535)return s=h,c=it(`${g[2]||"/"}${n.search}${n.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let d=it(c);return{originalUrl:`${n.protocol}//${n.hostname}:${s}${d}`,port:s,path:d}}catch{let n=Wl(e);return n&&n!==e?ot(n):null}}function Ql(e){let t=[],r=/```[\s\S]*?```/g,n;for(;(n=r.exec(e))!==null;)t.push([n.index,n.index+n[0].length]);let s=/`[^`\n]+`/g;for(;(n=s.exec(e))!==null;){let c=n.index,u=c+n[0].length;t.some(([g,h])=>c>=g&&u<=h)||t.push([c,u])}return t}function Yl(e,t){return t.some(([r,n])=>e>=r&&e<n)}function Zl(e){let t=[],r=new Set,n=Ql(e);bc.lastIndex=0;let s;for(;(s=bc.exec(e))!==null;){let c=ot(s[0]);if(!c)continue;let{originalUrl:u,port:d,path:g}=c;d<1||d>65535||kc.has(d)||r.has(u)||(r.add(u),t.push({originalUrl:u,port:d,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Yl(s.index,n)}))}return t}function Vy(e){return Zl(e).length>0}function eu(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function qe(e,t,r){let n=it(t);if(!eu(r.apiBaseUrl)){let s=r.apiBaseUrl.length;for(;s>0&&r.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${r.apiBaseUrl.slice(0,s)}/p/${r.sandboxId}/${e}${n}`}return`http://p${e}-${r.sandboxId}.localhost:${r.backendPort}${n}`}function Wy(e,t){return qe(e,"/",t)}function tu(e){let t=ot(e);return!(!t||kc.has(t.port)||Xl(e))}function Pc(e,t){if(!e)return e;let r=ot(e);return r?tu(r.originalUrl)?qe(r.port,r.path,t):r.originalUrl:e}function zy(e,t="/"){return`http://localhost:${e}${t}`}var wc=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function _c(e){let t=e.match(xc);if(t)return{port:parseInt(t[1],10),sandboxId:t[2],backendPort:t[3]?parseInt(t[3],10):80,path:t[4]||"/"};let r=e.match(wc);if(r)try{let n=new URL(e);return{port:parseInt(r[2],10),sandboxId:r[1],backendPort:parseInt(n.port,10)||(n.protocol==="https:"?443:80),path:r[3]||"/"}}catch{return null}return null}function Jy(e){try{let t=_c(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function Xy(e){return Bl(e)||wc.test(e)}var Ee="/web-proxy/";function Qy(e,t){try{let r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:")return null;let n=r.protocol.replace(":",""),s=`${Ee}${n}/${r.host}${r.pathname}${r.search}${r.hash}`,c=parseInt(X.KORTIX_MASTER,10);return`${qe(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Yy(e){try{let t=new URL(e),r=t.pathname.indexOf(Ee);if(r===-1)return null;let s=t.pathname.slice(r+Ee.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],d=s[3]||"/";return`${c}://${u}${d}${t.search}${t.hash}`}catch{return null}}function Zy(e){try{return new URL(e).pathname.includes(Ee)}catch{return e.includes(Ee)}}function eh(e){if(!e)return!1;let t=e.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(t)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t))}function th(e){let t=e.trim();return t?/^https?:\/\//i.test(t)?t:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t)?`https://${t}`:null:null}var Sc="frontend";function at(e,t,r){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Sc}] ${t}`,...r?[r]:[]);try{Z().app.log({service:Sc,level:e,message:t,extra:r})}catch{}}var Q={debug:(e,t)=>at("debug",e,t),info:(e,t)=>at("info",e,t),warn:(e,t)=>at("warn",e,t),error:(e,t)=>at("error",e,t)};function ru(e){return{type:"heartbeat-gap",gapMs:e}}function nu(e){switch(e.type){case"message.updated":return{type:"message.updated",sessionID:e.properties.sessionID,message:e.properties.info};case"message.removed":return{type:"message.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:e.properties.sessionID,part:e.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID,partID:e.properties.partID};case"session.status":return{type:"session.status",sessionID:e.properties.sessionID,status:e.properties.status};case"session.idle":return{type:"session.idle",sessionID:e.properties.sessionID};case"session.error":return{type:"session.error",sessionID:e.properties.sessionID,error:e.properties.error};case"question.asked":return{type:"question.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,questions:e.properties.questions,tool:e.properties.tool};case"question.replied":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"replied",answers:e.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,permission:e.properties.permission,patterns:e.properties.patterns,tool:e.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:e.properties.sessionID,requestID:e.properties.requestID,reply:e.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:e.properties.sessionID,todos:e.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var su={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},iu=16,ou=8,au=6e4,cu=5e3,lu=250,uu=1e3,pu=3e4,du=5,gu=3e3,mu=3e4,fu=2e4,yu=2e3,hu=8;function bu(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function vc(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(n=>{t=()=>n(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function mn(e){let{client:t,onEvent:r,onGapRehydrate:n,onParked:s,signal:c}=e,u=e.timers??su,d=e.connectTimeoutMs??fu,g=e.heartbeatTimeoutMs??au,h=e.maxConsecutiveHardFailures??hu,m=new AbortController,x=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",x,{once:!0}));let w=u.now(),k=[],l,i=0,P=new Map,_=()=>{if(l&&u.clearTimeout(l),l=void 0,k.length===0)return;let j=k;k=[],P.clear(),i=u.now(),w=u.now();for(let v of j)if(v)try{r(v.event)}catch(T){console.warn("[opencode-events] event handler threw, skipping",T)}},D=()=>{if(l)return;let j=u.now()-i;l=u.setTimeout(_,Math.max(0,iu-j))};return(async()=>{let j=0,v=0;for(;!m.signal.aborted;){let T=!1,A=!1,f,S,U=null,K=u.now(),M=new AbortController,O=vc(m.signal);O.promise.then(()=>M.abort());try{let F=await new Promise((yt,he)=>{let G=!1;S=u.setTimeout(()=>{G||(G=!0,Q.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:d}),M.abort(),he(new Error(`SSE connect timed out after ${d}ms`)))},d),t.global.event({signal:M.signal,sseDefaultRetryDelay:gu,sseMaxRetryDelay:mu,sseMaxRetryAttempts:1}).then(H=>{G||(G=!0,u.clearTimeout(S),yt(H))},H=>{G||(G=!0,u.clearTimeout(S),he(H))})}),{stream:E}=F;w=u.now();let B=()=>{u.clearTimeout(f),f=u.setTimeout(()=>{Q.warn("SSE heartbeat timeout, forcing reconnect"),M.abort()},g)};B();let Fe=u.now(),Wc=E[Symbol.asyncIterator]();for(;!M.signal.aborted;){let yt=Wc.next().then(W=>({kind:"next",result:W}),W=>({kind:"error",error:W})),he=vc(M.signal),G=await Promise.race([yt,he.promise.then(()=>({kind:"aborted"}))]);if(he.cleanup(),G.kind==="aborted")break;if(G.kind==="error")throw G.error;if(G.result.done)break;T=!0,B();let H=G.result.value,Ge=H&&typeof H=="object"&&"payload"in H?H.payload:H;if(!Ge?.type)continue;let ht=bu(Ge);if(ht){let W=P.get(ht);W!==void 0&&(k[W]=void 0),P.set(ht,k.length)}k.push({type:Ge.type,event:Ge}),D(),!(u.now()-Fe<ou)&&(Fe=u.now(),await new Promise(W=>u.setTimeout(W,0)))}A=T}catch(F){if(m.signal.aborted)break;U=F;let E=String(F),B=E.includes("401")||E.includes("403")||E.includes("Unauthorized")||E.includes("Token refresh failed");if(Q.error("SSE event stream error",{error:E,retryCount:j,isAuthError:B}),B)try{We(),await Fr(),Q.info("SSE: refreshed auth token after auth error")}catch(Fe){Q.error("SSE: failed to refresh auth token",{error:String(Fe)})}}finally{u.clearTimeout(f),u.clearTimeout(S),M.abort(),O.cleanup(),_()}if(m.signal.aborted)break;let se=u.now()-K,Le=U?.cause?.status;if(v=!T&&(typeof Le=="number"&&Le>=400||se<yu)?v+1:0,v>=h){Q.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(U)});try{s?.({consecutiveFailures:v,lastError:U})}catch(F){console.warn("[opencode-events] onParked handler threw",F)}break}let ye=u.now()-w;ye>cu&&n?.(ye),A?j=0:(j++,j>1&&Q.warn("SSE event stream reconnecting",{retryCount:j}));let N=A?lu:Math.min(uu*2**Math.min(j-1,du),pu);await new Promise(F=>{let E=u.setTimeout(F,N),B=()=>{u.clearTimeout(E),F()};m.signal.addEventListener("abort",B,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",x),l&&u.clearTimeout(l)}}}function xu(){return Z()}var ct=new Map,lt=class extends Error{constructor(t){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${t}\`.`),this.name="SessionNotReadyError"}};function ku(e,t){xt(e,t);function r(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new C(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function n(l){let i=I().backendUrl??e.backendUrl,P=80,_=r(i);return _&&(P=_.port?Number(_.port):_.protocol==="https:"?443:80),{sandboxId:l,backendPort:P,apiBaseUrl:i}}let s={list:ns,get:is,create:ss,updateName:os,leave:hs,members:as,invite:cs,removeMember:fs,updateMemberRole:ys,invites:ls,cancelInvite:us,resendInvite:ps,tokens:{list:Ja,create:Xa,revoke:Qa},audit:{log:tc,export:rc,webhooks:{list:nc,create:sc,update:ic,remove:oc}}},c={accountState:Lo,accountStateMinimal:Fo,transactions:Go,transactionsSummary:Bo,creditBreakdown:Ko,usageHistory:No,tierConfigurations:Ho,checkout:{createSession:l=>Vo(l),confirmSession:(l,i)=>Wo(l,i)},subscription:{createPortalSession:(l,i)=>zo(l,i),cancel:(l,i)=>Jo(l,i),reactivate:l=>Xo(l),scheduleDowngrade:(l,i,P)=>Qo(l,i,P),cancelScheduledChange:l=>Yo(l),prorationPreview:(l,i)=>Zo(l,i)},credits:{purchase:l=>ea(l),autoTopupSettings:l=>ta(l),configureAutoTopup:l=>ra(l)}},u={describe:ds,accept:gs,decline:ms},d={list:ge,listForAccount:xs,get:tn,detail:rn,create:_s,createRepo:Ss,provision:vs,update:on,archive:an,llmCatalog:nn,modelPicker:sn,sandboxHealth:cn,sandboxTemplates:Di,sessions:Ie,createSession:Ae},g={linkRepository:Is,getInstallation:As,listInstallations:js,listRepositories:Es,listRepositoryBranches:qs,saveInstallation:$s,deleteInstallation:Ds},h={list:Na,create:Ha,revoke:Va},m=Ai,x={items:l=>lc(l),item:l=>dc(l),itemFile:(l,i)=>gc(l,i),marketplaces:()=>uc(),featured:()=>pc(),sources:{list:()=>mc(),add:l=>fc(l),remove:l=>yc(l)}};function w(l){return{get:i=>tn(l,i),detail:()=>rn(l),update:i=>on(l,i),archive:()=>an(l),llmCatalog:()=>nn(l),modelPicker:()=>sn(l),sandboxHealth:()=>cn(l),onboardingComplete:(...i)=>Ts(l,...i),tokens:{list:()=>Ya(l),create:i=>Za(l,i),revoke:i=>ec(l,i)},setupLinks:{requestSecret:i=>ac(l,i),requestConnector:i=>cc(l,i)},validateManifest:i=>Ps(l,i),gitToken:()=>ws(l),secrets:{list:()=>ri(l),upsert:i=>ni(l,i),remove:i=>ai(l,i),setPersonal:(...i)=>ci(l,...i),removePersonal:i=>li(l,i),setGitCredential:i=>oi(l,i),startProviderOAuth:(...i)=>si(l,...i),pollProviderOAuth:(...i)=>ii(l,...i)},access:{list:()=>Ls(l),invite:(...i)=>Bs(l,...i),update:(...i)=>Fs(l,...i),revoke:i=>Gs(l,i),pendingInvites:()=>Ks(l),resendInvite:(...i)=>Hs(l,...i),revokeInvite:(...i)=>Ns(l,...i),requests:()=>Ms(l),approveRequest:(...i)=>Us(l,...i),rejectRequest:(...i)=>Os(l,...i),groupGrants:()=>Vs(l),attachGroupGrant:(...i)=>Ws(l,...i),updateGroupGrant:(...i)=>zs(l,...i),detachGroupGrant:i=>Js(l,i),resourceGrants:{list:()=>Xs(l),create:i=>Qs(l,i),remove:i=>Ys(l,i)}},connectors:{list:()=>fi(l),config:(...i)=>Pi(l,...i),create:(...i)=>Si(l,...i),remove:(...i)=>Ci(l,...i),sync:()=>yi(l),auth:{discover:(...i)=>vi(l,...i)},setName:(...i)=>wi(l,...i),setCredentialMode:(...i)=>hi(l,...i),setCredential:(...i)=>ji(l,...i),setSensitive:(...i)=>bi(l,...i),profiles:{list:()=>ui(l),reconcile:(...i)=>pi(l,...i),updateCredential:(...i)=>di(l,...i),revoke:(...i)=>gi(l,...i),activate:(...i)=>mi(l,...i)},policies:{get:(...i)=>xi(l,...i),set:(...i)=>ki(l,...i)},pipedream:{listApps:(...i)=>Ri(l,...i),connect:(...i)=>_i(l,...i),finalize:(...i)=>Ei(l,...i)},discover:{list:(...i)=>Ti(l,...i),detail:(...i)=>Ii(l,...i)}},policies:{list:()=>qi(l),set:(...i)=>$i(l,...i)},triggers:{list:()=>_o(l),create:(...i)=>So(l,...i),update:(...i)=>vo(l,...i),remove:(...i)=>Co(l,...i),fire:(...i)=>To(l,...i),setActivation:(...i)=>Ro(l,...i)},files:{list:i=>Ni(l,i),read:(i,P)=>Vi(l,i,P),search:(...i)=>Hi(l,...i),archive:(...i)=>Wi(l,...i),history:(...i)=>Yi(l,...i)},git:{commits:()=>Ji(l),commit:i=>Xi(l,i),commitDiff:i=>Qi(l,i),branches:()=>zi(l),versionDiff:(...i)=>Zi(l,...i),inviteCollaborator:(...i)=>ks(l,...i)},changeRequests:{list:()=>eo(l),get:i=>to(l,i),diff:i=>ro(l,i),mergePreview:i=>no(l,i),open:(...i)=>so(l,...i),merge:(...i)=>io(l,...i),close:(...i)=>oo(l,...i),reopen:(...i)=>ao(l,...i),requestChanges:(...i)=>co(l,...i)},sessions:{list:()=>Ie(l),create:i=>Ae(l,i)},review:{list:i=>La(l,i),get:i=>Fa(l,i),submit:i=>Ga(l,i),act:(...i)=>Ba(l,...i),bulkAct:i=>Ka(l,i)},approvals:{list:i=>Zs(l,i),resolve:(...i)=>ti(l,...i),sessionsNeedingInput:i=>ei(l,i)},gateway:{logs:i=>Sa(l,i),log:i=>va(l,i),overview:i=>Ca(l,i),series:i=>Ra(l,i),breakdown:i=>Ta(l,i),sessions:i=>Ia(l,i),errors:i=>Aa(l,i),budgets:()=>ja(l),setBudget:i=>Ea(l,i),deleteBudget:i=>qa(l,i),keys:()=>$a(l),createKey:i=>Da(l,i),revokeKey:i=>Ma(l,i),routing:{get:()=>ka(l),set:i=>Pa(l,i),reset:()=>wa(l),preview:i=>_a(l,i)},playground:(i,P,_)=>Ua(l,i,P,_)},channels:{slack:{installation:()=>na(l),connect:i=>sa(l,i),mode:()=>ia(l),manifest:()=>oa(l),disconnect:()=>aa(l),getFile:i=>ca(l,i),uploadFile:i=>la(l,i)},email:{installation:i=>ua(l,i),mode:()=>pa(l),connect:i=>da(l,i),disconnect:i=>ga(l,i),updatePolicy:(...i)=>ma(l,...i)},meet:{voices:()=>fa(l),setVoice:i=>ya(l,i),setBotName:i=>ha(l,i),previewVoice:i=>ba(l,i),speak:(i,P,_)=>xa(l,i,P,_)}},updateExperimentalFeature:(...i)=>Cs(l,...i),modelDefaults:{get:()=>qo(l),set:i=>$o(l,i),clear:i=>Do(l,i)},setDefaultAgent:i=>Uo(l,i),sandbox:{list:()=>Ki(l),snapshots:()=>Mi(l),rebuildSnapshot:i=>Ui(l,i),fixWithAgent:()=>Oi(l),createTemplate:i=>Li(l,i),updateTemplate:(...i)=>Fi(l,...i),removeTemplate:i=>Gi(l,i),buildTemplate:i=>Bi(l,i),setProvider:i=>Rs(l,i)},setAgentScope:(...i)=>Mo(l,...i),session:i=>k(l,i)}}function k(l,i){let P=null,_,D;function j(){if(P)return P;let f=Ao(l,i);return f&&(P=f),P}async function v(){let f=j();if(f)return f;let S=`${l}
|
|
8
|
+
${i}`,U=ct.get(S);if(U)return P=await U,P;let K=(async()=>{let M=await je(l,i,3e4);if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new C(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let O=M.sandbox.external_id;if(!O)throw new C("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let se=Je(O);return Fn(se,O),{opencodeSessionId:M.opencode_session_id,runtimeUrl:se,sandboxId:O}})();ct.set(S,K);try{return P=await K,P}finally{ct.get(S)===K&&ct.delete(S)}}function T(f){let S=j();if(!S)throw new lt(f);return S}function A(){P=null,Eo(l,i)}return{get:f=>bo(l,i,f),update:f=>Po(l,i,f),delete:()=>(A(),wo(l,i)),start:(...f)=>je(l,i,...f),restart:()=>(A(),nt(l,i)),stop:()=>(A(),st(l,i)),setSharing:f=>go(l,i,f),previews:()=>mo(l,i),commit:f=>lo(l,i,f),publicShares:{list:()=>fo(l,i),create:(...f)=>yo(l,i,...f),revoke:(...f)=>ho(l,i,...f)},audit:(f,S)=>xo(l,i,f,S),transcript:f=>ko(l,i,f),ensureReady:v,health:f=>hc(j()?.runtimeUrl??null,f),previewUrl:(f,S="/")=>qe(f,S,n(T("previewUrl").sandboxId)),proxyUrl:f=>Pc(f,n(T("proxyUrl").sandboxId)),setModel:f=>{_=f},setAgent:f=>{D=f},send:async(f,S)=>{let{opencodeSessionId:U,runtimeUrl:K}=await v(),M=S?.model??_,O=S?.agent??D;return ue(K).session.prompt({sessionID:U,parts:[{type:"text",text:f}],...M?{model:M}:{},...O?{agent:O}:{}})},abort:async()=>{let{opencodeSessionId:f,runtimeUrl:S}=await v();return ue(S).session.abort({sessionID:f})},stream:async f=>{let{runtimeUrl:S}=await v();return mn({client:ue(S),onEvent:f.onEvent,onGapRehydrate:f.onGapRehydrate,signal:f.signal})},get runtime(){return ue(T("runtime").runtimeUrl)},files:{list:async f=>Nr(f,(await v()).runtimeUrl),read:async f=>et(f,(await v()).runtimeUrl),readBlob:async f=>tt(f,(await v()).runtimeUrl),status:async()=>Hr((await v()).runtimeUrl),findFiles:async(f,S)=>Vr(f,S,(await v()).runtimeUrl),findText:async f=>Wr(f,(await v()).runtimeUrl),upload:async(f,S,U)=>rt(f,S,U,(await v()).runtimeUrl),create:async f=>zr(f,(await v()).runtimeUrl),copy:async(f,S)=>Jr(f,S,(await v()).runtimeUrl),remove:async f=>Xr(f,(await v()).runtimeUrl),mkdir:async f=>Qr(f,(await v()).runtimeUrl),rename:async(f,S)=>Yr(f,S,(await v()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:d,project:w,session:k,github:g,billing:c,sandboxShares:h,transcribe:Oa,connectStatus:m,marketplace:x,validateToken:bs,runtime:xu}}function Pu(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let n=0;n<16;n++)t[n]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let r=[...t].map(n=>n.toString(16).padStart(2,"0"));return`${r[0]}${r[1]}${r[2]}${r[3]}-${r[4]}${r[5]}-${r[6]}${r[7]}-${r[8]}${r[9]}-${r.slice(10).join("")}`}var Cc={thinking:!1,toolDetails:!0,assistantMetadata:!0};function wu(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function _u(e){let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let r=Math.floor(t/60),n=t%60;return`${r}m ${n.toFixed(0)}s`}function Su(e,t){if(e.type==="text"&&!("synthetic"in e&&e.synthetic))return`${e.text}
|
|
9
9
|
|
|
10
10
|
`;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
|
|
11
11
|
>
|
|
12
12
|
> ${(e.text||"").replace(/\n/g,`
|
|
13
13
|
> `)}
|
|
14
14
|
|
|
15
|
-
`:"";if(e.type==="tool"){let
|
|
16
|
-
`;if(t.toolDetails&&
|
|
15
|
+
`:"";if(e.type==="tool"){let r=e,n=`**Tool: ${r.tool}**
|
|
16
|
+
`;if(t.toolDetails&&r.state?.input)try{let s=typeof r.state.input=="string"?r.state.input:JSON.stringify(r.state.input,null,2);n+=`
|
|
17
17
|
<details>
|
|
18
18
|
<summary>Input</summary>
|
|
19
19
|
|
|
@@ -22,8 +22,8 @@ ${s}
|
|
|
22
22
|
\`\`\`
|
|
23
23
|
|
|
24
24
|
</details>
|
|
25
|
-
`}catch{}if(t.toolDetails&&
|
|
26
|
-
... (truncated)`:s;
|
|
25
|
+
`}catch{}if(t.toolDetails&&r.state?.status==="completed"&&r.state?.output){let s=r.state.output,c=s.length>2e3?s.slice(0,2e3)+`
|
|
26
|
+
... (truncated)`:s;n+=`
|
|
27
27
|
<details>
|
|
28
28
|
<summary>Output</summary>
|
|
29
29
|
|
|
@@ -32,33 +32,33 @@ ${c}
|
|
|
32
32
|
\`\`\`
|
|
33
33
|
|
|
34
34
|
</details>
|
|
35
|
-
`}return t.toolDetails&&
|
|
35
|
+
`}return t.toolDetails&&r.state?.status==="error"&&r.state?.error&&(n+=`
|
|
36
36
|
**Error:**
|
|
37
37
|
\`\`\`
|
|
38
|
-
${
|
|
38
|
+
${r.state.error}
|
|
39
39
|
\`\`\`
|
|
40
|
-
`),
|
|
41
|
-
`,
|
|
40
|
+
`),n+=`
|
|
41
|
+
`,n}return""}function vu(e,t){if(!t)return`## Assistant
|
|
42
42
|
|
|
43
|
-
`;let
|
|
43
|
+
`;let r=e.agent?wu(e.agent):"Assistant",n=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=_u(e.time.completed-e.time.created));let c=[n,s].filter(Boolean).join(" \xB7 ");return c?`## ${r} (${c})
|
|
44
44
|
|
|
45
|
-
`:`## ${
|
|
45
|
+
`:`## ${r}
|
|
46
46
|
|
|
47
|
-
`}function
|
|
47
|
+
`}function Cu(e,t,r){let n="";e.role==="user"?n+=`## User
|
|
48
48
|
|
|
49
|
-
`:
|
|
49
|
+
`:n+=vu(e,r.assistantMetadata);for(let s of t)n+=Su(s,r);return n}function Ru(e,t,r=Cc){let n=`# ${e.title||"Untitled Session"}
|
|
50
50
|
|
|
51
|
-
`;
|
|
52
|
-
`,
|
|
53
|
-
`,
|
|
51
|
+
`;n+=`**Session ID:** \`${e.id}\`
|
|
52
|
+
`,n+=`**Created:** ${new Date(e.time.created).toLocaleString()}
|
|
53
|
+
`,n+=`**Updated:** ${new Date(e.time.updated).toLocaleString()}
|
|
54
54
|
|
|
55
|
-
`,
|
|
55
|
+
`,n+=`---
|
|
56
56
|
|
|
57
|
-
`;for(let s of t)
|
|
57
|
+
`;for(let s of t)n+=Cu(s.info,s.parts,r),n+=`---
|
|
58
58
|
|
|
59
|
-
`;return r}function vu(e,t){return`session-${e}.md`}function W(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return $e(r)||t}catch{return t}}return $e(n)||t}catch{return Cu(t)??t}}return typeof e=="object"?$e(e)||"An error occurred":String(e)}function vc(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Cu(e){let t=vc(e);if(t)try{return $e(JSON.parse(t))}catch{return}}function $e(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let n=t.data;if(typeof n?.message=="string")return n.message;let r=t.error;if(typeof r?.message=="string")return r.message}function fr(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Sc(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||$e(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function te(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,d=fr(u)??fr(vc(u));return d!==void 0?te(d):void 0}if(typeof e!="object")return;let t=e,n=Sc(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Sc(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=fr(s.responseBody);if(u!==void 0){let d=te(u);if(d)return d}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let d=te(u);if(d)return d}}}var Ru={bash:{label:"Shell",category:"shell"},pty_spawn:{label:"Spawn Terminal",category:"shell"},pty_read:{label:"Terminal Output",category:"shell"},pty_write:{label:"Terminal Input",category:"shell"},pty_input:{label:"Terminal Input",category:"shell"},pty_kill:{label:"Kill Process",category:"shell"},read:{label:"Read File",category:"files"},list:{label:"List Directory",category:"files"},ls:{label:"List Directory",category:"files"},write:{label:"Write File",category:"edit"},edit:{label:"Edit File",category:"edit"},multiedit:{label:"Edit File",category:"edit"},morph_edit:{label:"Edit File",category:"edit"},apply_patch:{label:"Apply Patch",category:"edit"},patch:{label:"Apply Patch",category:"edit"},grep:{label:"Search Code",category:"search"},glob:{label:"Find Files",category:"search"},image_search:{label:"Image Search",category:"search"},session_search:{label:"Search Sessions",category:"search"},webfetch:{label:"Fetch Page",category:"web"},scrape_webpage:{label:"Scrape Page",category:"web"},websearch:{label:"Web Search",category:"web"},web_search:{label:"Web Search",category:"web"},image_gen:{label:"Generate Image",category:"web"},video_gen:{label:"Generate Video",category:"web"},task:{label:"Delegate to Agent",category:"task"},todowrite:{label:"Plan Tasks",category:"task"},todoread:{label:"Read Plan",category:"task"},question:{label:"Ask Question",category:"task"},presentation_gen:{label:"Presentation",category:"task"},show:{label:"Show Output",category:"task"},show_user:{label:"Show Output",category:"task"},prune:{label:"Prune Context",category:"other"},distill:{label:"Distill Context",category:"other"},compress:{label:"Compress Context",category:"other"},context_info:{label:"Context Info",category:"other"}},Tu=[{prefix:"pty_",category:"shell"},{prefix:"agent_",category:"task"},{prefix:"session_",category:"task"},{prefix:"task_",category:"task"},{prefix:"trigger_",category:"task"},{prefix:"project_",category:"task"}];function Iu(e){return e.replace(/^oc[-_]/,"")}function ut(e){return Iu(e).replace(/-/g,"_")}function yr(e){return ut(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function hr(e){let t=ut(e),n=Ru[t];if(n)return n;for(let{prefix:r,category:s}of Tu)if(t.startsWith(r))return{label:yr(e),category:s};return{label:yr(e),category:"other"}}var ju=256*1024;function Au(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Eu(e){if(e===void 0)return{};if(e.length>ju)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function qu(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?W(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function $u(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=Eu(r),u=Au(t),d=t.status==="error"?t.error:void 0;if(u==="done"){let g=qu(s);g&&(u="error",d=g)}return{name:e,title:n||hr(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:d}}function Du(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Mu(e){return{kind:"reasoning",id:e.id,text:e.text}}function Uu(e){return{kind:"tool",id:e.id,tool:$u(e.tool,e.state)}}function Ou(e){let t=e.mime;return{kind:"file",id:e.id,filename:e.filename,mime:t,url:e.url,isImage:t.startsWith("image/"),isPdf:t==="application/pdf"}}function Lu(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Fu(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Gu(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Bu(e){return{kind:"agent",id:e.id,name:e.name}}function Ku(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:W(e.error),createdAt:e.time.created}}function Nu(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function Hu(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function Wu(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Cc(e){switch(e.type){case"text":return Du(e);case"reasoning":return Mu(e);case"tool":return Uu(e);case"file":return Ou(e);case"subtask":return Lu(e);case"patch":return Fu(e);case"snapshot":return Gu(e);case"agent":return Bu(e);case"retry":return Ku(e);case"compaction":return Nu(e);case"step-start":return Hu(e);case"step-finish":return Wu(e);default:return{kind:"unknown",raw:e}}}function Vu(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=te(e);return{name:t,message:n?.message||W(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function zu(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Ju(e){let t=e.parts.map(Cc),n=e.info.role==="assistant"?e.info.error:void 0,r=Vu(n),s=!r&&!t.some(zu);return{parts:t,error:r,isEmpty:s}}function ne(e){return e.type==="text"}function br(e){return e.type==="reasoning"}function Y(e){return e.type==="tool"}function Xu(e){return e.type==="file"}function _h(e){return e.type==="agent"}function Sh(e){return e.type==="compaction"}function vh(e){return e.type==="snapshot"}function Ch(e){return e.type==="patch"}function Rh(e){if(ne(e)||br(e))return e.text}function Qu(e){if(!Xu(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function Th(e){let t=[],n=[];for(let r of e)Qu(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Ih(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function jh(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var Yu=new Set(["todoread","context_info"]);function Zu(e){return!Yu.has(e.tool)}function Ah(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=e.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Eh(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return W(n.error)}}function qh(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)Y(r)&&Zu(r)&&t.push(r);return t}function $h(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:ep(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:tp(t.path)};case"glob":return{icon:"search",title:"Glob",subtitle:t.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:t.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:t.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:t.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:t.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:t.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:t.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:t.prompt?.slice?.(0,40)};case"presentation-gen":{let n=t.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:t.slide_title||t.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:t.title||t.description};case"task":return{icon:"square-kanban",title:`Agent (${t.subagent_type||"task"})`,subtitle:np(t)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${t.agent||"KortixWorker"})`,subtitle:t.description||t.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:t.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:Rc(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Rc(t.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:t.files?.length?`${t.files.length} file${t.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:t.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:t.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${t.mode||"summary"})`,subtitle:t.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:t.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:t.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:t.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:t.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:t.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:t.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:t.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:t.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:t.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:t.name||t.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:t.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:t.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:t.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:t.name||t.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:t.name||t.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:t.name||t.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:t.name||t.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:t.name||t.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:t.name||t.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${t.agent_type||"worker"})`,subtitle:t.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:t.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:t.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:t.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:t.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:t.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:t.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:t.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:t.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:t.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:t.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:t.title||t.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:t.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:t.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:t.id};default:return{icon:"cpu",title:e}}}function ep(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Rc(e){if(!e)return;let t=e.split("/"),n=t[t.length-1]||e;if(t.length<=1)return n;let r=t[t.length-2];return r?`${n} /${r}`:n}function tp(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Dh(e,t){if(!t)return e;if(e.startsWith(t)){let n=e.slice(t.length);return n.startsWith("/")?n.slice(1):n}return e}function De(e,t=120){if(typeof e!="string")return"";let n=e.split(`
|
|
60
|
-
`).map(
|
|
61
|
-
\u2026`:e}function
|
|
62
|
-
`),
|
|
63
|
-
`),s=0;for(;s<
|
|
64
|
-
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function _p(e){let t=$(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=Mc.test(e.output.trim())?Pp(e.output):wp(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Sp(e){let t=$(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=$(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function xr(e){let t=me(e)??{};return{content:$(t.content)??"",status:$(t.status)??"pending",priority:$(t.priority)}}function vp(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(xr)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(xr)};let n=me(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(xr)}:{kind:"todo",items:[]}}function Cp(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=me(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(d=>{let g=me(d),h=g&&$(g.label);return h?[{label:h,description:g?$(g.description):void 0}]:[]});return{question:$(s.question)??"",header:$(s.header),options:u}})}}function Rp(e){let n=e.input&&Object.keys(e.input).length>0?$c(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?Me(e.outputParsed):$c(e.outputParsed):e.outputText!==void 0?r=Me(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Tp(e){switch(ut(e.name)){case"web_search":case"websearch":case"image_search":return ap(e);case"bash":return mp(e);case"read":return fp(e);case"write":return yp(e);case"edit":case"morph_edit":return xp(e);case"grep":case"glob":return _p(e);case"task":return Sp(e);case"todowrite":return vp(e);case"question":case"ask":return Cp(e);default:return Rp(e)}}var pt=[{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"us.anthropic.claude-opus-4-8",transport:"bedrock",pricingRef:"anthropic/claude-opus-4.8",tier:"flagship",vision:!0,limit:{context:1e6,output:64e3}},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"us.anthropic.claude-sonnet-4-6",transport:"bedrock",pricingRef:"anthropic/claude-sonnet-4.6",tier:"balanced",vision:!0,limit:{context:1e6,output:64e3}},{id:"glm-5.2",name:"GLM 5.2",upstreamModelId:"z-ai/glm-5.2",transport:"openrouter",pricingRef:"z-ai/glm-5.2",tier:"balanced",vision:!1,limit:{context:1e6,output:131072},openrouterProvider:{order:["z-ai"],allow_fallbacks:!0}},{id:"qwen3.7-max",name:"Qwen3.7 Max",upstreamModelId:"qwen/qwen3.7-max",transport:"openrouter",pricingRef:"qwen/qwen3.7-max",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",upstreamModelId:"deepseek/deepseek-v4-pro",transport:"openrouter",pricingRef:"deepseek/deepseek-v4-pro",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"deepseek/deepseek-v4-flash",transport:"openrouter",pricingRef:"deepseek/deepseek-v4-flash",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}}],bb=new Map(pt.map(e=>[e.id,e]));var xb=pt.map(e=>e.id),kb=(pt.find(e=>e.tier==="flagship")??pt[0]).id;var Uc=!1;function dt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Ip(e,t){if(e==null)return t;let n=e.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:t}function Cb(e){if(e==null)return;let t=e.trim().toLowerCase();if(["1","true","yes","y","on"].includes(t))return!0;if(["0","false","no","n","off"].includes(t))return!1}function gt(e,t,n){return e!==void 0?e:Ip(dt(t),n)}var Rb={get disableMobileAdvertising(){return gt(I().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return gt(I().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return gt(I().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return gt(I().featureFlags?.enableAutoModel,"NEXT_PUBLIC_ENABLE_AUTO_MODEL",Uc)}};var mt="kortix-active-instance",jp=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Ap(e){return jp.some(t=>e===t||e.startsWith(`${t}/`))}function Ue(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let n=decodeURIComponent(t[1]),r=t[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function Ib(e){let t=Ue(e);return!!t&&t.innerPath===""}function jb(e){let t=Ue(e);return!t||!t.innerPath?e:t.innerPath}function Ep(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=Ue(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return Ap(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function qp(e){return e?Ue(e)?.instanceId??null:null}function Ab(){return typeof window>"u"?null:qp(window.location.pathname)||$p()}function $p(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${mt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function Eb(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${mt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${mt}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${mt}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function qb(e,t){return t?Ep(t,e):e}function $b(e){let t=Ue(e);return t?t.innerPath||"/dashboard":e}function Oc(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e&&typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e??"")}function Dp(e){let t=Oc(e).trim();if(!t)return null;let n=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],r=t.indexOf("{");r>=0&&n.push(t.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function Lc(e){let t=Dp(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function Mb(e){return Lc(e)!==null}function Ub(e){let t=Lc(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),d=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${d}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:Oc(e)||"The sandbox is running, but OpenCode returned an error."}}function L(){let e=dt("BACKEND_URL")||I().backendUrl;return e||"http://localhost:8008/v1"}function Oe(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let n=Oe(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return Oe(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var Fc=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Gc(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function Mp(e){return e==="running"||e==="active"?"active":e==="queued"||e==="branching"||e==="provisioning"?"provisioning":e==="failed"||e==="error"?"error":e==="stopped"||e==="completed"||e==="archived"?"stopped":e||"unknown"}function Pr(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${L()}/p/${n.external_id}/${X.KORTIX_MASTER}`:""),status:Mp(n?.status||t.status),metadata:{...t.metadata??{},project_id:e.project_id,session_id:t.session_id,project_name:e.name,runtime_status:n?.status,error:t.error},created_at:n?.created_at||t.created_at,updated_at:n?.updated_at||t.updated_at}}async function wr(){let e=await ge(),t=[];for(let n of e){let r=await Ie(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Pr(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return c!==0?c:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function re(e){let t=await wr();return e?t.find(n=>n.sandbox.sandbox_id===e||n.sandbox.external_id===e||n.session.session_id===e||n.runtime?.external_id===e)??null:t[0]??null}async function ft(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await R(`${L()}${e}`,{...t,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let d=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new C(d,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=ve(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function Bc(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${L()}/p/${e.external_id}/${X.KORTIX_MASTER}`}function zb(e,t){return e.external_id?`${L()}/p/${e.external_id}/${t}`:null}async function ex(){let e=await o.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Up(e){let t=await re();if(t)return{sandbox:t.sandbox,created:!1};let r=(await ge())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await je(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await Ae(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Pr(r,s,c),created:!0}}async function tx(){return(await re().catch(()=>null))?.sandbox??null}async function nx(e){return{sandbox:(await Up(e)).sandbox}}async function rx(e){let t=Oe(e);return t?(await re(t).catch(()=>null))?.sandbox??null:null}async function sx(e,t){throw await re(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function ix(e){let t=Oe(e);return(await wr().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function ox(){if(typeof window>"u")return null;let e=L(),t=Array.from(new Set([e,...Fc]));for(let n of t)try{let r=await fetch(Gc(n),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!r.ok)continue;let s=await r.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function ax(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await re(e);if(!t)throw new Error("Project session sandbox not found");await rt(t.project.project_id,t.session.session_id)}async function cx(e){if(!e)throw new Error("No sandbox selected to stop");let t=await re(e);if(!t)throw new Error("Project session sandbox not found");await st(t.project.project_id,t.session.session_id)}async function lx(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function ux(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function fx(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function yx(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function hx(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function bx(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function xx(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function kx(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Px(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function wx(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function _r(e,t,n){let r=Bc(e),s=await R(`${ce(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function _x(e,t){return _r(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function Sx(e,t,n,r="member"){await _r(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function vx(e,t,n){await _r(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Cx(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Ix(e){let t=await ft(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function jx(e){let t=await ft(`/platform/invites/${encodeURIComponent(e)}/accept`,{method:"POST"});if(!t.success||!t.data)throw new Error(t.error||"Failed to accept invite");return t.data}async function Ax(e){let t=await ft(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function qx(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function $x(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Dx(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Mx(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Ox(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Lx(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Op=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Bx(e){return Op.includes(e)}async function Kx(e){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:e?.version??null,error:null,startedAt:null,updatedAt:null}}async function Nx(e){let t=e?`?channel=${e}`:"",n=await fetch(`${L()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await Lp(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Lp(e){let t=e?`?channel=${e}`:"",n=await fetch(`${L()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function Hx(){let e=await fetch(`${L()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function Wx(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Vx(e){}async function zx(e){}async function Yx(e){return{serverTypes:[],location:e||"hel1"}}async function Zx(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function ek(e){let t=await o.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function tk(e,t){await o.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function nk(){let e=await o.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function rk(e){let t=await o.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function sk(e,t){return`${L()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}async function ak(){let e=await o.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function ck(e={}){let t=await o.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function lk(e){let t=await o.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function uk(e){let t=await o.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function pk(){let e=await o.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function Kc(e){try{let t=new URL(e);if(/^\/proxy\/\d+(?:\/|$)/.test(t.pathname))return`${t.origin}/v1/p/auth`;let n=t.pathname.indexOf("/p/");return n!==-1?`${t.origin}${t.pathname.slice(0,n)}/p/auth`:`${t.origin}/v1/p/auth`}catch{return null}}function Fp(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let c=new Set;if(t)try{c.add(new URL(t).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(n.origin)}catch{return!1}}function gk(e,t){return Fp(e,t)?(t?Kc(t):null)??Kc(e):null}function mk(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function fk(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}export{mt as ACTIVE_INSTANCE_COOKIE,C as ApiError,_e as AuthError,ae as BillingError,Ic as COST_MARKUP,_c as DEFAULT_TRANSCRIPT_OPTIONS,Op as DESTRUCTIVE_PHASES,jp as INSTANCE_SCOPED_ROUTES,gr as PublicSessionShareError,Se as RequestTooLargeError,Nn as RuntimeNotReadyError,X as SANDBOX_PORTS,lt as SessionNotReadyError,pr as SessionStartError,Bp as __getConfigResolver,Gp as __setConfigResolver,gs as acceptAccountInvite,jx as acceptInvite,La as actReviewItem,mi as activateConnectionProfile,dc as addMarketplaceSource,yx as addSandboxMember,sp as allDescendantIds,fk as appendPreviewToken,Us as approveProjectAccessRequest,ig as approveTask,ar as archiveProject,gg as assignTicket,Vs as attachGroupToProject,R as authenticatedFetch,o as backendApi,Ep as buildInstancePath,gk as buildPreviewAuthEndpoint,Li as buildSandboxTemplate,Wy as buildWebProxyUrl,Fa as bulkActReviewItems,us as cancelAccountInvite,lx as cancelSandbox,zx as cancelSandboxUpdate,Jo as cancelScheduledChange,Wo as cancelSubscription,Vh as childMapByParent,nk as claimComputer,Cc as classifyPart,Ju as classifyTurn,Eo as clearModelDefault,kf as clearSessionFresh,ro as closeChangeRequest,Gg as closeMilestone,Kh as collectTurnParts,fg as commentTicket,oo as commitSessionChanges,Tc as computeStatusFromPart,Zo as configureAutoTopup,xt as configureKortix,No as confirmCheckoutSession,la as connectEmail,ta as connectSlack,ss as createAccount,tc as createAccountAuditWebhook,Va as createAccountToken,$x as createBackup,Ko as createCheckoutSession,Si as createConnector,Ea as createGatewayKey,Zx as createInstance,hu as createKortix,Vr as createKortixPty,Lg as createMilestone,Ho as createPortalSession,_s as createProject,vg as createProjectAgent,Xa as createProjectCliToken,Ss as createProjectRepo,Qs as createProjectResourceGrant,je as createProjectSession,Po as createProjectTrigger,nx as createSandbox,Ba as createSandboxShare,Mi as createSandboxTemplate,go as createSessionPublicShare,ng as createTask,ug as createTicket,ms as declineAccountInvite,Ax as declineInvite,Mx as deleteBackup,vi as deleteConnector,zg as deleteCredential,Hr as deleteEnv,ja as deleteGatewayBudget,Ds as deleteGitHubInstallation,ek as deleteInstance,$g as deleteKortixProject,Kg as deleteMilestone,li as deletePersonalProjectSecret,Rg as deleteProjectAgent,Ys as deleteProjectResourceGrant,ai as deleteProjectSecret,xo as deleteProjectSession,_o as deleteProjectTrigger,Oi as deleteSandboxTemplate,og as deleteTask,yg as deleteTicket,ds as describeAccountInvite,Js as detachGroupFromProject,Xl as detectLocalhostUrls,ua as disconnectEmail,pk as disconnectGitHubApp,sa as disconnectSlack,ox as discoverLocalSandbox,am as dropClientForUrl,um as dropPublicClientForUrl,_g as ensurePmSession,Up as ensureSandbox,ml as env,Za as exportAccountAudit,te as extractGatewayErrorDetails,Ue as extractInstanceRoute,Rb as featureFlags,Xf as fetchAccountStateWithToken,Em as fetchAccountsWithToken,Ni as fetchProjectArchive,Lm as fetchProjectsForAccountWithToken,jl as files,Nh as findLastTextPart,vo as fireProjectTrigger,Di as fixSandboxWithAgent,gl as formatBillingErrorForUI,ub as formatCost,ab as formatDuration,Ub as formatOpenCodeRuntimeError,pb as formatTokens,Su as formatTranscript,bu as generateSessionId,is as getAccount,Mo as getAccountState,Uo as getAccountStateMinimal,$p as getActiveInstanceIdFromCookie,np as getAgentCardLabel,Hf as getAgentConfig,Tg as getAgentPersona,Hx as getAllVersions,Wh as getAnsweredQuestionParts,ze as getAuthToken,Or as getAuthTokenWithRetry,Yo as getAutoTopupSettings,Fo as getBillingCreditBreakdown,Bo as getBillingTierConfigurations,Lo as getBillingTransactionsSummary,Go as getBillingUsageHistory,Yi as getChangeRequest,Zi as getChangeRequestDiff,eo as getChangeRequestMergePreview,Eh as getChildSessionError,Ah as getChildSessionId,qh as getChildSessionToolParts,Z as getClient,ue as getClientForUrl,Ri as getConnectStatus,Pi as getConnectorConfig,xi as getConnectorPolicies,qp as getCurrentInstanceIdFromPathname,Ab as getCurrentInstanceIdFromWindow,Do as getDefaultAccountState,Mh as getDiagnostics,tp as getDirectory,aa as getEmailInstallation,ca as getEmailMode,Rc as getFileWithDir,ep as getFilename,Lp as getFullChangelog,va as getGatewayBreakdown,Ta as getGatewayBudgets,Ra as getGatewayErrors,Aa as getGatewayKeys,wa as getGatewayLog,_a as getGatewayOverview,ha as getGatewayRoutingPolicy,Sa as getGatewaySeries,Ca as getGatewaySessions,ak as getGitHubAppStatus,js as getGitHubInstallation,Ih as getHiddenToolParts,Ix as getInvite,Yx as getJustavpsServerTypes,Ag as getKortixProject,Eg as getKortixProjectBySession,Xr as getKortixPtyWebSocketUrl,Nx as getLatestSandboxVersion,Um as getManagedGitStatus,lc as getMarketplaceCatalogItem,uc as getMarketplaceCatalogItemFile,da as getMeetVoices,Ug as getMilestone,jo as getModelDefaults,Lc as getOpenCodeConfigInvalidError,Rh as getPartText,Uh as getPermissionForTool,nr as getProject,Ig as getProjectActivity,Vi as getProjectCommit,zi as getProjectCommitDiff,rr as getProjectDetail,Ji as getProjectFileHistory,ws as getProjectGitToken,sr as getProjectLlmCatalog,ir as getProjectModelPicker,cr as getProjectSandboxHealth,fo as getProjectSession,Xo as getProrationPreview,ex as getProviders,By as getProxyBaseUrl,lm as getPublicClientForUrl,fy as getPublicSessionShare,yy as getPublicSessionShareMessages,Oh as getQuestionForTool,db as getRetryInfo,gb as getRetryMessage,Ua as getReviewItem,Lx as getSSHConnection,tx as getSandbox,rx as getSandboxById,Px as getSandboxMemberScopes,zb as getSandboxPortUrl,rk as getSandboxProvisionStatus,sk as getSandboxProvisionStreamUrl,Kx as getSandboxUpdateStatus,Bc as getSandboxUrl,Qg as getServiceLogs,yo as getSessionAudit,lb as getSessionCost,mc as getSessionHealth,uo as getSessionPreviewCandidates,ho as getSessionTranscript,Qh as getShellModePart,ia as getSlackChannelFile,ea as getSlackInstallation,ra as getSlackManifest,na as getSlackMode,Gn as getSupabaseAccessToken,Pe as getSupabaseAccessTokenWithRetry,Zd as getTask,tg as getTaskStatus,Ey as getTemplate,cg as getTicket,$h as getToolInfo,vu as getTranscriptFilename,cb as getTurnCost,sb as getTurnError,ib as getTurnErrorDetails,ob as getTurnStatus,Xi as getVersionDiff,kx as getViewerSandboxScopes,nb as getWorkingState,Sx as grantSandboxProjectAccess,Bh as groupMessagesIntoTurns,mb as hasDiffs,Gy as hasLocalhostUrls,Zl as heartbeatGapEvent,yr as humanizeToolName,qy as installTemplate,Ve as invalidateTokenCache,cs as inviteAccountMember,Bs as inviteProjectMember,ks as inviteRepoCollaborator,Cm as isAdminBypassEnabled,_h as isAgentPart,Vl as isAppRouteUrl,Qu as isAttachment,dl as isBillingError,Sh as isCompactionPart,kt as isConfigured,Bx as isDestructivePhase,Jy as isExternalUrl,Xu as isFilePart,Ib as isInstanceDetailPath,Ap as isInstanceScopedAppPath,zm as isInviteSent,tb as isLastUserMessage,Mm as isManagedGithubProject,Mb as isOpenCodeConfigInvalidError,Ch as isPatchPart,Hy as isPreviewUrl,Yl as isProxiableLocalhostUrl,br as isReasoningPart,Uy as isRuntimeReady,co as isSessionFresh,$f as isSessionStartError,ip as isShellMode,vh as isSnapshotPart,mk as isSubdomainPreviewUrl,ne as isTextPart,Y as isToolPart,jh as isToolPartHidden,zy as isWebProxyUrl,yl as kortixPty,hs as leaveAccount,Is as linkRepository,Ya as listAccountAudit,ec as listAccountAuditWebhooks,ls as listAccountInvites,as as listAccountMembers,Wa as listAccountTokens,rs as listAccounts,qx as listBackups,Oo as listBillingTransactions,Qi as listChangeRequests,ey as listChannelBindings,hg as listColumns,ui as listConnectionProfiles,fi as listConnectors,Hg as listCredentialEvents,Ng as listCredentials,Kr as listEnv,cc as listFeaturedMarketplaces,xg as listFields,Pa as listGatewayLogs,As as listGitHubInstallations,Es as listGitHubRepositories,qs as listGitHubRepositoryBranches,qg as listKortixProjectSessions,jg as listKortixProjects,Wr as listKortixPty,oc as listMarketplaceCatalogItems,pc as listMarketplaceSources,ac as listMarketplaces,Og as listMilestoneEvents,Mg as listMilestones,Zs as listPendingApprovals,Ks as listPendingProjectInvites,Ci as listPipedreamApps,Ls as listProjectAccess,Ms as listProjectAccessRequests,Sg as listProjectAgents,Hi as listProjectBranches,Ja as listProjectCliTokens,Wi as listProjectCommits,Gi as listProjectFiles,Ws as listProjectGroupGrants,ji as listProjectPolicies,Xs as listProjectResourceGrants,Ei as listProjectSandboxTemplates,Fi as listProjectSandboxes,ni as listProjectSecrets,Ie as listProjectSessions,qi as listProjectSnapshots,ko as listProjectTriggers,ge as listProjects,xs as listProjectsForAccount,Ma as listReviewItems,fx as listSandboxMembers,_x as listSandboxProjectMembers,Ga as listSandboxShares,ix as listSandboxes,Xg as listServiceTemplates,Jg as listServices,po as listSessionPublicShares,ei as listSessionsNeedingInput,eg as listTaskEvents,Yd as listTasks,Pg as listTemplates,lg as listTicketEvents,ag as listTickets,tk as markInstanceError,ao as markSessionFresh,no as mergeChangeRequest,eu as narrowChatEvent,$b as normalizeAppPathname,Xy as normalizeExternalInput,ut as normalizeToolName,to as openChangeRequest,mr as openEventStream,ve as parseBillingError,Cb as parseFlagOverride,ot as parseLocalhostUrl,Dp as parseOpenCodeErrorPayload,kc as parseSubdomainUrl,Vy as parseWebProxyUrl,Dg as patchKortixProject,_i as pipedreamConnect,Ii as pipedreamFinalize,I as platformConfig,ii as pollProjectProviderOAuth,ka as previewGatewayRoute,fa as previewMeetVoice,vs as provisionProject,Fm as provisionProjectWithToken,bc as proxyLocalhostUrl,Ny as proxyUrlToInternal,Qo as purchaseCredits,ux as reactivateSandbox,Vo as reactivateSubscription,Ki as readProjectFile,$i as rebuildProjectSnapshot,pi as reconcileConnectionProfile,Zg as reconcileServices,em as registerService,Os as rejectProjectAccessRequest,Dh as relativizePath,rc as removeAccountAuditWebhook,fs as removeAccountMember,Jr as removeKortixPty,gc as removeMarketplaceSource,hx as removeSandboxMember,sx as renameSandbox,so as reopenChangeRequest,Bg as reopenMilestone,bg as replaceColumns,kg as replaceFields,wg as replaceTemplates,io as requestChangesOnChangeRequest,Vm as requestProjectAccess,ic as requestProjectConnector,sc as requestProjectSecret,ps as resendAccountInvite,Hs as resendPendingProjectInvite,cm as resetClient,xa as resetGatewayRoutingPolicy,pm as resetPublicClient,Vx as resetSandboxUpdateStatus,ti as resolveApproval,rt as restartProjectSession,ax as restartSandbox,Dx as restoreBackup,Vg as revealCredential,za as revokeAccountToken,gi as revokeConnectionProfile,qa as revokeGatewayKey,Ns as revokePendingProjectInvite,Gs as revokeProjectAccess,Qa as revokeProjectCliToken,Cx as revokeSandboxInvite,vx as revokeSandboxProjectAccess,Ka as revokeSandboxShare,mo as revokeSessionPublicShare,qe as rewriteLocalhostUrl,$a as runGatewayPlayground,$s as saveGitHubInstallation,zo as scheduleDowngrade,Bi as searchProjectFiles,Yg as serviceAction,Df as sessionStartKey,Eb as setActiveInstanceCookie,vm as setAdminBypass,qo as setAgentScope,Ad as setBootstrapAuthToken,jd as setCachedAuthToken,Ti as setConnectorCredential,hi as setConnectorCredentialMode,wi as setConnectorName,ki as setConnectorPolicies,bi as setConnectorSensitive,Nr as setEnv,Ia as setGatewayBudget,ba as setGatewayRoutingPolicy,lk as setGitHubAppFromExisting,uk as setGitHubAppPat,ma as setMeetBotName,ga as setMeetVoice,Ao as setModelDefault,ci as setPersonalProjectSecret,Ts as setProjectOnboardingComplete,Ai as setProjectPolicies,lo as setProjectSessionSharing,So as setProjectTriggersActivation,Ox as setupSSH,rb as shouldHideResponsePart,Zu as shouldShowToolPart,zh as sortSessions,ya as speakInMeeting,Th as splitUserParts,ck as startGitHubAppManifest,si as startProjectProviderOAuth,Ae as startProjectSession,sg as startTask,st as stopProjectSession,cx as stopSandbox,Lh as stripAnsi,jb as stripInstancePrefix,ce as stripTrailingSlashes,Oa as submitReviewItem,Rm as supabaseClient,yi as syncConnectors,dm as systemReload,qb as toInstanceAwarePath,Ky as toInternalUrl,hr as toolInfo,Tp as toolViewModel,Da as transcribeAudio,Wx as triggerSandboxUpdate,fl as triggersRequest,Hh as turnHasSteps,mg as unassignTicket,W as unwrapError,nc as updateAccountAuditWebhook,ys as updateAccountMemberRole,os as updateAccountName,Wf as updateAgentConfig,ty as updateChannelBinding,di as updateConnectionProfileCredential,pa as updateEmailPolicy,Cs as updateExperimentalFeature,zr as updateKortixPty,Fg as updateMilestone,or as updateProject,Fs as updateProjectAccess,Cg as updateProjectAgent,$o as updateProjectDefaultAgent,zs as updateProjectGroupGrant,Rs as updateProjectSandboxProvider,bo as updateProjectSession,wo as updateProjectTrigger,bx as updateSandboxMemberRole,wx as updateSandboxMemberScope,xx as updateSandboxMemberSpendCap,Ui as updateSandboxTemplate,rg as updateTask,Om as updateTemplateWarmPool,pg as updateTicket,dg as updateTicketStatus,oa as uploadSlackChannelFile,Wg as upsertCredential,oi as upsertProjectGitCredential,ri as upsertProjectSecret,Ps as validateProjectManifest,bs as validateToken};
|
|
59
|
+
`;return n}function Tu(e,t){return`session-${e}.md`}function V(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let r=JSON.parse(t);if(typeof r=="string"){t=r;try{let n=JSON.parse(t);return $e(n)||t}catch{return t}}return $e(r)||t}catch{return Iu(t)??t}}return typeof e=="object"?$e(e)||"An error occurred":String(e)}function Tc(e){let t=e.indexOf("{"),r=e.lastIndexOf("}");if(!(t===-1||r===-1||r<=t))return e.slice(t,r+1)}function Iu(e){let t=Tc(e);if(t)try{return $e(JSON.parse(t))}catch{return}}function $e(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let r=t.data;if(typeof r?.message=="string")return r.message;let n=t.error;if(typeof n?.message=="string")return n.message}function fn(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Rc(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,r=typeof e.code=="string"&&e.code?e.code:void 0,n=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!r&&!n&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||$e(e)||"",provider:t,code:r,suggestion:n,upstreamStatus:s,requestId:c}}function te(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,d=fn(u)??fn(Tc(u));return d!==void 0?te(d):void 0}if(typeof e!="object")return;let t=e,r=Rc(t);if(r)return r;let n=t.error;if(n&&typeof n=="object"&&!Array.isArray(n)){let u=Rc(n);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=fn(s.responseBody);if(u!==void 0){let d=te(u);if(d)return d}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let d=te(u);if(d)return d}}}var Au={bash:{label:"Shell",category:"shell"},pty_spawn:{label:"Spawn Terminal",category:"shell"},pty_read:{label:"Terminal Output",category:"shell"},pty_write:{label:"Terminal Input",category:"shell"},pty_input:{label:"Terminal Input",category:"shell"},pty_kill:{label:"Kill Process",category:"shell"},read:{label:"Read File",category:"files"},list:{label:"List Directory",category:"files"},ls:{label:"List Directory",category:"files"},write:{label:"Write File",category:"edit"},edit:{label:"Edit File",category:"edit"},multiedit:{label:"Edit File",category:"edit"},morph_edit:{label:"Edit File",category:"edit"},apply_patch:{label:"Apply Patch",category:"edit"},patch:{label:"Apply Patch",category:"edit"},grep:{label:"Search Code",category:"search"},glob:{label:"Find Files",category:"search"},image_search:{label:"Image Search",category:"search"},session_search:{label:"Search Sessions",category:"search"},webfetch:{label:"Fetch Page",category:"web"},scrape_webpage:{label:"Scrape Page",category:"web"},websearch:{label:"Web Search",category:"web"},web_search:{label:"Web Search",category:"web"},image_gen:{label:"Generate Image",category:"web"},video_gen:{label:"Generate Video",category:"web"},task:{label:"Delegate to Agent",category:"task"},todowrite:{label:"Plan Tasks",category:"task"},todoread:{label:"Read Plan",category:"task"},question:{label:"Ask Question",category:"task"},presentation_gen:{label:"Presentation",category:"task"},show:{label:"Show Output",category:"task"},show_user:{label:"Show Output",category:"task"},prune:{label:"Prune Context",category:"other"},distill:{label:"Distill Context",category:"other"},compress:{label:"Compress Context",category:"other"},context_info:{label:"Context Info",category:"other"}},ju=[{prefix:"pty_",category:"shell"},{prefix:"agent_",category:"task"},{prefix:"session_",category:"task"},{prefix:"task_",category:"task"},{prefix:"trigger_",category:"task"},{prefix:"project_",category:"task"}];function Eu(e){return e.replace(/^oc[-_]/,"")}function ut(e){return Eu(e).replace(/-/g,"_")}function yn(e){return ut(e).split(/[_\s]+/).filter(Boolean).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}function hn(e){let t=ut(e),r=Au[t];if(r)return r;for(let{prefix:n,category:s}of ju)if(t.startsWith(n))return{label:yn(e),category:s};return{label:yn(e),category:"other"}}var qu=256*1024;function $u(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Du(e){if(e===void 0)return{};if(e.length>qu)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Mu(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,r=t.success===!1,n=t.error,s=typeof n=="string"&&n.length>0||typeof n=="object"&&n!==null;if(!(!r&&!s))return s?V(n):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function Uu(e,t){let r="title"in t?t.title:void 0,n=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=Du(n),u=$u(t),d=t.status==="error"?t.error:void 0;if(u==="done"){let g=Mu(s);g&&(u="error",d=g)}return{name:e,title:r||hn(e).label,status:u,input:t.input,output:n,outputParsed:s,outputText:c,error:d}}function Ou(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Lu(e){return{kind:"reasoning",id:e.id,text:e.text}}function Fu(e){return{kind:"tool",id:e.id,tool:Uu(e.tool,e.state)}}function Gu(e){let t=e.mime;return{kind:"file",id:e.id,filename:e.filename,mime:t,url:e.url,isImage:t.startsWith("image/"),isPdf:t==="application/pdf"}}function Bu(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Ku(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Nu(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Hu(e){return{kind:"agent",id:e.id,name:e.name}}function Vu(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:V(e.error),createdAt:e.time.created}}function Wu(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function zu(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function Ju(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Ic(e){switch(e.type){case"text":return Ou(e);case"reasoning":return Lu(e);case"tool":return Fu(e);case"file":return Gu(e);case"subtask":return Bu(e);case"patch":return Ku(e);case"snapshot":return Nu(e);case"agent":return Hu(e);case"retry":return Vu(e);case"compaction":return Wu(e);case"step-start":return zu(e);case"step-finish":return Ju(e);default:return{kind:"unknown",raw:e}}}function Xu(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",r=te(e);return{name:t,message:r?.message||V(e),provider:r?.provider,code:r?.code,suggestion:r?.suggestion,upstreamStatus:r?.upstreamStatus,requestId:r?.requestId}}function Qu(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Yu(e){let t=e.parts.map(Ic),r=e.info.role==="assistant"?e.info.error:void 0,n=Xu(r),s=!n&&!t.some(Qu);return{parts:t,error:n,isEmpty:s}}function re(e){return e.type==="text"}function bn(e){return e.type==="reasoning"}function Y(e){return e.type==="tool"}function Zu(e){return e.type==="file"}function Th(e){return e.type==="agent"}function Ih(e){return e.type==="compaction"}function Ah(e){return e.type==="snapshot"}function jh(e){return e.type==="patch"}function Eh(e){if(re(e)||bn(e))return e.text}function ep(e){if(!Zu(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function qh(e){let t=[],r=[];for(let n of e)ep(n)?t.push(n):r.push(n);return{attachments:t,stickyParts:r}}function $h(e,t){let r=[];return e?.tool&&r.push(e.tool),t?.tool&&r.push(t.tool),r}function Dh(e,t,r){return r.some(n=>n.messageID===t&&n.callID===e.callID)}var tp=new Set(["todoread","context_info"]);function rp(e){return!tp.has(e.tool)}function Mh(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let n=e.state?.metadata?.sessionId;if(typeof n=="string"&&n)return n;let s=e.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=e.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let r=e.tool?.replace(/-/g,"_")||"";if(r==="session_spawn"||r==="session_start_background"){let n=e.state?.output;if(n){let s=n.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Uh(e){if(e)for(let t=e.length-1;t>=0;t--){let r=e[t]?.info;if(r?.role==="assistant"&&r.error)return V(r.error)}}function Oh(e){let t=[];for(let r of e)if(r.info.role==="assistant")for(let n of r.parts)Y(n)&&rp(n)&&t.push(n);return t}function Lh(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:np(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:sp(t.path)};case"glob":return{icon:"search",title:"Glob",subtitle:t.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:t.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:t.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:t.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:t.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:t.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:t.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:t.prompt?.slice?.(0,40)};case"presentation-gen":{let r=t.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[r]||"Presentation",subtitle:t.slide_title||t.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:t.title||t.description};case"task":return{icon:"square-kanban",title:`Agent (${t.subagent_type||"task"})`,subtitle:ip(t)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${t.agent||"KortixWorker"})`,subtitle:t.description||t.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:t.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:Ac(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Ac(t.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:t.files?.length?`${t.files.length} file${t.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:t.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:t.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${t.mode||"summary"})`,subtitle:t.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:t.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:t.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:t.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:t.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:t.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:t.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:t.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:t.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:t.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:t.name||t.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:t.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:t.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:t.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:t.name||t.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:t.name||t.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:t.name||t.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:t.name||t.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:t.name||t.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:t.name||t.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${t.agent_type||"worker"})`,subtitle:t.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:t.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:t.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:t.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:t.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:t.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:t.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:t.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:t.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:t.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:t.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:t.title||t.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:t.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:t.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:t.id};default:return{icon:"cpu",title:e}}}function np(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Ac(e){if(!e)return;let t=e.split("/"),r=t[t.length-1]||e;if(t.length<=1)return r;let n=t[t.length-2];return n?`${r} /${n}`:r}function sp(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Fh(e,t){if(!t)return e;if(e.startsWith(t)){let r=e.slice(t.length);return r.startsWith("/")?r.slice(1):r}return e}function De(e,t=120){if(typeof e!="string")return"";let r=e.split(`
|
|
60
|
+
`).map(n=>n.trim()).find(Boolean);return r?r.length>t?`${r.slice(0,t).trim()}\u2026`:r:""}function ip(e){let t=De(e.description);if(t)return t;let r=De(e.title,80);if(r)return r;let n=De(e.message);if(n)return n;let s=De(e.prompt);if(s)return s;let c=De(e.agent_id,40);return c?`Agent ${c}`:"Worker task"}function Gh(e,t){return!e||!t?[]:(e[t]??[]).filter(n=>n.severity===1).slice(0,3)}function Bh(e,t){return e.find(r=>r.tool?.callID===t)}function Kh(e,t){return e.find(r=>r.tool?.callID===t)}var op=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function Nh(e){return e?e.replace(op,""):""}function Wh(e){let t=[],r=new Map;for(let s of e)if(s.info.role==="user"){if(r.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};t.push(c),r.set(s.info.id,c)}let n=null;for(let s of e){if(s.info.role==="user"){n=r.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let c=s.info;if(c.parentID){let d=r.get(c.parentID);if(d){d.assistantMessages.push(s);continue}}if(n){n.assistantMessages.push(s);continue}if(t.length>0){t[0].assistantMessages.unshift(s);continue}let u={userMessage:s,assistantMessages:[]};t.push(u)}return t}function zh(e){let t=[];for(let r of e.assistantMessages)for(let n of r.parts)t.push({part:n,message:r});return t}function Jh(e){for(let t=e.length-1;t>=0;t--){let r=e[t].part;if(re(r)&&r.text?.trim())return r}}function Xh(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Qh(e,t,r){if(r)return[];let n=[];for(let s of e.assistantMessages)for(let c of s.parts){if(!Y(c))continue;let u=c,d=u.state?.metadata?.answers;u.tool==="question"&&(d?.length??0)>0&&n.push({part:c,message:s})}return n}function Yh(e){let t=new Map;for(let r of e){if(!r.parentID)continue;let n=t.get(r.parentID);n?n.push(r.id):t.set(r.parentID,[r.id])}return t}function Zh(e){let t=e-6e4;return(r,n)=>{let s=r.time.updated??r.time.created,c=n.time.updated??n.time.created,u=s>t,d=c>t;return u&&d?r.id<n.id?-1:r.id>n.id?1:0:u&&!d?-1:!u&&d?1:c-s}}function ap(e,t){let r=e.get(t);if(!r||r.length===0)return[];let n=[];for(let s of r)n.push(s),n.push(...ap(e,s));return n}function cp(e){let t=e.userMessage.parts;if(t.length===0||!t.every(c=>re(c)&&c.synthetic)||e.assistantMessages.length!==1)return!1;let n=e.assistantMessages[0].parts;if(n.length!==1)return!1;let s=n[0];return Y(s)&&s.tool==="bash"}function rb(e){if(cp(e))return e.assistantMessages[0].parts[0]}function ob(e,t){for(let r=t.length-1;r>=0;r--)if(t[r].info.role==="user")return t[r].info.id===e;return!1}function ab(e,t){return!t||!e?!1:e.type!=="idle"}function cb(e,t){return!e&&!!t}function lb(e){for(let t of e.assistantMessages){let r=t.info;if(r.error)return V(r.error)}}function ub(e){for(let t of e.assistantMessages){let r=t.info;if(r.error)return te(r.error)}}function jc(e){if(e){if(Y(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${e.tool}...`}if(bn(e)){let t=e.text?.trimStart();if(t){let r=t.match(/^\*\*(.+?)\*\*/);if(r)return`Thinking about ${r[1].trim()}...`}return"Thinking..."}if(re(e))return"Gathering thoughts..."}}function pb(e,t){for(let r=e.length-1;r>=0;r--){let n=e[r].part,s=Y(n)?n:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&t&&t.length>0){for(let u=t.length-1;u>=0;u--){let d=t[u];if(d.info.role==="assistant")for(let g=d.parts.length-1;g>=0;g--){let h=jc(d.parts[g]);if(h)return h}}return"Delegating to agent..."}let c=jc(n);if(c)return c}return"Considering next steps..."}function db(e){if(!Number.isFinite(e)||e<1e3)return"";let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let r=Math.floor(t/60),n=t%60;return n>0?`${r}m ${n}s`:`${r}m`}var Ec=1.2;function qc(e,t){if(!e)return 0;let r=e.input??0,n=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,c=e.cache?.write??0,d=Math.max(0,r-s-c)/1e6*t.inputPer1M;return d+=n/1e6*t.outputPer1M,s>0&&(d+=s/1e6*(t.cacheReadPer1M??t.inputPer1M)),c>0&&(d+=c/1e6*t.inputPer1M),d}function $c(e,t,r,n){let s=e.cost||0;if(s>0)return s;if(!n||!t||!r)return 0;let c=n(t,r);return c?qc(e.tokens,c):0}function Dc(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function gb(e,t){let r=0,n=0,s=0,c=0,u=0,d=0,g=!1;for(let{part:h,message:m}of e)if(h.type==="step-finish"){g=!0;let x=h,{providerID:w,modelID:k}=Dc(m.info);r+=$c(x,w,k,t),n+=x.tokens?.input||0,s+=x.tokens?.output||0,c+=x.tokens?.reasoning||0,u+=x.tokens?.cache?.read||0,d+=x.tokens?.cache?.write||0}if(!g)for(let{message:h}of e){if(h.info.role!=="assistant")continue;let m=h.info,x=Mc(m,t);if(x<=0)continue;g=!0,r+=x;let w=m.tokens;w&&(n+=w.input??0,s+=w.output??0,c+=w.reasoning??0,u+=w.cache?.read??0,d+=w.cache?.write??0)}if(g)return{cost:r*Ec,tokens:{input:n,output:s,reasoning:c,cacheRead:u,cacheWrite:d}}}function Mc(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let r=t(e.providerID,e.modelID);return r?qc({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},r):0}function mb(e,t){let r=0;for(let n of e){if(n.info?.role!=="assistant")continue;let s=n.info,{providerID:c,modelID:u}=Dc(s),d=0,g=!1;for(let h of n.parts)h.type==="step-finish"&&(g=!0,d+=$c(h,c,u,t));g||(d+=Mc(s,t)),r+=d}return r*Ec}function fb(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function yb(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function hb(e){if(!e||e.type!=="retry")return;let t=e;return{attempt:t.attempt,message:t.message.length>60?`${t.message.slice(0,60)}...`:t.message,next:t.next}}function bb(e){if(!(!e||e.type!=="retry"))return V(e.message)}function xb(e){return(e.info.summary?.diffs?.length??0)>0}var lp=4e3;function Me(e,t=lp){return e.length>t?`${e.slice(0,t)}
|
|
61
|
+
\u2026`:e}function Uc(e){if(e!==void 0)try{return Me(JSON.stringify(e,null,2))}catch{return}}function $(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function me(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function up(e){let t=$(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let r=me(e.outputParsed);if(!r)return{kind:"web-search",query:t};let s=(Array.isArray(r.results)?r.results:Array.isArray(r.images)?r.images:[]).slice(0,50).map(c=>{let u=me(c)??{};return{title:$(u.title)??"",url:$(u.url,u.link)??"",snippet:$(u.snippet,u.description,u.source)}});return{kind:"web-search",query:$(r.query)??t,results:s.length>0?s:void 0,answer:$(r.answer)}}var pp=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function dp(e,t,r){let n="",s=0;for(;;){let c=e.indexOf(t,s);if(c===-1)return n+e.slice(s);let u=e.indexOf(r,c+t.length);if(u===-1)return n+e.slice(s);n+=e.slice(s,c),s=u+r.length}}var gp=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function mp(e){let t=-1;for(let r of gp){let n=e.indexOf(r);n!==-1&&(t===-1||n<t)&&(t=n)}return t===-1?e:e.slice(0,t)}var fp=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function yp(e){return e.replace(fp,"")}function hp(e){let t=$(e.input?.command)??"",r=e.output??"",n=r.match(pp),s=n?Number(n[1]):void 0,u=yp(mp(dp(r,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:u||void 0,exitCode:s}}function kn(e){return $(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function bp(e){let t=e.status==="error"?e.error:e.output&&Me(e.output)||void 0;return{kind:"file-read",path:kn(e),preview:t}}function xp(e){let t=$(e.input?.content),r=e.status==="error"?e.error:Me(t??e.output??"")||void 0;return{kind:"file-write",path:kn(e),preview:r}}var kp=256*1024;function Pp(e,t){if(e.length+t.length>kp)return;let r=e.split(`
|
|
62
|
+
`),n=t.split(`
|
|
63
|
+
`),s=0;for(;s<r.length&&s<n.length&&r[s]===n[s];)s++;let c=r.length,u=n.length;for(;c>s&&u>s&&r[c-1]===n[u-1];)c--,u--;let d=[];for(let g=0;g<s;g++)d.push({type:"unchanged",text:r[g]});for(let g=s;g<c;g++)d.push({type:"removed",text:r[g]});for(let g=s;g<u;g++)d.push({type:"added",text:n[g]});for(let g=c;g<r.length;g++)d.push({type:"unchanged",text:r[g]});return d}function wp(e){let t=$(e.input?.oldString),r=$(e.input?.newString),n=t!==void 0&&r!==void 0?Pp(t,r):void 0;return{kind:"file-edit",path:kn(e),diff:n}}var Lc=/^Found\s+(\d+)\s+match/i,_p=/^(\/[^:]+?):\s*/,Oc=/Line\s+(\d+):/g;function Sp(e){let t=e.trim(),r=t.match(Lc),n=r?t.slice(r[0].length).trim():t;if(!n)return[];let s=[];for(let c of n.split(/\n\n+/)){let u=c.trim();if(!u)continue;let d=u.match(_p);if(!d)continue;let g=d[1],h=u.slice(d[0].length),m=[],x;for(Oc.lastIndex=0;(x=Oc.exec(h))!==null;)m.push({line:Number(x[1]),contentStart:x.index+x[0].length,headerStart:x.index});for(let w=0;w<m.length;w++){let k=w+1<m.length?m[w+1].headerStart:h.length,l=h.slice(m[w].contentStart,k).trim();s.push({path:g,line:m[w].line,content:l.endsWith(";")?l.slice(0,-1):l})}}return s}function vp(e){return e.trim().split(`
|
|
64
|
+
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Cp(e){let t=$(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let r=Lc.test(e.output.trim())?Sp(e.output):vp(e.output);return{kind:"search",pattern:t,matches:r.length>0?r.slice(0,200):void 0}}function Rp(e){let t=$(e.input?.description,e.input?.title,e.input?.prompt)??e.title,r=$(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:r}}function xn(e){let t=me(e)??{};return{content:$(t.content)??"",status:$(t.status)??"pending",priority:$(t.priority)}}function Tp(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(xn)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(xn)};let r=me(e.outputParsed);return r&&Array.isArray(r.todos)?{kind:"todo",items:r.todos.map(xn)}:{kind:"todo",items:[]}}function Ip(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(n=>{let s=me(n)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(d=>{let g=me(d),h=g&&$(g.label);return h?[{label:h,description:g?$(g.description):void 0}]:[]});return{question:$(s.question)??"",header:$(s.header),options:u}})}}function Ap(e){let r=e.input&&Object.keys(e.input).length>0?Uc(e.input):void 0,n;return e.outputParsed!==void 0?n=typeof e.outputParsed=="string"?Me(e.outputParsed):Uc(e.outputParsed):e.outputText!==void 0?n=Me(e.outputText):n=e.error,{kind:"generic",label:e.title,inputPretty:r,outputPretty:n}}function jp(e){switch(ut(e.name)){case"web_search":case"websearch":case"image_search":return up(e);case"bash":return hp(e);case"read":return bp(e);case"write":return xp(e);case"edit":case"morph_edit":return wp(e);case"grep":case"glob":return Cp(e);case"task":return Rp(e);case"todowrite":return Tp(e);case"question":case"ask":return Ip(e);default:return Ap(e)}}var pt=[{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"us.anthropic.claude-opus-4-8",transport:"bedrock",pricingRef:"anthropic/claude-opus-4-8",tier:"flagship",vision:!0,limit:{context:1e6,output:64e3}},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"us.anthropic.claude-sonnet-4-6",transport:"bedrock",pricingRef:"anthropic/claude-sonnet-4-6",tier:"balanced",vision:!0,limit:{context:1e6,output:64e3}},{id:"glm-5.2",name:"GLM 5.2",upstreamModelId:"z-ai/glm-5.2",transport:"openrouter",pricingRef:"z-ai/glm-5.2",tier:"balanced",vision:!1,limit:{context:1e6,output:131072},openrouterProvider:{order:["z-ai"],allow_fallbacks:!0}},{id:"qwen3.7-max",name:"Qwen3.7 Max",upstreamModelId:"qwen/qwen3.7-max",transport:"openrouter",pricingRef:"qwen/qwen3.7-max",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",upstreamModelId:"deepseek/deepseek-v4-pro",transport:"openrouter",pricingRef:"deepseek/deepseek-v4-pro",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"deepseek/deepseek-v4-flash",transport:"openrouter",pricingRef:"deepseek/deepseek-v4-flash",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}}],_b=new Map(pt.map(e=>[e.id,e]));var Sb=pt.map(e=>e.id),vb=(pt.find(e=>e.tier==="flagship")??pt[0]).id;var Fc=!1;function dt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Ep(e,t){if(e==null)return t;let r=e.trim().toLowerCase();return["1","true","yes","y","on"].includes(r)?!0:["0","false","no","n","off"].includes(r)?!1:t}function jb(e){if(e==null)return;let t=e.trim().toLowerCase();if(["1","true","yes","y","on"].includes(t))return!0;if(["0","false","no","n","off"].includes(t))return!1}function gt(e,t,r){return e!==void 0?e:Ep(dt(t),r)}var Eb={get disableMobileAdvertising(){return gt(I().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return gt(I().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return gt(I().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return gt(I().featureFlags?.enableAutoModel,"NEXT_PUBLIC_ENABLE_AUTO_MODEL",Fc)}};var mt="kortix-active-instance",qp=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function $p(e){return qp.some(t=>e===t||e.startsWith(`${t}/`))}function Ue(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let r=decodeURIComponent(t[1]),n=t[2]??"";return{instanceId:r,innerPath:n?`/${n}`:""}}function $b(e){let t=Ue(e);return!!t&&t.innerPath===""}function Db(e){let t=Ue(e);return!t||!t.innerPath?e:t.innerPath}function Dp(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let r=Ue(t);return r?`/instances/${encodeURIComponent(e)}${r.innerPath}`:t}return $p(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function Mp(e){return e?Ue(e)?.instanceId??null:null}function Mb(){return typeof window>"u"?null:Mp(window.location.pathname)||Up()}function Up(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${mt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function Ub(e){if(typeof document>"u")return;let t=r=>{document.cookie=r};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${mt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${mt}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${mt}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Ob(e,t){return t?Dp(t,e):e}function Lb(e){let t=Ue(e);return t?t.innerPath||"/dashboard":e}function Gc(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e&&typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e??"")}function Op(e){let t=Gc(e).trim();if(!t)return null;let r=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],n=t.indexOf("{");n>=0&&r.push(t.slice(n));for(let s of r)if(s)try{return JSON.parse(s)}catch{}return null}function Bc(e){let t=Op(e);if(!t||typeof t!="object")return null;let r=t;return r.name==="ConfigInvalidError"?r:null}function Gb(e){return Bc(e)!==null}function Bb(e){let t=Bc(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),d=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${d}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:Gc(e)||"The sandbox is running, but OpenCode returned an error."}}function L(){let e=dt("BACKEND_URL")||I().backendUrl;return e||"http://localhost:8008/v1"}function Oe(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let r=Oe(t);if(r)return r}return}if(e&&typeof e=="object"){let t=e;return Oe(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var Kc=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Nc(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function Lp(e){return e==="running"||e==="active"?"active":e==="queued"||e==="branching"||e==="provisioning"?"provisioning":e==="failed"||e==="error"?"error":e==="stopped"||e==="completed"||e==="archived"?"stopped":e||"unknown"}function Pn(e,t,r){let n=r?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:r?.sandbox_id||t.sandbox_id||t.session_id,external_id:n,name:t.name||`${e.name} session`,provider:r?.provider||t.sandbox_provider||"daytona",base_url:r?.base_url||t.sandbox_url||(r?.external_id?`${L()}/p/${r.external_id}/${X.KORTIX_MASTER}`:""),status:Lp(r?.status||t.status),metadata:{...t.metadata??{},project_id:e.project_id,session_id:t.session_id,project_name:e.name,runtime_status:r?.status,error:t.error},created_at:r?.created_at||t.created_at,updated_at:r?.updated_at||t.updated_at}}async function wn(){let e=await ge(),t=[];for(let r of e){let n=await Ie(r.project_id).catch(()=>[]);for(let s of n)t.push({project:r,session:s,runtime:null,sandbox:Pn(r,s,null)})}return t.sort((r,n)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[r.sandbox.status]??99)-(s[n.sandbox.status]??99);return c!==0?c:Date.parse(n.sandbox.updated_at)-Date.parse(r.sandbox.updated_at)})}async function ne(e){let t=await wn();return e?t.find(r=>r.sandbox.sandbox_id===e||r.sandbox.external_id===e||r.session.session_id===e||r.runtime?.external_id===e)??null:t[0]??null}async function ft(e,t={}){let r={"Content-Type":"application/json",...t.headers},n=t.signal??AbortSignal.timeout(3e4),s=await R(`${L()}${e}`,{...t,headers:r,signal:n}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let d=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new C(d,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=ve(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function Hc(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${L()}/p/${e.external_id}/${X.KORTIX_MASTER}`}function Zb(e,t){return e.external_id?`${L()}/p/${e.external_id}/${t}`:null}async function ix(){let e=await o.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Fp(e){let t=await ne();if(t)return{sandbox:t.sandbox,created:!1};let n=(await ge())[0];if(!n)throw new Error("Create a project before starting a sandbox");let s=await Ae(n.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await je(n.project_id,s.session_id))?.sandbox??null;return{sandbox:Pn(n,s,c),created:!0}}async function ox(){return(await ne().catch(()=>null))?.sandbox??null}async function ax(e){return{sandbox:(await Fp(e)).sandbox}}async function cx(e){let t=Oe(e);return t?(await ne(t).catch(()=>null))?.sandbox??null:null}async function lx(e,t){throw await ne(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function ux(e){let t=Oe(e);return(await wn().catch(()=>[])).map(n=>n.sandbox).filter(n=>!t||n.sandbox_id===t||n.external_id===t)}async function px(){if(typeof window>"u")return null;let e=L(),t=Array.from(new Set([e,...Kc]));for(let r of t)try{let n=await fetch(Nc(r),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!n.ok)continue;let s=await n.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function dx(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await ne(e);if(!t)throw new Error("Project session sandbox not found");await nt(t.project.project_id,t.session.session_id)}async function gx(e){if(!e)throw new Error("No sandbox selected to stop");let t=await ne(e);if(!t)throw new Error("Project session sandbox not found");await st(t.project.project_id,t.session.session_id)}async function mx(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function fx(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function kx(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function Px(e,t,r="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function wx(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function _x(e,t,r){throw new Error("Sandbox members moved to project access; update project access instead")}async function Sx(e,t,r){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function vx(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Cx(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Rx(e,t,r,n){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function _n(e,t,r){let n=Hc(e),s=await R(`${ce(n)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...r});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function Tx(e,t){return _n(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function Ix(e,t,r,n="member"){await _n(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:r,role:n})})}async function Ax(e,t,r){await _n(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(r)}`,{method:"DELETE"})}async function jx(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function $x(e){let t=await ft(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function Dx(e){let t=await ft(`/platform/invites/${encodeURIComponent(e)}/accept`,{method:"POST"});if(!t.success||!t.data)throw new Error(t.error||"Failed to accept invite");return t.data}async function Mx(e){let t=await ft(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function Ox(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Lx(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Fx(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Gx(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Kx(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Nx(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Gp=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Wx(e){return Gp.includes(e)}async function zx(e){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:e?.version??null,error:null,startedAt:null,updatedAt:null}}async function Jx(e){let t=e?`?channel=${e}`:"",r=await fetch(`${L()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!r.ok)throw new Error(`Version check failed: ${r.status}`);let n=await r.json();try{let s=await Bp(e||"stable");n.changelog=s.find(c=>c.version===n.version)??s[0]??null}catch{n.changelog=null}return n}async function Bp(e){let t=e?`?channel=${e}`:"",r=await fetch(`${L()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!r.ok)throw new Error(`Changelog fetch failed: ${r.status}`);return(await r.json()).changelog}async function Xx(){let e=await fetch(`${L()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function Qx(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Yx(e){}async function Zx(e){}async function nk(e){return{serverTypes:[],location:e||"hel1"}}async function sk(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function ik(e){let t=await o.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function ok(e,t){await o.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function ak(){let e=await o.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function ck(e){let t=await o.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function lk(e,t){return`${L()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}async function dk(){let e=await o.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function gk(e={}){let t=await o.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function mk(e){let t=await o.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function fk(e){let t=await o.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function yk(){let e=await o.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function Vc(e){try{let t=new URL(e);if(/^\/proxy\/\d+(?:\/|$)/.test(t.pathname))return`${t.origin}/v1/p/auth`;let r=t.pathname.indexOf("/p/");return r!==-1?`${t.origin}${t.pathname.slice(0,r)}/p/auth`:`${t.origin}/v1/p/auth`}catch{return null}}function Kp(e,t){try{let r=new URL(e),n=r.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(n)||/^\/proxy\/\d+(?:\/|$)/.test(n)))return!1;let c=new Set;if(t)try{c.add(new URL(t).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(r.origin)}catch{return!1}}function bk(e,t){return Kp(e,t)?(t?Vc(t):null)??Vc(e):null}function xk(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function kk(e,t){try{let r=new URL(e);return r.searchParams.set("token",t),r.toString()}catch{return e}}export{mt as ACTIVE_INSTANCE_COOKIE,C as ApiError,_e as AuthError,ae as BillingError,Ec as COST_MARKUP,Cc as DEFAULT_TRANSCRIPT_OPTIONS,Gp as DESTRUCTIVE_PHASES,qp as INSTANCE_SCOPED_ROUTES,gn as PublicSessionShareError,Se as RequestTooLargeError,Kr as RuntimeNotReadyError,X as SANDBOX_PORTS,lt as SessionNotReadyError,pn as SessionStartError,Hp as __getConfigResolver,Np as __setConfigResolver,gs as acceptAccountInvite,Dx as acceptInvite,Ba as actReviewItem,mi as activateConnectionProfile,fc as addMarketplaceSource,Px as addSandboxMember,ap as allDescendantIds,kk as appendPreviewToken,Us as approveProjectAccessRequest,cg as approveTask,an as archiveProject,yg as assignTicket,Ws as attachGroupToProject,R as authenticatedFetch,o as backendApi,Dp as buildInstancePath,bk as buildPreviewAuthEndpoint,Bi as buildSandboxTemplate,Qy as buildWebProxyUrl,Ka as bulkActReviewItems,us as cancelAccountInvite,mx as cancelSandbox,Zx as cancelSandboxUpdate,Yo as cancelScheduledChange,Jo as cancelSubscription,Yh as childMapByParent,ak as claimComputer,Ic as classifyPart,Yu as classifyTurn,Do as clearModelDefault,Sf as clearSessionFresh,oo as closeChangeRequest,Ng as closeMilestone,zh as collectTurnParts,bg as commentTicket,lo as commitSessionChanges,jc as computeStatusFromPart,ra as configureAutoTopup,xt as configureKortix,Wo as confirmCheckoutSession,da as connectEmail,sa as connectSlack,ss as createAccount,sc as createAccountAuditWebhook,Xa as createAccountToken,Lx as createBackup,Vo as createCheckoutSession,Si as createConnector,Da as createGatewayKey,sk as createInstance,ku as createKortix,Wn as createKortixPty,Bg as createMilestone,zo as createPortalSession,_s as createProject,Tg as createProjectAgent,Za as createProjectCliToken,Ss as createProjectRepo,Qs as createProjectResourceGrant,Ae as createProjectSession,So as createProjectTrigger,ax as createSandbox,Ha as createSandboxShare,Li as createSandboxTemplate,yo as createSessionPublicShare,ig as createTask,gg as createTicket,ms as declineAccountInvite,Mx as declineInvite,Gx as deleteBackup,Ci as deleteConnector,Qg as deleteCredential,Hn as deleteEnv,qa as deleteGatewayBudget,Ds as deleteGitHubInstallation,ik as deleteInstance,Ug as deleteKortixProject,Vg as deleteMilestone,li as deletePersonalProjectSecret,Ag as deleteProjectAgent,Ys as deleteProjectResourceGrant,ai as deleteProjectSecret,wo as deleteProjectSession,Co as deleteProjectTrigger,Gi as deleteSandboxTemplate,lg as deleteTask,xg as deleteTicket,ds as describeAccountInvite,Js as detachGroupFromProject,Zl as detectLocalhostUrls,ga as disconnectEmail,yk as disconnectGitHubApp,aa as disconnectSlack,vi as discoverConnectorAuth,px as discoverLocalSandbox,um as dropClientForUrl,gm as dropPublicClientForUrl,Cg as ensurePmSession,Fp as ensureSandbox,hl as env,rc as exportAccountAudit,te as extractGatewayErrorDetails,Ue as extractInstanceRoute,Eb as featureFlags,ey as fetchAccountStateWithToken,Dm as fetchAccountsWithToken,Wi as fetchProjectArchive,Km as fetchProjectsForAccountWithToken,ql as files,Jh as findLastTextPart,To as fireProjectTrigger,Oi as fixSandboxWithAgent,yl as formatBillingErrorForUI,fb as formatCost,db as formatDuration,Bb as formatOpenCodeRuntimeError,yb as formatTokens,Ru as formatTranscript,Pu as generateSessionId,is as getAccount,Lo as getAccountState,Fo as getAccountStateMinimal,Up as getActiveInstanceIdFromCookie,ip as getAgentCardLabel,Jf as getAgentConfig,jg as getAgentPersona,Xx as getAllVersions,Qh as getAnsweredQuestionParts,ze as getAuthToken,On as getAuthTokenWithRetry,ta as getAutoTopupSettings,Ko as getBillingCreditBreakdown,Ho as getBillingTierConfigurations,Bo as getBillingTransactionsSummary,No as getBillingUsageHistory,to as getChangeRequest,ro as getChangeRequestDiff,no as getChangeRequestMergePreview,Uh as getChildSessionError,Mh as getChildSessionId,Oh as getChildSessionToolParts,Z as getClient,ue as getClientForUrl,Ai as getConnectStatus,Pi as getConnectorConfig,xi as getConnectorPolicies,Mp as getCurrentInstanceIdFromPathname,Mb as getCurrentInstanceIdFromWindow,Oo as getDefaultAccountState,Gh as getDiagnostics,sp as getDirectory,Ii as getDiscoverIntegration,ua as getEmailInstallation,pa as getEmailMode,Ac as getFileWithDir,np as getFilename,Bp as getFullChangelog,Ta as getGatewayBreakdown,ja as getGatewayBudgets,Aa as getGatewayErrors,$a as getGatewayKeys,va as getGatewayLog,Ca as getGatewayOverview,ka as getGatewayRoutingPolicy,Ra as getGatewaySeries,Ia as getGatewaySessions,dk as getGitHubAppStatus,As as getGitHubInstallation,$h as getHiddenToolParts,$x as getInvite,nk as getJustavpsServerTypes,$g as getKortixProject,Dg as getKortixProjectBySession,Xn as getKortixPtyWebSocketUrl,Jx as getLatestSandboxVersion,Gm as getManagedGitStatus,dc as getMarketplaceCatalogItem,gc as getMarketplaceCatalogItemFile,fa as getMeetVoices,Fg as getMilestone,qo as getModelDefaults,Bc as getOpenCodeConfigInvalidError,Eh as getPartText,Bh as getPermissionForTool,tn as getProject,Eg as getProjectActivity,Xi as getProjectCommit,Qi as getProjectCommitDiff,rn as getProjectDetail,Yi as getProjectFileHistory,ws as getProjectGitToken,nn as getProjectLlmCatalog,Fm as getProjectLlmCatalogProviders,sn as getProjectModelPicker,cn as getProjectSandboxHealth,bo as getProjectSession,Zo as getProrationPreview,ix as getProviders,Wy as getProxyBaseUrl,dm as getPublicClientForUrl,ky as getPublicSessionShare,Py as getPublicSessionShareMessages,Kh as getQuestionForTool,hb as getRetryInfo,bb as getRetryMessage,Fa as getReviewItem,Nx as getSSHConnection,ox as getSandbox,cx as getSandboxById,Cx as getSandboxMemberScopes,Zb as getSandboxPortUrl,ck as getSandboxProvisionStatus,lk as getSandboxProvisionStreamUrl,zx as getSandboxUpdateStatus,Hc as getSandboxUrl,em as getServiceLogs,xo as getSessionAudit,mb as getSessionCost,hc as getSessionHealth,mo as getSessionPreviewCandidates,ko as getSessionTranscript,rb as getShellModePart,ca as getSlackChannelFile,na as getSlackInstallation,oa as getSlackManifest,ia as getSlackMode,Fr as getSupabaseAccessToken,Pe as getSupabaseAccessTokenWithRetry,rg as getTask,sg as getTaskStatus,Uy as getTemplate,pg as getTicket,Lh as getToolInfo,Tu as getTranscriptFilename,gb as getTurnCost,lb as getTurnError,ub as getTurnErrorDetails,pb as getTurnStatus,Zi as getVersionDiff,vx as getViewerSandboxScopes,ab as getWorkingState,Ix as grantSandboxProjectAccess,Wh as groupMessagesIntoTurns,xb as hasDiffs,Vy as hasLocalhostUrls,ru as heartbeatGapEvent,yn as humanizeToolName,Oy as installTemplate,We as invalidateTokenCache,cs as inviteAccountMember,Bs as inviteProjectMember,ks as inviteRepoCollaborator,Im as isAdminBypassEnabled,Th as isAgentPart,Xl as isAppRouteUrl,ep as isAttachment,fl as isBillingError,Ih as isCompactionPart,kt as isConfigured,Wx as isDestructivePhase,eh as isExternalUrl,Zu as isFilePart,$b as isInstanceDetailPath,$p as isInstanceScopedAppPath,Ym as isInviteSent,ob as isLastUserMessage,Lm as isManagedGithubProject,Gb as isOpenCodeConfigInvalidError,jh as isPatchPart,Xy as isPreviewUrl,tu as isProxiableLocalhostUrl,bn as isReasoningPart,By as isRuntimeReady,po as isSessionFresh,Of as isSessionStartError,cp as isShellMode,Ah as isSnapshotPart,xk as isSubdomainPreviewUrl,re as isTextPart,Y as isToolPart,Dh as isToolPartHidden,Zy as isWebProxyUrl,xl as kortixPty,hs as leaveAccount,Is as linkRepository,tc as listAccountAudit,nc as listAccountAuditWebhooks,ls as listAccountInvites,as as listAccountMembers,Ja as listAccountTokens,ns as listAccounts,Ox as listBackups,Go as listBillingTransactions,eo as listChangeRequests,sy as listChannelBindings,kg as listColumns,ui as listConnectionProfiles,fi as listConnectors,zg as listCredentialEvents,Wg as listCredentials,Ti as listDiscoverIntegrations,Kn as listEnv,pc as listFeaturedMarketplaces,wg as listFields,Sa as listGatewayLogs,js as listGitHubInstallations,Es as listGitHubRepositories,qs as listGitHubRepositoryBranches,Mg as listKortixProjectSessions,qg as listKortixProjects,Vn as listKortixPty,lc as listMarketplaceCatalogItems,mc as listMarketplaceSources,uc as listMarketplaces,Gg as listMilestoneEvents,Lg as listMilestones,Zs as listPendingApprovals,Ks as listPendingProjectInvites,Ri as listPipedreamApps,Ls as listProjectAccess,Ms as listProjectAccessRequests,Rg as listProjectAgents,zi as listProjectBranches,Ya as listProjectCliTokens,Ji as listProjectCommits,Ni as listProjectFiles,Vs as listProjectGroupGrants,qi as listProjectPolicies,Xs as listProjectResourceGrants,Di as listProjectSandboxTemplates,Ki as listProjectSandboxes,ri as listProjectSecrets,Ie as listProjectSessions,Mi as listProjectSnapshots,_o as listProjectTriggers,ge as listProjects,xs as listProjectsForAccount,La as listReviewItems,kx as listSandboxMembers,Tx as listSandboxProjectMembers,Na as listSandboxShares,ux as listSandboxes,Zg as listServiceTemplates,Yg as listServices,fo as listSessionPublicShares,ei as listSessionsNeedingInput,ng as listTaskEvents,tg as listTasks,Sg as listTemplates,dg as listTicketEvents,ug as listTickets,ok as markInstanceError,uo as markSessionFresh,io as mergeChangeRequest,nu as narrowChatEvent,Lb as normalizeAppPathname,th as normalizeExternalInput,ut as normalizeToolName,so as openChangeRequest,mn as openEventStream,ve as parseBillingError,jb as parseFlagOverride,ot as parseLocalhostUrl,Op as parseOpenCodeErrorPayload,_c as parseSubdomainUrl,Yy as parseWebProxyUrl,Og as patchKortixProject,_i as pipedreamConnect,Ei as pipedreamFinalize,I as platformConfig,ii as pollProjectProviderOAuth,_a as previewGatewayRoute,ba as previewMeetVoice,vs as provisionProject,Nm as provisionProjectWithToken,Pc as proxyLocalhostUrl,Jy as proxyUrlToInternal,ea as purchaseCredits,fx as reactivateSandbox,Xo as reactivateSubscription,Vi as readProjectFile,Ui as rebuildProjectSnapshot,pi as reconcileConnectionProfile,rm as reconcileServices,nm as registerService,Os as rejectProjectAccessRequest,Fh as relativizePath,oc as removeAccountAuditWebhook,fs as removeAccountMember,Jn as removeKortixPty,yc as removeMarketplaceSource,wx as removeSandboxMember,lx as renameSandbox,ao as reopenChangeRequest,Hg as reopenMilestone,Pg as replaceColumns,_g as replaceFields,vg as replaceTemplates,co as requestChangesOnChangeRequest,Qm as requestProjectAccess,cc as requestProjectConnector,ac as requestProjectSecret,ps as resendAccountInvite,Hs as resendPendingProjectInvite,pm as resetClient,wa as resetGatewayRoutingPolicy,mm as resetPublicClient,Yx as resetSandboxUpdateStatus,ti as resolveApproval,nt as restartProjectSession,dx as restartSandbox,Fx as restoreBackup,Xg as revealCredential,Qa as revokeAccountToken,gi as revokeConnectionProfile,Ma as revokeGatewayKey,Ns as revokePendingProjectInvite,Gs as revokeProjectAccess,ec as revokeProjectCliToken,jx as revokeSandboxInvite,Ax as revokeSandboxProjectAccess,Va as revokeSandboxShare,ho as revokeSessionPublicShare,qe as rewriteLocalhostUrl,Ua as runGatewayPlayground,$s as saveGitHubInstallation,Qo as scheduleDowngrade,Hi as searchProjectFiles,tm as serviceAction,Lf as sessionStartKey,Ub as setActiveInstanceCookie,Tm as setAdminBypass,Mo as setAgentScope,$d as setBootstrapAuthToken,qd as setCachedAuthToken,ji as setConnectorCredential,hi as setConnectorCredentialMode,wi as setConnectorName,ki as setConnectorPolicies,bi as setConnectorSensitive,Nn as setEnv,Ea as setGatewayBudget,Pa as setGatewayRoutingPolicy,mk as setGitHubAppFromExisting,fk as setGitHubAppPat,ha as setMeetBotName,ya as setMeetVoice,$o as setModelDefault,ci as setPersonalProjectSecret,Ts as setProjectOnboardingComplete,$i as setProjectPolicies,go as setProjectSessionSharing,Ro as setProjectTriggersActivation,Kx as setupSSH,cb as shouldHideResponsePart,rp as shouldShowToolPart,Zh as sortSessions,xa as speakInMeeting,qh as splitUserParts,gk as startGitHubAppManifest,si as startProjectProviderOAuth,je as startProjectSession,ag as startTask,st as stopProjectSession,gx as stopSandbox,Nh as stripAnsi,Db as stripInstancePrefix,ce as stripTrailingSlashes,Ga as submitReviewItem,Am as supabaseClient,yi as syncConnectors,fm as systemReload,Ob as toInstanceAwarePath,zy as toInternalUrl,hn as toolInfo,jp as toolViewModel,Oa as transcribeAudio,Qx as triggerSandboxUpdate,bl as triggersRequest,Xh as turnHasSteps,hg as unassignTicket,V as unwrapError,ic as updateAccountAuditWebhook,ys as updateAccountMemberRole,os as updateAccountName,Xf as updateAgentConfig,iy as updateChannelBinding,di as updateConnectionProfileCredential,ma as updateEmailPolicy,Cs as updateExperimentalFeature,zn as updateKortixPty,Kg as updateMilestone,on as updateProject,Fs as updateProjectAccess,Ig as updateProjectAgent,Uo as updateProjectDefaultAgent,zs as updateProjectGroupGrant,Rs as updateProjectSandboxProvider,Po as updateProjectSession,vo as updateProjectTrigger,_x as updateSandboxMemberRole,Rx as updateSandboxMemberScope,Sx as updateSandboxMemberSpendCap,Fi as updateSandboxTemplate,og as updateTask,Bm as updateTemplateWarmPool,mg as updateTicket,fg as updateTicketStatus,la as uploadSlackChannelFile,Jg as upsertCredential,oi as upsertProjectGitCredential,ni as upsertProjectSecret,Ps as validateProjectManifest,bs as validateToken,ly as verifyGatewayProvider};
|