@kortix/sdk 0.13.19 → 0.13.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/client/kortix.d.ts +5 -0
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +5 -0
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/http/api-client.d.ts +7 -0
- package/dist/core/http/api-client.d.ts.map +1 -1
- package/dist/core/http/api-client.js +1 -0
- package/dist/core/http/api-client.js.map +1 -1
- package/dist/core/rest/projects-client/sessions.d.ts +52 -4
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sessions.js +55 -5
- package/dist/core/rest/projects-client/sessions.js.map +1 -1
- package/dist/kortix.esm.min.js +18 -18
- package/dist/kortix.global.js +18 -18
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/query-keys.d.ts +17 -0
- package/dist/react/query-keys.d.ts.map +1 -1
- package/dist/react/query-keys.js +17 -0
- package/dist/react/query-keys.js.map +1 -1
- package/dist/react/session-cache-write.d.ts +57 -0
- package/dist/react/session-cache-write.d.ts.map +1 -0
- package/dist/react/session-cache-write.js +118 -0
- package/dist/react/session-cache-write.js.map +1 -0
- package/dist/react/use-project-sessions.d.ts +315 -0
- package/dist/react/use-project-sessions.d.ts.map +1 -0
- package/dist/react/use-project-sessions.js +94 -0
- package/dist/react/use-project-sessions.js.map +1 -0
- package/package.json +2 -2
package/dist/kortix.esm.min.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
var
|
|
1
|
+
var yd={backendUrl:"",getToken:async()=>null},rn=null,ct=null;function zy(e){ct=e}function Vy(){return ct}function sn(e,t){t?.global!==!1&&(rn=e)}function $(){return ct?.()??rn??yd}function on(){return rn!==null||ct?.()!==void 0}var Ns=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:o,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:d,url:f,...m})=>{let y,x=d??(T=>new Promise(E=>setTimeout(E,T)));return{stream:async function*(){let T=o??3e3,E=0,l=m.signal??new AbortController().signal;for(;!l.aborted;){E++;let b=m.headers instanceof Headers?m.headers:new Headers(m.headers);y!==void 0&&b.set("Last-Event-ID",y);try{let c={redirect:"follow",...m,body:m.serializedBody,headers:b,signal:l},A=new Request(f,c);e&&(A=await e(f,c));let R=await(m.fetch??globalThis.fetch)(A);if(!R.ok)throw new Error(`SSE failed: ${R.status} ${R.statusText}`);if(!R.body)throw new Error("No body in SSE response");let j=R.body.pipeThrough(new TextDecoderStream).getReader(),q="",D=()=>{try{j.cancel()}catch{}};l.addEventListener("abort",D);try{for(;;){let{done:Z,value:J}=await j.read();if(Z)break;q+=J,q=q.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
3
|
`);let h=q.split(`
|
|
4
4
|
|
|
5
5
|
`);q=h.pop()??"";for(let I of h){let B=I.split(`
|
|
6
6
|
`),O=[],F;for(let K of B)if(K.startsWith("data:"))O.push(K.replace(/^data:\s*/,""));else if(K.startsWith("event:"))F=K.replace(/^event:\s*/,"");else if(K.startsWith("id:"))y=K.replace(/^id:\s*/,"");else if(K.startsWith("retry:")){let Q=Number.parseInt(K.replace(/^retry:\s*/,""),10);Number.isNaN(Q)||(T=Q)}let L,X=!1;if(O.length){let K=O.join(`
|
|
7
|
-
`);try{L=JSON.parse(K),X=!0}catch{L=K}}X&&(s&&await s(L),r&&(L=await r(L))),n?.({data:L,event:F,id:y,retry:T}),O.length&&(yield L)}}}finally{l.removeEventListener("abort",D),j.releaseLock()}break}catch(c){if(t?.(c),u!==void 0&&E>=u)break;let A=Math.min(T*2**(E-1),p??3e4);await x(A)}}}()}};var fd=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},yd=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},hd=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},lt=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(d=>encodeURIComponent(d))).join(yd(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=fd(r),u=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):ve({allowReserved:e,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+u:u},ve=({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)}`},ut=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let d=[];Object.entries(s).forEach(([m,y])=>{d=[...d,m,e?y:encodeURIComponent(y)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let u=hd(r),p=Object.entries(s).map(([d,f])=>ve({allowReserved:e,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var bd=/\{[^{}]+\}/g,xd=({path:e,url:t})=>{let n=t,r=t.match(bd);if(r)for(let s of r){let o=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(o=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let d=e[u];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,lt({explode:o,name:u,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,ut({explode:o,name:u,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${ve({name:u,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},Ks=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,u=(e??"")+o;t&&(u=xd({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function an(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 Hs=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 cn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Ws=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let u=r[o];if(u==null)continue;let p=e[o]||t;if(Array.isArray(u)){let d=lt({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:u,...p.array});d&&s.push(d)}else if(typeof u=="object"){let d=ut({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:u,...p.object});d&&s.push(d)}else{let d=ve({allowReserved:p.allowReserved,name:o,value:u});d&&s.push(d)}}return s.join("&")},zs=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"}},_d=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,Vs=async({security:e,...t})=>{for(let n of e){if(_d(t,n.name))continue;let r=await Hs(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}}},ln=e=>Ks({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Ws(e.querySerializer),url:e.url}),un=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=pt(e.headers,t.headers),n},Pd=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},pt=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?Pd(n):Object.entries(n);for(let[s,o]of r)if(o===null)t.delete(s);else if(Array.isArray(o))for(let u of o)t.append(s,u);else o!==void 0&&t.set(s,typeof o=="object"?JSON.stringify(o):o)}return t},Fe=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}},Js=()=>({error:new Fe,request:new Fe,response:new Fe}),kd=Ws({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),wd={"Content-Type":"application/json"},Le=(e={})=>({...cn,headers:wd,parseAs:"auto",querySerializer:kd,...e});var Ge=(e={})=>{let t=un(Le(),e),n=()=>({...t}),r=f=>(t=un(t,f),n()),s=Js(),o=async f=>{let m={...t,...f,fetch:f.fetch??t.fetch??globalThis.fetch,headers:pt(t.headers,f.headers),serializedBody:void 0};m.security&&await Vs({...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 y=ln(m);return{opts:m,url:y}},u=async f=>{let{opts:m,url:y}=await o(f),x={redirect:"follow",...m,body:an(m)},_=new Request(y,x);for(let S of s.request.fns)S&&(_=await S(_,m));let k=m.fetch,T;try{T=await k(_)}catch(S){let R=S;for(let j of s.error.fns)j&&(R=await j(S,void 0,_,m));if(R=R||{},m.throwOnError)throw R;return m.responseStyle==="data"?void 0:{error:R,request:_,response:void 0}}for(let S of s.response.fns)S&&(T=await S(T,_,m));let E={request:_,response:T};if(T.ok){let S=(m.parseAs==="auto"?zs(T.headers.get("Content-Type")):m.parseAs)??"json";if(T.status===204||T.headers.get("Content-Length")==="0"){let j;switch(S){case"arrayBuffer":case"blob":case"text":j=await T[S]();break;case"formData":j=new FormData;break;case"stream":j=T.body;break;default:j={};break}return m.responseStyle==="data"?j:{data:j,...E}}let R;switch(S){case"arrayBuffer":case"blob":case"formData":case"text":R=await T[S]();break;case"json":{let j=await T.text();R=j?JSON.parse(j):{};break}case"stream":return m.responseStyle==="data"?T.body:{data:T.body,...E}}return S==="json"&&(m.responseValidator&&await m.responseValidator(R),m.responseTransformer&&(R=await m.responseTransformer(R))),m.responseStyle==="data"?R:{data:R,...E}}let l=await T.text(),b;try{b=JSON.parse(l)}catch{}let c=b??l,A=c;for(let S of s.error.fns)S&&(A=await S(c,T,_,m));if(A=A||{},m.throwOnError)throw A;return m.responseStyle==="data"?void 0:{error:A,...E}},p=f=>m=>u({...m,method:f}),d=f=>async m=>{let{opts:y,url:x}=await o(m);return Ns({...y,body:y.body,headers:y.headers,method:f,onRequest:async(_,k)=>{let T=new Request(_,k);for(let E of s.request.fns)E&&(T=await E(T,y));return T},serializedBody:an(y),url:x})};return{buildUrl:ln,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var Sd={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},vd=Object.entries(Sd),Xs=(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&&Xs(n.args,t);return t},Ad=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},g=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=Xs(t),s;for(let[o,u]of e.entries())if(t[o]&&(s=t[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=u)}else n.body=u;else for(let[p,d]of Object.entries(u??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=vd.find(([y])=>p.startsWith(y));if(m){let[y,x]=m;n[x][p.slice(y.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[y,x]of Object.entries(s.allowExtra))if(x){n[y][p]=d;break}}}}return Ad(n),n};var Qs=Ge(Le({baseUrl:"http://localhost:4096"}));var P=class{client;constructor(t){this.client=t?.client??Qs}},pn=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)}},dn=class extends P{remove(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=g([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}})}},gn=class extends P{log(t,n){let r=g([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=g([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=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},mn=class extends P{moveSession(t,n){let r=g([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}})}},fn=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},yn=class extends P{get(t,n){let r=g([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=g([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=g([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}})}},hn=class extends P{list(t,n){let r=g([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=g([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})}},bn=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},xn=class extends P{generateName(t,n){let r=g([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}})}},_n=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},Pn=class extends P{list(t,n){let r=g([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=g([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=g([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=g([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=g([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=g([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 _n({client:this.client})}},kn=class extends P{_controlPlane;get controlPlane(){return this._controlPlane??=new mn({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new fn({client:this.client})}_console;get console(){return this._console??=new yn({client:this.client})}_session;get session(){return this._session??=new hn({client:this.client})}_resource;get resource(){return this._resource??=new bn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new xn({client:this.client})}_workspace;get workspace(){return this._workspace??=new Pn({client:this.client})}},wn=class extends P{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=g([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}})}},Sn=class extends P{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=g([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 wn({client:this.client})}},vn=class extends P{subscribe(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},An=class extends P{get(t,n){let r=g([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=g([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=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},Cn=class extends P{list(t,n){let r=g([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=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},Rn=class extends P{remove(t,n){let r=g([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=g([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=g([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=g([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}})}},Tn=class extends P{text(t,n){let r=g([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=g([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=g([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})}},In=class extends P{list(t,n){let r=g([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=g([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=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},En=class extends P{dispose(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},jn=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},$n=class extends P{raw(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Mn=class extends P{get(t,n){let r=g([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=g([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=g([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=g([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 $n({client:this.client})}},Dn=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},qn=class extends P{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},On=class extends P{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Un=class extends P{remove(t,n){let r=g([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=g([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=g([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=g([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})}},Fn=class extends P{status(t,n){let r=g([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=g([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=g([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=g([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 Un({client:this.client})}},Ln=class extends P{list(t,n){let r=g([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=g([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=g([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=g([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=g([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})}},Gn=class extends P{shells(t,n){let r=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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})}},Bn=class extends P{list(t,n){let r=g([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=g([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=g([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})}},Nn=class extends P{list(t,n){let r=g([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=g([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=g([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}})}},Kn=class extends P{authorize(t,n){let r=g([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=g([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}})}},Hn=class extends P{list(t,n){let r=g([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=g([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 Kn({client:this.client})}},Wn=class extends P{list(t,n){let r=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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})}},zn=class extends P{delete(t,n){let r=g([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=g([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}})}},Vn=class extends P{list(t,n){let r=g([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}})}},Jn=class extends P{start(t,n){let r=g([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=g([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=g([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 Vn({client:this.client})}},Xn=class extends P{next(t,n){let r=g([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=g([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}})}},Qn=class extends P{appendPrompt(t,n){let r=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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 Xn({client:this.client})}},Yn=class extends P{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Zn=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},er=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},tr=class extends P{stage(t,n){let r=g([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=g([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=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},nr=class extends P{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"action"},{in:"body",key:"resources"},{in:"body",key:"save"},{in:"body",key:"metadata"},{in:"body",key:"source"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission/{requestID}",...n,...r})}reply(t,n){let r=g([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}})}},rr=class extends P{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=g([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=g([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})}},sr=class extends P{list(t,n){let r=g([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=g([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}})}active(t){return(t?.client??this.client).get({url:"/api/session/active",...t})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=g([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=g([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=g([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=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}history(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"after"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/history",...n,...r})}events(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"after"}]}]);return(n?.client??this.client).sse.get({url:"/api/session/{sessionID}/event",...n,...r})}interrupt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/interrupt",...n,...r})}message(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message/{messageID}",...n,...r})}messages(t,n){let r=g([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 tr({client:this.client})}_permission;get permission(){return this._permission??=new nr({client:this.client})}_question;get question(){return this._question??=new rr({client:this.client})}},ir=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},or=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},ar=class extends P{key(t,n){let r=g([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=g([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}})}},cr=class extends P{cancel(t,n){let r=g([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=g([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=g([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}})}},lr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=g([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 ar({client:this.client})}_attempt;get attempt(){return this._attempt??=new cr({client:this.client})}},ur=class extends P{remove(t,n){let r=g([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=g([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}})}},pr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},dr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},gr=class extends P{_request;get request(){return this._request??=new pr({client:this.client})}_saved;get saved(){return this._saved??=new dr({client:this.client})}},mr=class extends P{read(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=g([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=g([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})}},fr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},yr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},hr=class extends P{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},br=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=g([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=g([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=g([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=g([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=g([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=g([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})}},xr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},_r=class extends P{_request;get request(){return this._request??=new xr({client:this.client})}},Pr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},kr=class extends P{remove(t,n){let r=g([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=g([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=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},wr=class extends P{_health;get health(){return this._health??=new Yn({client:this.client})}_location;get location(){return this._location??=new Zn({client:this.client})}_agent;get agent(){return this._agent??=new er({client:this.client})}_session;get session(){return this._session??=new sr({client:this.client})}_model;get model(){return this._model??=new ir({client:this.client})}_provider;get provider(){return this._provider??=new or({client:this.client})}_integration;get integration(){return this._integration??=new lr({client:this.client})}_credential;get credential(){return this._credential??=new ur({client:this.client})}_permission;get permission(){return this._permission??=new gr({client:this.client})}_fs;get fs(){return this._fs??=new mr({client:this.client})}_command;get command(){return this._command??=new fr({client:this.client})}_skill;get skill(){return this._skill??=new yr({client:this.client})}_event;get event(){return this._event??=new hr({client:this.client})}_pty;get pty(){return this._pty??=new br({client:this.client})}_question;get question(){return this._question??=new _r({client:this.client})}_reference;get reference(){return this._reference??=new Pr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new kr({client:this.client})}},dt=class e extends P{static __registry=new pn;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new dn({client:this.client})}_app;get app(){return this._app??=new gn({client:this.client})}_experimental;get experimental(){return this._experimental??=new kn({client:this.client})}_global;get global(){return this._global??=new Sn({client:this.client})}_event;get event(){return this._event??=new vn({client:this.client})}_config;get config(){return this._config??=new An({client:this.client})}_tool;get tool(){return this._tool??=new Cn({client:this.client})}_worktree;get worktree(){return this._worktree??=new Rn({client:this.client})}_find;get find(){return this._find??=new Tn({client:this.client})}_file;get file(){return this._file??=new In({client:this.client})}_instance;get instance(){return this._instance??=new En({client:this.client})}_path;get path(){return this._path??=new jn({client:this.client})}_vcs;get vcs(){return this._vcs??=new Mn({client:this.client})}_command;get command(){return this._command??=new Dn({client:this.client})}_lsp;get lsp(){return this._lsp??=new qn({client:this.client})}_formatter;get formatter(){return this._formatter??=new On({client:this.client})}_mcp;get mcp(){return this._mcp??=new Fn({client:this.client})}_project;get project(){return this._project??=new Ln({client:this.client})}_pty;get pty(){return this._pty??=new Gn({client:this.client})}_question;get question(){return this._question??=new Bn({client:this.client})}_permission;get permission(){return this._permission??=new Nn({client:this.client})}_provider;get provider(){return this._provider??=new Hn({client:this.client})}_session;get session(){return this._session??=new Wn({client:this.client})}_part;get part(){return this._part??=new zn({client:this.client})}_sync;get sync(){return this._sync??=new Jn({client:this.client})}_tui;get tui(){return this._tui??=new Qn({client:this.client})}_v2;get v2(){return this._v2??=new wr({client:this.client})}};function Zs(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let o=e,u=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||Ys(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 ${Ys(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function Ys(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,o=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function Cd(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function Rd(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[o,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=Cd(e.headers.get(o),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(d)||n.searchParams.set(d,p);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 Sr(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=Ge(e);return t.interceptors.request.use(n=>Rd(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(Zs),new dt({client:t})}var Td=new Set(["api","cli","mobile","web"]);function gt(e){let t=e?.trim().toLowerCase();return t&&Td.has(t)?t:null}function Id(e){return new Promise(t=>setTimeout(t,e))}async function ei(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,o=t?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await Id(s)),u=await e(),u)return u;return u}var Ed=12e4;function jd(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function vr(e,t,n=Ed){let r=e instanceof Request?e.signal:t?.signal;if(jd(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function Ar(e,t,n,r){let s=new Headers(e instanceof Request?e.headers:void 0);t?.headers&&new Headers(t.headers).forEach((u,p)=>{s.set(p,u)}),n&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${n}`);let o=gt(r);return o&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",o),s}function ti(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function Cr(){return $().getToken()}async function ae(e){return ei(()=>$().getToken(),e,mt)}function mt(){}function $h(e){}function Mh(e){}async function Be(){return Cr()}async function ni(e){return ae(e)}function ri(e,t,n,r){let s=$().fetch??fetch;if(e instanceof Request){let o=new Request(e,{headers:n,...r?{signal:r}:{}});return s(o)}return s(e,{...t,headers:n,...r?{signal:r}:{}})}async function M(e,t,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},o=await ni();if(!o)return ti();let u=$().clientSource,p=Ar(e,t,o,u),d=s===void 0?vr(e,t):vr(e,t,s),f=await ri(e,t,p,d);if(f.status===401&&r&&o){mt();let m=await ni({attempts:2,baseDelayMs:200});if(m&&m!==o){let y=Ar(e,t,m,u);return ri(e,t,y,d)}}return f}var Ae={url:null,sandboxId:null,dbSandboxId:null,version:0},$d=new Set;function si(e,t=null,n=null){if(!(Ae.url===e&&Ae.sandboxId===t&&Ae.dbSandboxId===n)){Ae={url:e,sandboxId:t,dbSandboxId:n,version:Ae.version+1};for(let r of $d)r()}}function ii(){return Ae.url}function Md(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Ne(){return Md($().backendUrl||"http://localhost:8008/v1")}function oi(){let e=$().sandboxId;return e?`${Ne()}/p/${e}/8000`:""}function Dd(e){return`${Ne()}/p/${e}/8000`}function ft(e){return Dd(e)}var v=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,...o}=n;Object.assign(this,o),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)}},Ce=class extends v{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},fe=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)}},Re=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",o="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||o},Object.setPrototypeOf(this,e.prototype)}},Rr="feature_disabled";function ai(e){if(!(e instanceof v)||e.status!==403||e.code!==Rr)return null;let t=e.details??e.data;return t&&typeof t=="object"?t:{}}function ci(e){let t=ai(e);return t?(typeof t.feature=="string"&&!e.feature&&(e.feature=t.feature),!0):!1}function li(e){let t=ai(e);if(!t)return null;let n=e.feature;return typeof n=="string"?n:typeof t.feature=="string"?t.feature:null}function Te(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 fe(t,{message:r?.message||e.message||"Billing error",...r})}function ui(e){return e instanceof fe}function pi(e){if(!(e instanceof fe))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."}}var qd="X-Kortix-Impersonate",Ir="kortix.impersonation",ye=null,yt=!1,Tr=new Set;function Er(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function Od(e,t=Date.now()){if(!e||!e.grantId||!e.accountId)return!1;let n=Date.parse(e.expiresAt);return Number.isFinite(n)&&n>t}function Ud(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t?.grantId!="string"||typeof t?.accountId!="string"?null:{grantId:t.grantId,accountId:t.accountId,accountName:typeof t.accountName=="string"?t.accountName:null,expiresAt:typeof t.expiresAt=="string"?t.expiresAt:""}}catch{return null}}function di(){for(let e of Tr)try{e()}catch{}}function Fd(){return yt||(yt=!0,ye=Ud(Er()?.getItem(Ir)??null)),ye&&!Od(ye)?(gi(),null):ye}function Lh(e){if(yt=!0,!e){gi();return}ye=e;try{Er()?.setItem(Ir,JSON.stringify(e))}catch{}di()}function gi(){yt=!0;let e=ye!==null;ye=null;try{Er()?.removeItem(Ir)}catch{}e&&di()}function Gh(e){return Tr.add(e),()=>{Tr.delete(e)}}var Ld=/(^|\/)admin\/(api|analytics)(\/|$)/;function Gd(e){let t=e;if(/^https?:\/\//.test(e))try{t=new URL(e).pathname}catch{t=e}return!Ld.test(t)}function jr(e){if(e!==void 0&&!Gd(e))return{};let t=Fd();return t?{[qd]:t.grantId}:{}}var ne=()=>$().backendUrl||"",Bd="feature_not_supported",Nd="model_not_servable",Kd="provision_in_flight",fi="request_deadline",Hd=/^Request exceeded the \d+s server processing deadline$/,Wd=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===fi||Hd.test(n),zd=e=>new Promise(t=>setTimeout(t,e)),Vd=new Set([502,503,504]),Jd=e=>Vd.has(e),Xd=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Qd=2,mi=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),ht=!1;function Vh(e){ht=e}function Jh(){return ht}async function he(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=t,u=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!u.signal.aborted&&(d=!0,f=!0,u.abort())},s);let m=await ae(),y=o.body instanceof FormData,x={};y||(x["Content-Type"]="application/json"),Object.assign(x,o.headers);let _=gt($().clientSource),k=Object.keys(x).some(A=>A.toLowerCase()==="x-kortix-client");if(_&&!k&&(x["X-Kortix-Client"]=_),ht&&(x["x-kortix-admin-bypass"]="1"),Object.assign(x,jr(e)),m)x.Authorization=`Bearer ${m}`;else return{error:new Ce,success:!1};let T=Xd(o.method),E=T?Qd+1:1,l;for(let A=0;A<E;A++){A>0&&await zd(250*2**(A-1));let S=A===0?u:new AbortController;A>0&&(p=setTimeout(()=>{f=!0,S.abort()},s));try{l=await($().fetch??fetch)(e,{...o,headers:x,signal:S.signal,credentials:o.credentials??"omit"})}catch(j){if(p&&(clearTimeout(p),p=null),mi(j)||A===E-1)throw j;continue}if(p&&(clearTimeout(p),p=null),!(T&&Jd(l.status)&&A<E-1))break;try{await l.arrayBuffer()}catch{}}if(!l.ok){let A=`HTTP ${l.status}: ${l.statusText}`,S=null;try{S=await l.json(),typeof S.message=="string"?A=S.message:S.error&&typeof S.error=="string"?A=S.error:typeof S.detail=="string"?A=S.detail:typeof S.detail?.message=="string"?A=S.detail.message:typeof S.reason=="string"&&(A=S.reason)}catch{}let R=Wd(l.status,S,A),j=new v(A,{status:l.status,response:l,details:S||void 0,data:S,detail:S?.detail,code:R?fi:S?.code||S?.error_code||S?.detail?.error_code||l.status.toString()});if(l.status===402&&(j=Te(j)),l.status===403&&S?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}l.status===431&&(j=new Re(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."}));let q=l.status===501&&S?.code===Bd,D=l.status===409&&S?.code===Nd,Z=l.status===409&&S?.code===Kd;return n&&!q&&!D&&!Z&&!R&&$().onError?.(j,r),{error:j,success:!1}}let b,c=l.headers.get("content-type");return c?.includes("application/json")?b=await l.json():c?.includes("text/")?b=await l.text():b=await l.blob(),{data:b,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let y=mi(m);y&&(d=!0);let x;if(y){if(!f)return{error:new v("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let _=e.replace(ne(),"")||e;x=new v(`Request timed out after ${Math.round(s/1e3)}s: ${_}`,{code:"TIMEOUT",url:e,endpoint:_,timeout:s})}else m instanceof Error?(x=new v(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(x,r)):(x=new v(String(m)),n&&$().onError?.(x,r));return{error:x,success:!1}}}var Xh={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new v(r.message||"Database error",{code:r.code,details:r});return $().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new v(n.message,{name:n.name||"ApiError",stack:n.stack}):new v(String(n));return $().onError?.(r,t),{error:r,success:!1}}}};async function Yd(e,t,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,o=await ae(),u={Accept:"text/event-stream","Content-Type":"application/json"},p=gt($().clientSource);p&&(u["X-Kortix-Client"]=p),ht&&(u["x-kortix-admin-bypass"]="1"),Object.assign(u,jr(e)),o&&(u.Authorization=`Bearer ${o}`);let d=new AbortController,f=setTimeout(()=>d.abort(),r);try{return await s(`${ne()}${e}`,{method:"POST",headers:u,body:JSON.stringify(t),signal:d.signal,credentials:"omit"})}finally{clearTimeout(f)}}var i={get:(e,t)=>he(`${ne()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>he(`${ne()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>he(`${ne()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>he(`${ne()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>he(`${ne()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],he(`${ne()}${e}`,{...s,method:"POST",body:t,headers:o})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],he(`${ne()}${e}`,{...s,method:"PUT",body:t,headers:o})},postStream:Yd};var bt=new Map,$r=new Map;function Mr(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function yi(e){return bt.get(Mr(e))??null}function hi(e){return bt.has(Mr(e))}async function xt(e){let t=Mr(e),n=bt.get(t);if(n!==void 0)return n;let r=$r.get(t);if(r)return r;let s=(async()=>{try{let o=await i.get("/p/config",{showErrors:!1,errorContext:{operation:"load preview config",silent:!0}});if(!o.success)return null;let u=typeof o.data?.preview_url_template=="string"?o.data.preview_url_template:null;return bt.set(t,u),u}catch{return null}finally{$r.delete(t)}})();return $r.set(t,s),s}function bi(e){let{apiBaseUrl:t}=e;return hi(t)||xt(t).catch(()=>{}),{sandboxId:e.sandboxId,backendPort:e.backendPort,apiBaseUrl:t,previewUrlTemplate:yi(t)}}function re(){let e=ii();return e||($().billingEnabled??!1?"":oi())}async function Dr(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function qr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function xi(e){let t=qr(e),n=await M(`${t}/env`);if(!n.ok)throw new Error(await Dr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function _i(e,t,n){let r=qr(e),s=await M(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await Dr(s,"Failed to save secret"))}async function Pi(e,t){let n=qr(e),r=await M(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Dr(r,"Failed to delete secret"))}var Zd={list:xi,set:_i,delete:Pi};async function eg(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await M(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}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 _t(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Ke(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ce(e)}async function ki(e){let t=Ke(e),n=await M(`${t}/kortix/pty`);if(!n.ok)throw new Error(await _t(n,"Failed to list terminals"));return n.json()}async function wi(e,t){let n=Ke(e),r=await M(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await _t(r,"Failed to create terminal"));return r.json()}async function Si(e,t,n){let r=Ke(e),s=await M(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await _t(s,"Failed to update terminal"));return s.json()}async function vi(e,t){let n=Ke(e),r=await M(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await _t(r,"Failed to remove terminal"))}async function Ai(e,t,n){let r=Ke(t),o=`${(()=>{try{let f=new URL(r);return f.protocol==="https:"?f.protocol="wss:":f.protocol==="http:"&&(f.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&f.protocol==="ws:"&&(f.protocol="wss:"),ce(f.toString())}catch{return r.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,u=new URLSearchParams,p=await Be();p&&u.set("token",p),n?.wake&&u.set("wake","1");let d=u.toString();return d?`${o}${o.includes("?")?"&":"?"}${d}`:o}var tg={list:ki,create:wi,update:Si,remove:vi,webSocketUrl:Ai};async function C(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await M(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await o.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${o.status}`);return p}async function bb(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 C(e,`/kortix/tasks${r}`)}async function xb(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function _b(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function Pb(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function kb(e,t){return C(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function wb(e,t,n){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Sb(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function vb(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function Ab(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Cb(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return C(e,`/kortix/tickets${n}`)}async function Rb(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Tb(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Ib(e,t){return C(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Eb(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function jb(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function $b(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Mb(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Db(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function qb(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Ob(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Ub(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Fb(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Lb(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Gb(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Bb(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Nb(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Kb(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Hb(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Wb(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function zb(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Vb(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Jb(e,t,n=200){return C(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Xb(e){return C(e,"/kortix/projects")}async function Qb(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Yb(e,t){return C(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Zb(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function ex(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function tx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function nx(e,t,n="all"){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function rx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function sx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function ix(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function ox(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function ax(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function cx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function lx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function ux(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function px(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function dx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function gx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function mx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var ng=1e4,rg={retryOnAuthError:!1};function Ie(e,t,n){return C(e,t,{signal:AbortSignal.timeout(ng),...n},rg)}async function fx(e,t=!1){return(await Ie(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function yx(e){return(await Ie(e,"/kortix/services/templates")).templates??[]}async function hx(e,t){return(await Ie(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function bx(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return Ie(e,s,{method:r?"DELETE":"POST"})}async function xx(e,t){return Ie(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function _x(e,t){return Ie(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var Pt=new Map,He=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function be(){let e=re();if(!e)throw new He;return le(e)}function le(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=Pt.get(e);if(t)return t;if(!on())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Sr({baseUrl:e,fetch:M});return Pt.set(e,n),n}function Cx(e){Pt.delete(e)}function Rx(){Pt.clear()}var kt=new Map;function Tx(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=kt.get(e);if(t)return t;let n=Sr({baseUrl:e,fetch});return kt.set(e,n),n}function Ix(e){kt.delete(e)}function Ex(){kt.clear()}async function sg(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 jx(e){let t=re();if(!t)throw new v("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=e==="full"?"/kortix/refresh":"/global/dispose",r=await M(`${t}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",o=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new v(`System reload failed (${r.status}): ${await sg(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new v(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(d){throw new v(`System reload returned malformed JSON from ${n}: ${d instanceof Error?d.message:String(d)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode:e,steps:p?[e==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:p?[]:[`the sandbox did not confirm the reload (${n})`]}}function Ii(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 v(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Ee(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}function V(e){let t=(e??re()).trim();if(!t)throw new He;return t}async function vt(e,t){let n=await M(`${V(t)}${e}`);if(!n.ok)throw new v(await Ee(n),{status:n.status,response:n});return n.json()}var Fr=["/workspace","/tmp","/home","/opt"],ig=Fr.filter(e=>e!=="/workspace");function Ei(e){return Fr.some(t=>e===t||e.startsWith(`${t}/`))}function St(e){return Ei(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function je(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(ig.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var ji=je;async function At(e,t){let n=V(t),r=je(e)||".";return(await vt(`/file?path=${encodeURIComponent(r)}`,n)).map(o=>({...o,path:o.absolute||`/workspace/${o.path}`}))}async function Ve(e,t){let n=V(t),r=je(e),s=await M(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new v(await Ee(s),{status:s.status,response:s});return s.json()}async function og(e,t,n){let r=V(n),s=je(e),o=await M(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new v(await Ee(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new v("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let u=await o.blob();return t&&(!u.type||u.type==="application/octet-stream")?new Blob([u],{type:t}):u}async function Je(e,t){let n=V(t);try{return await og(e,void 0,n)}catch{}let r=await Ve(e,n);if(r.encoding==="base64"&&r.content){let s=Uint8Array.from(atob(r.content),o=>o.charCodeAt(0));return new Blob([s],{type:r.mimeType||"application/octet-stream"})}return new Blob([r.content??""],{type:r.mimeType||"text/plain;charset=utf-8"})}async function Ct(e){return vt("/file/status",V(e))}async function Rt(e,t,n){let r=V(n),s=new URLSearchParams({query:e});return t?.type&&s.set("type",t.type),t?.limit&&s.set("limit",String(t.limit)),vt(`/find/file?${s.toString()}`,r)}async function Tt(e,t){let n=V(t);return(await vt(`/find?pattern=${encodeURIComponent(e)}`,n)).map(s=>({path:typeof s.path=="string"?s.path:s.path?.text??"",lines:typeof s.lines=="string"?s.lines:s.lines?.text??"",line_number:s.line_number,absolute_offset:s.absolute_offset,submatches:(s.submatches??[]).map(o=>({start:o.start,end:o.end}))}))}var We=[400,1200],ag=e=>e===408||e===429||e===502||e===503||e===504,Ci=e=>new Promise(t=>setTimeout(t,e));function cg(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Or=3e4,lg=15*6e4,ug=256;function ze(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Or;let t=Or+e/ug;return Math.min(lg,Math.max(Or,Math.round(t)))}async function pg(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 wt(e,t){let n;for(let s=0;s<=We.length;s++){let o;try{o=await t(e())}catch(p){if(n=p,cg(p)||s===We.length)break;await Ci(We[s]);continue}if(o.ok)return o.json();let u=await pg(o);if(n=new v(`Upload failed (${o.status}): ${u}`,{status:o.status,response:o}),!ag(o.status)||s===We.length)throw n;await Ci(We[s])}if(n instanceof v)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new v(`Upload failed: ${r}`)}var Ur=64*1024;function Ri(e,t){try{e?.onProgress?.(t)}catch{}}function Ti(e,t,n){let r=new FormData,s=(t??"").trim();return s&&r.append("path",s.startsWith("/")?s:`/${s}`),n&&r.append("filename",n),n?r.append("file",e,n):r.append("file",e),r}function dg(e){let t=e.lastIndexOf("/");return t<0?{parent:"",name:e}:{parent:e.slice(0,t)||"/",name:e.slice(t+1)}}async function Xe(e,t,n,r,s){let o=typeof r=="string"?r:void 0,u=typeof r=="string"?s:r,p=V(o),d=ze(e.size),f=n||(e instanceof File?e.name:"")||"";if(e.size<=Ur){let _=await wt(()=>Ti(e,t,f),k=>M(`${p}/file/upload`,{method:"POST",body:k},{timeoutMs:d}));return Ri(u,{loadedBytes:e.size,totalBytes:e.size}),_}let y=(await wt(()=>Ti(new Blob([],{type:e.type}),t,f),_=>M(`${p}/file/upload`,{method:"POST",body:_},{timeoutMs:ze(0)})))[0]?.path;if(!y)throw new v("Upload reservation returned no file path",{code:"UPLOAD_NO_RESULT"});let x=dg(y);if(!x.name)throw new v(`Upload reservation returned an invalid file path: ${y}`,{code:"UPLOAD_INVALID_PATH"});try{for(let _=0;_<e.size;_+=Ur){let k=Math.min(e.size,_+Ur),T=e.slice(_,k,e.type),E=await wt(()=>{let l=new FormData;return x.parent&&l.append("path",x.parent),l.append("filename",x.name),l.append("first",_===0?"true":"false"),l.append("offset",String(_)),l.append("file",T,x.name),l},l=>M(`${p}/file/append`,{method:"POST",body:l},{timeoutMs:ze(T.size)}));if(E.path!==y||E.size!==k)throw new v(`Upload verification failed for ${y}: expected ${k} bytes, received ${E.size}`,{code:"UPLOAD_SIZE_MISMATCH"});Ri(u,{loadedBytes:k,totalBytes:e.size})}}catch(_){throw await _e(y,p).catch(()=>{}),_}return[{path:y,size:e.size}]}function gg(e,t,n){let r=V(n),s=ze(t.size);return wt(()=>{let o=new FormData;return o.append(e,t,e.split("/").pop()||"file"),o},o=>M(`${r}/file/upload`,{method:"POST",body:o},{timeoutMs:s}))}async function It(e,t){let n=V(t),r=e.trim(),o=(r.startsWith("/")?r:`/${r}`).split("/"),u=o.pop()||"untitled",p=o.join("/")||"/workspace",d=await Qe(`${p}/${u}`,new Blob([],{type:"application/octet-stream"}),n);return[{path:d.path,size:d.bytes}]}async function Et(e,t,n){let r=V(n);return gg(t,await Je(e,r),r)}function mg(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function fg(e){let t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function yg(e){return e.slice(e.lastIndexOf("/")+1)}function hg(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();if(e?.getRandomValues){let t=new Uint8Array(8);return e.getRandomValues(t),[...t].map(n=>n.toString(16).padStart(2,"0")).join("")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}async function Qe(e,t,n){let r=V(n),s=St(mg(e.trim())),o=yg(s);if(!o)throw new v(`writeFile needs a file path, got "${e}"`,{code:"INVALID_PATH"});let u=fg(s);await Ye(u,r).catch(()=>{});let p=hg(),d=await Xe(t,u,`.${o}.kortix-write-${p}`,r),f=d[0]?.path;if(!f)throw new v(`Upload returned no file for ${s}`,{code:"UPLOAD_NO_RESULT"});let m=St(f),y=`${s}.kortix-write-backup-${p}`,x=!1;try{await xe(s,y,r),x=!0}catch{}try{await xe(m,s,r)}catch(k){throw x&&await xe(y,s,r).catch(()=>{}),await _e(m,r).catch(()=>{}),k}x&&await _e(y,r).catch(()=>{});let _=d[0]?.size;return{path:s,bytes:typeof _=="number"?_:t.size}}async function _e(e,t){let n=await M(`${V(t)}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new v(`Delete failed (${n.status}): ${await Ee(n)}`,{status:n.status,response:n});return n.json()}async function Ye(e,t){let n=await M(`${V(t)}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new v(`Mkdir failed (${n.status}): ${await Ee(n)}`,{status:n.status,response:n});return n.json()}async function xe(e,t,n){let r=await M(`${V(n)}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new v(`Rename failed (${r.status}): ${await Ee(r)}`,{status:r.status,response:r});return r.json()}async function $i(){return Ii(await be().project.current())}async function Lr(){return Ii(await be().global.health())}async function Mi(){try{return(await Lr()).healthy===!0}catch{return!1}}var bg={list:At,read:Ve,readBlob:Je,status:Ct,findFiles:Rt,findText:Tt,upload:Xe,write:Qe,create:It,copy:Et,remove:_e,mkdir:Ye,rename:xe,currentProject:$i,health:Lr,isReachable:Mi,toDaemonPath:je,toSandboxAbsolutePath:St,toWorkspaceRelative:ji};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Gr(e){return e.replace(/\/v1\/?$/,"")}async function $e(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Gr(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 Di(){return a(await i.get("/accounts"))}async function qi(e){return a(await i.post("/accounts",e))}async function Oi(e){return a(await i.get(`/accounts/${e}`))}async function Ui(e,t){return a(await i.patch(`/accounts/${e}`,{name:t}))}async function Fi(e){return a(await i.get(`/accounts/${e}/branding`))}async function Li(e,t){return a(await i.put(`/accounts/${e}/branding`,t))}async function Gi(e,t,n,r){let s=new FormData;return s.append("file",n,r??(n instanceof File?n.name:t)),a(await i.upload(`/accounts/${e}/branding/assets/${t}`,s))}async function Bi(e,t){return a(await i.delete(`/accounts/${e}/branding/assets/${t}`))}async function Ni(e){return a(await i.delete(`/accounts/${e}/branding`))}async function Ki(e){return a(await i.get(`/accounts/${e}/members`))}async function Hi(e,t){return a(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Wi(e){return a(await i.get(`/accounts/${e}/invites`))}async function zi(e,t){return a(await i.delete(`/accounts/${e}/invites/${t}`))}async function Vi(e,t){return a(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function Ji(e){return a(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function Xi(e){return a(await i.post(`/account-invites/${e}/accept`,{}))}async function Qi(e){return a(await i.post(`/account-invites/${e}/decline`,{}))}async function Yi(e,t){return a(await i.delete(`/accounts/${e}/members/${t}`))}async function Zi(e,t,n){return a(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function eo(e){return a(await i.post(`/accounts/${e}/leave`,{}))}async function Hx(e){return $e(e,"/v1/accounts")}async function to(){let e=await i.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}var Jx=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","llm_gateway","meta_agent","apps","monitors","warm_sessions","secrets_egress","pi_worker"];async function Me(){return a(await i.get("/projects"))}async function ro(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/projects${t}`))}async function Br(e,t){return a(await i.get(`/projects/${e}`,t))}async function so(e,t,n="write"){return a(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function io(e,t){return a(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function oo(e){return a(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Xx(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function Nr(e,t){let n=a(await i.get(`/projects/${e}/detail`,{showErrors:!1,...t}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Kr(e,t){return a(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function Hr(e,t){return a(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Qx(e,t){return a(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function ao(e){return a(await i.post("/projects",e))}async function co(e){return a(await i.post("/projects/create-repo",e))}async function lo(e,t={}){return a(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}var no=200;function _g(e){let t=e.split(`
|
|
7
|
+
`);try{L=JSON.parse(K),X=!0}catch{L=K}}X&&(s&&await s(L),r&&(L=await r(L))),n?.({data:L,event:F,id:y,retry:T}),O.length&&(yield L)}}}finally{l.removeEventListener("abort",D),j.releaseLock()}break}catch(c){if(t?.(c),u!==void 0&&E>=u)break;let A=Math.min(T*2**(E-1),p??3e4);await x(A)}}}()}};var hd=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},bd=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},xd=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},lt=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(d=>encodeURIComponent(d))).join(bd(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=hd(r),u=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):ve({allowReserved:e,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+u:u},ve=({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)}`},ut=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let d=[];Object.entries(s).forEach(([m,y])=>{d=[...d,m,e?y:encodeURIComponent(y)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let u=xd(r),p=Object.entries(s).map(([d,f])=>ve({allowReserved:e,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var _d=/\{[^{}]+\}/g,Pd=({path:e,url:t})=>{let n=t,r=t.match(_d);if(r)for(let s of r){let o=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(o=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let d=e[u];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,lt({explode:o,name:u,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,ut({explode:o,name:u,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${ve({name:u,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},Ks=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,u=(e??"")+o;t&&(u=Pd({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function an(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 Hs=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 cn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Ws=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let u=r[o];if(u==null)continue;let p=e[o]||t;if(Array.isArray(u)){let d=lt({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:u,...p.array});d&&s.push(d)}else if(typeof u=="object"){let d=ut({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:u,...p.object});d&&s.push(d)}else{let d=ve({allowReserved:p.allowReserved,name:o,value:u});d&&s.push(d)}}return s.join("&")},zs=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"}},kd=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,Vs=async({security:e,...t})=>{for(let n of e){if(kd(t,n.name))continue;let r=await Hs(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}}},ln=e=>Ks({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Ws(e.querySerializer),url:e.url}),un=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=pt(e.headers,t.headers),n},wd=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},pt=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?wd(n):Object.entries(n);for(let[s,o]of r)if(o===null)t.delete(s);else if(Array.isArray(o))for(let u of o)t.append(s,u);else o!==void 0&&t.set(s,typeof o=="object"?JSON.stringify(o):o)}return t},Fe=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}},Js=()=>({error:new Fe,request:new Fe,response:new Fe}),Sd=Ws({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),vd={"Content-Type":"application/json"},Le=(e={})=>({...cn,headers:vd,parseAs:"auto",querySerializer:Sd,...e});var Ge=(e={})=>{let t=un(Le(),e),n=()=>({...t}),r=f=>(t=un(t,f),n()),s=Js(),o=async f=>{let m={...t,...f,fetch:f.fetch??t.fetch??globalThis.fetch,headers:pt(t.headers,f.headers),serializedBody:void 0};m.security&&await Vs({...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 y=ln(m);return{opts:m,url:y}},u=async f=>{let{opts:m,url:y}=await o(f),x={redirect:"follow",...m,body:an(m)},_=new Request(y,x);for(let S of s.request.fns)S&&(_=await S(_,m));let k=m.fetch,T;try{T=await k(_)}catch(S){let R=S;for(let j of s.error.fns)j&&(R=await j(S,void 0,_,m));if(R=R||{},m.throwOnError)throw R;return m.responseStyle==="data"?void 0:{error:R,request:_,response:void 0}}for(let S of s.response.fns)S&&(T=await S(T,_,m));let E={request:_,response:T};if(T.ok){let S=(m.parseAs==="auto"?zs(T.headers.get("Content-Type")):m.parseAs)??"json";if(T.status===204||T.headers.get("Content-Length")==="0"){let j;switch(S){case"arrayBuffer":case"blob":case"text":j=await T[S]();break;case"formData":j=new FormData;break;case"stream":j=T.body;break;default:j={};break}return m.responseStyle==="data"?j:{data:j,...E}}let R;switch(S){case"arrayBuffer":case"blob":case"formData":case"text":R=await T[S]();break;case"json":{let j=await T.text();R=j?JSON.parse(j):{};break}case"stream":return m.responseStyle==="data"?T.body:{data:T.body,...E}}return S==="json"&&(m.responseValidator&&await m.responseValidator(R),m.responseTransformer&&(R=await m.responseTransformer(R))),m.responseStyle==="data"?R:{data:R,...E}}let l=await T.text(),b;try{b=JSON.parse(l)}catch{}let c=b??l,A=c;for(let S of s.error.fns)S&&(A=await S(c,T,_,m));if(A=A||{},m.throwOnError)throw A;return m.responseStyle==="data"?void 0:{error:A,...E}},p=f=>m=>u({...m,method:f}),d=f=>async m=>{let{opts:y,url:x}=await o(m);return Ns({...y,body:y.body,headers:y.headers,method:f,onRequest:async(_,k)=>{let T=new Request(_,k);for(let E of s.request.fns)E&&(T=await E(T,y));return T},serializedBody:an(y),url:x})};return{buildUrl:ln,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var Ad={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Cd=Object.entries(Ad),Xs=(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&&Xs(n.args,t);return t},Rd=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},g=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=Xs(t),s;for(let[o,u]of e.entries())if(t[o]&&(s=t[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=u)}else n.body=u;else for(let[p,d]of Object.entries(u??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=Cd.find(([y])=>p.startsWith(y));if(m){let[y,x]=m;n[x][p.slice(y.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[y,x]of Object.entries(s.allowExtra))if(x){n[y][p]=d;break}}}}return Rd(n),n};var Qs=Ge(Le({baseUrl:"http://localhost:4096"}));var P=class{client;constructor(t){this.client=t?.client??Qs}},pn=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)}},dn=class extends P{remove(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=g([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}})}},gn=class extends P{log(t,n){let r=g([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=g([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=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},mn=class extends P{moveSession(t,n){let r=g([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}})}},fn=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},yn=class extends P{get(t,n){let r=g([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=g([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=g([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}})}},hn=class extends P{list(t,n){let r=g([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=g([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})}},bn=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},xn=class extends P{generateName(t,n){let r=g([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}})}},_n=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},Pn=class extends P{list(t,n){let r=g([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=g([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=g([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=g([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=g([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=g([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 _n({client:this.client})}},kn=class extends P{_controlPlane;get controlPlane(){return this._controlPlane??=new mn({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new fn({client:this.client})}_console;get console(){return this._console??=new yn({client:this.client})}_session;get session(){return this._session??=new hn({client:this.client})}_resource;get resource(){return this._resource??=new bn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new xn({client:this.client})}_workspace;get workspace(){return this._workspace??=new Pn({client:this.client})}},wn=class extends P{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=g([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}})}},Sn=class extends P{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=g([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 wn({client:this.client})}},vn=class extends P{subscribe(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},An=class extends P{get(t,n){let r=g([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=g([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=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},Cn=class extends P{list(t,n){let r=g([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=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},Rn=class extends P{remove(t,n){let r=g([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=g([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=g([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=g([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}})}},Tn=class extends P{text(t,n){let r=g([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=g([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=g([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})}},In=class extends P{list(t,n){let r=g([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=g([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=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},En=class extends P{dispose(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},jn=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},$n=class extends P{raw(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Mn=class extends P{get(t,n){let r=g([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=g([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=g([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=g([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 $n({client:this.client})}},Dn=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},qn=class extends P{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},On=class extends P{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Un=class extends P{remove(t,n){let r=g([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=g([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=g([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=g([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})}},Fn=class extends P{status(t,n){let r=g([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=g([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=g([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=g([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 Un({client:this.client})}},Ln=class extends P{list(t,n){let r=g([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=g([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=g([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=g([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=g([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})}},Gn=class extends P{shells(t,n){let r=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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})}},Bn=class extends P{list(t,n){let r=g([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=g([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=g([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})}},Nn=class extends P{list(t,n){let r=g([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=g([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=g([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}})}},Kn=class extends P{authorize(t,n){let r=g([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=g([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}})}},Hn=class extends P{list(t,n){let r=g([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=g([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 Kn({client:this.client})}},Wn=class extends P{list(t,n){let r=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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})}},zn=class extends P{delete(t,n){let r=g([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=g([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}})}},Vn=class extends P{list(t,n){let r=g([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}})}},Jn=class extends P{start(t,n){let r=g([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=g([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=g([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 Vn({client:this.client})}},Xn=class extends P{next(t,n){let r=g([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=g([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}})}},Qn=class extends P{appendPrompt(t,n){let r=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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=g([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 Xn({client:this.client})}},Yn=class extends P{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Zn=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},er=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},tr=class extends P{stage(t,n){let r=g([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=g([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=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},nr=class extends P{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"action"},{in:"body",key:"resources"},{in:"body",key:"save"},{in:"body",key:"metadata"},{in:"body",key:"source"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission/{requestID}",...n,...r})}reply(t,n){let r=g([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}})}},rr=class extends P{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=g([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=g([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})}},sr=class extends P{list(t,n){let r=g([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=g([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}})}active(t){return(t?.client??this.client).get({url:"/api/session/active",...t})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=g([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=g([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=g([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=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}history(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"after"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/history",...n,...r})}events(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"after"}]}]);return(n?.client??this.client).sse.get({url:"/api/session/{sessionID}/event",...n,...r})}interrupt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/interrupt",...n,...r})}message(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message/{messageID}",...n,...r})}messages(t,n){let r=g([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 tr({client:this.client})}_permission;get permission(){return this._permission??=new nr({client:this.client})}_question;get question(){return this._question??=new rr({client:this.client})}},ir=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},or=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},ar=class extends P{key(t,n){let r=g([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=g([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}})}},cr=class extends P{cancel(t,n){let r=g([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=g([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=g([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}})}},lr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=g([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 ar({client:this.client})}_attempt;get attempt(){return this._attempt??=new cr({client:this.client})}},ur=class extends P{remove(t,n){let r=g([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=g([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}})}},pr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},dr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},gr=class extends P{_request;get request(){return this._request??=new pr({client:this.client})}_saved;get saved(){return this._saved??=new dr({client:this.client})}},mr=class extends P{read(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=g([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=g([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})}},fr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},yr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},hr=class extends P{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},br=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=g([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=g([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=g([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=g([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=g([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=g([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})}},xr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},_r=class extends P{_request;get request(){return this._request??=new xr({client:this.client})}},Pr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},kr=class extends P{remove(t,n){let r=g([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=g([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=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},wr=class extends P{_health;get health(){return this._health??=new Yn({client:this.client})}_location;get location(){return this._location??=new Zn({client:this.client})}_agent;get agent(){return this._agent??=new er({client:this.client})}_session;get session(){return this._session??=new sr({client:this.client})}_model;get model(){return this._model??=new ir({client:this.client})}_provider;get provider(){return this._provider??=new or({client:this.client})}_integration;get integration(){return this._integration??=new lr({client:this.client})}_credential;get credential(){return this._credential??=new ur({client:this.client})}_permission;get permission(){return this._permission??=new gr({client:this.client})}_fs;get fs(){return this._fs??=new mr({client:this.client})}_command;get command(){return this._command??=new fr({client:this.client})}_skill;get skill(){return this._skill??=new yr({client:this.client})}_event;get event(){return this._event??=new hr({client:this.client})}_pty;get pty(){return this._pty??=new br({client:this.client})}_question;get question(){return this._question??=new _r({client:this.client})}_reference;get reference(){return this._reference??=new Pr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new kr({client:this.client})}},dt=class e extends P{static __registry=new pn;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new dn({client:this.client})}_app;get app(){return this._app??=new gn({client:this.client})}_experimental;get experimental(){return this._experimental??=new kn({client:this.client})}_global;get global(){return this._global??=new Sn({client:this.client})}_event;get event(){return this._event??=new vn({client:this.client})}_config;get config(){return this._config??=new An({client:this.client})}_tool;get tool(){return this._tool??=new Cn({client:this.client})}_worktree;get worktree(){return this._worktree??=new Rn({client:this.client})}_find;get find(){return this._find??=new Tn({client:this.client})}_file;get file(){return this._file??=new In({client:this.client})}_instance;get instance(){return this._instance??=new En({client:this.client})}_path;get path(){return this._path??=new jn({client:this.client})}_vcs;get vcs(){return this._vcs??=new Mn({client:this.client})}_command;get command(){return this._command??=new Dn({client:this.client})}_lsp;get lsp(){return this._lsp??=new qn({client:this.client})}_formatter;get formatter(){return this._formatter??=new On({client:this.client})}_mcp;get mcp(){return this._mcp??=new Fn({client:this.client})}_project;get project(){return this._project??=new Ln({client:this.client})}_pty;get pty(){return this._pty??=new Gn({client:this.client})}_question;get question(){return this._question??=new Bn({client:this.client})}_permission;get permission(){return this._permission??=new Nn({client:this.client})}_provider;get provider(){return this._provider??=new Hn({client:this.client})}_session;get session(){return this._session??=new Wn({client:this.client})}_part;get part(){return this._part??=new zn({client:this.client})}_sync;get sync(){return this._sync??=new Jn({client:this.client})}_tui;get tui(){return this._tui??=new Qn({client:this.client})}_v2;get v2(){return this._v2??=new wr({client:this.client})}};function Zs(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let o=e,u=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||Ys(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 ${Ys(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function Ys(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,o=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function Td(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function Id(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[o,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=Td(e.headers.get(o),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(d)||n.searchParams.set(d,p);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 Sr(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=Ge(e);return t.interceptors.request.use(n=>Id(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(Zs),new dt({client:t})}var Ed=new Set(["api","cli","mobile","web"]);function gt(e){let t=e?.trim().toLowerCase();return t&&Ed.has(t)?t:null}function jd(e){return new Promise(t=>setTimeout(t,e))}async function ei(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,o=t?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await jd(s)),u=await e(),u)return u;return u}var $d=12e4;function Md(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function vr(e,t,n=$d){let r=e instanceof Request?e.signal:t?.signal;if(Md(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function Ar(e,t,n,r){let s=new Headers(e instanceof Request?e.headers:void 0);t?.headers&&new Headers(t.headers).forEach((u,p)=>{s.set(p,u)}),n&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${n}`);let o=gt(r);return o&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",o),s}function ti(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function Cr(){return $().getToken()}async function ae(e){return ei(()=>$().getToken(),e,mt)}function mt(){}function qh(e){}function Oh(e){}async function Be(){return Cr()}async function ni(e){return ae(e)}function ri(e,t,n,r){let s=$().fetch??fetch;if(e instanceof Request){let o=new Request(e,{headers:n,...r?{signal:r}:{}});return s(o)}return s(e,{...t,headers:n,...r?{signal:r}:{}})}async function M(e,t,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},o=await ni();if(!o)return ti();let u=$().clientSource,p=Ar(e,t,o,u),d=s===void 0?vr(e,t):vr(e,t,s),f=await ri(e,t,p,d);if(f.status===401&&r&&o){mt();let m=await ni({attempts:2,baseDelayMs:200});if(m&&m!==o){let y=Ar(e,t,m,u);return ri(e,t,y,d)}}return f}var Ae={url:null,sandboxId:null,dbSandboxId:null,version:0},Dd=new Set;function si(e,t=null,n=null){if(!(Ae.url===e&&Ae.sandboxId===t&&Ae.dbSandboxId===n)){Ae={url:e,sandboxId:t,dbSandboxId:n,version:Ae.version+1};for(let r of Dd)r()}}function ii(){return Ae.url}function qd(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Ne(){return qd($().backendUrl||"http://localhost:8008/v1")}function oi(){let e=$().sandboxId;return e?`${Ne()}/p/${e}/8000`:""}function Od(e){return`${Ne()}/p/${e}/8000`}function ft(e){return Od(e)}var v=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,...o}=n;Object.assign(this,o),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)}},Ce=class extends v{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},fe=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)}},Re=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",o="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||o},Object.setPrototypeOf(this,e.prototype)}},Rr="feature_disabled";function ai(e){if(!(e instanceof v)||e.status!==403||e.code!==Rr)return null;let t=e.details??e.data;return t&&typeof t=="object"?t:{}}function ci(e){let t=ai(e);return t?(typeof t.feature=="string"&&!e.feature&&(e.feature=t.feature),!0):!1}function li(e){let t=ai(e);if(!t)return null;let n=e.feature;return typeof n=="string"?n:typeof t.feature=="string"?t.feature:null}function Te(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 fe(t,{message:r?.message||e.message||"Billing error",...r})}function ui(e){return e instanceof fe}function pi(e){if(!(e instanceof fe))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."}}var Ud="X-Kortix-Impersonate",Ir="kortix.impersonation",ye=null,yt=!1,Tr=new Set;function Er(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function Fd(e,t=Date.now()){if(!e||!e.grantId||!e.accountId)return!1;let n=Date.parse(e.expiresAt);return Number.isFinite(n)&&n>t}function Ld(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t?.grantId!="string"||typeof t?.accountId!="string"?null:{grantId:t.grantId,accountId:t.accountId,accountName:typeof t.accountName=="string"?t.accountName:null,expiresAt:typeof t.expiresAt=="string"?t.expiresAt:""}}catch{return null}}function di(){for(let e of Tr)try{e()}catch{}}function Gd(){return yt||(yt=!0,ye=Ld(Er()?.getItem(Ir)??null)),ye&&!Fd(ye)?(gi(),null):ye}function Nh(e){if(yt=!0,!e){gi();return}ye=e;try{Er()?.setItem(Ir,JSON.stringify(e))}catch{}di()}function gi(){yt=!0;let e=ye!==null;ye=null;try{Er()?.removeItem(Ir)}catch{}e&&di()}function Kh(e){return Tr.add(e),()=>{Tr.delete(e)}}var Bd=/(^|\/)admin\/(api|analytics)(\/|$)/;function Nd(e){let t=e;if(/^https?:\/\//.test(e))try{t=new URL(e).pathname}catch{t=e}return!Bd.test(t)}function jr(e){if(e!==void 0&&!Nd(e))return{};let t=Gd();return t?{[Ud]:t.grantId}:{}}var ne=()=>$().backendUrl||"",Kd="feature_not_supported",Hd="model_not_servable",Wd="provision_in_flight",fi="request_deadline",zd=/^Request exceeded the \d+s server processing deadline$/,Vd=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===fi||zd.test(n),Jd=e=>new Promise(t=>setTimeout(t,e)),Xd=new Set([502,503,504]),Qd=e=>Xd.has(e),Yd=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Zd=2,mi=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),ht=!1;function Qh(e){ht=e}function Yh(){return ht}async function he(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=t,u=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!u.signal.aborted&&(d=!0,f=!0,u.abort())},s);let m=await ae(),y=o.body instanceof FormData,x={};y||(x["Content-Type"]="application/json"),Object.assign(x,o.headers);let _=gt($().clientSource),k=Object.keys(x).some(A=>A.toLowerCase()==="x-kortix-client");if(_&&!k&&(x["X-Kortix-Client"]=_),ht&&(x["x-kortix-admin-bypass"]="1"),Object.assign(x,jr(e)),m)x.Authorization=`Bearer ${m}`;else return{error:new Ce,success:!1};let T=Yd(o.method),E=T?Zd+1:1,l;for(let A=0;A<E;A++){A>0&&await Jd(250*2**(A-1));let S=A===0?u:new AbortController;A>0&&(p=setTimeout(()=>{f=!0,S.abort()},s));try{l=await($().fetch??fetch)(e,{...o,headers:x,signal:S.signal,credentials:o.credentials??"omit"})}catch(j){if(p&&(clearTimeout(p),p=null),mi(j)||A===E-1)throw j;continue}if(p&&(clearTimeout(p),p=null),!(T&&Qd(l.status)&&A<E-1))break;try{await l.arrayBuffer()}catch{}}if(!l.ok){let A=`HTTP ${l.status}: ${l.statusText}`,S=null;try{S=await l.json(),typeof S.message=="string"?A=S.message:S.error&&typeof S.error=="string"?A=S.error:typeof S.detail=="string"?A=S.detail:typeof S.detail?.message=="string"?A=S.detail.message:typeof S.reason=="string"&&(A=S.reason)}catch{}let R=Vd(l.status,S,A),j=new v(A,{status:l.status,response:l,details:S||void 0,data:S,detail:S?.detail,code:R?fi:S?.code||S?.error_code||S?.detail?.error_code||l.status.toString()});if(l.status===402&&(j=Te(j)),l.status===403&&S?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}l.status===431&&(j=new Re(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."}));let q=l.status===501&&S?.code===Kd,D=l.status===409&&S?.code===Hd,Z=l.status===409&&S?.code===Wd;return n&&!q&&!D&&!Z&&!R&&$().onError?.(j,r),{error:j,success:!1}}let b,c=l.headers.get("content-type");return c?.includes("application/json")?b=await l.json():c?.includes("text/")?b=await l.text():b=await l.blob(),{data:b,success:!0,headers:l.headers}}catch(m){p&&(clearTimeout(p),p=null);let y=mi(m);y&&(d=!0);let x;if(y){if(!f)return{error:new v("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let _=e.replace(ne(),"")||e;x=new v(`Request timed out after ${Math.round(s/1e3)}s: ${_}`,{code:"TIMEOUT",url:e,endpoint:_,timeout:s})}else m instanceof Error?(x=new v(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(x,r)):(x=new v(String(m)),n&&$().onError?.(x,r));return{error:x,success:!1}}}var Zh={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new v(r.message||"Database error",{code:r.code,details:r});return $().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new v(n.message,{name:n.name||"ApiError",stack:n.stack}):new v(String(n));return $().onError?.(r,t),{error:r,success:!1}}}};async function eg(e,t,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,o=await ae(),u={Accept:"text/event-stream","Content-Type":"application/json"},p=gt($().clientSource);p&&(u["X-Kortix-Client"]=p),ht&&(u["x-kortix-admin-bypass"]="1"),Object.assign(u,jr(e)),o&&(u.Authorization=`Bearer ${o}`);let d=new AbortController,f=setTimeout(()=>d.abort(),r);try{return await s(`${ne()}${e}`,{method:"POST",headers:u,body:JSON.stringify(t),signal:d.signal,credentials:"omit"})}finally{clearTimeout(f)}}var i={get:(e,t)=>he(`${ne()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>he(`${ne()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>he(`${ne()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>he(`${ne()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>he(`${ne()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],he(`${ne()}${e}`,{...s,method:"POST",body:t,headers:o})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],he(`${ne()}${e}`,{...s,method:"PUT",body:t,headers:o})},postStream:eg};var bt=new Map,$r=new Map;function Mr(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function yi(e){return bt.get(Mr(e))??null}function hi(e){return bt.has(Mr(e))}async function xt(e){let t=Mr(e),n=bt.get(t);if(n!==void 0)return n;let r=$r.get(t);if(r)return r;let s=(async()=>{try{let o=await i.get("/p/config",{showErrors:!1,errorContext:{operation:"load preview config",silent:!0}});if(!o.success)return null;let u=typeof o.data?.preview_url_template=="string"?o.data.preview_url_template:null;return bt.set(t,u),u}catch{return null}finally{$r.delete(t)}})();return $r.set(t,s),s}function bi(e){let{apiBaseUrl:t}=e;return hi(t)||xt(t).catch(()=>{}),{sandboxId:e.sandboxId,backendPort:e.backendPort,apiBaseUrl:t,previewUrlTemplate:yi(t)}}function re(){let e=ii();return e||($().billingEnabled??!1?"":oi())}async function Dr(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function qr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function xi(e){let t=qr(e),n=await M(`${t}/env`);if(!n.ok)throw new Error(await Dr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function _i(e,t,n){let r=qr(e),s=await M(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await Dr(s,"Failed to save secret"))}async function Pi(e,t){let n=qr(e),r=await M(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Dr(r,"Failed to delete secret"))}var tg={list:xi,set:_i,delete:Pi};async function ng(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await M(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}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 _t(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Ke(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ce(e)}async function ki(e){let t=Ke(e),n=await M(`${t}/kortix/pty`);if(!n.ok)throw new Error(await _t(n,"Failed to list terminals"));return n.json()}async function wi(e,t){let n=Ke(e),r=await M(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await _t(r,"Failed to create terminal"));return r.json()}async function Si(e,t,n){let r=Ke(e),s=await M(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await _t(s,"Failed to update terminal"));return s.json()}async function vi(e,t){let n=Ke(e),r=await M(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await _t(r,"Failed to remove terminal"))}async function Ai(e,t,n){let r=Ke(t),o=`${(()=>{try{let f=new URL(r);return f.protocol==="https:"?f.protocol="wss:":f.protocol==="http:"&&(f.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&f.protocol==="ws:"&&(f.protocol="wss:"),ce(f.toString())}catch{return r.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,u=new URLSearchParams,p=await Be();p&&u.set("token",p),n?.wake&&u.set("wake","1");let d=u.toString();return d?`${o}${o.includes("?")?"&":"?"}${d}`:o}var rg={list:ki,create:wi,update:Si,remove:vi,webSocketUrl:Ai};async function C(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await M(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await o.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${o.status}`);return p}async function Pb(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 C(e,`/kortix/tasks${r}`)}async function kb(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function wb(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function Sb(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function vb(e,t){return C(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function Ab(e,t,n){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Cb(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Rb(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function Tb(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Ib(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return C(e,`/kortix/tickets${n}`)}async function Eb(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function jb(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function $b(e,t){return C(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Mb(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Db(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function qb(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Ob(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Ub(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Fb(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Lb(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Gb(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Bb(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Nb(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Kb(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Hb(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Wb(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function zb(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Vb(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Jb(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Xb(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Qb(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Yb(e,t,n=200){return C(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Zb(e){return C(e,"/kortix/projects")}async function ex(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function tx(e,t){return C(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function nx(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function rx(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function sx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function ix(e,t,n="all"){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function ox(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function ax(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function cx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function lx(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function ux(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function px(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function dx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function gx(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function mx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function fx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function yx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function hx(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var sg=1e4,ig={retryOnAuthError:!1};function Ie(e,t,n){return C(e,t,{signal:AbortSignal.timeout(sg),...n},ig)}async function bx(e,t=!1){return(await Ie(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function xx(e){return(await Ie(e,"/kortix/services/templates")).templates??[]}async function _x(e,t){return(await Ie(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function Px(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return Ie(e,s,{method:r?"DELETE":"POST"})}async function kx(e,t){return Ie(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function wx(e,t){return Ie(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var Pt=new Map,He=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function be(){let e=re();if(!e)throw new He;return le(e)}function le(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=Pt.get(e);if(t)return t;if(!on())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Sr({baseUrl:e,fetch:M});return Pt.set(e,n),n}function Ix(e){Pt.delete(e)}function Ex(){Pt.clear()}var kt=new Map;function jx(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=kt.get(e);if(t)return t;let n=Sr({baseUrl:e,fetch});return kt.set(e,n),n}function $x(e){kt.delete(e)}function Mx(){kt.clear()}async function og(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 Dx(e){let t=re();if(!t)throw new v("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=e==="full"?"/kortix/refresh":"/global/dispose",r=await M(`${t}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",o=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new v(`System reload failed (${r.status}): ${await og(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new v(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(d){throw new v(`System reload returned malformed JSON from ${n}: ${d instanceof Error?d.message:String(d)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode:e,steps:p?[e==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:p?[]:[`the sandbox did not confirm the reload (${n})`]}}function Ii(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 v(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Ee(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}function V(e){let t=(e??re()).trim();if(!t)throw new He;return t}async function vt(e,t){let n=await M(`${V(t)}${e}`);if(!n.ok)throw new v(await Ee(n),{status:n.status,response:n});return n.json()}var Fr=["/workspace","/tmp","/home","/opt"],ag=Fr.filter(e=>e!=="/workspace");function Ei(e){return Fr.some(t=>e===t||e.startsWith(`${t}/`))}function St(e){return Ei(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function je(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(ag.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var ji=je;async function At(e,t){let n=V(t),r=je(e)||".";return(await vt(`/file?path=${encodeURIComponent(r)}`,n)).map(o=>({...o,path:o.absolute||`/workspace/${o.path}`}))}async function Ve(e,t){let n=V(t),r=je(e),s=await M(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new v(await Ee(s),{status:s.status,response:s});return s.json()}async function cg(e,t,n){let r=V(n),s=je(e),o=await M(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new v(await Ee(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new v("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let u=await o.blob();return t&&(!u.type||u.type==="application/octet-stream")?new Blob([u],{type:t}):u}async function Je(e,t){let n=V(t);try{return await cg(e,void 0,n)}catch{}let r=await Ve(e,n);if(r.encoding==="base64"&&r.content){let s=Uint8Array.from(atob(r.content),o=>o.charCodeAt(0));return new Blob([s],{type:r.mimeType||"application/octet-stream"})}return new Blob([r.content??""],{type:r.mimeType||"text/plain;charset=utf-8"})}async function Ct(e){return vt("/file/status",V(e))}async function Rt(e,t,n){let r=V(n),s=new URLSearchParams({query:e});return t?.type&&s.set("type",t.type),t?.limit&&s.set("limit",String(t.limit)),vt(`/find/file?${s.toString()}`,r)}async function Tt(e,t){let n=V(t);return(await vt(`/find?pattern=${encodeURIComponent(e)}`,n)).map(s=>({path:typeof s.path=="string"?s.path:s.path?.text??"",lines:typeof s.lines=="string"?s.lines:s.lines?.text??"",line_number:s.line_number,absolute_offset:s.absolute_offset,submatches:(s.submatches??[]).map(o=>({start:o.start,end:o.end}))}))}var We=[400,1200],lg=e=>e===408||e===429||e===502||e===503||e===504,Ci=e=>new Promise(t=>setTimeout(t,e));function ug(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Or=3e4,pg=15*6e4,dg=256;function ze(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Or;let t=Or+e/dg;return Math.min(pg,Math.max(Or,Math.round(t)))}async function gg(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 wt(e,t){let n;for(let s=0;s<=We.length;s++){let o;try{o=await t(e())}catch(p){if(n=p,ug(p)||s===We.length)break;await Ci(We[s]);continue}if(o.ok)return o.json();let u=await gg(o);if(n=new v(`Upload failed (${o.status}): ${u}`,{status:o.status,response:o}),!lg(o.status)||s===We.length)throw n;await Ci(We[s])}if(n instanceof v)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new v(`Upload failed: ${r}`)}var Ur=64*1024;function Ri(e,t){try{e?.onProgress?.(t)}catch{}}function Ti(e,t,n){let r=new FormData,s=(t??"").trim();return s&&r.append("path",s.startsWith("/")?s:`/${s}`),n&&r.append("filename",n),n?r.append("file",e,n):r.append("file",e),r}function mg(e){let t=e.lastIndexOf("/");return t<0?{parent:"",name:e}:{parent:e.slice(0,t)||"/",name:e.slice(t+1)}}async function Xe(e,t,n,r,s){let o=typeof r=="string"?r:void 0,u=typeof r=="string"?s:r,p=V(o),d=ze(e.size),f=n||(e instanceof File?e.name:"")||"";if(e.size<=Ur){let _=await wt(()=>Ti(e,t,f),k=>M(`${p}/file/upload`,{method:"POST",body:k},{timeoutMs:d}));return Ri(u,{loadedBytes:e.size,totalBytes:e.size}),_}let y=(await wt(()=>Ti(new Blob([],{type:e.type}),t,f),_=>M(`${p}/file/upload`,{method:"POST",body:_},{timeoutMs:ze(0)})))[0]?.path;if(!y)throw new v("Upload reservation returned no file path",{code:"UPLOAD_NO_RESULT"});let x=mg(y);if(!x.name)throw new v(`Upload reservation returned an invalid file path: ${y}`,{code:"UPLOAD_INVALID_PATH"});try{for(let _=0;_<e.size;_+=Ur){let k=Math.min(e.size,_+Ur),T=e.slice(_,k,e.type),E=await wt(()=>{let l=new FormData;return x.parent&&l.append("path",x.parent),l.append("filename",x.name),l.append("first",_===0?"true":"false"),l.append("offset",String(_)),l.append("file",T,x.name),l},l=>M(`${p}/file/append`,{method:"POST",body:l},{timeoutMs:ze(T.size)}));if(E.path!==y||E.size!==k)throw new v(`Upload verification failed for ${y}: expected ${k} bytes, received ${E.size}`,{code:"UPLOAD_SIZE_MISMATCH"});Ri(u,{loadedBytes:k,totalBytes:e.size})}}catch(_){throw await _e(y,p).catch(()=>{}),_}return[{path:y,size:e.size}]}function fg(e,t,n){let r=V(n),s=ze(t.size);return wt(()=>{let o=new FormData;return o.append(e,t,e.split("/").pop()||"file"),o},o=>M(`${r}/file/upload`,{method:"POST",body:o},{timeoutMs:s}))}async function It(e,t){let n=V(t),r=e.trim(),o=(r.startsWith("/")?r:`/${r}`).split("/"),u=o.pop()||"untitled",p=o.join("/")||"/workspace",d=await Qe(`${p}/${u}`,new Blob([],{type:"application/octet-stream"}),n);return[{path:d.path,size:d.bytes}]}async function Et(e,t,n){let r=V(n);return fg(t,await Je(e,r),r)}function yg(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function hg(e){let t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function bg(e){return e.slice(e.lastIndexOf("/")+1)}function xg(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();if(e?.getRandomValues){let t=new Uint8Array(8);return e.getRandomValues(t),[...t].map(n=>n.toString(16).padStart(2,"0")).join("")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}async function Qe(e,t,n){let r=V(n),s=St(yg(e.trim())),o=bg(s);if(!o)throw new v(`writeFile needs a file path, got "${e}"`,{code:"INVALID_PATH"});let u=hg(s);await Ye(u,r).catch(()=>{});let p=xg(),d=await Xe(t,u,`.${o}.kortix-write-${p}`,r),f=d[0]?.path;if(!f)throw new v(`Upload returned no file for ${s}`,{code:"UPLOAD_NO_RESULT"});let m=St(f),y=`${s}.kortix-write-backup-${p}`,x=!1;try{await xe(s,y,r),x=!0}catch{}try{await xe(m,s,r)}catch(k){throw x&&await xe(y,s,r).catch(()=>{}),await _e(m,r).catch(()=>{}),k}x&&await _e(y,r).catch(()=>{});let _=d[0]?.size;return{path:s,bytes:typeof _=="number"?_:t.size}}async function _e(e,t){let n=await M(`${V(t)}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new v(`Delete failed (${n.status}): ${await Ee(n)}`,{status:n.status,response:n});return n.json()}async function Ye(e,t){let n=await M(`${V(t)}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new v(`Mkdir failed (${n.status}): ${await Ee(n)}`,{status:n.status,response:n});return n.json()}async function xe(e,t,n){let r=await M(`${V(n)}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new v(`Rename failed (${r.status}): ${await Ee(r)}`,{status:r.status,response:r});return r.json()}async function $i(){return Ii(await be().project.current())}async function Lr(){return Ii(await be().global.health())}async function Mi(){try{return(await Lr()).healthy===!0}catch{return!1}}var _g={list:At,read:Ve,readBlob:Je,status:Ct,findFiles:Rt,findText:Tt,upload:Xe,write:Qe,create:It,copy:Et,remove:_e,mkdir:Ye,rename:xe,currentProject:$i,health:Lr,isReachable:Mi,toDaemonPath:je,toSandboxAbsolutePath:St,toWorkspaceRelative:ji};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Gr(e){return e.replace(/\/v1\/?$/,"")}async function $e(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Gr(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 Di(){return a(await i.get("/accounts"))}async function qi(e){return a(await i.post("/accounts",e))}async function Oi(e){return a(await i.get(`/accounts/${e}`))}async function Ui(e,t){return a(await i.patch(`/accounts/${e}`,{name:t}))}async function Fi(e){return a(await i.get(`/accounts/${e}/branding`))}async function Li(e,t){return a(await i.put(`/accounts/${e}/branding`,t))}async function Gi(e,t,n,r){let s=new FormData;return s.append("file",n,r??(n instanceof File?n.name:t)),a(await i.upload(`/accounts/${e}/branding/assets/${t}`,s))}async function Bi(e,t){return a(await i.delete(`/accounts/${e}/branding/assets/${t}`))}async function Ni(e){return a(await i.delete(`/accounts/${e}/branding`))}async function Ki(e){return a(await i.get(`/accounts/${e}/members`))}async function Hi(e,t){return a(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Wi(e){return a(await i.get(`/accounts/${e}/invites`))}async function zi(e,t){return a(await i.delete(`/accounts/${e}/invites/${t}`))}async function Vi(e,t){return a(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function Ji(e){return a(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function Xi(e){return a(await i.post(`/account-invites/${e}/accept`,{}))}async function Qi(e){return a(await i.post(`/account-invites/${e}/decline`,{}))}async function Yi(e,t){return a(await i.delete(`/accounts/${e}/members/${t}`))}async function Zi(e,t,n){return a(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function eo(e){return a(await i.post(`/accounts/${e}/leave`,{}))}async function Vx(e){return $e(e,"/v1/accounts")}async function to(){let e=await i.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}var Yx=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","llm_gateway","meta_agent","apps","monitors","warm_sessions","secrets_egress","pi_worker"];async function Me(){return a(await i.get("/projects"))}async function ro(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/projects${t}`))}async function Br(e,t){return a(await i.get(`/projects/${e}`,t))}async function so(e,t,n="write"){return a(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function io(e,t){return a(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function oo(e){return a(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Zx(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function Nr(e,t){let n=a(await i.get(`/projects/${e}/detail`,{showErrors:!1,...t}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Kr(e,t){return a(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function Hr(e,t){return a(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function e_(e,t){return a(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function ao(e){return a(await i.post("/projects",e))}async function co(e){return a(await i.post("/projects/create-repo",e))}async function lo(e,t={}){return a(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}var no=200;function kg(e){let t=e.split(`
|
|
8
8
|
`).filter(r=>r.startsWith("data:")).map(r=>r.slice(5).replace(/^ /,""));if(t.length===0)return null;let n=t.join(`
|
|
9
|
-
`);try{return JSON.parse(n)}catch(r){let s=n.length>no?`${n.slice(0,no)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function
|
|
9
|
+
`);try{return JSON.parse(n)}catch(r){let s=n.length>no?`${n.slice(0,no)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function t_(e,t,n={}){let r=await i.postStream("/projects/provision-stream",{seed_starter:!0,...e},n);if(!r.ok){let d=await r.json().catch(()=>null);throw new v(d?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:d?.code})}let s=r.body?.getReader();if(!s)throw new Error("Provision stream is unavailable on this runtime (no response body)");let o=new TextDecoder,u="",p=null;try{for(;;){let{done:d,value:f}=await s.read();if(d)break;u+=o.decode(f,{stream:!0});let m=u.indexOf(`
|
|
10
10
|
|
|
11
11
|
`);for(;m!==-1;){let y=u.slice(0,m);u=u.slice(m+2),m=u.indexOf(`
|
|
12
12
|
|
|
13
|
-
`);let x=_g(y);if(x){if(t(x),x.type==="error")throw new v(x.error,{status:x.status,code:x.code});x.type==="done"&&(p=x.project)}}}}finally{s.cancel().catch(()=>{})}if(!p)throw new Error("Provision stream ended without a result");return p}async function Zx(){try{return a(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Wr(e,t){return a(await i.patch(`/projects/${e}`,t))}async function uo(e,t,n){return a(await i.patch(`/projects/${e}/features`,{feature:t,enabled:n}))}async function po(e,t,n){return a(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function go(e,t){return a(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function e_(e,t){return a(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function t_(e,t){return a(await i.patch(`/projects/${e}/warm-pool`,t))}async function mo(e,t){return a(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function n_(e,t){return a(await i.patch(`/projects/${e}/onboarding`,{profile:t}))}async function zr(e){return a(await i.delete(`/projects/${e}`))}async function r_(e,t){return $e(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function s_(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Gr(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 fo(e){return a(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function yo(e){return a(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function ho(e){return a(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function bo(e){return a(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function xo(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function _o(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return a(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Po(e){return a(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function ko(e){return a(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function wo(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),a(await i.delete(`/projects/github/installation?${n.toString()}`))}async function p_(e,t){return a(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function So(e,t){return a(await i.get(`/projects/${e}/access-requests`,t))}async function vo(e,t,n="member"){return a(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function Ao(e,t){return a(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Co(e){return a(await i.get(`/projects/${e}/access`))}async function Ro(e,t,n){return a(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function To(e,t){return a(await i.delete(`/projects/${e}/access/${t}`))}function d_(e){return"status"in e&&e.status==="invited"}async function Io(e,t,n,r){return a(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Eo(e){return a(await i.get(`/projects/${e}/access/pending-invites`))}async function jo(e,t){return a(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function $o(e,t){return a(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Mo(e){return a(await i.get(`/projects/${e}/group-grants`))}async function Do(e,t,n,r){return a(await i.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function qo(e,t,n,r){return a(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Oo(e,t){return a(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Uo(e){return a(await i.get(`/projects/${e}/resource-grants`))}async function Fo(e,t){return a(await i.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 Lo(e,t){return a(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Go(e,t){return a(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Bo(e,t){return a(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function No(e,t,n){return a(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Ko(e){return a(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Ho(e,t){return a(await i.post(`/projects/${e}/secrets`,t))}async function Wo(e,t,n,r={}){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function zo(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function Vo(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function Jo(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Xo(e,t){return a(await i.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}async function Qo(e,t){return a(await i.put(`/projects/${e}/git-credential`,t))}async function Yo(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function Zo(e,t,n){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function ea(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}function Vr(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function Jr(e){return a(await i.get(Vr(e,"catalog"))).connectors??[]}async function jt(e){let t=[];for(let n of await Jr(e))for(let r of n.actions)t.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return t}async function ta(e,t="",n={}){let r=t.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),o=[],u=[];for(let p of await jt(e)){let d=`${p.tool} ${p.description}`.toLowerCase();!r||d.includes(r)?o.push(p):s.every(f=>d.includes(f))&&u.push(p)}return[...o,...u].slice(0,n.limit??20)}async function na(e,t){return(await jt(e)).find(n=>n.tool===t)??null}function Pg(e){let t=e.indexOf("."),n=t<0?"":e.slice(0,t).trim(),r=t<0?"":e.slice(t+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}async function ra(e,t,n={}){let{connector:r,action:s}=Pg(t);return a(await i.post(Vr(e,"call"),{connector:r,action:s,args:n}))}function kg(e,t){if(e&&typeof e=="object"){let n=e;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${t}`}function wg(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}async function sa(e,t,n){let r=n.filename.trim(),s=n.contentType.trim();if(!r)throw new Error("filename is required");if(!s)throw new Error("contentType is required");let o={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(o["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let u=wg($().backendUrl),p=Vr(e,"attachments"),d=await M(`${u}${p}`,{method:"POST",headers:o,body:t},{timeoutMs:6e4}),f=await d.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!d.ok)throw new v(kg(m,d.status),{status:d.status,code:String(m&&typeof m=="object"?m.code??d.status:d.status),details:m,response:d,endpoint:p});return m}async function ia(e){return a(await i.get(`/projects/${e}/connections`))}async function oa(e){return a(await i.get(`/projects/${e}/connections/all`))}async function aa(e,t){return a(await i.post(`/projects/${e}/connections`,t))}async function ca(e,t){return a(await i.post(`/projects/${e}/connections/me`,t))}async function la(e,t,n){return a(await i.put(`/projects/${e}/connections/${t}/credential`,n))}function se(e,t,n){return`/projects/${e}/connections/${t}/oauth2/${n}`}async function k_(e,t){return a(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function w_(e,t,n){return a(await i.put(se(e,t,"application"),n))}async function S_(e,t){return a(await i.get(se(e,t,"application")))}async function v_(e,t,n){return a(await i.post(se(e,t,"discover"),n))}async function A_(e,t,n={}){return a(await i.post(se(e,t,"discover-resource"),n))}async function C_(e,t,n){return a(await i.post(se(e,t,"register"),n))}async function R_(e,t,n){return a(await i.post(se(e,t,"authorize"),n))}async function T_(e,t,n){return a(await i.post(se(e,t,"device"),n))}async function I_(e,t,n){return a(await i.post(se(e,t,`device/${encodeURIComponent(n)}`),{}))}async function E_(e,t){return a(await i.get(se(e,t,"status")))}async function ua(e,t){return a(await i.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function pa(e,t){return a(await i.put(`/projects/${e}/connections/${t}/activate`,{}))}async function da(e,t){return a(await i.put(`/projects/${e}/connections/${t}/default`,{}))}async function ga(e,t,n={}){return a(await i.post(`/projects/${e}/connections/${t}/connect`,n))}async function ma(e,t){return a(await i.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function fa(e){return a(await i.get(`/connectors/projects/${e}/connectors`,{showErrors:!1}))}async function ya(e){return a(await i.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function ha(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function ba(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function xa(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function _a(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Pa(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function j_(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function $_(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function ka(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function wa(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function Sg(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}var Sa=Sg;async function M_(e,t){return a(await i.get(`/connectors/projects/${e}/sessions/${encodeURIComponent(t)}/connect-requests`)).connectors??[]}async function va(e,t){return a(await i.post(`/connectors/projects/${e}/connectors`,t))}async function Aa(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function Ca(e,t){return a(await i.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Ra(e,t,n){let r=typeof t=="string"||t===void 0?{...t?{q:t}:{},...n?{cursor:n}:{}}:t,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let o=s.toString();return a(await i.get(`/connectors/projects/${e}/pipedream/apps${o?`?${o}`:""}`))}async function Ta(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${e}/pipedream/sections${r?`?${r}`:""}`))}async function D_(e,t={}){let n=new URLSearchParams;t.q&&n.set("q",t.q),t.category&&n.set("category",t.category),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString(),s=a(await i.get(`/connectors/projects/${e}/connect/toolkits${r?`?${r}`:""}`));if("toolkits"in s)return s;let o=s.cursor?.trim()||void 0;return{provider:"composio",toolkits:s.items,nextCursor:o,hasMore:!!o}}async function q_(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${e}/connect/sections${r?`?${r}`:""}`))}async function Xr(e,t,n){let r=typeof t=="string"||t===void 0?{...t?{q:t}:{},...n?{cursor:n}:{}}:t,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let o=s.toString();return a(await i.get(`/connectors/projects/${e}/discover/connectors${o?`?${o}`:""}`))}async function Ia(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${e}/discover/sections${r?`?${r}`:""}`))}async function Qr(e,t){let n=new URLSearchParams({id:t});return a(await i.get(`/connectors/projects/${e}/discover/connectors/detail?${n.toString()}`))}var O_=Xr,U_=Qr;async function Ea(){return a(await i.get("/connectors/connect-status"))}async function ja(e,t,n){let r=typeof n=="string"?{value:n}:n;return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function F_(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function vg(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}var $a=vg;async function Ma(e){return a(await i.get(`/connectors/projects/${e}/policies`))}async function Da(e,t,n){return a(await i.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function qa(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function Oa(e){return a(await i.get(`/projects/${e}/snapshots`))}async function Yr(e){return a(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Ua(e,t){return a(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Fa(e){return a(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function La(e,t){return a(await i.post(`/projects/${e}/sandbox-templates`,t))}async function Ga(e,t,n){return a(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Ba(e,t){return a(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Na(e,t){return a(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Ka(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function Ha(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 i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Wa(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 i.get(`/projects/${e}/files/search?${r.toString()}`))}async function za(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),a(await i.get(`/projects/${e}/files/content?${r.toString()}`,{showErrors:!1}))}async function Va(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await ae(),u=`${$().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function Ja(e){return a(await i.get(`/projects/${e}/branches`))}async function Xa(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 i.get(`/projects/${e}/commits${r}`))}async function Qa(e,t){return a(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Ya(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Za(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 i.get(`/projects/${e}/files/history?${r.toString()}`))}async function ec(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return a(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function tc(e,t){let n=t?`?status=${t}`:"";return a(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function nc(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}`))}async function rc(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function sc(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function ic(e,t){return a(await i.post(`/projects/${e}/change-requests`,t))}async function oc(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function ac(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function cc(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function lc(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function uc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var Zr=new Set;function $t(e){e&&Zr.add(e)}function pc(e){return!!e&&Zr.has(e)}function sP(e){e&&Zr.delete(e)}async function Ze(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope);let r=n.size>0?`?${n}`:"";return a(await i.get(`/projects/${e}/sessions${r}`))}async function dc(e,t,n){return a(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function gc(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function mc(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function fc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function yc(e,t,n){return a(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function et(e,t){let n=a(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||$t(n?.session_id),n}async function hc(e,t){let n=t?.excludeSessionId?{exclude_session_id:t.excludeSessionId}:{},r=a(await i.post(`/projects/${e}/sessions/warm`,n,{showErrors:!1}));return r.reused||$t(r.session.session_id),r}async function bc(e,t){let n=a(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return $t(n.session_id),n}async function es(e,t,n){return a(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function xc(e,t,n,r){let s=new URLSearchParams;n&&s.set("limit",String(n)),r?.cursor&&s.set("cursor",r.cursor),r?.includeEvents!=null&&s.set("include_events",String(r.includeEvents));let o=s.toString();return a(await i.get(`/projects/${e}/sessions/${t}/audit${o?`?${o}`:""}`,{showErrors:r?.showErrors}))}async function _c(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 i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Pc(e,t,n){let r=new URLSearchParams({shape:"sync"});return n?.limit!=null&&r.set("limit",String(n.limit)),a(await i.get(`/projects/${e}/sessions/${t}/transcript?${r.toString()}`,{showErrors:!1}))}async function kc(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/turn`))}async function lP(e,t,n){let r=new URLSearchParams;n?.transcript!=null&&r.set("transcript",String(n.transcript));let s=r.toString();return a(await i.get(`/projects/${e}/sessions/${t}/snapshot${s?`?${s}`:""}`,{signal:n?.signal,showErrors:!1}))}async function wc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts`,{client_message_id:n.clientMessageId,message_id:n.messageId,parts:n.parts,...n.overrides?{overrides:n.overrides}:{},...n.remintOnDelivery?{remint_on_delivery:!0}:{},...typeof n.clientSentAtMs=="number"?{client_sent_at_ms:Math.trunc(n.clientSentAtMs)}:{}}))}async function Sc(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/prompts`))}async function vc(e,t,n){return a(await i.delete(`/projects/${e}/sessions/${t}/prompts/${n}`)).removed}async function Ac(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/${n}/retry`,{}))}async function Cc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/hold`,{held:n}))}async function Rc(e,t,n){return a(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function Tc(e,t){return a(await i.delete(`/projects/${e}/sessions/${t}`))}async function Mt(e,t){return a(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function Dt(e,t){return a(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function Ic(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}function Ag(e){let t=e.split(`
|
|
13
|
+
`);let x=kg(y);if(x){if(t(x),x.type==="error")throw new v(x.error,{status:x.status,code:x.code});x.type==="done"&&(p=x.project)}}}}finally{s.cancel().catch(()=>{})}if(!p)throw new Error("Provision stream ended without a result");return p}async function n_(){try{return a(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Wr(e,t){return a(await i.patch(`/projects/${e}`,t))}async function uo(e,t,n){return a(await i.patch(`/projects/${e}/features`,{feature:t,enabled:n}))}async function po(e,t,n){return a(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function go(e,t){return a(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function r_(e,t){return a(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function s_(e,t){return a(await i.patch(`/projects/${e}/warm-pool`,t))}async function mo(e,t){return a(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function i_(e,t){return a(await i.patch(`/projects/${e}/onboarding`,{profile:t}))}async function zr(e){return a(await i.delete(`/projects/${e}`))}async function o_(e,t){return $e(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function a_(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Gr(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 fo(e){return a(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function yo(e){return a(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function ho(e){return a(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function bo(e){return a(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function xo(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function _o(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return a(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Po(e){return a(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function ko(e){return a(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function wo(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),a(await i.delete(`/projects/github/installation?${n.toString()}`))}async function m_(e,t){return a(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function So(e,t){return a(await i.get(`/projects/${e}/access-requests`,t))}async function vo(e,t,n="member"){return a(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function Ao(e,t){return a(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Co(e){return a(await i.get(`/projects/${e}/access`))}async function Ro(e,t,n){return a(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function To(e,t){return a(await i.delete(`/projects/${e}/access/${t}`))}function f_(e){return"status"in e&&e.status==="invited"}async function Io(e,t,n,r){return a(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Eo(e){return a(await i.get(`/projects/${e}/access/pending-invites`))}async function jo(e,t){return a(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function $o(e,t){return a(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Mo(e){return a(await i.get(`/projects/${e}/group-grants`))}async function Do(e,t,n,r){return a(await i.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function qo(e,t,n,r){return a(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Oo(e,t){return a(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Uo(e){return a(await i.get(`/projects/${e}/resource-grants`))}async function Fo(e,t){return a(await i.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 Lo(e,t){return a(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Go(e,t){return a(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Bo(e,t){return a(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function No(e,t,n){return a(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Ko(e){return a(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Ho(e,t){return a(await i.post(`/projects/${e}/secrets`,t))}async function Wo(e,t,n,r={}){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function zo(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function Vo(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function Jo(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Xo(e,t){return a(await i.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}async function Qo(e,t){return a(await i.put(`/projects/${e}/git-credential`,t))}async function Yo(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function Zo(e,t,n){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function ea(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}function Vr(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function Jr(e){return a(await i.get(Vr(e,"catalog"))).connectors??[]}async function jt(e){let t=[];for(let n of await Jr(e))for(let r of n.actions)t.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return t}async function ta(e,t="",n={}){let r=t.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),o=[],u=[];for(let p of await jt(e)){let d=`${p.tool} ${p.description}`.toLowerCase();!r||d.includes(r)?o.push(p):s.every(f=>d.includes(f))&&u.push(p)}return[...o,...u].slice(0,n.limit??20)}async function na(e,t){return(await jt(e)).find(n=>n.tool===t)??null}function wg(e){let t=e.indexOf("."),n=t<0?"":e.slice(0,t).trim(),r=t<0?"":e.slice(t+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}async function ra(e,t,n={}){let{connector:r,action:s}=wg(t);return a(await i.post(Vr(e,"call"),{connector:r,action:s,args:n}))}function Sg(e,t){if(e&&typeof e=="object"){let n=e;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${t}`}function vg(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}async function sa(e,t,n){let r=n.filename.trim(),s=n.contentType.trim();if(!r)throw new Error("filename is required");if(!s)throw new Error("contentType is required");let o={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(o["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let u=vg($().backendUrl),p=Vr(e,"attachments"),d=await M(`${u}${p}`,{method:"POST",headers:o,body:t},{timeoutMs:6e4}),f=await d.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!d.ok)throw new v(Sg(m,d.status),{status:d.status,code:String(m&&typeof m=="object"?m.code??d.status:d.status),details:m,response:d,endpoint:p});return m}async function ia(e){return a(await i.get(`/projects/${e}/connections`))}async function oa(e){return a(await i.get(`/projects/${e}/connections/all`))}async function aa(e,t){return a(await i.post(`/projects/${e}/connections`,t))}async function ca(e,t){return a(await i.post(`/projects/${e}/connections/me`,t))}async function la(e,t,n){return a(await i.put(`/projects/${e}/connections/${t}/credential`,n))}function se(e,t,n){return`/projects/${e}/connections/${t}/oauth2/${n}`}async function v_(e,t){return a(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function A_(e,t,n){return a(await i.put(se(e,t,"application"),n))}async function C_(e,t){return a(await i.get(se(e,t,"application")))}async function R_(e,t,n){return a(await i.post(se(e,t,"discover"),n))}async function T_(e,t,n={}){return a(await i.post(se(e,t,"discover-resource"),n))}async function I_(e,t,n){return a(await i.post(se(e,t,"register"),n))}async function E_(e,t,n){return a(await i.post(se(e,t,"authorize"),n))}async function j_(e,t,n){return a(await i.post(se(e,t,"device"),n))}async function $_(e,t,n){return a(await i.post(se(e,t,`device/${encodeURIComponent(n)}`),{}))}async function M_(e,t){return a(await i.get(se(e,t,"status")))}async function ua(e,t){return a(await i.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function pa(e,t){return a(await i.put(`/projects/${e}/connections/${t}/activate`,{}))}async function da(e,t){return a(await i.put(`/projects/${e}/connections/${t}/default`,{}))}async function ga(e,t,n={}){return a(await i.post(`/projects/${e}/connections/${t}/connect`,n))}async function ma(e,t){return a(await i.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function fa(e){return a(await i.get(`/connectors/projects/${e}/connectors`,{showErrors:!1}))}async function ya(e){return a(await i.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function ha(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function ba(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function xa(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function _a(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Pa(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function D_(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function q_(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function ka(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function wa(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function Ag(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}var Sa=Ag;async function O_(e,t){return a(await i.get(`/connectors/projects/${e}/sessions/${encodeURIComponent(t)}/connect-requests`)).connectors??[]}async function va(e,t){return a(await i.post(`/connectors/projects/${e}/connectors`,t))}async function Aa(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function Ca(e,t){return a(await i.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Ra(e,t,n){let r=typeof t=="string"||t===void 0?{...t?{q:t}:{},...n?{cursor:n}:{}}:t,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let o=s.toString();return a(await i.get(`/connectors/projects/${e}/pipedream/apps${o?`?${o}`:""}`))}async function Ta(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${e}/pipedream/sections${r?`?${r}`:""}`))}async function U_(e,t={}){let n=new URLSearchParams;t.q&&n.set("q",t.q),t.category&&n.set("category",t.category),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString(),s=a(await i.get(`/connectors/projects/${e}/connect/toolkits${r?`?${r}`:""}`));if("toolkits"in s)return s;let o=s.cursor?.trim()||void 0;return{provider:"composio",toolkits:s.items,nextCursor:o,hasMore:!!o}}async function F_(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${e}/connect/sections${r?`?${r}`:""}`))}async function Xr(e,t,n){let r=typeof t=="string"||t===void 0?{...t?{q:t}:{},...n?{cursor:n}:{}}:t,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let o=s.toString();return a(await i.get(`/connectors/projects/${e}/discover/connectors${o?`?${o}`:""}`))}async function Ia(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${e}/discover/sections${r?`?${r}`:""}`))}async function Qr(e,t){let n=new URLSearchParams({id:t});return a(await i.get(`/connectors/projects/${e}/discover/connectors/detail?${n.toString()}`))}var L_=Xr,G_=Qr;async function Ea(){return a(await i.get("/connectors/connect-status"))}async function ja(e,t,n){let r=typeof n=="string"?{value:n}:n;return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function B_(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function Cg(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}var $a=Cg;async function Ma(e){return a(await i.get(`/connectors/projects/${e}/policies`))}async function Da(e,t,n){return a(await i.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function qa(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function Oa(e){return a(await i.get(`/projects/${e}/snapshots`))}async function Yr(e){return a(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Ua(e,t){return a(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Fa(e){return a(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function La(e,t){return a(await i.post(`/projects/${e}/sandbox-templates`,t))}async function Ga(e,t,n){return a(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Ba(e,t){return a(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Na(e,t){return a(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Ka(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function Ha(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 i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Wa(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 i.get(`/projects/${e}/files/search?${r.toString()}`))}async function za(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),a(await i.get(`/projects/${e}/files/content?${r.toString()}`,{showErrors:!1}))}async function Va(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await ae(),u=`${$().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function Ja(e){return a(await i.get(`/projects/${e}/branches`))}async function Xa(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 i.get(`/projects/${e}/commits${r}`))}async function Qa(e,t){return a(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Ya(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Za(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 i.get(`/projects/${e}/files/history?${r.toString()}`))}async function ec(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return a(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function tc(e,t){let n=t?`?status=${t}`:"";return a(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function nc(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}`))}async function rc(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function sc(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function ic(e,t){return a(await i.post(`/projects/${e}/change-requests`,t))}async function oc(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function ac(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function cc(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function lc(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function uc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var Zr=new Set;function $t(e){e&&Zr.add(e)}function pc(e){return!!e&&Zr.has(e)}function aP(e){e&&Zr.delete(e)}var dP=50,Rg=200,gP=Rg;function dc(e){let t=new URLSearchParams;return e?.scope&&e.scope!=="visible"&&t.set("scope",e.scope),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.cursor&&t.set("cursor",e.cursor),t.size>0?`?${t}`:""}async function gc(e,t){let n=await i.get(`/projects/${e}/sessions${dc(t)}`);return{items:a(n),next_cursor:n.headers?.get("x-next-cursor")??null}}async function Ze(e,t){return a(await i.get(`/projects/${e}/sessions${dc(t)}`))}async function mc(e,t,n){return a(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function fc(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function yc(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function hc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function bc(e,t,n){return a(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function et(e,t){let n=a(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||$t(n?.session_id),n}async function xc(e,t){let n=t?.excludeSessionId?{exclude_session_id:t.excludeSessionId}:{},r=a(await i.post(`/projects/${e}/sessions/warm`,n,{showErrors:!1}));return r.reused||$t(r.session.session_id),r}async function _c(e,t){let n=a(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return $t(n.session_id),n}async function es(e,t,n){return a(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function Pc(e,t,n,r){let s=new URLSearchParams;n&&s.set("limit",String(n)),r?.cursor&&s.set("cursor",r.cursor),r?.includeEvents!=null&&s.set("include_events",String(r.includeEvents));let o=s.toString();return a(await i.get(`/projects/${e}/sessions/${t}/audit${o?`?${o}`:""}`,{showErrors:r?.showErrors}))}async function kc(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 i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function wc(e,t,n){let r=new URLSearchParams({shape:"sync"});return n?.limit!=null&&r.set("limit",String(n.limit)),a(await i.get(`/projects/${e}/sessions/${t}/transcript?${r.toString()}`,{showErrors:!1}))}async function Sc(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/turn`))}async function mP(e,t,n){let r=new URLSearchParams;n?.transcript!=null&&r.set("transcript",String(n.transcript));let s=r.toString();return a(await i.get(`/projects/${e}/sessions/${t}/snapshot${s?`?${s}`:""}`,{signal:n?.signal,showErrors:!1}))}async function vc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts`,{client_message_id:n.clientMessageId,message_id:n.messageId,parts:n.parts,...n.overrides?{overrides:n.overrides}:{},...n.remintOnDelivery?{remint_on_delivery:!0}:{},...typeof n.clientSentAtMs=="number"?{client_sent_at_ms:Math.trunc(n.clientSentAtMs)}:{}}))}async function Ac(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/prompts`))}async function Cc(e,t,n){return a(await i.delete(`/projects/${e}/sessions/${t}/prompts/${n}`)).removed}async function Rc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/${n}/retry`,{}))}async function Tc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/hold`,{held:n}))}async function Ic(e,t,n){return a(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function Ec(e,t){return a(await i.delete(`/projects/${e}/sessions/${t}`))}async function Mt(e,t){return a(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function Dt(e,t){return a(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function jc(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}function Tg(e){let t=e.split(`
|
|
14
14
|
`).filter(n=>n.startsWith("data:")).map(n=>n.slice(5).replace(/^ /,""));if(t.length===0)return null;try{return JSON.parse(t.join(`
|
|
15
|
-
`))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function
|
|
15
|
+
`))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function $c(e,t,n={}){return a(await i.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function Mc(e,t,n,r,s={}){let o=await i.postStream(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload-stream`,n,s);if(!o.ok){let m=await o.json().catch(()=>null);throw new v(m?.error||`Reload failed: HTTP ${o.status}`,{status:o.status,code:m?.code,data:m})}let u=o.body?.getReader();if(!u)throw new Error("Reload stream is unavailable on this runtime (no response body)");let p=new TextDecoder,d="",f=null;try{for(;;){let{done:m,value:y}=await u.read();if(m)break;d+=p.decode(y,{stream:!0});let x=d.indexOf(`
|
|
16
16
|
|
|
17
17
|
`);for(;x!==-1;){let _=d.slice(0,x);d=d.slice(x+2),x=d.indexOf(`
|
|
18
18
|
|
|
19
|
-
`);let k=Ag(_);if(k){if(r(k),k.type==="error")throw new v(k.error,{status:k.status,code:k.code,data:{reason:k.reason}});k.type==="done"&&(f=k.result)}}}}finally{u.cancel().catch(()=>{})}if(!f)throw new Error("Reload stream ended without a result");return f}async function $c(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function Mc(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function Dc(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function qc(e){return a(await i.get(`/projects/${e}/triggers`))}async function Oc(e,t){return a(await i.post(`/projects/${e}/triggers`,t))}async function Uc(e,t,n){return a(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function Fc(e,t){return a(await i.delete(`/projects/${e}/triggers/${t}`))}async function Lc(e,t){return a(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Gc(e,t){return a(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var ue=new Map;function ts(e,t){return`${e}::${t}`}function Bc(e,t){ue.delete(e),ue.set(e,t)}function Nc(e,t){let n=ts(e,t),r=ue.get(n);return r&&Bc(n,r),r}function Kc(e,t,n){let r=ts(e,t);if(!ue.has(r)&&ue.size>=512){let s=ue.keys().next().value;s!==void 0&&ue.delete(s)}Bc(r,n)}function Hc(e,t){ue.delete(ts(e,t))}function xP(e){if(e.status!=="running"||!e.sandbox_id||!e.sandbox_provider||!e.sandbox_url||!e.opencode_session_id)return null;let t=e.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return t?{stage:"ready",agent_name:e.agent_name??"default",retriable:!0,sandbox:{sandbox_id:e.sandbox_id,session_id:e.session_id,project_id:e.project_id,account_id:e.account_id,provider:e.sandbox_provider,external_id:t,base_url:e.sandbox_url,status:"active",config:{},metadata:e.metadata,last_used_at:e.updated_at,created_at:e.created_at,updated_at:e.updated_at},opencode_session_id:e.opencode_session_id,runtime_url:e.sandbox_url}:null}var ns=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 _P(e){return e instanceof Error&&e.name==="SessionStartError"}function Cg(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 ns(s,{status:n,code:r,terminal:!0}):null}async function De(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=Cg(s.error);if(p&&!(p.status===404&&pc(t)))throw p;return null}let o=s.data,u=o.sandbox?.external_id;return o.stage==="ready"&&u&&o.opencode_session_id&&Kc(e,t,{opencodeSessionId:o.opencode_session_id,runtimeUrl:ft(u),sandboxId:u}),o}function PP(e,t){return["session-start",e,t]}async function Wc(e){return a(await i.get(`/projects/${e}/model-defaults`))}async function zc(e,t){return a(await i.put(`/projects/${e}/model-defaults`,t))}async function Vc(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function RP(e,t){return a(await i.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function Xc(e,t,n){let r=Tg(n);return a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function Jc(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Rg(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Tg(e){let t=e.connectors_required?Jc(e.connectors_required):void 0,n=e.connectors_personal?Jc(e.connectors_personal):void 0;if(t&&n&&!Rg(t,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...e};return delete r.connectors_personal,(t!==void 0||n!==void 0)&&(r.connectors_required=t??n),r}async function DP(e,t){let n=a(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?rs(n.block):null}}async function qP(e,t,n){let r=rs(n,!0),s=a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?rs(s.block):null}}function rs(e,t=!1){let n=Eg(e);if(n.workspace===void 0)return n;let r=n.workspace==="branch";if(n.repository_access!==void 0&&n.repository_access!==r)throw new Error("repository_access conflicts with workspace");if(t&&n.workspace==="read"&&n.repository_access===void 0)throw new Error("Legacy read is unavailable. Set repository_access explicitly.");return n.repository_access??=r,delete n.workspace,n}function Qc(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Ig(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Eg(e){let t=e.connectors_required?Qc(e.connectors_required):void 0,n=e.connectors_personal?Qc(e.connectors_personal):void 0;if(t&&n&&!Ig(t,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...e};return delete r.connectors_personal,(t!==void 0||n!==void 0)&&(r.connectors_required=t??n),r}async function OP(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/grant`,{agent:n}))}async function Yc(e,t){return a(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function ss(){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}}}function jg(e){let t=e.trim().toLowerCase();return t===""||t==="free"||t==="none"?"free":t==="enterprise"?"enterprise":"team"}function GP(e){let t=e?.plan;if(t)return{family:t.family,label:t.label,sublabel:t.sublabel??null,isGrandfathered:t.is_grandfathered===!0};let n=e??ss(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:jg(r),label:s,sublabel:null,isGrandfathered:!1}}async function Zc(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 i.get(`/billing/account-state${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?ss():s.data}async function el(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 i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?ss():s.data}async function tl(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 i.get(`/billing/transactions${n?`?${n}`:""}`))}async function nl(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 i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function rl(){return a(await i.get("/billing/credit-breakdown"))}async function sl(e){let t=e!=null?`?days=${e}`:"";return a(await i.get(`/billing/usage-history${t}`))}async function il(){return a(await i.get("/billing/tier-configurations"))}async function BP(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return $e(e,`/v1/billing/account-state${t}`)}async function ol(e){return a(await i.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 al(e,t){return a(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function cl(e,t){return a(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function ll(e,t){return a(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function ul(e){return a(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function pl(e,t,n){return a(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function dl(e){return a(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function gl(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),a(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function ml(e){return a(await i.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 fl(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function yl(e){return a(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount},{showErrors:!1}),"Failed to configure auto-topup")}async function NP(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function KP(e){return a(await i.post("/billing/create-per-seat-checkout",{account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl,locale:e.locale}),"Failed to create per-seat checkout")}async function HP(e){return a(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function WP(e){return a(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function hl(e={}){let t=new URLSearchParams;e.start&&t.set("start",e.start),e.end&&t.set("end",e.end),(e.groupBy==="model"||e.groupBy==="provider"||e.groupBy==="day")&&t.set("group_by",e.groupBy),e.accountId&&t.set("account_id",e.accountId);let n=t.toString();return a(await i.get(`/usage${n?`?${n}`:""}`))}function is(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function qt(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function Ot(e){return e.size>0?`?${e}`:""}async function xl(e={}){let t=new URLSearchParams;return is(t,e),e.ownerId&&t.set("owner_id",e.ownerId),qt(t,e),e.sort&&t.set("sort",e.sort),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset)),a(await i.get(`/usage/session-costs${Ot(t)}`))}async function os(e,t={}){let n=new URLSearchParams;return is(n,t),a(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${Ot(n)}`))}async function YP(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),qt(t,e),e.sort&&t.set("sort",e.sort),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset)),a(await i.get(`/usage/cost-by-project${Ot(t)}`))}async function ZP(e={}){let t=new URLSearchParams;return is(t,e),e.sessionId&&t.set("session_id",e.sessionId),qt(t,e),a(await i.get(`/usage/cost-summary${Ot(t)}`))}function bl(e,t={}){let n=new URLSearchParams;if(t.accountId&&n.set("account_id",t.accountId),e==="sessions"){let s=t;s.projectId&&n.set("project_id",s.projectId),s.ownerId&&n.set("owner_id",s.ownerId)}qt(n,t),t.sort&&n.set("sort",t.sort),n.set("format","csv");let r=e==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${$().backendUrl||""}${r}?${n}`}async function ek(e,t={}){let n=bl(e==="projects"?"projects":"sessions",t),r=await ae(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let d=await s.text().catch(()=>"");throw new Error(d||`Failed to export CSV (HTTP ${s.status})`)}let o=s.headers.get("x-kortix-row-cap"),u=o!=null?Number(o):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function _l(e,t){return a(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function sk(e){return _l("slack",e)}function ik(e){return _l("teams",e)}async function Pl(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function kl(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var $g={oauth_available:!1,install_url:null};async function wl(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?$g:t.data}async function Sl(e){return a(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function vl(e){let t=await i.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function Al(e,t){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Cl(e,t){return a(await i.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 as(e){let t=e.connectionId??e.connection_id??null,n=e.connectorSlug??e.connector_slug??e.connectionSlug??e.connection_slug??"kortix_email";return{...e,connectionId:t,connectorSlug:n}}var Mg={provider:"agentmail",managed_available:!1};async function Rl(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?as(r.data):null}async function Tl(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Mg:t.data}async function Il(e,t){let n=a(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return as(n)}async function El(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.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 jl(e,t,n){let r=a(await i.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return as(r)}async function ok(e){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function ak(e,t,n){return a(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function $l(e){return a(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Ml(e,t){return a(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Dl(e){return a(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ql(e,t){return a(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Ol(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 i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Ul(e,t){return a(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Fl(e,t){return a(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ll(e,t){return a(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Gl(e,t){return a(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Bl(e,t){return a(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Nl(e,t){return a(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Kl(e){return a(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Hl(e,t){return a(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Wl(e,t){return a(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function zl(e){return a(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Vl(e,t){return a(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Jl(e,t){return a(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Xl(e,t,n,r,s){return a(await i.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function pk(e,t){return a(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function fk(){return a(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function yk(){return a(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function hk(e){return a(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function bk(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function xk(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return a(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function _k(e){return a(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function w(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function U(e){return i.get(e,{showErrors:!1})}async function Ql(e){return w(await U(`/accounts/${e}/iam/groups`)).groups}async function Yl(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}`))}async function Zl(e,t){return w(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function eu(e,t,n){return w(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function tu(e,t){return w(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function nu(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}/members`)).members}async function ru(e,t,n){return w(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function wk(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function su(e,t,n){return w(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function Sk(e,t){return w(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function vk(e,t){let n=w(await U(`/accounts/${e}/iam/members/${t}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}async function Ak(e,t={}){let n=new URLSearchParams;t.resourceType&&n.set("resourceType",t.resourceType),t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.projectId&&n.set("projectId",t.projectId);let r=n.toString();return w(await U(`/accounts/${e}/iam/resource-grants${r?`?${r}`:""}`)).grants}async function Ck(e,t={}){let n=new URLSearchParams;t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.scopeType&&n.set("scopeType",t.scopeType),t.scopeId!==void 0&&n.set("scopeId",t.scopeId===null?"null":t.scopeId);let r=n.toString();return w(await U(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function Rk(e,t){return w(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Tk(e,t,n){return w(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function Ik(e,t){return w(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function Ek(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function jk(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function iu(e){return w(await U(`/accounts/${e}/iam/roles`)).roles}async function ou(e){return w(await U(`/accounts/${e}/iam/agent-identities`)).agents}async function au(e,t){return w(await U(`/accounts/${e}/iam/roles/${t}/permissions`))}async function $k(e){return w(await U(`/accounts/${e}/iam/actions`)).actions}async function cu(e,t){return w(await U(`/accounts/${e}/iam/roles/${t}/usage`))}async function lu(e,t){return w(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function uu(e,t,n){return w(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function pu(e,t,n){return w(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function du(e,t){return w(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function Mk(e,t,n){return w(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function Dk(e){return w(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function qk(e,t){return w(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function Ok(e,t){return w(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function Uk(e){return w(await U(`/accounts/${e}/iam/mfa-required`))}async function Fk(e){return w(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function Lk(e,t){return w(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function Gk(e){return w(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function Bk(e,t){return w(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Nk(e,t){return w(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function Kk(e){return w(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function Hk(e){return w(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Wk(e,t){return w(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function zk(e,t){return w(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Vk(e){return w(await U(`/accounts/${e}/iam/session-policy`))}async function Jk(e,t){return w(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Xk(e){return w(await U(`/accounts/${e}/iam/sessions`)).sessions}async function Qk(e,t){return w(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function Yk(e){return w(await U(`/accounts/${e}/iam/pat-policy`))}async function Zk(e,t){return w(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function ew(e){return w(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function tw(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function nw(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function rw(e,t){return w(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function sw(e){return w(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function iw(e,t){return w(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function ow(e,t,n){return w(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function aw(e,t){return w(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function cw(e,t={}){let n=new URLSearchParams;t.action&&n.set("action",t.action),t.actor&&n.set("actor",t.actor),t.project_id&&n.set("project_id",t.project_id),t.session_id&&n.set("session_id",t.session_id),t.actor_type&&n.set("actor_type",t.actor_type),t.source&&n.set("source",t.source),t.phase&&n.set("phase",t.phase),t.outcome&&n.set("outcome",t.outcome),t.request_id&&n.set("request_id",t.request_id),t.correlation_id&&n.set("correlation_id",t.correlation_id),t.resource_type&&n.set("resource_type",t.resource_type),t.since&&n.set("since",t.since),t.until&&n.set("until",t.until),t.q&&n.set("q",t.q),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString();return w(await U(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function gu(e,t,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),w(await U(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function mu(e,t,n){return n.length===0?[]:w(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function lw(e){return w(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function uw(e,t){return w(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function fu(e){return a(await i.get(`/accounts/${e}/iam/oauth-clients`,{showErrors:!1}))}async function yu(e,t){return a(await i.get(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}async function hu(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients`,t,{showErrors:!1}))}async function bu(e,t,n){return a(await i.patch(`/accounts/${e}/iam/oauth-clients/${t}`,n,{showErrors:!1}))}async function xu(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients/${t}/rotate-secret`,{},{showErrors:!1}))}async function _u(e,t){return a(await i.delete(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}function Pu(e){return i.get(e,{showErrors:!1})}function Dg(e){let t=new URLSearchParams;e?.principalType&&t.set("principal_type",e.principalType),e?.principalId&&t.set("principal_id",e.principalId),e?.scopeType&&t.set("scope_type",e.scopeType),e?.scopeId&&t.set("scope_id",e.scopeId),e?.objectType&&t.set("object_type",e.objectType),e?.objectId&&t.set("object_id",e.objectId),e?.roleId&&t.set("role_id",e.roleId),e?.includeExpired&&t.set("include_expired","true");let n=t.toString();return n?`?${n}`:""}async function ku(e,t){return a(await Pu(`/accounts/${e}/iam/assignments${Dg(t)}`)).assignments}async function wu(e,t){let n={principal_type:t.principal.type,principal_id:t.principal.id,scope_type:t.scope.type,scope_id:t.scope.type==="project"?t.scope.id:null};return t.roleId?n.role_id=t.roleId:n.role_key=t.roleKey,t.object&&(n.object_type=t.object.type,n.object_id=t.object.id),t.expiresAt!==void 0&&(n.expires_at=t.expiresAt),a(await i.post(`/accounts/${e}/iam/assignments`,n))}async function Su(e,t){return a(await i.delete(`/accounts/${e}/iam/assignments/${t}`)).assignment}async function vu(e,t){let n=t?.scopeType?`?scope_type=${t.scopeType}`:"";return a(await Pu(`/accounts/${e}/iam/permissions${n}`)).permissions}async function _w(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:a(e,"Failed to load account deletion status")}async function Pw(e="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function kw(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function ww(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function Sw(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Rw(){return i.get("/admin/api/provider-distribution").then(e=>a(e))}function Tw(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>a(t))}function Iw(e){return i.put("/admin/api/provider-distribution",e).then(t=>a(t))}function Ew(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>a(t))}function jw(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>a(n))}function $w(){return i.get("/admin/api/provider-fallback").then(e=>a(e))}function Mw(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>a(t))}async function Uw(e){return a(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function Fw(e,t){return a(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:e,sandbox_url:t},{timeout:18e4}),"Failed to upload to Google Slides")}async function Au(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 i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Cu(e,t){return a(await i.get(`/projects/${e}/review/items/${t}`))}async function Ru(e,t){return a(await i.post(`/projects/${e}/review/items`,t))}async function Tu(e,t,n){return a(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function Iu(e,t){return a(await i.post(`/projects/${e}/review/bulk`,t))}async function Eu(e){return a(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function ju(e){return a(await i.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function $u(e,t){let n=await i.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var cs=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Mu(e,t=""){return`${Ne()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Du(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 cs(s,t.status)}return r}async function Vw(e){return Du(Mu(e))}async function Jw(e){return Du(Mu(e,"/messages"))}async function qu(e,t){let n=new URLSearchParams;e&&n.set("account_id",e),t?.mine&&n.set("mine","true");let r=n.size>0?`?${n.toString()}`:"";return a(await i.get(`/accounts/tokens${r}`))}async function Ou(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return a(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Uu(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.delete(`/accounts/tokens/${e}${n}`))}async function Fu(e){return a(await i.get(`/projects/${e}/cli-token`))}async function Lu(e,t){return a(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Gu(e,t){return a(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Bu(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.phase&&n.set("phase",t.phase),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return a(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Nu(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.phase&&n.set("phase",t.phase),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return a(await i.get(`/projects/${e}/audit${r?`?${r}`:""}`))}async function Ku(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.phase&&n.set("phase",t.phase),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return a(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function Hu(e){return a(await i.get(`/accounts/${e}/audit/webhooks`))}async function Wu(e,t){return a(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function zu(e,t,n){return a(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Vu(e,t){return a(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Ju(e,t){return a(await i.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 Xu(e,t){return a(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function iS(e){return a(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function Qu(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),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString()?`?${t.toString()}`:"";return a(await i.get(`/marketplace/items${n}`))}async function Yu(){return a(await i.get("/marketplace/marketplaces"))}async function Zu(){return a(await i.get("/marketplace/marketplaces/featured"))}async function ep(e){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function tp(e,t){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function np(){return a(await i.get("/marketplace/sources"))}async function rp(e){return a(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function sp(e){return a(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function lS(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function gS(e){return a(await i.get(`/templates/${encodeURIComponent(e)}`))}async function mS(e,t){return a(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}async function ip(e){return a(await i.get(`/projects/${e}/apps`),"Failed to list Apps").apps}async function op(e,t){return a(await i.post(`/projects/${e}/apps`,t),"Failed to create App")}async function ap(e,t){return a(await i.get(`/projects/${e}/apps/${t}`),"Failed to load App")}async function cp(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}`,n),"Failed to update App")}async function lp(e,t){return a(await i.delete(`/projects/${e}/apps/${t}`),"Failed to delete App")}async function up(e,t){return a(await i.get(`/projects/${e}/apps/${t}/access`),"Failed to load App access policy")}async function pp(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}/access`,n),"Failed to update App access policy")}async function dp(e,t){return a(await i.post(`/projects/${e}/apps/${t}/access-session`,{}),"Failed to create App access session")}async function ls(e,t){return a(await i.post(`/projects/${e}/apps/artifacts`,t),"Failed to register App artifact")}async function us(e,t,n){return a(await i.post(`/projects/${e}/apps/artifacts/${t}/finalize`,n),"Failed to finalize App artifact")}async function qg(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function Og(e){let t=Uint8Array.from(e),n=await globalThis.crypto.subtle.digest("SHA-256",t.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function gp(e,t,n={}){let r=await qg(t),s=n.mediaType??"application/gzip",o=await ls(e,{kind:"archive",media_type:s});if(!o.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>o.upload.max_bytes)throw new Error(`App artifact exceeds ${o.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let u=await fetch(o.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!u.ok){let p=await u.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${u.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),us(e,o.artifact.artifact_id,{sha256:await Og(r),size_bytes:r.byteLength})}async function mp(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/deployments`,n),"Failed to create App deployment")}async function fp(e,t){return a(await i.get(`/projects/${e}/apps/${t}/deployments`),"Failed to list App deployments").deployments}async function yp(e,t,n){return a(await i.get(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to load App deployment")}async function hp(e,t,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let o=s.size?`?${s.toString()}`:"";return a(await i.get(`/projects/${e}/apps/${t}/deployments/${n}/logs${o}`),"Failed to load App logs")}async function bp(e,t){return a(await i.post(`/projects/${e}/apps/${t}/start`,{}),"Failed to start App")}async function xp(e,t){return a(await i.post(`/projects/${e}/apps/${t}/stop`,{}),"Failed to stop App")}async function _p(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/rollback`,{deployment_id:n}),"Failed to roll back App")}async function ps(e){return a(await i.get(`/projects/${e}/model-access`))}async function ds(e,t){return a(await i.put(`/projects/${e}/model-access`,t))}var tt=class extends Error{constructor(n,r,s){super(r);this.code=n;this.status=s;this.name="HeadlessAuthError"}code;status};function Ug(e){let t=ce(e?.backendUrl??$().backendUrl??"");if(!t)throw new tt("not_configured","backendUrl is not configured (configureKortix / createKortix first)",0);return t.endsWith("/v1")?t:`${t}/v1`}async function z(e,t,n){let r=n?.fetch??$().fetch??((d,f)=>fetch(d,f)),s={accept:"application/json"};t.body!==void 0&&(s["content-type"]="application/json"),t.bearer&&(s.authorization=`Bearer ${t.bearer}`);let o=await r(`${Ug(n)}${e}`,{method:t.method??(t.body!==void 0?"POST":"GET"),headers:s,...t.body!==void 0?{body:JSON.stringify(t.body)}:{},...n?.signal?{signal:n.signal}:{}}),u=await o.text().catch(()=>""),p=null;try{p=u?JSON.parse(u):null}catch{p=u}if(!o.ok){let d=p&&typeof p=="object"?p:{};throw new tt(typeof d.error=="string"?d.error:"auth_error",typeof d.error_description=="string"&&d.error_description?d.error_description:typeof d.error=="string"?d.error:o.statusText||`HTTP ${o.status}`,o.status)}return p}function gs(e,t){return z("/auth/signup",{body:e},t)}function ms(e,t){return z("/auth/sign-in/password",{body:e},t)}function fs(e,t){return z("/auth/sign-in/magic-link",{body:e},t)}function ys(e,t){return z("/auth/verify-otp",{body:e},t)}function hs(e,t){return z("/auth/sign-in/oauth",{body:e},t)}function bs(e,t){return z("/auth/oauth/exchange",{body:e},t)}function nt(e,t){return z("/auth/refresh",{body:e},t)}function xs(e,t){return z("/auth/password/reset",{body:e},t)}function _s(e,t,n){return z("/auth/password/update",{body:e,bearer:t},n)}function Ps(e,t){return z("/auth/user",{bearer:e},t)}function ks(e,t,n){return z("/auth/user",{method:"PATCH",body:e,bearer:t},n)}function ws(e,t){return z("/auth/sign-in/sso",{body:e},t)}var Ss={enroll:(e,t,n)=>z("/auth/mfa/factors",{body:e,bearer:t},n),challenge:(e,t={},n,r)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}/challenge`,{body:t,bearer:n},r),verify:(e,t,n,r)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}/verify`,{body:t,bearer:n},r),unenroll:(e,t,n)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}`,{method:"DELETE",bearer:t},n)};function vs(e,t={},n){return z("/auth/sign-out",{body:t,bearer:e},n)}function As(e={}){let t=e.refreshSkewSeconds??60,n=e.now??(()=>Date.now()),r=null,s=null,o=!e.storage,u=null,p=new Set,d=_=>(_.expires_at??0)*1e3,f=_=>d(_)-t*1e3<=n();async function m(){e.storage&&(r?await e.storage.set(JSON.stringify({session:r,user:s})):await e.storage.remove());for(let _ of[...p])try{_(r)}catch{}try{e.onChange?.(r)}catch{}}async function y(){if(o)return r;o=!0;let _=await e.storage.get();if(_)try{let k=JSON.parse(_);k.session?.access_token&&k.session?.refresh_token&&(r=k.session,s=k.user??null)}catch{r=null}return r}async function x(){if(await y(),!r)return null;if(!u){let _=r.refresh_token;u=nt({refresh_token:_},e.request).then(async k=>(r=k.session,k.user&&(s=k.user),await m(),r)).catch(async k=>{let T=k&&typeof k=="object"&&"status"in k?k.status:0;if(T>=400&&T<500)return r=null,s=null,await m(),null;throw k}).finally(()=>{u=null})}return u}return{subscribe(_){return p.add(_),()=>{p.delete(_)}},current:()=>r,user:()=>s,load:y,async set(_,k){await y(),r=_,k!==void 0&&(s=k),_||(s=null),await m()},async getToken(){return await y(),r?f(r)?(await x().catch(()=>r))?.access_token??null:r.access_token:null},refresh:x,async clear(){r=null,s=null,o=!0,await m()}}}var Lg=["control_plane","provider_ingress","daemon","upstream_port"];function Pp(e){return typeof e=="string"&&Lg.includes(e)?e:null}function RS(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 kp(e,t){let n=(e===void 0?re():e)||null;if(!n)return{status:0,ok:!1,health:null,body:"",hop:null,upstreamStatus:null};let r=await M(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}let u=o,p=Pp(r.headers.get("X-Kortix-Proxy-Hop"))??Pp(o?.hop),d=Number(r.headers.get("X-Kortix-Upstream-Status")),f=o?.upstream_status,m=Number.isFinite(d)&&d>0?d:typeof f=="number"?f:null;return{status:r.status,ok:r.ok,health:u,body:s,hop:p,upstreamStatus:m}}var pe={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var wp=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Sp=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,vp=/^https?:\/\/(?:dev|staging|prod|preview)-p(\d+)-([a-z0-9-]+)\.[^/]+?(?::(\d+))?(\/.*)?$/i,Ap=new Set([22,4096,parseInt(pe.KORTIX_MASTER,10)]);function Gg(e){return Sp.test(e)}function Ut(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 Bg(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Ng=new Set(["'",'"',"`","<","(","["]),Kg=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Hg(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&&Ng.has(e[t]);)t++;for(;n>t&&Kg.has(e[n-1]);)n--;return e.slice(t,n)}function Wg(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var zg=/^\/proxy\/(\d{1,5})(\/.*)?$/,Vg=/^\/(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 Jg(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Vg.test(t.pathname)}catch{return!1}}function Ft(e){if(!e)return null;let t=Hg(Bg(e.trim())),n=Ep(t);if(n){let r=Ut(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 o=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(pe.KORTIX_MASTER,10);if(s===u){let d=r.pathname.match(zg);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=Ut(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=Ut(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Wg(e);return r&&r!==e?Ft(r):null}}function Xg(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 o=r.index,u=o+r[0].length;t.some(([d,f])=>o>=d&&u<=f)||t.push([o,u])}return t}function Qg(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Yg(e){let t=[],n=new Set,r=Xg(e);wp.lastIndex=0;let s;for(;(s=wp.exec(e))!==null;){let o=Ft(s[0]);if(!o)continue;let{originalUrl:u,port:p,path:d}=o;p<1||p>65535||Ap.has(p)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:p,path:d,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Qg(s.index,r)}))}return t}function jS(e){return Yg(e).length>0}function Zg(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Cp(e){return e.trim().toLowerCase().split("_").join("-")}function Rp(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function em(e,t,n){let r=n.previewUrlTemplate;if(!r||!r.includes("{port}")||!r.includes("{sandbox}"))return null;let s=r.split("{port}").join(String(e)).split("{sandbox}").join(Cp(n.sandboxId));return`${Rp(s)}${t}`}function tm(e){return e.sandboxId.trim().length>0}function Pe(e,t,n){let r=Ut(t);if(!tm(n))return im(e,r);let s=em(e,r,n);return s||(Zg(n.apiBaseUrl)?`http://p${e}-${Cp(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${Rp(n.apiBaseUrl)}/p/${n.sandboxId}/${e}${r}`)}function $S(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return Pe(3211,`/open?path=/workspace/${r}`,t)}function nm(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function MS(e){return`http://localhost:3211${nm(e)}`}function rm(){return"/health"}function DS(e){return Pe(3211,rm(),e)}function qS(e,t){return Pe(e,"/",t)}function sm(e){let t=Ft(e);return!(!t||Ap.has(t.port)||Jg(e))}function Tp(e,t){if(!e)return e;let n=Ft(e);return n?sm(n.originalUrl)?Pe(n.port,n.path,t):n.originalUrl:e}function im(e,t="/"){return`http://localhost:${e}${t}`}var Ip=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Ep(e){let t=e.match(Sp);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(vp);if(n){let s=443;try{let o=new URL(e);s=o.port?parseInt(o.port,10):o.protocol==="https:"?443:80}catch{return null}return{port:parseInt(n[1],10),sandboxId:n[2],backendPort:s,path:n[4]||"/"}}let r=e.match(Ip);if(r)try{let s=new URL(e);return{port:parseInt(r[2],10),sandboxId:r[1],backendPort:parseInt(s.port,10)||(s.protocol==="https:"?443:80),path:r[3]||"/"}}catch{return null}return null}function OS(e){try{let t=Ep(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function US(e){return Gg(e)||vp.test(e)||Ip.test(e)}function FS(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var rt="/web-proxy/";function LS(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${rt}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(pe.KORTIX_MASTER,10);return`${Pe(o,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function GS(e){try{let t=new URL(e),n=t.pathname.indexOf(rt);if(n===-1)return null;let s=t.pathname.slice(n+rt.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],u=s[2],p=s[3]||"/";return`${o}://${u}${p}${t.search}${t.hash}`}catch{return null}}function BS(e){try{return new URL(e).pathname.includes(rt)}catch{return e.includes(rt)}}function NS(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 KS(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 jp="frontend";function Lt(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${jp}] ${t}`,...n?[n]:[]);try{be().app.log({service:jp,level:e,message:t,extra:n})}catch{}}var de={debug:(e,t)=>Lt("debug",e,t),info:(e,t)=>Lt("info",e,t),warn:(e,t)=>Lt("warn",e,t),error:(e,t)=>Lt("error",e,t)};function om(e){return{type:"heartbeat-gap",gapMs:e}}function am(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 cm={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},lm=16,um=8,pm=6e4,dm=5e3,gm=250,mm=1e3,fm=3e4,ym=5,hm=3e3,bm=3e4,xm=2e4,_m=2e3,Pm=8;function km(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function $p(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)}}var Gt=new WeakMap;function wm(e,t,n){let r=t.timers??cm,s=t.connectTimeoutMs??xm,o=t.heartbeatTimeoutMs??pm,u=t.maxConsecutiveHardFailures??Pm,p=new AbortController;function d(E,...l){for(let b of n){let c=E(b);if(c)try{c(...l)}catch(A){console.warn("[opencode-events] subscriber handler threw, skipping",A)}}}let f=r.now(),m=[],y,x=0,_=new Map,k=()=>{if(y&&r.clearTimeout(y),y=void 0,m.length===0)return;let E=m;m=[],_.clear(),x=r.now(),f=r.now();for(let l of E)l&&d(b=>b.onEvent,l.event)},T=()=>{if(y)return;let E=r.now()-x;y=r.setTimeout(k,Math.max(0,lm-E))};return(async()=>{let E=0,l=0;for(;!p.signal.aborted;){let b=!1,c=!1,A,S,R=null,j=r.now(),q=new AbortController,D=$p(p.signal);D.promise.then(()=>q.abort());try{let O=await new Promise((Q,H)=>{let W=!1;S=r.setTimeout(()=>{W||(W=!0,de.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),q.abort(),H(new Error(`SSE connect timed out after ${s}ms`)))},s),e.global.event({signal:q.signal,sseDefaultRetryDelay:hm,sseMaxRetryDelay:bm,sseMaxRetryAttempts:1}).then(ee=>{W||(W=!0,r.clearTimeout(S),Q(ee))},ee=>{W||(W=!0,r.clearTimeout(S),H(ee))})}),{stream:F}=O;f=r.now();let L=()=>{r.clearTimeout(A),A=r.setTimeout(()=>{de.warn("SSE heartbeat timeout, forcing reconnect"),q.abort()},o)};L();let X=r.now(),K=F[Symbol.asyncIterator]();for(;!q.signal.aborted;){let Q=K.next().then(oe=>({kind:"next",result:oe}),oe=>({kind:"error",error:oe})),H=$p(q.signal),W=await Promise.race([Q,H.promise.then(()=>({kind:"aborted"}))]);if(H.cleanup(),W.kind==="aborted")break;if(W.kind==="error")throw W.error;if(W.result.done)break;b=!0,L();let ee=W.result.value,Se=ee&&typeof ee=="object"&&"payload"in ee?ee.payload:ee;if(!Se?.type)continue;let nn=km(Se);if(nn){let oe=_.get(nn);oe!==void 0&&(m[oe]=void 0),_.set(nn,m.length)}m.push({type:Se.type,event:Se}),T(),!(r.now()-X<um)&&(X=r.now(),await new Promise(oe=>r.setTimeout(oe,0)))}c=b}catch(O){if(p.signal.aborted)break;R=O;let F=String(O),L=F.includes("401")||F.includes("403")||F.includes("Unauthorized")||F.includes("Token refresh failed");if(de.error("SSE event stream error",{error:F,retryCount:E,isAuthError:L}),L)try{mt(),await Cr(),de.info("SSE: refreshed auth token after auth error")}catch(X){de.error("SSE: failed to refresh auth token",{error:String(X)})}}finally{r.clearTimeout(A),r.clearTimeout(S),q.abort(),D.cleanup(),k()}if(p.signal.aborted)break;let Z=r.now()-j,J=R?.cause?.status;if(l=!b&&(typeof J=="number"&&J>=400||Z<_m)?l+1:0,l>=u){de.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:l,lastError:String(R)}),d(O=>O.onParked,{consecutiveFailures:l,lastError:R});break}let I=r.now()-f;I>dm&&d(O=>O.onGapRehydrate,I),c?E=0:(E++,E>1&&de.warn("SSE event stream reconnecting",{retryCount:E}));let B=c?gm:Math.min(mm*2**Math.min(E-1,ym),fm);await new Promise(O=>{let F=r.setTimeout(O,B),L=()=>{r.clearTimeout(F),O()};p.signal.addEventListener("abort",L,{once:!0})})}})(),{subscribers:n,teardown:()=>{p.abort(),y&&r.clearTimeout(y)}}}function Cs(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=e,u={onEvent:n,onGapRehydrate:r,onParked:s},p=Gt.get(t);p?p.subscribers.add(u):(p=wm(t,e,new Set([u])),Gt.set(t,p));let d=p,f=!1,m=()=>{f||(f=!0,o&&o.removeEventListener("abort",y),d.subscribers.delete(u),d.subscribers.size===0&&(d.teardown(),Gt.get(t)===d&&Gt.delete(t)))},y=()=>m();return o&&(o.aborted?m():o.addEventListener("abort",y,{once:!0})),{close:m}}function Sm(){return be()}var Bt=new Map,Nt=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 vm(e,t){sn(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 v(`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 b=$().backendUrl??e.backendUrl,c=80,A=n(b);return A&&(c=A.port?Number(A.port):A.protocol==="https:"?443:80),bi({sandboxId:l,apiBaseUrl:b,backendPort:c})}let s={signUp:gs,signInWithPassword:ms,sendMagicLink:fs,verifyOtp:ys,signInWithProvider:hs,exchangeCode:bs,refresh:nt,resetPassword:xs,updatePassword:_s,updateUserMetadata:ks,signInWithSso:ws,mfa:Ss,user:Ps,signOut:vs,session:As},o={list:Di,get:Oi,create:qi,updateName:Ui,branding:{get:Fi,update:Li,uploadAsset:Gi,removeAsset:Bi,reset:Ni},leave:eo,members:Ki,invite:Hi,removeMember:Yi,updateMemberRole:Zi,invites:Wi,cancelInvite:zi,resendInvite:Vi,tokens:{list:qu,create:Ou,revoke:Uu},audit:{log:Bu,export:Ku,webhooks:{list:Hu,create:Wu,update:zu,remove:Vu}}},u={assignments:{list:ku,create:wu,revoke:Su},permissions:{list:vu,forRole:au},roles:{list:iu,create:lu,update:uu,setPermissions:pu,remove:du,usage:cu},groups:{list:Ql,get:Yl,create:Zl,update:eu,remove:tu,members:{list:nu,add:ru,remove:su}},agentIdentities:ou,oauthClients:{list:fu,get:yu,create:hu,update:bu,rotateSecret:xu,remove:_u},can:gu,canBatch:mu},p={accountState:Zc,accountStateMinimal:el,transactions:tl,transactionsSummary:nl,creditBreakdown:rl,usageHistory:sl,usageRollup:hl,sessionCosts:{list:xl,get:os},tierConfigurations:il,checkout:{createSession:l=>ol(l),confirmSession:(l,b)=>al(l,b)},subscription:{createPortalSession:(l,b)=>cl(l,b),cancel:(l,b)=>ll(l,b),reactivate:l=>ul(l),scheduleDowngrade:(l,b,c)=>pl(l,b,c),cancelScheduledChange:l=>dl(l),prorationPreview:(l,b)=>gl(l,b)},credits:{purchase:l=>ml(l),autoTopupSettings:l=>fl(l),configureAutoTopup:l=>yl(l)}},d={describe:Ji,accept:Xi,decline:Qi},f={list:Me,listForAccount:ro,get:Br,detail:Nr,create:ao,createRepo:co,provision:lo,update:Wr,archive:zr,llmCatalog:Kr,modelPicker:Hr,modelAccess:ps,setModelAccess:ds,sandboxHealth:Yr,sandboxTemplates:qa,sessions:Ze,createSession:et},m={linkRepository:fo,getInstallation:yo,listInstallations:ho,listLinkableInstallations:bo,listRepositories:xo,listRepositoryBranches:_o,linkInstallation:ko,saveInstallation:Po,deleteInstallation:wo},y={list:Eu,create:ju,revoke:$u},x=Ea,_={items:l=>Qu(l),item:l=>ep(l),itemFile:(l,b)=>tp(l,b),marketplaces:()=>Yu(),featured:()=>Zu(),sources:{list:()=>np(),add:l=>rp(l),remove:l=>sp(l)}};function k(l){return{catalog:()=>Jr(l),tools:()=>jt(l),search:(...b)=>ta(l,...b),describe:(...b)=>na(l,...b),call:(...b)=>ra(l,...b),uploadAttachment:(...b)=>sa(l,...b)}}function T(l){let b={list:()=>ia(l),listAll:()=>oa(l),reconcile:(...c)=>aa(l,...c),reconcileMember:(...c)=>ca(l,...c),updateCredential:(...c)=>la(l,...c),revoke:(...c)=>ua(l,...c),activate:(...c)=>pa(l,...c),setDefault:(...c)=>da(l,...c),pipedreamConnect:(...c)=>ga(l,...c),pipedreamFinalize:(...c)=>ma(l,...c)};return{get:c=>Br(l,c),detail:()=>Nr(l),audit:c=>Nu(l,c),update:c=>Wr(l,c),archive:()=>zr(l),llmCatalog:()=>Kr(l),modelPicker:()=>Hr(l),modelAccess:()=>ps(l),setModelAccess:c=>ds(l,c),sandboxHealth:()=>Yr(l),onboardingComplete:(...c)=>mo(l,...c),apps:{list:()=>ip(l),create:c=>op(l,c),get:c=>ap(l,c),update:(...c)=>cp(l,...c),access:{get:(...c)=>up(l,...c),update:(...c)=>pp(l,...c),session:(...c)=>dp(l,...c)},remove:c=>lp(l,c),artifacts:{register:c=>ls(l,c),uploadArchive:(...c)=>gp(l,...c),finalize:(...c)=>us(l,...c)},deployments:{create:(...c)=>mp(l,...c),list:c=>fp(l,c),get:(...c)=>yp(l,...c),logs:(...c)=>hp(l,...c)},start:c=>bp(l,c),stop:c=>xp(l,c),rollback:(...c)=>_p(l,...c)},tokens:{list:()=>Fu(l),create:c=>Lu(l,c),revoke:c=>Gu(l,c)},setupLinks:{requestSecret:c=>Ju(l,c),requestConnector:c=>Xu(l,c)},validateManifest:c=>io(l,c),gitToken:()=>oo(l),secrets:{list:()=>Ko(l),upsert:c=>Ho(l,c),setStrategy:(...c)=>Wo(l,...c),broker:(...c)=>zo(l,...c),remove:c=>Yo(l,c),setPersonal:(...c)=>Zo(l,...c),removePersonal:c=>ea(l,c),setGitCredential:c=>Qo(l,c),startProviderOAuth:(...c)=>Vo(l,...c),pollProviderOAuth:(...c)=>Jo(l,...c),removeProviderOAuth:c=>Xo(l,c)},access:{list:()=>Co(l),invite:(...c)=>Io(l,...c),update:(...c)=>Ro(l,...c),revoke:c=>To(l,c),pendingInvites:()=>Eo(l),resendInvite:(...c)=>$o(l,...c),revokeInvite:(...c)=>jo(l,...c),requests:()=>So(l),approveRequest:(...c)=>vo(l,...c),rejectRequest:(...c)=>Ao(l,...c),groupGrants:()=>Mo(l),attachGroupGrant:(...c)=>Do(l,...c),updateGroupGrant:(...c)=>qo(l,...c),detachGroupGrant:c=>Oo(l,c),resourceGrants:{list:()=>Uo(l),create:c=>Fo(l,c),remove:c=>Lo(l,c)}},connectors:{...k(l),list:()=>fa(l),config:(...c)=>ka(l,...c),create:(...c)=>va(l,...c),remove:(...c)=>Ca(l,...c),sync:()=>ya(l),auth:{discover:(...c)=>Aa(l,...c)},setName:(...c)=>wa(l,...c),setCredentialMode:(...c)=>ha(l,...c),setAuthorizationStrategy:(...c)=>ba(l,...c),setCredential:(...c)=>ja(l,...c),setSensitive:(...c)=>xa(l,...c),connections:b,policies:{get:(...c)=>_a(l,...c),set:(...c)=>Pa(l,...c)},pipedream:{listApps:(...c)=>Ra(l,...c),listSections:(...c)=>Ta(l,...c),connect:(...c)=>Sa(l,...c),finalize:(...c)=>$a(l,...c)},discover:{list:(...c)=>Xr(l,...c),sections:(...c)=>Ia(l,...c),detail:(...c)=>Qr(l,...c)}},policies:{list:()=>Ma(l),set:(...c)=>Da(l,...c)},triggers:{list:()=>qc(l),create:(...c)=>Oc(l,...c),update:(...c)=>Uc(l,...c),remove:(...c)=>Fc(l,...c),fire:(...c)=>Gc(l,...c),setActivation:(...c)=>Lc(l,...c)},files:{list:c=>Ha(l,c),read:(c,A)=>za(l,c,A),search:(...c)=>Wa(l,...c),archive:(...c)=>Va(l,...c),history:(...c)=>Za(l,...c)},git:{commits:()=>Xa(l),commit:c=>Qa(l,c),commitDiff:c=>Ya(l,c),branches:()=>Ja(l),versionDiff:(...c)=>ec(l,...c),inviteCollaborator:(...c)=>so(l,...c)},changeRequests:{list:()=>tc(l),get:c=>nc(l,c),diff:c=>rc(l,c),mergePreview:c=>sc(l,c),open:(...c)=>ic(l,...c),merge:(...c)=>oc(l,...c),close:(...c)=>ac(l,...c),reopen:(...c)=>cc(l,...c),requestChanges:(...c)=>lc(l,...c)},sessions:{list:c=>Ze(l,c),create:c=>et(l,c),ensureWarm:()=>hc(l),claimWarm:c=>bc(l,c)},review:{list:c=>Au(l,c),get:c=>Cu(l,c),submit:c=>Ru(l,c),act:(...c)=>Tu(l,...c),bulkAct:c=>Iu(l,c)},approvals:{list:c=>Go(l,c),resolve:(...c)=>No(l,...c),sessionsNeedingInput:c=>Bo(l,c)},gateway:{logs:c=>Ol(l,c),log:c=>Ul(l,c),overview:c=>Fl(l,c),series:c=>Ll(l,c),breakdown:c=>Gl(l,c),sessions:c=>Bl(l,c),errors:c=>Nl(l,c),budgets:()=>Kl(l),setBudget:c=>Hl(l,c),deleteBudget:c=>Wl(l,c),keys:()=>zl(l),createKey:c=>Vl(l,c),revokeKey:c=>Jl(l,c),routing:{get:()=>$l(l),set:c=>Ml(l,c),reset:()=>Dl(l),preview:c=>ql(l,c)},playground:(c,A,S)=>Xl(l,c,A,S)},channels:{slack:{installation:()=>Pl(l),connect:c=>kl(l,c),mode:()=>wl(l),manifest:()=>Sl(l),disconnect:()=>vl(l),getFile:c=>Al(l,c),uploadFile:c=>Cl(l,c)},email:{installation:c=>Rl(l,c),mode:()=>Tl(l),connect:c=>Il(l,c),disconnect:c=>El(l,c),updatePolicy:(...c)=>jl(l,...c)}},updateFeatureFlag:(...c)=>uo(l,...c),updateExperimentalFeature:(...c)=>po(l,...c),modelDefaults:{get:()=>Wc(l),set:c=>zc(l,c),clear:c=>Vc(l,c)},setDefaultAgent:c=>Yc(l,c),sandbox:{list:()=>Ka(l),snapshots:()=>Oa(l),rebuildSnapshot:c=>Ua(l,c),fixWithAgent:()=>Fa(l),createTemplate:c=>La(l,c),updateTemplate:(...c)=>Ga(l,...c),removeTemplate:c=>Ba(l,c),buildTemplate:c=>Na(l,c),setProvider:c=>go(l,c)},setAgentScope:(...c)=>Xc(l,...c),session:c=>E(l,c)}}function E(l,b){let c=null,A,S,R=null;async function j(){R||(R=es(l,b,{showErrors:!1}).then(h=>{let I=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",B=I.indexOf("/"),O=B>0&&B<I.length-1?{providerID:I.slice(0,B),modelID:I.slice(B+1)}:void 0,F=h.agent_name?.trim()||void 0;return{model:O,agent:F}}));try{return await R}catch(h){throw R=null,h}}function q(){if(c)return c;let h=Nc(l,b);return h&&(c=h),c}async function D(h){let I=q();if(I)return I;let B=h?.readyTimeoutMs??18e4,O=xt($().backendUrl??e.backendUrl).catch(()=>null),F=`${l}
|
|
20
|
-
${b}`,L=Bt.get(F);if(L)return c=await L,await O,c;let X=(async()=>{let K=Date.now()+B,Q=()=>Math.max(0,K-Date.now()),H=await De(l,b,Math.min(3e4,Q()));for(;Date.now()<K&&(H==null||(H.stage==="provisioning"||H.stage==="starting")&&H.retriable);)await new Promise(Se=>setTimeout(Se,Math.min(1e3,Q()))),H=await De(l,b,Math.min(3e4,Q()));if(!H||H.stage!=="ready"||!H.sandbox||!H.opencode_session_id)throw new v(`Session runtime not ready (stage: ${H?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let W=H.sandbox.external_id;if(!W)throw new v("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let ee=ft(W);return si(ee,W),{opencodeSessionId:H.opencode_session_id,runtimeUrl:ee,sandboxId:W}})();Bt.set(F,X);try{return c=await X,await O,c}finally{Bt.get(F)===X&&Bt.delete(F)}}function Z(h){let I=q();if(!I)throw new Nt(h);return I}function J(){c=null,
|
|
19
|
+
`);let k=Tg(_);if(k){if(r(k),k.type==="error")throw new v(k.error,{status:k.status,code:k.code,data:{reason:k.reason}});k.type==="done"&&(f=k.result)}}}}finally{u.cancel().catch(()=>{})}if(!f)throw new Error("Reload stream ended without a result");return f}async function Dc(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function qc(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function Oc(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function Uc(e){return a(await i.get(`/projects/${e}/triggers`))}async function Fc(e,t){return a(await i.post(`/projects/${e}/triggers`,t))}async function Lc(e,t,n){return a(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function Gc(e,t){return a(await i.delete(`/projects/${e}/triggers/${t}`))}async function Bc(e,t){return a(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Nc(e,t){return a(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var ue=new Map;function ts(e,t){return`${e}::${t}`}function Kc(e,t){ue.delete(e),ue.set(e,t)}function Hc(e,t){let n=ts(e,t),r=ue.get(n);return r&&Kc(n,r),r}function Wc(e,t,n){let r=ts(e,t);if(!ue.has(r)&&ue.size>=512){let s=ue.keys().next().value;s!==void 0&&ue.delete(s)}Kc(r,n)}function zc(e,t){ue.delete(ts(e,t))}function SP(e){if(e.status!=="running"||!e.sandbox_id||!e.sandbox_provider||!e.sandbox_url||!e.opencode_session_id)return null;let t=e.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return t?{stage:"ready",agent_name:e.agent_name??"default",retriable:!0,sandbox:{sandbox_id:e.sandbox_id,session_id:e.session_id,project_id:e.project_id,account_id:e.account_id,provider:e.sandbox_provider,external_id:t,base_url:e.sandbox_url,status:"active",config:{},metadata:e.metadata,last_used_at:e.updated_at,created_at:e.created_at,updated_at:e.updated_at},opencode_session_id:e.opencode_session_id,runtime_url:e.sandbox_url}:null}var ns=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 vP(e){return e instanceof Error&&e.name==="SessionStartError"}function Ig(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 ns(s,{status:n,code:r,terminal:!0}):null}async function De(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=Ig(s.error);if(p&&!(p.status===404&&pc(t)))throw p;return null}let o=s.data,u=o.sandbox?.external_id;return o.stage==="ready"&&u&&o.opencode_session_id&&Wc(e,t,{opencodeSessionId:o.opencode_session_id,runtimeUrl:ft(u),sandboxId:u}),o}function AP(e,t){return["session-start",e,t]}async function Vc(e){return a(await i.get(`/projects/${e}/model-defaults`))}async function Jc(e,t){return a(await i.put(`/projects/${e}/model-defaults`,t))}async function Xc(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function $P(e,t){return a(await i.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function Yc(e,t,n){let r=jg(n);return a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function Qc(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Eg(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function jg(e){let t=e.connectors_required?Qc(e.connectors_required):void 0,n=e.connectors_personal?Qc(e.connectors_personal):void 0;if(t&&n&&!Eg(t,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...e};return delete r.connectors_personal,(t!==void 0||n!==void 0)&&(r.connectors_required=t??n),r}async function LP(e,t){let n=a(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?rs(n.block):null}}async function GP(e,t,n){let r=rs(n,!0),s=a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?rs(s.block):null}}function rs(e,t=!1){let n=Mg(e);if(n.workspace===void 0)return n;let r=n.workspace==="branch";if(n.repository_access!==void 0&&n.repository_access!==r)throw new Error("repository_access conflicts with workspace");if(t&&n.workspace==="read"&&n.repository_access===void 0)throw new Error("Legacy read is unavailable. Set repository_access explicitly.");return n.repository_access??=r,delete n.workspace,n}function Zc(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function $g(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Mg(e){let t=e.connectors_required?Zc(e.connectors_required):void 0,n=e.connectors_personal?Zc(e.connectors_personal):void 0;if(t&&n&&!$g(t,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...e};return delete r.connectors_personal,(t!==void 0||n!==void 0)&&(r.connectors_required=t??n),r}async function BP(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/grant`,{agent:n}))}async function el(e,t){return a(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function ss(){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}}}function Dg(e){let t=e.trim().toLowerCase();return t===""||t==="free"||t==="none"?"free":t==="enterprise"?"enterprise":"team"}function WP(e){let t=e?.plan;if(t)return{family:t.family,label:t.label,sublabel:t.sublabel??null,isGrandfathered:t.is_grandfathered===!0};let n=e??ss(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:Dg(r),label:s,sublabel:null,isGrandfathered:!1}}async function tl(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 i.get(`/billing/account-state${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?ss():s.data}async function nl(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 i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?ss():s.data}async function rl(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 i.get(`/billing/transactions${n?`?${n}`:""}`))}async function sl(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 i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function il(){return a(await i.get("/billing/credit-breakdown"))}async function ol(e){let t=e!=null?`?days=${e}`:"";return a(await i.get(`/billing/usage-history${t}`))}async function al(){return a(await i.get("/billing/tier-configurations"))}async function zP(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return $e(e,`/v1/billing/account-state${t}`)}async function cl(e){return a(await i.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 ll(e,t){return a(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function ul(e,t){return a(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function pl(e,t){return a(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function dl(e){return a(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function gl(e,t,n){return a(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function ml(e){return a(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function fl(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),a(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function yl(e){return a(await i.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 hl(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function bl(e){return a(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount},{showErrors:!1}),"Failed to configure auto-topup")}async function VP(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function JP(e){return a(await i.post("/billing/create-per-seat-checkout",{account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl,locale:e.locale}),"Failed to create per-seat checkout")}async function XP(e){return a(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function QP(e){return a(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function xl(e={}){let t=new URLSearchParams;e.start&&t.set("start",e.start),e.end&&t.set("end",e.end),(e.groupBy==="model"||e.groupBy==="provider"||e.groupBy==="day")&&t.set("group_by",e.groupBy),e.accountId&&t.set("account_id",e.accountId);let n=t.toString();return a(await i.get(`/usage${n?`?${n}`:""}`))}function is(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function qt(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function Ot(e){return e.size>0?`?${e}`:""}async function Pl(e={}){let t=new URLSearchParams;return is(t,e),e.ownerId&&t.set("owner_id",e.ownerId),qt(t,e),e.sort&&t.set("sort",e.sort),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset)),a(await i.get(`/usage/session-costs${Ot(t)}`))}async function os(e,t={}){let n=new URLSearchParams;return is(n,t),a(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${Ot(n)}`))}async function rk(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),qt(t,e),e.sort&&t.set("sort",e.sort),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset)),a(await i.get(`/usage/cost-by-project${Ot(t)}`))}async function sk(e={}){let t=new URLSearchParams;return is(t,e),e.sessionId&&t.set("session_id",e.sessionId),qt(t,e),a(await i.get(`/usage/cost-summary${Ot(t)}`))}function _l(e,t={}){let n=new URLSearchParams;if(t.accountId&&n.set("account_id",t.accountId),e==="sessions"){let s=t;s.projectId&&n.set("project_id",s.projectId),s.ownerId&&n.set("owner_id",s.ownerId)}qt(n,t),t.sort&&n.set("sort",t.sort),n.set("format","csv");let r=e==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${$().backendUrl||""}${r}?${n}`}async function ik(e,t={}){let n=_l(e==="projects"?"projects":"sessions",t),r=await ae(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let d=await s.text().catch(()=>"");throw new Error(d||`Failed to export CSV (HTTP ${s.status})`)}let o=s.headers.get("x-kortix-row-cap"),u=o!=null?Number(o):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function kl(e,t){return a(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function lk(e){return kl("slack",e)}function uk(e){return kl("teams",e)}async function wl(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function Sl(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var qg={oauth_available:!1,install_url:null};async function vl(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?qg:t.data}async function Al(e){return a(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Cl(e){let t=await i.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function Rl(e,t){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Tl(e,t){return a(await i.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 as(e){let t=e.connectionId??e.connection_id??null,n=e.connectorSlug??e.connector_slug??e.connectionSlug??e.connection_slug??"kortix_email";return{...e,connectionId:t,connectorSlug:n}}var Og={provider:"agentmail",managed_available:!1};async function Il(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?as(r.data):null}async function El(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Og:t.data}async function jl(e,t){let n=a(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return as(n)}async function $l(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.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 Ml(e,t,n){let r=a(await i.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return as(r)}async function pk(e){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function dk(e,t,n){return a(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Dl(e){return a(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ql(e,t){return a(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Ol(e){return a(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Ul(e,t){return a(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Fl(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 i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Ll(e,t){return a(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Gl(e,t){return a(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Bl(e,t){return a(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Nl(e,t){return a(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Kl(e,t){return a(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Hl(e,t){return a(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Wl(e){return a(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function zl(e,t){return a(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Vl(e,t){return a(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Jl(e){return a(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Xl(e,t){return a(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Ql(e,t){return a(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Yl(e,t,n,r,s){return a(await i.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function yk(e,t){return a(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function _k(){return a(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function Pk(){return a(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function kk(e){return a(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function wk(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function Sk(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return a(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function vk(e){return a(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function w(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function U(e){return i.get(e,{showErrors:!1})}async function Zl(e){return w(await U(`/accounts/${e}/iam/groups`)).groups}async function eu(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}`))}async function tu(e,t){return w(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function nu(e,t,n){return w(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function ru(e,t){return w(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function su(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}/members`)).members}async function iu(e,t,n){return w(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function Rk(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function ou(e,t,n){return w(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function Tk(e,t){return w(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function Ik(e,t){let n=w(await U(`/accounts/${e}/iam/members/${t}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}async function Ek(e,t={}){let n=new URLSearchParams;t.resourceType&&n.set("resourceType",t.resourceType),t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.projectId&&n.set("projectId",t.projectId);let r=n.toString();return w(await U(`/accounts/${e}/iam/resource-grants${r?`?${r}`:""}`)).grants}async function jk(e,t={}){let n=new URLSearchParams;t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.scopeType&&n.set("scopeType",t.scopeType),t.scopeId!==void 0&&n.set("scopeId",t.scopeId===null?"null":t.scopeId);let r=n.toString();return w(await U(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function $k(e,t){return w(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Mk(e,t,n){return w(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function Dk(e,t){return w(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function qk(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function Ok(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function au(e){return w(await U(`/accounts/${e}/iam/roles`)).roles}async function cu(e){return w(await U(`/accounts/${e}/iam/agent-identities`)).agents}async function lu(e,t){return w(await U(`/accounts/${e}/iam/roles/${t}/permissions`))}async function Uk(e){return w(await U(`/accounts/${e}/iam/actions`)).actions}async function uu(e,t){return w(await U(`/accounts/${e}/iam/roles/${t}/usage`))}async function pu(e,t){return w(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function du(e,t,n){return w(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function gu(e,t,n){return w(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function mu(e,t){return w(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function Fk(e,t,n){return w(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function Lk(e){return w(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function Gk(e,t){return w(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function Bk(e,t){return w(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function Nk(e){return w(await U(`/accounts/${e}/iam/mfa-required`))}async function Kk(e){return w(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function Hk(e,t){return w(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function Wk(e){return w(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function zk(e,t){return w(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Vk(e,t){return w(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function Jk(e){return w(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function Xk(e){return w(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Qk(e,t){return w(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function Yk(e,t){return w(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Zk(e){return w(await U(`/accounts/${e}/iam/session-policy`))}async function ew(e,t){return w(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function tw(e){return w(await U(`/accounts/${e}/iam/sessions`)).sessions}async function nw(e,t){return w(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function rw(e){return w(await U(`/accounts/${e}/iam/pat-policy`))}async function sw(e,t){return w(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function iw(e){return w(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function ow(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function aw(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function cw(e,t){return w(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function lw(e){return w(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function uw(e,t){return w(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function pw(e,t,n){return w(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function dw(e,t){return w(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function gw(e,t={}){let n=new URLSearchParams;t.action&&n.set("action",t.action),t.actor&&n.set("actor",t.actor),t.project_id&&n.set("project_id",t.project_id),t.session_id&&n.set("session_id",t.session_id),t.actor_type&&n.set("actor_type",t.actor_type),t.source&&n.set("source",t.source),t.phase&&n.set("phase",t.phase),t.outcome&&n.set("outcome",t.outcome),t.request_id&&n.set("request_id",t.request_id),t.correlation_id&&n.set("correlation_id",t.correlation_id),t.resource_type&&n.set("resource_type",t.resource_type),t.since&&n.set("since",t.since),t.until&&n.set("until",t.until),t.q&&n.set("q",t.q),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString();return w(await U(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function fu(e,t,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),w(await U(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function yu(e,t,n){return n.length===0?[]:w(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function mw(e){return w(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function fw(e,t){return w(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function hu(e){return a(await i.get(`/accounts/${e}/iam/oauth-clients`,{showErrors:!1}))}async function bu(e,t){return a(await i.get(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}async function xu(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients`,t,{showErrors:!1}))}async function _u(e,t,n){return a(await i.patch(`/accounts/${e}/iam/oauth-clients/${t}`,n,{showErrors:!1}))}async function Pu(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients/${t}/rotate-secret`,{},{showErrors:!1}))}async function ku(e,t){return a(await i.delete(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}function wu(e){return i.get(e,{showErrors:!1})}function Ug(e){let t=new URLSearchParams;e?.principalType&&t.set("principal_type",e.principalType),e?.principalId&&t.set("principal_id",e.principalId),e?.scopeType&&t.set("scope_type",e.scopeType),e?.scopeId&&t.set("scope_id",e.scopeId),e?.objectType&&t.set("object_type",e.objectType),e?.objectId&&t.set("object_id",e.objectId),e?.roleId&&t.set("role_id",e.roleId),e?.includeExpired&&t.set("include_expired","true");let n=t.toString();return n?`?${n}`:""}async function Su(e,t){return a(await wu(`/accounts/${e}/iam/assignments${Ug(t)}`)).assignments}async function vu(e,t){let n={principal_type:t.principal.type,principal_id:t.principal.id,scope_type:t.scope.type,scope_id:t.scope.type==="project"?t.scope.id:null};return t.roleId?n.role_id=t.roleId:n.role_key=t.roleKey,t.object&&(n.object_type=t.object.type,n.object_id=t.object.id),t.expiresAt!==void 0&&(n.expires_at=t.expiresAt),a(await i.post(`/accounts/${e}/iam/assignments`,n))}async function Au(e,t){return a(await i.delete(`/accounts/${e}/iam/assignments/${t}`)).assignment}async function Cu(e,t){let n=t?.scopeType?`?scope_type=${t.scopeType}`:"";return a(await wu(`/accounts/${e}/iam/permissions${n}`)).permissions}async function vw(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:a(e,"Failed to load account deletion status")}async function Aw(e="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function Cw(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function Rw(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function Tw(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function $w(){return i.get("/admin/api/provider-distribution").then(e=>a(e))}function Mw(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>a(t))}function Dw(e){return i.put("/admin/api/provider-distribution",e).then(t=>a(t))}function qw(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>a(t))}function Ow(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>a(n))}function Uw(){return i.get("/admin/api/provider-fallback").then(e=>a(e))}function Fw(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>a(t))}async function Nw(e){return a(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function Kw(e,t){return a(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:e,sandbox_url:t},{timeout:18e4}),"Failed to upload to Google Slides")}async function Ru(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 i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Tu(e,t){return a(await i.get(`/projects/${e}/review/items/${t}`))}async function Iu(e,t){return a(await i.post(`/projects/${e}/review/items`,t))}async function Eu(e,t,n){return a(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function ju(e,t){return a(await i.post(`/projects/${e}/review/bulk`,t))}async function $u(e){return a(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Mu(e){return a(await i.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function Du(e,t){let n=await i.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var cs=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function qu(e,t=""){return`${Ne()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Ou(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 cs(s,t.status)}return r}async function Zw(e){return Ou(qu(e))}async function eS(e){return Ou(qu(e,"/messages"))}async function Uu(e,t){let n=new URLSearchParams;e&&n.set("account_id",e),t?.mine&&n.set("mine","true");let r=n.size>0?`?${n.toString()}`:"";return a(await i.get(`/accounts/tokens${r}`))}async function Fu(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return a(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Lu(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.delete(`/accounts/tokens/${e}${n}`))}async function Gu(e){return a(await i.get(`/projects/${e}/cli-token`))}async function Bu(e,t){return a(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Nu(e,t){return a(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Ku(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.phase&&n.set("phase",t.phase),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return a(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Hu(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.phase&&n.set("phase",t.phase),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return a(await i.get(`/projects/${e}/audit${r?`?${r}`:""}`))}async function Wu(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.phase&&n.set("phase",t.phase),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return a(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function zu(e){return a(await i.get(`/accounts/${e}/audit/webhooks`))}async function Vu(e,t){return a(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function Ju(e,t,n){return a(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Xu(e,t){return a(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Qu(e,t){return a(await i.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 Yu(e,t){return a(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function uS(e){return a(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function Zu(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),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString()?`?${t.toString()}`:"";return a(await i.get(`/marketplace/items${n}`))}async function ep(){return a(await i.get("/marketplace/marketplaces"))}async function tp(){return a(await i.get("/marketplace/marketplaces/featured"))}async function np(e){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function rp(e,t){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function sp(){return a(await i.get("/marketplace/sources"))}async function ip(e){return a(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function op(e){return a(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function mS(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function bS(e){return a(await i.get(`/templates/${encodeURIComponent(e)}`))}async function xS(e,t){return a(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}async function ap(e){return a(await i.get(`/projects/${e}/apps`),"Failed to list Apps").apps}async function cp(e,t){return a(await i.post(`/projects/${e}/apps`,t),"Failed to create App")}async function lp(e,t){return a(await i.get(`/projects/${e}/apps/${t}`),"Failed to load App")}async function up(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}`,n),"Failed to update App")}async function pp(e,t){return a(await i.delete(`/projects/${e}/apps/${t}`),"Failed to delete App")}async function dp(e,t){return a(await i.get(`/projects/${e}/apps/${t}/access`),"Failed to load App access policy")}async function gp(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}/access`,n),"Failed to update App access policy")}async function mp(e,t){return a(await i.post(`/projects/${e}/apps/${t}/access-session`,{}),"Failed to create App access session")}async function ls(e,t){return a(await i.post(`/projects/${e}/apps/artifacts`,t),"Failed to register App artifact")}async function us(e,t,n){return a(await i.post(`/projects/${e}/apps/artifacts/${t}/finalize`,n),"Failed to finalize App artifact")}async function Fg(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function Lg(e){let t=Uint8Array.from(e),n=await globalThis.crypto.subtle.digest("SHA-256",t.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function fp(e,t,n={}){let r=await Fg(t),s=n.mediaType??"application/gzip",o=await ls(e,{kind:"archive",media_type:s});if(!o.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>o.upload.max_bytes)throw new Error(`App artifact exceeds ${o.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let u=await fetch(o.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!u.ok){let p=await u.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${u.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),us(e,o.artifact.artifact_id,{sha256:await Lg(r),size_bytes:r.byteLength})}async function yp(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/deployments`,n),"Failed to create App deployment")}async function hp(e,t){return a(await i.get(`/projects/${e}/apps/${t}/deployments`),"Failed to list App deployments").deployments}async function bp(e,t,n){return a(await i.get(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to load App deployment")}async function xp(e,t,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let o=s.size?`?${s.toString()}`:"";return a(await i.get(`/projects/${e}/apps/${t}/deployments/${n}/logs${o}`),"Failed to load App logs")}async function _p(e,t){return a(await i.post(`/projects/${e}/apps/${t}/start`,{}),"Failed to start App")}async function Pp(e,t){return a(await i.post(`/projects/${e}/apps/${t}/stop`,{}),"Failed to stop App")}async function kp(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/rollback`,{deployment_id:n}),"Failed to roll back App")}async function ps(e){return a(await i.get(`/projects/${e}/model-access`))}async function ds(e,t){return a(await i.put(`/projects/${e}/model-access`,t))}var tt=class extends Error{constructor(n,r,s){super(r);this.code=n;this.status=s;this.name="HeadlessAuthError"}code;status};function Gg(e){let t=ce(e?.backendUrl??$().backendUrl??"");if(!t)throw new tt("not_configured","backendUrl is not configured (configureKortix / createKortix first)",0);return t.endsWith("/v1")?t:`${t}/v1`}async function z(e,t,n){let r=n?.fetch??$().fetch??((d,f)=>fetch(d,f)),s={accept:"application/json"};t.body!==void 0&&(s["content-type"]="application/json"),t.bearer&&(s.authorization=`Bearer ${t.bearer}`);let o=await r(`${Gg(n)}${e}`,{method:t.method??(t.body!==void 0?"POST":"GET"),headers:s,...t.body!==void 0?{body:JSON.stringify(t.body)}:{},...n?.signal?{signal:n.signal}:{}}),u=await o.text().catch(()=>""),p=null;try{p=u?JSON.parse(u):null}catch{p=u}if(!o.ok){let d=p&&typeof p=="object"?p:{};throw new tt(typeof d.error=="string"?d.error:"auth_error",typeof d.error_description=="string"&&d.error_description?d.error_description:typeof d.error=="string"?d.error:o.statusText||`HTTP ${o.status}`,o.status)}return p}function gs(e,t){return z("/auth/signup",{body:e},t)}function ms(e,t){return z("/auth/sign-in/password",{body:e},t)}function fs(e,t){return z("/auth/sign-in/magic-link",{body:e},t)}function ys(e,t){return z("/auth/verify-otp",{body:e},t)}function hs(e,t){return z("/auth/sign-in/oauth",{body:e},t)}function bs(e,t){return z("/auth/oauth/exchange",{body:e},t)}function nt(e,t){return z("/auth/refresh",{body:e},t)}function xs(e,t){return z("/auth/password/reset",{body:e},t)}function _s(e,t,n){return z("/auth/password/update",{body:e,bearer:t},n)}function Ps(e,t){return z("/auth/user",{bearer:e},t)}function ks(e,t,n){return z("/auth/user",{method:"PATCH",body:e,bearer:t},n)}function ws(e,t){return z("/auth/sign-in/sso",{body:e},t)}var Ss={enroll:(e,t,n)=>z("/auth/mfa/factors",{body:e,bearer:t},n),challenge:(e,t={},n,r)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}/challenge`,{body:t,bearer:n},r),verify:(e,t,n,r)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}/verify`,{body:t,bearer:n},r),unenroll:(e,t,n)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}`,{method:"DELETE",bearer:t},n)};function vs(e,t={},n){return z("/auth/sign-out",{body:t,bearer:e},n)}function As(e={}){let t=e.refreshSkewSeconds??60,n=e.now??(()=>Date.now()),r=null,s=null,o=!e.storage,u=null,p=new Set,d=_=>(_.expires_at??0)*1e3,f=_=>d(_)-t*1e3<=n();async function m(){e.storage&&(r?await e.storage.set(JSON.stringify({session:r,user:s})):await e.storage.remove());for(let _ of[...p])try{_(r)}catch{}try{e.onChange?.(r)}catch{}}async function y(){if(o)return r;o=!0;let _=await e.storage.get();if(_)try{let k=JSON.parse(_);k.session?.access_token&&k.session?.refresh_token&&(r=k.session,s=k.user??null)}catch{r=null}return r}async function x(){if(await y(),!r)return null;if(!u){let _=r.refresh_token;u=nt({refresh_token:_},e.request).then(async k=>(r=k.session,k.user&&(s=k.user),await m(),r)).catch(async k=>{let T=k&&typeof k=="object"&&"status"in k?k.status:0;if(T>=400&&T<500)return r=null,s=null,await m(),null;throw k}).finally(()=>{u=null})}return u}return{subscribe(_){return p.add(_),()=>{p.delete(_)}},current:()=>r,user:()=>s,load:y,async set(_,k){await y(),r=_,k!==void 0&&(s=k),_||(s=null),await m()},async getToken(){return await y(),r?f(r)?(await x().catch(()=>r))?.access_token??null:r.access_token:null},refresh:x,async clear(){r=null,s=null,o=!0,await m()}}}var Ng=["control_plane","provider_ingress","daemon","upstream_port"];function wp(e){return typeof e=="string"&&Ng.includes(e)?e:null}function $S(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 Sp(e,t){let n=(e===void 0?re():e)||null;if(!n)return{status:0,ok:!1,health:null,body:"",hop:null,upstreamStatus:null};let r=await M(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}let u=o,p=wp(r.headers.get("X-Kortix-Proxy-Hop"))??wp(o?.hop),d=Number(r.headers.get("X-Kortix-Upstream-Status")),f=o?.upstream_status,m=Number.isFinite(d)&&d>0?d:typeof f=="number"?f:null;return{status:r.status,ok:r.ok,health:u,body:s,hop:p,upstreamStatus:m}}var pe={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var vp=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Ap=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Cp=/^https?:\/\/(?:dev|staging|prod|preview)-p(\d+)-([a-z0-9-]+)\.[^/]+?(?::(\d+))?(\/.*)?$/i,Rp=new Set([22,4096,parseInt(pe.KORTIX_MASTER,10)]);function Kg(e){return Ap.test(e)}function Ut(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 Hg(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Wg=new Set(["'",'"',"`","<","(","["]),zg=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Vg(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&&Wg.has(e[t]);)t++;for(;n>t&&zg.has(e[n-1]);)n--;return e.slice(t,n)}function Jg(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Xg=/^\/proxy\/(\d{1,5})(\/.*)?$/,Qg=/^\/(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 Yg(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Qg.test(t.pathname)}catch{return!1}}function Ft(e){if(!e)return null;let t=Vg(Hg(e.trim())),n=$p(t);if(n){let r=Ut(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 o=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(pe.KORTIX_MASTER,10);if(s===u){let d=r.pathname.match(Xg);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=Ut(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=Ut(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Jg(e);return r&&r!==e?Ft(r):null}}function Zg(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 o=r.index,u=o+r[0].length;t.some(([d,f])=>o>=d&&u<=f)||t.push([o,u])}return t}function em(e,t){return t.some(([n,r])=>e>=n&&e<r)}function tm(e){let t=[],n=new Set,r=Zg(e);vp.lastIndex=0;let s;for(;(s=vp.exec(e))!==null;){let o=Ft(s[0]);if(!o)continue;let{originalUrl:u,port:p,path:d}=o;p<1||p>65535||Rp.has(p)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:p,path:d,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:em(s.index,r)}))}return t}function OS(e){return tm(e).length>0}function nm(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Tp(e){return e.trim().toLowerCase().split("_").join("-")}function Ip(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function rm(e,t,n){let r=n.previewUrlTemplate;if(!r||!r.includes("{port}")||!r.includes("{sandbox}"))return null;let s=r.split("{port}").join(String(e)).split("{sandbox}").join(Tp(n.sandboxId));return`${Ip(s)}${t}`}function sm(e){return e.sandboxId.trim().length>0}function Pe(e,t,n){let r=Ut(t);if(!sm(n))return cm(e,r);let s=rm(e,r,n);return s||(nm(n.apiBaseUrl)?`http://p${e}-${Tp(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${Ip(n.apiBaseUrl)}/p/${n.sandboxId}/${e}${r}`)}function US(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return Pe(3211,`/open?path=/workspace/${r}`,t)}function im(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function FS(e){return`http://localhost:3211${im(e)}`}function om(){return"/health"}function LS(e){return Pe(3211,om(),e)}function GS(e,t){return Pe(e,"/",t)}function am(e){let t=Ft(e);return!(!t||Rp.has(t.port)||Yg(e))}function Ep(e,t){if(!e)return e;let n=Ft(e);return n?am(n.originalUrl)?Pe(n.port,n.path,t):n.originalUrl:e}function cm(e,t="/"){return`http://localhost:${e}${t}`}var jp=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function $p(e){let t=e.match(Ap);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(Cp);if(n){let s=443;try{let o=new URL(e);s=o.port?parseInt(o.port,10):o.protocol==="https:"?443:80}catch{return null}return{port:parseInt(n[1],10),sandboxId:n[2],backendPort:s,path:n[4]||"/"}}let r=e.match(jp);if(r)try{let s=new URL(e);return{port:parseInt(r[2],10),sandboxId:r[1],backendPort:parseInt(s.port,10)||(s.protocol==="https:"?443:80),path:r[3]||"/"}}catch{return null}return null}function BS(e){try{let t=$p(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function NS(e){return Kg(e)||Cp.test(e)||jp.test(e)}function KS(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var rt="/web-proxy/";function HS(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${rt}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(pe.KORTIX_MASTER,10);return`${Pe(o,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function WS(e){try{let t=new URL(e),n=t.pathname.indexOf(rt);if(n===-1)return null;let s=t.pathname.slice(n+rt.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],u=s[2],p=s[3]||"/";return`${o}://${u}${p}${t.search}${t.hash}`}catch{return null}}function zS(e){try{return new URL(e).pathname.includes(rt)}catch{return e.includes(rt)}}function VS(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 JS(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 Mp="frontend";function Lt(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Mp}] ${t}`,...n?[n]:[]);try{be().app.log({service:Mp,level:e,message:t,extra:n})}catch{}}var de={debug:(e,t)=>Lt("debug",e,t),info:(e,t)=>Lt("info",e,t),warn:(e,t)=>Lt("warn",e,t),error:(e,t)=>Lt("error",e,t)};function lm(e){return{type:"heartbeat-gap",gapMs:e}}function um(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 pm={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},dm=16,gm=8,mm=6e4,fm=5e3,ym=250,hm=1e3,bm=3e4,xm=5,_m=3e3,Pm=3e4,km=2e4,wm=2e3,Sm=8;function vm(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Dp(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)}}var Gt=new WeakMap;function Am(e,t,n){let r=t.timers??pm,s=t.connectTimeoutMs??km,o=t.heartbeatTimeoutMs??mm,u=t.maxConsecutiveHardFailures??Sm,p=new AbortController;function d(E,...l){for(let b of n){let c=E(b);if(c)try{c(...l)}catch(A){console.warn("[opencode-events] subscriber handler threw, skipping",A)}}}let f=r.now(),m=[],y,x=0,_=new Map,k=()=>{if(y&&r.clearTimeout(y),y=void 0,m.length===0)return;let E=m;m=[],_.clear(),x=r.now(),f=r.now();for(let l of E)l&&d(b=>b.onEvent,l.event)},T=()=>{if(y)return;let E=r.now()-x;y=r.setTimeout(k,Math.max(0,dm-E))};return(async()=>{let E=0,l=0;for(;!p.signal.aborted;){let b=!1,c=!1,A,S,R=null,j=r.now(),q=new AbortController,D=Dp(p.signal);D.promise.then(()=>q.abort());try{let O=await new Promise((Q,H)=>{let W=!1;S=r.setTimeout(()=>{W||(W=!0,de.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),q.abort(),H(new Error(`SSE connect timed out after ${s}ms`)))},s),e.global.event({signal:q.signal,sseDefaultRetryDelay:_m,sseMaxRetryDelay:Pm,sseMaxRetryAttempts:1}).then(ee=>{W||(W=!0,r.clearTimeout(S),Q(ee))},ee=>{W||(W=!0,r.clearTimeout(S),H(ee))})}),{stream:F}=O;f=r.now();let L=()=>{r.clearTimeout(A),A=r.setTimeout(()=>{de.warn("SSE heartbeat timeout, forcing reconnect"),q.abort()},o)};L();let X=r.now(),K=F[Symbol.asyncIterator]();for(;!q.signal.aborted;){let Q=K.next().then(oe=>({kind:"next",result:oe}),oe=>({kind:"error",error:oe})),H=Dp(q.signal),W=await Promise.race([Q,H.promise.then(()=>({kind:"aborted"}))]);if(H.cleanup(),W.kind==="aborted")break;if(W.kind==="error")throw W.error;if(W.result.done)break;b=!0,L();let ee=W.result.value,Se=ee&&typeof ee=="object"&&"payload"in ee?ee.payload:ee;if(!Se?.type)continue;let nn=vm(Se);if(nn){let oe=_.get(nn);oe!==void 0&&(m[oe]=void 0),_.set(nn,m.length)}m.push({type:Se.type,event:Se}),T(),!(r.now()-X<gm)&&(X=r.now(),await new Promise(oe=>r.setTimeout(oe,0)))}c=b}catch(O){if(p.signal.aborted)break;R=O;let F=String(O),L=F.includes("401")||F.includes("403")||F.includes("Unauthorized")||F.includes("Token refresh failed");if(de.error("SSE event stream error",{error:F,retryCount:E,isAuthError:L}),L)try{mt(),await Cr(),de.info("SSE: refreshed auth token after auth error")}catch(X){de.error("SSE: failed to refresh auth token",{error:String(X)})}}finally{r.clearTimeout(A),r.clearTimeout(S),q.abort(),D.cleanup(),k()}if(p.signal.aborted)break;let Z=r.now()-j,J=R?.cause?.status;if(l=!b&&(typeof J=="number"&&J>=400||Z<wm)?l+1:0,l>=u){de.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:l,lastError:String(R)}),d(O=>O.onParked,{consecutiveFailures:l,lastError:R});break}let I=r.now()-f;I>fm&&d(O=>O.onGapRehydrate,I),c?E=0:(E++,E>1&&de.warn("SSE event stream reconnecting",{retryCount:E}));let B=c?ym:Math.min(hm*2**Math.min(E-1,xm),bm);await new Promise(O=>{let F=r.setTimeout(O,B),L=()=>{r.clearTimeout(F),O()};p.signal.addEventListener("abort",L,{once:!0})})}})(),{subscribers:n,teardown:()=>{p.abort(),y&&r.clearTimeout(y)}}}function Cs(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=e,u={onEvent:n,onGapRehydrate:r,onParked:s},p=Gt.get(t);p?p.subscribers.add(u):(p=Am(t,e,new Set([u])),Gt.set(t,p));let d=p,f=!1,m=()=>{f||(f=!0,o&&o.removeEventListener("abort",y),d.subscribers.delete(u),d.subscribers.size===0&&(d.teardown(),Gt.get(t)===d&&Gt.delete(t)))},y=()=>m();return o&&(o.aborted?m():o.addEventListener("abort",y,{once:!0})),{close:m}}function Cm(){return be()}var Bt=new Map,Nt=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 Rm(e,t){sn(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 v(`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 b=$().backendUrl??e.backendUrl,c=80,A=n(b);return A&&(c=A.port?Number(A.port):A.protocol==="https:"?443:80),bi({sandboxId:l,apiBaseUrl:b,backendPort:c})}let s={signUp:gs,signInWithPassword:ms,sendMagicLink:fs,verifyOtp:ys,signInWithProvider:hs,exchangeCode:bs,refresh:nt,resetPassword:xs,updatePassword:_s,updateUserMetadata:ks,signInWithSso:ws,mfa:Ss,user:Ps,signOut:vs,session:As},o={list:Di,get:Oi,create:qi,updateName:Ui,branding:{get:Fi,update:Li,uploadAsset:Gi,removeAsset:Bi,reset:Ni},leave:eo,members:Ki,invite:Hi,removeMember:Yi,updateMemberRole:Zi,invites:Wi,cancelInvite:zi,resendInvite:Vi,tokens:{list:Uu,create:Fu,revoke:Lu},audit:{log:Ku,export:Wu,webhooks:{list:zu,create:Vu,update:Ju,remove:Xu}}},u={assignments:{list:Su,create:vu,revoke:Au},permissions:{list:Cu,forRole:lu},roles:{list:au,create:pu,update:du,setPermissions:gu,remove:mu,usage:uu},groups:{list:Zl,get:eu,create:tu,update:nu,remove:ru,members:{list:su,add:iu,remove:ou}},agentIdentities:cu,oauthClients:{list:hu,get:bu,create:xu,update:_u,rotateSecret:Pu,remove:ku},can:fu,canBatch:yu},p={accountState:tl,accountStateMinimal:nl,transactions:rl,transactionsSummary:sl,creditBreakdown:il,usageHistory:ol,usageRollup:xl,sessionCosts:{list:Pl,get:os},tierConfigurations:al,checkout:{createSession:l=>cl(l),confirmSession:(l,b)=>ll(l,b)},subscription:{createPortalSession:(l,b)=>ul(l,b),cancel:(l,b)=>pl(l,b),reactivate:l=>dl(l),scheduleDowngrade:(l,b,c)=>gl(l,b,c),cancelScheduledChange:l=>ml(l),prorationPreview:(l,b)=>fl(l,b)},credits:{purchase:l=>yl(l),autoTopupSettings:l=>hl(l),configureAutoTopup:l=>bl(l)}},d={describe:Ji,accept:Xi,decline:Qi},f={list:Me,listForAccount:ro,get:Br,detail:Nr,create:ao,createRepo:co,provision:lo,update:Wr,archive:zr,llmCatalog:Kr,modelPicker:Hr,modelAccess:ps,setModelAccess:ds,sandboxHealth:Yr,sandboxTemplates:qa,sessions:Ze,createSession:et},m={linkRepository:fo,getInstallation:yo,listInstallations:ho,listLinkableInstallations:bo,listRepositories:xo,listRepositoryBranches:_o,linkInstallation:ko,saveInstallation:Po,deleteInstallation:wo},y={list:$u,create:Mu,revoke:Du},x=Ea,_={items:l=>Zu(l),item:l=>np(l),itemFile:(l,b)=>rp(l,b),marketplaces:()=>ep(),featured:()=>tp(),sources:{list:()=>sp(),add:l=>ip(l),remove:l=>op(l)}};function k(l){return{catalog:()=>Jr(l),tools:()=>jt(l),search:(...b)=>ta(l,...b),describe:(...b)=>na(l,...b),call:(...b)=>ra(l,...b),uploadAttachment:(...b)=>sa(l,...b)}}function T(l){let b={list:()=>ia(l),listAll:()=>oa(l),reconcile:(...c)=>aa(l,...c),reconcileMember:(...c)=>ca(l,...c),updateCredential:(...c)=>la(l,...c),revoke:(...c)=>ua(l,...c),activate:(...c)=>pa(l,...c),setDefault:(...c)=>da(l,...c),pipedreamConnect:(...c)=>ga(l,...c),pipedreamFinalize:(...c)=>ma(l,...c)};return{get:c=>Br(l,c),detail:()=>Nr(l),audit:c=>Hu(l,c),update:c=>Wr(l,c),archive:()=>zr(l),llmCatalog:()=>Kr(l),modelPicker:()=>Hr(l),modelAccess:()=>ps(l),setModelAccess:c=>ds(l,c),sandboxHealth:()=>Yr(l),onboardingComplete:(...c)=>mo(l,...c),apps:{list:()=>ap(l),create:c=>cp(l,c),get:c=>lp(l,c),update:(...c)=>up(l,...c),access:{get:(...c)=>dp(l,...c),update:(...c)=>gp(l,...c),session:(...c)=>mp(l,...c)},remove:c=>pp(l,c),artifacts:{register:c=>ls(l,c),uploadArchive:(...c)=>fp(l,...c),finalize:(...c)=>us(l,...c)},deployments:{create:(...c)=>yp(l,...c),list:c=>hp(l,c),get:(...c)=>bp(l,...c),logs:(...c)=>xp(l,...c)},start:c=>_p(l,c),stop:c=>Pp(l,c),rollback:(...c)=>kp(l,...c)},tokens:{list:()=>Gu(l),create:c=>Bu(l,c),revoke:c=>Nu(l,c)},setupLinks:{requestSecret:c=>Qu(l,c),requestConnector:c=>Yu(l,c)},validateManifest:c=>io(l,c),gitToken:()=>oo(l),secrets:{list:()=>Ko(l),upsert:c=>Ho(l,c),setStrategy:(...c)=>Wo(l,...c),broker:(...c)=>zo(l,...c),remove:c=>Yo(l,c),setPersonal:(...c)=>Zo(l,...c),removePersonal:c=>ea(l,c),setGitCredential:c=>Qo(l,c),startProviderOAuth:(...c)=>Vo(l,...c),pollProviderOAuth:(...c)=>Jo(l,...c),removeProviderOAuth:c=>Xo(l,c)},access:{list:()=>Co(l),invite:(...c)=>Io(l,...c),update:(...c)=>Ro(l,...c),revoke:c=>To(l,c),pendingInvites:()=>Eo(l),resendInvite:(...c)=>$o(l,...c),revokeInvite:(...c)=>jo(l,...c),requests:()=>So(l),approveRequest:(...c)=>vo(l,...c),rejectRequest:(...c)=>Ao(l,...c),groupGrants:()=>Mo(l),attachGroupGrant:(...c)=>Do(l,...c),updateGroupGrant:(...c)=>qo(l,...c),detachGroupGrant:c=>Oo(l,c),resourceGrants:{list:()=>Uo(l),create:c=>Fo(l,c),remove:c=>Lo(l,c)}},connectors:{...k(l),list:()=>fa(l),config:(...c)=>ka(l,...c),create:(...c)=>va(l,...c),remove:(...c)=>Ca(l,...c),sync:()=>ya(l),auth:{discover:(...c)=>Aa(l,...c)},setName:(...c)=>wa(l,...c),setCredentialMode:(...c)=>ha(l,...c),setAuthorizationStrategy:(...c)=>ba(l,...c),setCredential:(...c)=>ja(l,...c),setSensitive:(...c)=>xa(l,...c),connections:b,policies:{get:(...c)=>_a(l,...c),set:(...c)=>Pa(l,...c)},pipedream:{listApps:(...c)=>Ra(l,...c),listSections:(...c)=>Ta(l,...c),connect:(...c)=>Sa(l,...c),finalize:(...c)=>$a(l,...c)},discover:{list:(...c)=>Xr(l,...c),sections:(...c)=>Ia(l,...c),detail:(...c)=>Qr(l,...c)}},policies:{list:()=>Ma(l),set:(...c)=>Da(l,...c)},triggers:{list:()=>Uc(l),create:(...c)=>Fc(l,...c),update:(...c)=>Lc(l,...c),remove:(...c)=>Gc(l,...c),fire:(...c)=>Nc(l,...c),setActivation:(...c)=>Bc(l,...c)},files:{list:c=>Ha(l,c),read:(c,A)=>za(l,c,A),search:(...c)=>Wa(l,...c),archive:(...c)=>Va(l,...c),history:(...c)=>Za(l,...c)},git:{commits:()=>Xa(l),commit:c=>Qa(l,c),commitDiff:c=>Ya(l,c),branches:()=>Ja(l),versionDiff:(...c)=>ec(l,...c),inviteCollaborator:(...c)=>so(l,...c)},changeRequests:{list:()=>tc(l),get:c=>nc(l,c),diff:c=>rc(l,c),mergePreview:c=>sc(l,c),open:(...c)=>ic(l,...c),merge:(...c)=>oc(l,...c),close:(...c)=>ac(l,...c),reopen:(...c)=>cc(l,...c),requestChanges:(...c)=>lc(l,...c)},sessions:{list:c=>Ze(l,c),listPage:c=>gc(l,c),create:c=>et(l,c),ensureWarm:()=>xc(l),claimWarm:c=>_c(l,c)},review:{list:c=>Ru(l,c),get:c=>Tu(l,c),submit:c=>Iu(l,c),act:(...c)=>Eu(l,...c),bulkAct:c=>ju(l,c)},approvals:{list:c=>Go(l,c),resolve:(...c)=>No(l,...c),sessionsNeedingInput:c=>Bo(l,c)},gateway:{logs:c=>Fl(l,c),log:c=>Ll(l,c),overview:c=>Gl(l,c),series:c=>Bl(l,c),breakdown:c=>Nl(l,c),sessions:c=>Kl(l,c),errors:c=>Hl(l,c),budgets:()=>Wl(l),setBudget:c=>zl(l,c),deleteBudget:c=>Vl(l,c),keys:()=>Jl(l),createKey:c=>Xl(l,c),revokeKey:c=>Ql(l,c),routing:{get:()=>Dl(l),set:c=>ql(l,c),reset:()=>Ol(l),preview:c=>Ul(l,c)},playground:(c,A,S)=>Yl(l,c,A,S)},channels:{slack:{installation:()=>wl(l),connect:c=>Sl(l,c),mode:()=>vl(l),manifest:()=>Al(l),disconnect:()=>Cl(l),getFile:c=>Rl(l,c),uploadFile:c=>Tl(l,c)},email:{installation:c=>Il(l,c),mode:()=>El(l),connect:c=>jl(l,c),disconnect:c=>$l(l,c),updatePolicy:(...c)=>Ml(l,...c)}},updateFeatureFlag:(...c)=>uo(l,...c),updateExperimentalFeature:(...c)=>po(l,...c),modelDefaults:{get:()=>Vc(l),set:c=>Jc(l,c),clear:c=>Xc(l,c)},setDefaultAgent:c=>el(l,c),sandbox:{list:()=>Ka(l),snapshots:()=>Oa(l),rebuildSnapshot:c=>Ua(l,c),fixWithAgent:()=>Fa(l),createTemplate:c=>La(l,c),updateTemplate:(...c)=>Ga(l,...c),removeTemplate:c=>Ba(l,c),buildTemplate:c=>Na(l,c),setProvider:c=>go(l,c)},setAgentScope:(...c)=>Yc(l,...c),session:c=>E(l,c)}}function E(l,b){let c=null,A,S,R=null;async function j(){R||(R=es(l,b,{showErrors:!1}).then(h=>{let I=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",B=I.indexOf("/"),O=B>0&&B<I.length-1?{providerID:I.slice(0,B),modelID:I.slice(B+1)}:void 0,F=h.agent_name?.trim()||void 0;return{model:O,agent:F}}));try{return await R}catch(h){throw R=null,h}}function q(){if(c)return c;let h=Hc(l,b);return h&&(c=h),c}async function D(h){let I=q();if(I)return I;let B=h?.readyTimeoutMs??18e4,O=xt($().backendUrl??e.backendUrl).catch(()=>null),F=`${l}
|
|
20
|
+
${b}`,L=Bt.get(F);if(L)return c=await L,await O,c;let X=(async()=>{let K=Date.now()+B,Q=()=>Math.max(0,K-Date.now()),H=await De(l,b,Math.min(3e4,Q()));for(;Date.now()<K&&(H==null||(H.stage==="provisioning"||H.stage==="starting")&&H.retriable);)await new Promise(Se=>setTimeout(Se,Math.min(1e3,Q()))),H=await De(l,b,Math.min(3e4,Q()));if(!H||H.stage!=="ready"||!H.sandbox||!H.opencode_session_id)throw new v(`Session runtime not ready (stage: ${H?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let W=H.sandbox.external_id;if(!W)throw new v("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let ee=ft(W);return si(ee,W),{opencodeSessionId:H.opencode_session_id,runtimeUrl:ee,sandboxId:W}})();Bt.set(F,X);try{return c=await X,await O,c}finally{Bt.get(F)===X&&Bt.delete(F)}}function Z(h){let I=q();if(!I)throw new Nt(h);return I}function J(){c=null,zc(l,b)}return{get:h=>es(l,b,h),cost:()=>os(b,{projectId:l}),update:h=>Ic(l,b,h),delete:()=>(J(),Ec(l,b)),start:(...h)=>De(l,b,...h),restart:()=>(J(),Mt(l,b)),stop:()=>(J(),Dt(l,b)),configState:()=>jc(l,b),reloadConfig:h=>(J(),$c(l,b,h)),reloadConfigStream:(...h)=>(J(),Mc(l,b,...h)),setSharing:h=>mc(l,b,h),previews:()=>fc(l,b),commit:h=>uc(l,b,h),publicShares:{list:()=>yc(l,b),create:(...h)=>hc(l,b,...h),revoke:(...h)=>bc(l,b,...h)},audit:(h,I)=>Pc(l,b,h,I),transcript:h=>kc(l,b,h),transcriptSync:h=>wc(l,b,h),turn:()=>Sc(l,b),prompts:{create:h=>vc(l,b,h),list:()=>Ac(l,b),remove:h=>Cc(l,b,h),retry:h=>Rc(l,b,h),hold:h=>Tc(l,b,h)},ensureReady:D,health:h=>Sp(q()?.runtimeUrl??null,h),previewUrl:(h,I="/")=>Pe(h,I,r(Z("previewUrl").sandboxId)),proxyUrl:h=>Ep(h,r(Z("proxyUrl").sandboxId)),setModel:h=>{A=h},changeModel:async h=>{let I=await Oc(l,b,h);return R=null,I},scope:()=>Dc(l,b),rescope:h=>qc(l,b,h),setAgent:h=>{S=h},send:async(h,I)=>{let{opencodeSessionId:B,runtimeUrl:O}=await D(),F=I?.model??A,L=I?.agent??S,X=F&&L?{}:await j(),K=F??X.model,Q=L??X.agent;return le(O).session.prompt({sessionID:B,parts:[{type:"text",text:h}],...K?{model:K}:{},...Q?{agent:Q}:{}})},abort:async()=>{let{opencodeSessionId:h,runtimeUrl:I}=await D();return le(I).session.abort({sessionID:h})},rewind:async h=>{let{opencodeSessionId:I,runtimeUrl:B}=await D();return le(B).session.revert({sessionID:I,messageID:h})},restoreRewind:async()=>{let{opencodeSessionId:h,runtimeUrl:I}=await D();return le(I).session.unrevert({sessionID:h})},stream:async h=>{let{runtimeUrl:I}=await D();return Cs({client:le(I),onEvent:h.onEvent,onGapRehydrate:h.onGapRehydrate,signal:h.signal})},get runtime(){return le(Z("runtime").runtimeUrl)},files:{list:async h=>At(h,(await D()).runtimeUrl),read:async h=>Ve(h,(await D()).runtimeUrl),readBlob:async h=>Je(h,(await D()).runtimeUrl),status:async()=>Ct((await D()).runtimeUrl),findFiles:async(h,I)=>Rt(h,I,(await D()).runtimeUrl),findText:async h=>Tt(h,(await D()).runtimeUrl),upload:async(h,I,B,O)=>Xe(h,I,B,(await D()).runtimeUrl,O),write:async(h,I)=>Qe(h,I,(await D()).runtimeUrl),create:async h=>It(h,(await D()).runtimeUrl),copy:async(h,I)=>Et(h,I,(await D()).runtimeUrl),remove:async h=>_e(h,(await D()).runtimeUrl),mkdir:async h=>Ye(h,(await D()).runtimeUrl),rename:async(h,I)=>xe(h,I,(await D()).runtimeUrl)}}}return{config:e,auth:s,accounts:o,iam:u,accountInvites:d,projects:f,connectors:k(),project:T,session:E,github:m,billing:p,sandboxShares:y,connectStatus:x,marketplace:_,validateToken:to,runtime:Cm}}function Tm(){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 r=0;r<16;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=[...t].map(r=>r.toString(16).padStart(2,"0"));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n.slice(10).join("")}`}function Im(){return{pending:[],failed:[],inFlightId:null,inFlightIds:[]}}function qe(e){return e.inFlightIds?.length?e.inFlightIds:e.inFlightId?[e.inFlightId]:[]}function Em(e,t){return{...e,pending:[...e.pending,{...t,attempts:0}]}}function jm(e){if(qe(e).length>0)return{state:e};let t=e.pending[0];if(!t)return{state:e};let n={...t,attempts:t.attempts+1};return{state:{...e,pending:[n,...e.pending.slice(1)],inFlightId:n.id,inFlightIds:[n.id]},claimed:n}}function $m(e){let t=qe(e);return t.length===0?e:{...e,pending:e.pending.filter(n=>!t.includes(n.id)),inFlightId:null,inFlightIds:[]}}function Mm(e,t){let n=qe(e);if(n.length===0)return e;let r=e.pending.filter(s=>n.includes(s.id));return r.length===0?{...e,inFlightId:null,inFlightIds:[]}:{pending:e.pending.filter(s=>!n.includes(s.id)),failed:[...e.failed,...r.map(s=>({...s,lastError:t}))],inFlightId:null,inFlightIds:[]}}function Dm(e,t){let n=e.failed.find(o=>o.id===t);if(!n)return e;let{lastError:r,...s}=n;return{...e,pending:[...e.pending,s],failed:e.failed.filter(o=>o.id!==t)}}function qm(e,t){return qe(e).includes(t)?e:e.pending.some(n=>n.id===t)?{...e,pending:e.pending.filter(n=>n.id!==t)}:e.failed.some(n=>n.id===t)?{...e,failed:e.failed.filter(n=>n.id!==t)}:e}function Om(e,t,n){return qe(e).includes(t)||!e.pending.some(r=>r.id===t)?e:{...e,pending:e.pending.map(r=>r.id===t?{...r,text:n}:r)}}function Um(e,t,n){let r=qe(e);if(r.includes(t))return e;let s=e.pending.findIndex(f=>f.id===t);if(s===-1)return e;let o=r.length,u=Math.min(Math.max(n,o),e.pending.length-1);if(u===s)return e;let p=[...e.pending],[d]=p.splice(s,1);return p.splice(u,0,d),{...e,pending:p}}var qp={thinking:!1,toolDetails:!0,assistantMetadata:!0};function Fm(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Lm(e){let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let n=Math.floor(t/60),r=t%60;return`${n}m ${r.toFixed(0)}s`}function Gm(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
|
|
21
21
|
|
|
22
22
|
`;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
|
|
23
23
|
>
|
|
@@ -50,15 +50,15 @@ ${s}
|
|
|
50
50
|
${e.state.error}
|
|
51
51
|
\`\`\`
|
|
52
52
|
`),n+=`
|
|
53
|
-
`,n}return""}function
|
|
53
|
+
`,n}return""}function Bm(e,t){if(!t)return`## Assistant
|
|
54
54
|
|
|
55
|
-
`;let n=e.agent?
|
|
55
|
+
`;let n=e.agent?Fm(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=Lm(e.time.completed-e.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
|
|
56
56
|
|
|
57
57
|
`:`## ${n}
|
|
58
58
|
|
|
59
|
-
`}function
|
|
59
|
+
`}function Nm(e,t,n){let r="";e.role==="user"?r+=`## User
|
|
60
60
|
|
|
61
|
-
`:r+=
|
|
61
|
+
`:r+=Bm(e,n.assistantMetadata);for(let s of t)r+=Gm(s,n);return r}function Km(e,t,n=qp){let r=`# ${e.title||"Untitled Session"}
|
|
62
62
|
|
|
63
63
|
`;r+=`**Session ID:** \`${e.id}\`
|
|
64
64
|
`,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
|
|
@@ -66,14 +66,14 @@ ${e.state.error}
|
|
|
66
66
|
|
|
67
67
|
`,r+=`---
|
|
68
68
|
|
|
69
|
-
`;for(let s of t)r+=
|
|
69
|
+
`;for(let s of t)r+=Nm(s.info,s.parts,n),r+=`---
|
|
70
70
|
|
|
71
|
-
`;return r}function Bm(e,t){return`session-${e}.md`}var Rs="An error occurred";var Nm=["message","error","detail","error_description","msg","errors","data"];function Op(e){let t=e.trim();for(let n=0;n<4;n++){let r=t.replace(/^(?:\d{3}\s+)?(?:[A-Za-z_$][\w$]*)?Error:\s*/,"").trim();if(r===t)break;t=r}return t}function Oe(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Km(e){let t=e.match(/"(?:message|detail|error_description|msg)"\s*:\s*"((?:[^"\\]|\\.)*)"/);if(!t)return;let n=Oe(`"${t[1]}"`);return typeof n=="string"&&n.trim()?n.trim():void 0}function Hm(e){if(!/^\s*<(?:!doctype|html|head|body)\b/i.test(e))return;let t=e.match(/<title[^>]*>([^<]*)<\/title>/i)?.[1]?.trim();if(t)return t;let n=e.replace(/<script[\s\S]*?<\/script>|<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();return n?n.slice(0,200):void 0}function Wm(e){let t=e.replace(/[_-]+/g," ").trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)}function Dp(e,t,n){if(typeof e=="string")return Kt(e,t,n);if(e&&typeof e=="object")return Ht(e,t,n)}function Kt(e,t,n=new WeakSet){let r=Op(e);if(!r)return;if(t>=4)return r;let s=Oe(r);if(s!==void 0)return typeof s=="string"?Kt(s,t+1,n):s&&typeof s=="object"?Ht(s,t+1,n):String(s);let o=Up(r);if(o){let u=Oe(o);if(u&&typeof u=="object"){let p=Ht(u,t+1,n);if(p)return p}}if(r.includes("{")){let u=Km(r);if(u)return Kt(u,t+1,n)??u}return Hm(r)??r}function Ht(e,t,n=new WeakSet){if(t>=4||n.has(e))return;if(n.add(e),Array.isArray(e)){for(let u of e){let p=Dp(u,t,n);if(p)return p}return}let r=e;for(let u of Nm){let p=Dp(r[u],t,n);if(p)return p}let s=r.type??r.code;if(typeof s=="string"&&s.trim())return Wm(s);let o=r.status??r.statusCode??r.upstream_status;if(typeof o=="number"&&Number.isFinite(o))return`Request failed with status ${o}`}function te(e){return e?typeof e=="string"?Kt(e,0)??Rs:typeof e=="object"?Ht(e,0)??Rs:String(e):Rs}function Up(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function zm(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 Vm(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object"||Array.isArray(n))continue;let r=n;!Number.isInteger(r.attempt)||r.attempt<1||typeof r.provider!="string"||!r.provider||typeof r.route_model!="string"||!r.route_model||typeof r.resolved_model!="string"||!r.resolved_model||typeof r.stage!="string"||!r.stage||typeof r.code!="string"&&!(typeof r.code=="number"&&Number.isFinite(r.code))||typeof r.message!="string"||!r.message||r.status!==void 0&&(!Number.isInteger(r.status)||r.status<100||r.status>599)||t.push({attempt:r.attempt,provider:r.provider,routeModel:r.route_model,resolvedModel:r.resolved_model,stage:r.stage,...typeof r.status=="number"?{status:r.status}:{},code:r.code,message:r.message})}return t.length>0?t:void 0}function qp(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,o=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0,u=Vm(e.attempt_failures);return!t&&!n&&!r&&s===void 0&&!o&&!u?void 0:{message:typeof e.message=="string"&&e.message||zm(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:o,attemptFailures:u}}function ie(e){if(e==null)return;if(typeof e=="string"){let u=Op(e),p=Oe(u)??Oe(Up(u));return p!==void 0?ie(p):void 0}if(typeof e!="object")return;let t=e,n=qp(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=qp(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Oe(s.responseBody);if(u!==void 0){let p=ie(u);if(p)return p}}if(s&&typeof s.message=="string"){let u=ie(s.message);if(u)return u}let o=t.cause;if(o&&typeof o=="object"){let u=o.body;if(u!==void 0){let p=ie(u);if(p)return p}}}var Jm={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"}},Xm=[{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 Qm(e){return e.replace(/^oc[-_]/,"")}function Wt(e){return Qm(e).replace(/-/g,"_")}function Ts(e){return Wt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Is(e){let t=Wt(e),n=Jm[t];if(n)return n;for(let{prefix:r,category:s}of Xm)if(t.startsWith(r))return{label:Ts(e),category:s};return{label:Ts(e),category:"other"}}var Ym=256*1024;function Zm(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function ef(e){if(e===void 0)return{};if(e.length>Ym)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function tf(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?te(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function nf(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=ef(r),u=Zm(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let d=tf(s);d&&(u="error",p=d)}return{name:e,title:n||Is(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:o,error:p}}function rf(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function sf(e){return{kind:"reasoning",id:e.id,text:e.text}}function of(e){return{kind:"tool",id:e.id,tool:nf(e.tool,e.state)}}function af(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 cf(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function lf(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function uf(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function pf(e){return{kind:"agent",id:e.id,name:e.name}}function df(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:te(e.error),createdAt:e.time.created}}function gf(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function mf(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function ff(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Fp(e){switch(e.type){case"text":return rf(e);case"reasoning":return sf(e);case"tool":return of(e);case"file":return af(e);case"subtask":return cf(e);case"patch":return lf(e);case"snapshot":return uf(e);case"agent":return pf(e);case"retry":return df(e);case"compaction":return gf(e);case"step-start":return mf(e);case"step-finish":return ff(e);default:return{kind:"unknown",raw:e}}}function yf(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ie(e);return{name:t,message:n?.message||te(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function hf(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function bf(e){let t=e.parts.map(Fp),n=e.info.role==="assistant"?e.info.error:void 0,r=yf(n),s=!r&&!t.some(hf);return{parts:t,error:r,isEmpty:s}}function ke(e){return e.type==="text"}function Es(e){return e.type==="reasoning"}function ge(e){return e.type==="tool"}function Gp(e){return e.type==="file"}function Pv(e){return e.type==="agent"}function kv(e){return e.type==="compaction"}function wv(e){return e.type==="snapshot"}function Sv(e){return e.type==="patch"}function vv(e){if(ke(e)||Es(e))return e.text}function Av(e){if(!Gp(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function Cv(e){let t=[],n=[];for(let r of e)Gp(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Rv(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Tv(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var xf=new Set(["todoread","context_info"]);function _f(e){return!xf.has(e.tool)}function Iv(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 o=e.state?.output;if(o){let u=o.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 Ev(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return te(n.error)}}function jv(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ge(r)&&_f(r)&&t.push(r);return t}function $v(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Pf(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:kf(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:wf(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:Lp(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Lp(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 Pf(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Lp(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 kf(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Mv(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 st(e,t=120){if(typeof e!="string")return"";let n=e.split(`
|
|
72
|
-
`).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function
|
|
73
|
-
\u2026`:e}function
|
|
71
|
+
`;return r}function Hm(e,t){return`session-${e}.md`}var Rs="An error occurred";var Wm=["message","error","detail","error_description","msg","errors","data"];function Fp(e){let t=e.trim();for(let n=0;n<4;n++){let r=t.replace(/^(?:\d{3}\s+)?(?:[A-Za-z_$][\w$]*)?Error:\s*/,"").trim();if(r===t)break;t=r}return t}function Oe(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function zm(e){let t=e.match(/"(?:message|detail|error_description|msg)"\s*:\s*"((?:[^"\\]|\\.)*)"/);if(!t)return;let n=Oe(`"${t[1]}"`);return typeof n=="string"&&n.trim()?n.trim():void 0}function Vm(e){if(!/^\s*<(?:!doctype|html|head|body)\b/i.test(e))return;let t=e.match(/<title[^>]*>([^<]*)<\/title>/i)?.[1]?.trim();if(t)return t;let n=e.replace(/<script[\s\S]*?<\/script>|<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();return n?n.slice(0,200):void 0}function Jm(e){let t=e.replace(/[_-]+/g," ").trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)}function Op(e,t,n){if(typeof e=="string")return Kt(e,t,n);if(e&&typeof e=="object")return Ht(e,t,n)}function Kt(e,t,n=new WeakSet){let r=Fp(e);if(!r)return;if(t>=4)return r;let s=Oe(r);if(s!==void 0)return typeof s=="string"?Kt(s,t+1,n):s&&typeof s=="object"?Ht(s,t+1,n):String(s);let o=Lp(r);if(o){let u=Oe(o);if(u&&typeof u=="object"){let p=Ht(u,t+1,n);if(p)return p}}if(r.includes("{")){let u=zm(r);if(u)return Kt(u,t+1,n)??u}return Vm(r)??r}function Ht(e,t,n=new WeakSet){if(t>=4||n.has(e))return;if(n.add(e),Array.isArray(e)){for(let u of e){let p=Op(u,t,n);if(p)return p}return}let r=e;for(let u of Wm){let p=Op(r[u],t,n);if(p)return p}let s=r.type??r.code;if(typeof s=="string"&&s.trim())return Jm(s);let o=r.status??r.statusCode??r.upstream_status;if(typeof o=="number"&&Number.isFinite(o))return`Request failed with status ${o}`}function te(e){return e?typeof e=="string"?Kt(e,0)??Rs:typeof e=="object"?Ht(e,0)??Rs:String(e):Rs}function Lp(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Xm(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 Qm(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object"||Array.isArray(n))continue;let r=n;!Number.isInteger(r.attempt)||r.attempt<1||typeof r.provider!="string"||!r.provider||typeof r.route_model!="string"||!r.route_model||typeof r.resolved_model!="string"||!r.resolved_model||typeof r.stage!="string"||!r.stage||typeof r.code!="string"&&!(typeof r.code=="number"&&Number.isFinite(r.code))||typeof r.message!="string"||!r.message||r.status!==void 0&&(!Number.isInteger(r.status)||r.status<100||r.status>599)||t.push({attempt:r.attempt,provider:r.provider,routeModel:r.route_model,resolvedModel:r.resolved_model,stage:r.stage,...typeof r.status=="number"?{status:r.status}:{},code:r.code,message:r.message})}return t.length>0?t:void 0}function Up(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,o=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0,u=Qm(e.attempt_failures);return!t&&!n&&!r&&s===void 0&&!o&&!u?void 0:{message:typeof e.message=="string"&&e.message||Xm(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:o,attemptFailures:u}}function ie(e){if(e==null)return;if(typeof e=="string"){let u=Fp(e),p=Oe(u)??Oe(Lp(u));return p!==void 0?ie(p):void 0}if(typeof e!="object")return;let t=e,n=Up(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Up(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Oe(s.responseBody);if(u!==void 0){let p=ie(u);if(p)return p}}if(s&&typeof s.message=="string"){let u=ie(s.message);if(u)return u}let o=t.cause;if(o&&typeof o=="object"){let u=o.body;if(u!==void 0){let p=ie(u);if(p)return p}}}var Ym={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"}},Zm=[{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 ef(e){return e.replace(/^oc[-_]/,"")}function Wt(e){return ef(e).replace(/-/g,"_")}function Ts(e){return Wt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Is(e){let t=Wt(e),n=Ym[t];if(n)return n;for(let{prefix:r,category:s}of Zm)if(t.startsWith(r))return{label:Ts(e),category:s};return{label:Ts(e),category:"other"}}var tf=256*1024;function nf(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function rf(e){if(e===void 0)return{};if(e.length>tf)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function sf(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?te(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function of(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=rf(r),u=nf(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let d=sf(s);d&&(u="error",p=d)}return{name:e,title:n||Is(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:o,error:p}}function af(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function cf(e){return{kind:"reasoning",id:e.id,text:e.text}}function lf(e){return{kind:"tool",id:e.id,tool:of(e.tool,e.state)}}function uf(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 pf(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function df(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function gf(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function mf(e){return{kind:"agent",id:e.id,name:e.name}}function ff(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:te(e.error),createdAt:e.time.created}}function yf(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function hf(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function bf(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Gp(e){switch(e.type){case"text":return af(e);case"reasoning":return cf(e);case"tool":return lf(e);case"file":return uf(e);case"subtask":return pf(e);case"patch":return df(e);case"snapshot":return gf(e);case"agent":return mf(e);case"retry":return ff(e);case"compaction":return yf(e);case"step-start":return hf(e);case"step-finish":return bf(e);default:return{kind:"unknown",raw:e}}}function xf(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ie(e);return{name:t,message:n?.message||te(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function _f(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Pf(e){let t=e.parts.map(Gp),n=e.info.role==="assistant"?e.info.error:void 0,r=xf(n),s=!r&&!t.some(_f);return{parts:t,error:r,isEmpty:s}}function ke(e){return e.type==="text"}function Es(e){return e.type==="reasoning"}function ge(e){return e.type==="tool"}function Np(e){return e.type==="file"}function Av(e){return e.type==="agent"}function Cv(e){return e.type==="compaction"}function Rv(e){return e.type==="snapshot"}function Tv(e){return e.type==="patch"}function Iv(e){if(ke(e)||Es(e))return e.text}function Ev(e){if(!Np(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function jv(e){let t=[],n=[];for(let r of e)Np(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function $v(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Mv(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var kf=new Set(["todoread","context_info"]);function wf(e){return!kf.has(e.tool)}function Dv(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 o=e.state?.output;if(o){let u=o.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 qv(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return te(n.error)}}function Ov(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ge(r)&&wf(r)&&t.push(r);return t}function Uv(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Sf(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:vf(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:Af(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:Bp(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Bp(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 Sf(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Bp(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 vf(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Fv(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 st(e,t=120){if(typeof e!="string")return"";let n=e.split(`
|
|
72
|
+
`).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function Af(e){let t=st(e.description);if(t)return t;let n=st(e.title,80);if(n)return n;let r=st(e.message);if(r)return r;let s=st(e.prompt);if(s)return s;let o=st(e.agent_id,40);return o?`Agent ${o}`:"Worker task"}function Lv(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function Gv(e,t){return e.find(n=>n.tool?.callID===t)}function Bv(e,t){return e.find(n=>n.tool?.callID===t)}var Cf=/\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 Nv(e){return e?e.replace(Cf,""):""}var Rf=/^msg_[0-9a-f]{12}/;function Kp(e){return Rf.test(e)?0:1}function Hp(e,t){return e<t?-1:e>t?1:0}function Tf(e,t){let n=Kp(e.info.id),r=Kp(t.info.id);if(n!==r)return n-r;if(n===0)return Hp(e.info.id,t.info.id);let s=typeof e.info.time?.created=="number"?e.info.time.created:null,o=typeof t.info.time?.created=="number"?t.info.time.created:null;return s===null&&o===null?0:s===null?1:o===null?-1:s!==o?s<o?-1:1:Hp(e.info.id,t.info.id)}function Wv(e){let t=[...e].sort(Tf),n=[],r=new Map;for(let o of t)if(o.info.role==="user"){if(r.has(o.info.id))continue;let u={userMessage:o,assistantMessages:[]};n.push(u),r.set(o.info.id,u)}let s=null;for(let o of t){if(o.info.role==="user"){s=r.get(o.info.id)??null;continue}if(o.info.role!=="assistant")continue;let u=o.info,p=u.tokens;if(!u.error&&o.parts.length===0&&p?.input===0&&p.output===0&&p.reasoning===0)continue;if(u.parentID){let f=r.get(u.parentID);if(f){f.assistantMessages.push(o);continue}}if(s){s.assistantMessages.push(o);continue}if(n.length>0){n[0].assistantMessages.unshift(o);continue}let d={userMessage:o,assistantMessages:[]};n.push(d)}return n}function zv(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function Vv(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(ke(n)&&n.text?.trim())return n}}function Jv(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Xv(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let o of s.parts){if(!ge(o))continue;let u=o,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:o,message:s})}return r}function Qv(e){let t=new Map;for(let n of e){if(!n.parentID)continue;let r=t.get(n.parentID);r?r.push(n.id):t.set(n.parentID,[n.id])}return t}function Yv(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,o=r.time.updated??r.time.created,u=s>t,p=o>t;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:o-s}}function If(e,t){let n=e.get(t);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(...If(e,s));return r}function Ef(e){if(!e||typeof e!="object")return!1;let t=e.data;return!!t&&typeof t=="object"&&t.isRetryable===!0}function eA(e){if(!e?.length)return!1;for(let t=e.length-1;t>=0;t--){let n=e[t].info;if(n.role==="assistant")return!n.time?.completed&&Ef(n.error)}return!1}function jf(e){let t=e.userMessage.parts;if(t.length===0||!t.every(o=>ke(o)&&o.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return ge(s)&&s.tool==="bash"}function rA(e){if(jf(e))return e.assistantMessages[0].parts[0]}function aA(e,t){for(let n=t.length-1;n>=0;n--)if(t[n].info.role==="user")return t[n].info.id===e;return!1}function cA(e,t){return!t||!e?!1:e.type!=="idle"}function lA(e,t){return!e&&!!t}function uA(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return te(n.error)}}function pA(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ie(n.error)}}function Wp(e){if(e){if(ge(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Handing off to an agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Handing off to an agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating progress...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Checking in with an agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Starting a new task...";case"task_list":case"task-list":return"Reviewing the task list...";case"task_done":case"task-done":return"Updating progress...";case"todowrite":case"todoread":return"Planning...";case"read":return"Reading files...";case"list":case"grep":case"glob":return"Searching files...";case"webfetch":case"scrape-webpage":return"Reading a web page...";case"websearch":case"web-search":case"web_search":return"Searching the web...";case"image-search":return"Searching for images...";case"image-gen":return"Creating an image...";case"video-gen":return"Creating a video...";case"presentation-gen":return"Creating a presentation...";case"show":case"show-user":return"Sharing the result...";case"edit":case"write":case"morph_edit":return"Making changes...";case"bash":return"Working on the computer...";case"apply_patch":return"Making changes...";case"prune":return"Tidying up memory...";case"distill":return"Tidying up memory...";case"compress":return"Tidying up memory...";case"context_info":return"Refreshing memory...";default:return"Working on it..."}if(Es(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(ke(e))return"Gathering thoughts..."}}function dA(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=ge(r)?r: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 p=t[u];if(p.info.role==="assistant")for(let d=p.parts.length-1;d>=0;d--){let f=Wp(p.parts[d]);if(f)return f}}return"Handing off to an agent..."}let o=Wp(r);if(o)return o}return"Figuring out what\u2019s next..."}function gA(e){if(!Number.isFinite(e)||e<1e3)return"";let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return r>0?`${n}m ${r}s`:`${n}m`}var zp=1.2;function Vp(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,o=e.cache?.write??0,u=Math.max(0,n-s-o),d=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,y)=>y.contextThreshold-m.contextThreshold)[0]??t,f=u/1e6*d.inputPer1M;return f+=r/1e6*d.outputPer1M,s>0&&(f+=s/1e6*(d.cacheReadPer1M??d.inputPer1M)),o>0&&(f+=o/1e6*(d.cacheWritePer1M??d.inputPer1M)),f}function Jp(e,t,n,r){let s=e.cost||0;if(s>0)return s;if(!r||!t||!n)return 0;let o=r(t,n);return o?Vp(e.tokens,o):0}function Xp(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function mA(e,t){let n=0,r=0,s=0,o=0,u=0,p=0,d=!1;for(let{part:f,message:m}of e)if(f.type==="step-finish"){d=!0;let y=f,{providerID:x,modelID:_}=Xp(m.info);n+=Jp(y,x,_,t),r+=y.tokens?.input||0,s+=y.tokens?.output||0,o+=y.tokens?.reasoning||0,u+=y.tokens?.cache?.read||0,p+=y.tokens?.cache?.write||0}if(!d)for(let{message:f}of e){if(f.info.role!=="assistant")continue;let m=f.info,y=Qp(m,t);if(y<=0)continue;d=!0,n+=y;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,o+=x.reasoning??0,u+=x.cache?.read??0,p+=x.cache?.write??0)}if(d)return{cost:n*zp,tokens:{input:r,output:s,reasoning:o,cacheRead:u,cacheWrite:p}}}function Qp(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?Vp({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function fA(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:u}=Xp(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=Jp(f,o,u,t));d||(p+=Qp(s,t)),n+=p}return n*zp}function yA(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function hA(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function bA(e){if(!e||e.type!=="retry")return;let t=e,n=te(t.message);return{attempt:t.attempt,message:n.length>60?`${n.slice(0,60)}...`:n,next:t.next,details:ie(t.message)}}function xA(e){if(!(!e||e.type!=="retry"))return te(e.message)}function _A(e){return(e.info.summary?.diffs?.length??0)>0}var $f=4e3;function it(e,t=$f){return e.length>t?`${e.slice(0,t)}
|
|
73
|
+
\u2026`:e}function Yp(e){if(e!==void 0)try{return it(JSON.stringify(e,null,2))}catch{return}}function G(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function Ue(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function Mf(e){let t=G(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Ue(e.outputParsed);if(!n)return{kind:"web-search",query:t};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(o=>{let u=Ue(o)??{};return{title:G(u.title)??"",url:G(u.url,u.link)??"",snippet:G(u.snippet,u.description,u.source)}});return{kind:"web-search",query:G(n.query)??t,results:s.length>0?s:void 0,answer:G(n.answer)}}var Df=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function ed(e){let t=e.match(Df);return t?Number(t[1]):void 0}function qf(e,t,n){let r="",s=0;for(;;){let o=e.indexOf(t,s);if(o===-1)return r+e.slice(s);let u=e.indexOf(n,o+t.length);if(u===-1)return r+e.slice(s);r+=e.slice(s,o),s=u+n.length}}var Of=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Uf(e){let t=-1;for(let n of Of){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var Ff=/\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 Lf(e){return e.replace(Ff,"")}function Gf(e){let t=G(e.input?.command)??"",n=e.output??"",r=ed(n),o=Lf(Uf(qf(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:o||void 0,exitCode:r}}function $s(e){return G(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function Bf(e){let t=e.status==="error"?e.error:e.output&&it(e.output)||void 0;return{kind:"file-read",path:$s(e),preview:t}}function Nf(e){let t=G(e.input?.content),n=e.status==="error"?e.error:it(t??e.output??"")||void 0;return{kind:"file-write",path:$s(e),preview:n}}var Kf=256*1024;function Hf(e,t){if(e.length+t.length>Kf)return;let n=e.split(`
|
|
74
74
|
`),r=t.split(`
|
|
75
|
-
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,u=r.length;for(;o>s&&u>s&&n[o-1]===r[u-1];)o--,u--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<u;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function
|
|
76
|
-
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function zf(e){let t=G(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=Zp.test(e.output.trim())?Hf(e.output):Wf(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Vf(e){let t=G(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=G(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function js(e){let t=Ue(e)??{};return{content:G(t.content)??"",status:G(t.status)??"pending",priority:G(t.priority)}}function Jf(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(js)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(js)};let n=Ue(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(js)}:{kind:"todo",items:[]}}function Xf(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Ue(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=Ue(p),f=d&&G(d.label);return f?[{label:f,description:d?G(d.description):void 0}]:[]});return{question:G(s.question)??"",header:G(s.header),options:u}})}}function Qf(e){let n=e.input&&Object.keys(e.input).length>0?Xp(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?it(e.outputParsed):Xp(e.outputParsed):e.outputText!==void 0?r=it(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Yf(e){switch(Wt(e.name)){case"web_search":case"websearch":case"image_search":return Ef(e);case"bash":return Uf(e);case"read":return Ff(e);case"write":return Lf(e);case"edit":case"morph_edit":return Nf(e);case"grep":case"glob":return zf(e);case"task":return Vf(e);case"todowrite":return Jf(e);case"question":case"ask":return Xf(e);default:return Qf(e)}}var Zf=new Set(["AbortError","MessageAbortedError"]),ey=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],ty=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function ed(e){let t=e.toLowerCase();return ty.some(n=>t.includes(n))?!1:ey.some(n=>t.includes(n))}function ny(e){let t=e.data,n=t&&typeof t=="object"?t.message:void 0;return typeof n=="string"?n:typeof e.message=="string"?e.message:void 0}function td(e){if(typeof e=="string")return ed(e);if(!e||typeof e!="object")return!1;let t=e,n=t.name;if(typeof n=="string"&&Zf.has(n))return!0;let r=ny(t);return typeof r=="string"?ed(r):!1}var ry=["user","runtime-disposed","orphan-finalized","wake"],xA=["orphan-finalized","wake"];function _A(e){if(!e||typeof e!="object")return;let t=e.data;if(!t||typeof t!="object")return;let n=t.reason;if(!(typeof n!="string"||!n))return ry.includes(n)?n:void 0}function zt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function sy(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 vA(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 Ms(e,t,n){return e!==void 0?e:sy(zt(t),n)}var AA={get disableMobileAdvertising(){return Ms($().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Ms($().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Ms($().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var Vt="kortix-active-instance",iy=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function oy(e){return iy.some(t=>e===t||e.startsWith(`${t}/`))}function ot(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 RA(e){let t=ot(e);return!!t&&t.innerPath===""}function TA(e){let t=ot(e);return!t||!t.innerPath?e:t.innerPath}function ay(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=ot(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return oy(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function cy(e){return e?ot(e)?.instanceId??null:null}function IA(){return typeof window>"u"?null:cy(window.location.pathname)||ly()}function ly(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${Vt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function EA(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${Vt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${Vt}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${Vt}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function jA(e,t){return t?ay(t,e):e}function $A(e){let t=ot(e);return t?t.innerPath||"/dashboard":e}function Ds(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 uy(e){let t=Ds(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 nd(e){let t=uy(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function DA(e){return nd(e)!==null}var py=[/sandbox not ready/i,/sandbox is not (?:ready|running)/i,/opencode (?:session )?(?:is )?not ready/i,/\bsandbox_not_ready\b/,/\bsandbox_lifecycle_unavailable\b/];function Xt(e){let t=Ds(e);return t?py.some(n=>n.test(t)):!1}var Jt=class extends Error{constructor(t){let n=t?.trim();super(n&&Xt(n)?n:n?`sandbox not ready: ${n}`:"sandbox not ready"),this.name="SandboxNotReadyError"}};function dy(e){let t=nd(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),p=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. ${p}`,detail:o?`${u?`${u}: `:""}${o}`:void 0}}let n=Ds(e);return Xt(n)?{title:"Session is waking up",message:"This session slept to save compute. Your conversation is safe \u2014 sending a message wakes it back up."}:{title:"OpenCode failed to load",message:n||"The sandbox is running, but OpenCode returned an error."}}function Y(){let e=zt("BACKEND_URL")||$().backendUrl;return e||"http://localhost:8008/v1"}function at(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=at(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return at(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var rd=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function sd(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function gy(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 qs(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?`${Y()}/p/${n.external_id}/${pe.KORTIX_MASTER}`:""),status:gy(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 Os(){let e=await Me(),t=[];for(let n of e){let r=await Ze(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:qs(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},o=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return o!==0?o:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function we(e){let t=await Os();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 Qt(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await M(`${Y()}${e}`,{...t,headers:n,signal:r}),o=await s.text().catch(()=>{}),u;if(o)try{u=JSON.parse(o)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||o||`Platform API error ${s.status}`,d=new v(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(o?{rawText:o}:void 0),response:s,endpoint:e});throw s.status===402&&(d=Te(Object.assign(d,{response:s,status:s.status,data:u}))),d}return u}function id(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`${Y()}/p/${e.external_id}/${pe.KORTIX_MASTER}`}function WA(e,t){return e.external_id?`${Y()}/p/${e.external_id}/${t}`:null}async function YA(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function my(e){let t=await we();if(t)return{sandbox:t.sandbox,created:!1};let r=(await Me())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await et(r.project_id,{...e?.provider?{provider:e.provider}:{}}),o=(await De(r.project_id,s.session_id))?.sandbox??null;return{sandbox:qs(r,s,o),created:!0}}async function ZA(){return(await we().catch(()=>null))?.sandbox??null}async function eC(e){return{sandbox:(await my(e)).sandbox}}async function tC(e){let t=at(e);return t?(await we(t).catch(()=>null))?.sandbox??null:null}async function nC(e,t){throw await we(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function rC(e){let t=at(e);return(await Os().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function sC(){if(typeof window>"u")return null;let e=Y(),t=Array.from(new Set([e,...rd]));for(let n of t)try{let r=await fetch(sd(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 iC(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await we(e);if(!t)throw new Error("Project session sandbox not found");await Mt(t.project.project_id,t.session.session_id)}async function oC(e){if(!e)throw new Error("No sandbox selected to stop");let t=await we(e);if(!t)throw new Error("Project session sandbox not found");await Dt(t.project.project_id,t.session.session_id)}async function aC(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function cC(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Us(e,t,n){let r=id(e),s=await M(`${ce(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let o=await s.text().catch(()=>"");throw new Error(o||`Request failed (${s.status})`)}return await s.json()}async function gC(e,t){return Us(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function mC(e,t,n,r="member"){await Us(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function fC(e,t,n){await Us(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function bC(e){let t=await Qt(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function xC(e){let t=await Qt(`/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 _C(e){let t=await Qt(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function kC(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function wC(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function SC(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function vC(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function CC(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function RC(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var fy=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function EC(e){return fy.includes(e)}async function jC(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 $C(e){let t=e?`?channel=${e}`:"",n=await fetch(`${Y()}/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 yy(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function yy(e){let t=e?`?channel=${e}`:"",n=await fetch(`${Y()}/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 MC(){let e=await fetch(`${Y()}/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 DC(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function qC(e){}async function OC(e){}async function GC(e){return{serverTypes:[],location:e||"hel1"}}async function BC(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function NC(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function KC(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function HC(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function WC(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function zC(e,t){return`${Y()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var me=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Yt(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Fs(e,t){let n=new Headers(e.headers);return n.set("Accept","application/json"),t&&n.set("Content-Type","application/json"),e.accessToken&&n.set("Authorization",`Bearer ${e.accessToken}`),n}async function Zt(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function en(e,t){if(t&&typeof t=="object"){let n=t;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof t=="string"&&t?t:e.statusText||`HTTP ${e.status}`}async function N(e,t,n){let r=n?.body!==void 0,s=await fetch(`${Yt(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Fs(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),o=await Zt(s);if(!s.ok)throw new me(en(s,o),s.status,o);return o}function hy(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),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString();return n?`?${n}`:""}function JC(e,t){return N(`/marketplace/items${hy(t)}`,e)}function XC(e){return N("/marketplace/marketplaces",e)}function QC(e,t){return N(`/marketplace/items/${encodeURIComponent(e)}`,t)}function YC(e,t,n){return N(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function ZC(e,t){return N("/access/check-email",t,{method:"POST",body:{email:e}})}function eR(e,t){return N("/access/request-access",t,{method:"POST",body:e})}function tR(e){return N("/auth/logout",e,{method:"POST",body:{}})}function nR(e,t){return N(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function rR(e,t){return N("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function sR(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function iR(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function oR(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/finalize`,t,{method:"POST",body:{}})}function aR(e,t){return N(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function cR(e,t,n){return N(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function lR(e,t){return N(`/p/public-share/${encodeURIComponent(e)}`,t)}function uR(e,t,n){return N(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function pR(e){return N("/system/maintenance",e)}function dR(e,t){return N("/system/maintenance",t,{method:"PUT",body:e})}function gR(e){return N("/user-roles",e)}function mR(e,t){return N("/system/demo-request",t,{method:"POST",body:e})}async function fR(e,t,n){let r=new URLSearchParams({format:t.format});t.action&&r.set("action",t.action),t.actor&&r.set("actor",t.actor),t.project_id&&r.set("project_id",t.project_id),t.session_id&&r.set("session_id",t.session_id),t.actor_type&&r.set("actor_type",t.actor_type),t.source&&r.set("source",t.source),t.phase&&r.set("phase",t.phase),t.outcome&&r.set("outcome",t.outcome),t.request_id&&r.set("request_id",t.request_id),t.correlation_id&&r.set("correlation_id",t.correlation_id),t.resource_type&&r.set("resource_type",t.resource_type),t.since&&r.set("since",t.since),t.until&&r.set("until",t.until),t.q&&r.set("q",t.q),t.cursor&&r.set("cursor",t.cursor),t.limit!=null&&r.set("limit",String(t.limit));let s=await fetch(`${Yt(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Fs(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await Zt(s);throw new me(en(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count"),complete:s.headers.get("x-audit-complete")!=="false",nextCursor:s.headers.get("x-audit-next-cursor")||null}}async function yR(e,t){let n=await fetch(`${Yt(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Fs(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await Zt(n);throw new me(en(n,r),n.status,r)}if(!n.body)throw new me("No response body",n.status,null);return n.body}var by=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function xy(e,t){return by.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${Yt(e)}/`):null}async function hR(e,t,n){let r=xy(e,t);if(!r)throw new me("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await Zt(s);if(!s.ok)throw new me(en(s,o),s.status,o);return o}async function _R(){let e=await i.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 PR(e={}){let t=await i.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 kR(e){let t=await i.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug,client_id:e.clientId,client_secret:e.clientSecret},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function wR(e){let t=await i.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 SR(){let e=await i.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}var _y="/kortix/part/";function Py(e){return typeof e=="string"&&e.startsWith(_y)}async function RR(e){if(!Py(e))throw new Error(`not an attachment part reference: ${e}`);let t=re();if(!t)throw new Error("runtime url not bound");let n=await M(`${t}${e}`);if(!n.ok)throw new Error(`attachment part fetch failed: ${n.status}`);return n.blob()}function od(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 ky(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(t)try{o.add(new URL(t).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function ad(e,t){return ky(e,t)?(t?od(t):null)??od(e):null}function cd(e){try{let{hostname:t}=new URL(e);return/^p\d+-[^.]+\./.test(t)||/^(?:dev|staging|prod|preview)-p\d+-[a-z0-9-]+\./i.test(t)}catch{return!1}}function ld(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function wy(e,t={}){let n=ad(e,t.serverUrl);if(!n)return!1;let r=await Be();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}async function $R(e,t={}){if(cd(e)){let n=await Be();return n?ld(e,n):e}return await wy(e,t),e}var DR=3e3;function Sy(e){return!Number.isFinite(e)||e<100||e>599?"unknown":e===502||e===503||e===504?"unreachable":e===401||e===403?"unknown":"reachable"}async function qR(e,t){if(!e||t?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();t?.signal?.addEventListener("abort",r);let s=setTimeout(r,t?.timeoutMs??3e3);try{let o=await fetch(e,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return Sy(o.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function Ls(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function UR(e,t){return`${Ls(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function FR(e,t){return`${Ls(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function vy(e,t){return`${Ls(e)}/presentation/convert-to-${t}`}async function LR(e,t,n,r){let s=vy(t,e),o=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let k=await f.blob();if(k.size===0)throw new Error("Downloaded file is empty");return k}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((k,T)=>{let E=setTimeout(k,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(E),T(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),_=f.statusText;try{let k=JSON.parse(x);_=String(k.error||k.detail||k.message||_)}catch{x&&(_=x)}throw new Error(`Failed to download ${e.toUpperCase()}: ${_} (HTTP ${f.status})`)}}function BR(e){return e.activityFresh||e.runtimeReady?"live":e.unreachable||e.stalled?"unreachable":e.sandbox==="stopped"||e.sandbox==="archived"||e.sandbox==="provisioning"||e.sandbox==="queued"||e.sandbox==="branching"?"waking":e.sandbox==="completed"?"unknown":e.sandbox==="failed"?"unreachable":e.sandbox==="running"?"connecting":"unknown"}function NR(e){return e==="unreachable"}var HR=6e4,WR=45e3,zR=45e3,VR=1e4,JR=3e3,XR=15e3;function QR(e,t){return t?t.serverAtMs!=null&&e.serverAtMs!=null?e.serverAtMs>=t.serverAtMs:e.atMs>=t.atMs:!0}function YR(e){let t=0;for(let n of e)(n.state==="queued"||n.state==="delivering"||n.state==="waiting"&&n.reason!=="held")&&(t+=1);return t}function Gs(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function ZR(e){let{optimistic:t,abort:n,inbox:r,server:s,stream:o,activity:u,nowMs:p}=e,d=!!t&&p-t.atMs<6e4,f=t?t.turnId===void 0?t.messageId:t.turnId:null,m=d?t.acceptedAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,y=d?t.atMs:Number.NEGATIVE_INFINITY,x=!!n&&p-n.atMs<15e3,_=x?n.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,k=!!s&&p-s.atMs<=45e3,T=!!o&&p-o.atMs<=45e3,E=!!r&&p-r.atMs<=1e4,l=o&&o.type==="idle"&&o.origin!=="local"?o:null,c=!!u&&p-u.atMs<=45e3&&(!l||u.atMs>l.atMs),A=B=>{if(!l)return!1;let O=Gs(B.started_at);return!(O===null||O>=l.atMs)};if(c)return{state:"working",source:"stream",turnId:null,since:u.atMs,serverOpenTurnToken:s?.turns[0]?.turn_token??null};let R=s?.turns[0]?.turn_token??null,j=k?s.turns.find(B=>!A(B)):void 0,q=!!o&&!(o.type==="idle"&&o.origin==="local");if(j&&s.atMs>=_&&(!q||s.atMs>=o.atMs))return{state:"working",source:"server",turnId:j.message_id,since:Gs(j.started_at)??s.atMs,serverOpenTurnToken:R};if(E&&r.pending>0)return{state:"working",source:"server",turnId:d?f:null,since:r.atMs,serverOpenTurnToken:R};let D=r?.drainedAtMs;if(E&&r.pending===0&&D!=null&&!x&&!(k&&s.atMs>=D))return{state:"working",source:"server",turnId:null,since:D,serverOpenTurnToken:R};let J=k&&!j&&s.atMs>=m,h=T&&o.atMs>=y;if(J&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:Gs(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:R};if(h)return{state:o.type==="idle"?"idle":"working",source:"stream",turnId:null,since:o.atMs,serverOpenTurnToken:R};if(d)return{state:"working",source:"optimistic",turnId:f,since:t.atMs,serverOpenTurnToken:R};let I=s&&o?s.atMs>=o.atMs?{source:"server",atMs:s.atMs}:{source:"stream",atMs:o.atMs}:s?{source:"server",atMs:s.atMs}:o?{source:"stream",atMs:o.atMs}:{source:"server",atMs:p};return{state:"idle",source:I.source,turnId:null,since:I.atMs,serverOpenTurnToken:R}}function eT(e){let{optimistic:t,abort:n,inbox:r,server:s,stream:o,activity:u,nowMs:p}=e,d=[null,t?t.atMs+6e4:null,n?n.atMs+15e3:null,r?r.atMs+1e4:null,s?s.atMs+45e3:null,o?o.atMs+45e3:null,u?u.atMs+45e3:null],f=null;for(let m of d)m===null||m<=p||(f===null||m<f)&&(f=m);return f}var nT=6e4;function rT(e){return e.serverCompactingAtMs!==null?!0:e.optimisticAtMs===null?!1:e.nowMs-e.optimisticAtMs<6e4}function sT(e){if(e.serverCompactingAtMs!==null||e.optimisticAtMs===null)return null;let t=e.optimisticAtMs+6e4;return t>e.nowMs?t:null}var Ay=9e4;function iT(e){return e.serverCompactingAtMs===null?null:e.serverCompactingAtMs+Ay}var aT=75e3,cT=2,lT=2e4;function ud(){return{status:"idle",dispatch:"none",fingerprint:null,lastProgressAtMs:null,lastDispatchAtMs:null,attempts:[],msSinceProgress:0,settled:!1}}function uT(e){return e.filter(t=>t!=null).join("|")}function Cy(e,t){return e.length===0?"retry-start":e.filter(r=>r.step==="restart").length<t?"restart":null}function pT(e,t,n={}){let r=n.noProgressMs??75e3,s=n.maxRestarts??2,o=n.cooldownMs??2e4;if(t.runtimeReachable)return{...ud(),settled:!0};if(!t.waking)return{...e,dispatch:"none",fingerprint:null,lastProgressAtMs:null,msSinceProgress:0};if(e.settled)return{...ud(),settled:!0};let u=e.lastProgressAtMs,p=u===null,d=t.progress!==e.fingerprint,f=u===null||d?t.nowMs:u,m=Math.max(0,t.nowMs-f),y={...e,dispatch:"none",fingerprint:t.progress,lastProgressAtMs:f,msSinceProgress:m,status:e.attempts.length>0?"escalating":"waking"};if(e.status==="exhausted")return{...y,status:"exhausted"};let x=!p&&!d&&m>=r;if(!t.serverGaveUp&&!x||e.lastDispatchAtMs!==null&&t.nowMs-e.lastDispatchAtMs<o)return y;let _=Cy(e.attempts,s);return _?{...y,status:"escalating",dispatch:_,attempts:[...e.attempts,{step:_,atMs:t.nowMs}],lastDispatchAtMs:t.nowMs,lastProgressAtMs:t.nowMs,msSinceProgress:0}:{...y,status:"exhausted"}}var Ry={"retry-start":"retrying",restart:"restarting"};function dT(e){if(e.status!=="escalating")return null;let t=e.attempts[e.attempts.length-1];return t?`Still waking \u2014 ${Ry[t.step]} the runtime (attempt ${e.attempts.length+1})`:null}function Ty(e){return e===1?"once":e===2?"twice":`${e} times`}function gT(e){if(e.status!=="exhausted")return null;let t=e.attempts.filter(s=>s.step==="restart").length,n=e.attempts.some(s=>s.step==="retry-start");if(!n&&t===0)return null;let r=[];return n&&r.push("re-issuing the wake"),t>0&&r.push(`restarting the session ${Ty(t)}`),`Tried: ${r.join(", then ")}.`}var Iy=1e3,Ey=15e3,pd=100,jy=50,$y=10;function dd(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s},o)=>{let u=new URLSearchParams({limit:String(r)});s&&u.set("before",s);let p=await e.getToken?.(),d=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${u}`,{headers:p?{Authorization:`Bearer ${p}`}:void 0,...o?{signal:o}:{}});if(!d.ok)throw d.status===503?new Jt(`session ${d.status}`):new v(`Session synchronization failed: ${d.status}`,{status:d.status});return{messages:await d.json(),nextCursor:d.headers.get("x-next-cursor")||void 0}}}function My(e){return qy(dd(e))}function Dy(e){return new Bs({...e,loadPage:dd(e)})}async function qy(e){let t=[],n=new Set,r;do{let u=await e({limit:pd,...r?{before:r}:{}});if(t.push(u.messages),r=u.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);let s=[],o=new Set;for(let u=t.length-1;u>=0;u--)for(let p of t[u])o.has(p.info.id)||(o.add(p.info.id),s.push(p));return s}var Oy={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Bs=class{options;scheduler;livenessIntervalMs;verifyIntervalMs;lastTailReadAt;retryAttempt=0;tailUnavailable=!1;tailRetryTimer;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;lastActivityAt;listeners=new Set;destroyed=!1;abortController=new AbortController;constructor(t){this.options=t,this.scheduler=t.scheduler??Oy,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.verifyIntervalMs=t.verifyIntervalMs??3e4,this.lastActivityAt=this.scheduler.now(),this.lastTailReadAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"||this.snapshot.freshness==="loading"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}setBusy(t){if(!t){let n=this.livenessTimer!==void 0;this.stopLivenessTimer(),n&&!this.destroyed&&this.reconcile("turn-end");return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.tailRetryTimer!==void 0&&(this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0),this.abortController.abort(),this.listeners.clear()}async loadTail(t){this.lastTailReadAt=this.scheduler.now();try{let n=await this.loadPage("tail",t);if(this.destroyed)return;this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted||this.setCursor(n.nextCursor),this.update({freshness:"fresh"}),this.options.markLoaded(),this.retryAttempt=0,this.tailUnavailable=!1}catch(n){if(this.destroyed||td(n)||this.abortController.signal.aborted)return;if(this.update({freshness:Xt(n)?"loading":"error"}),n instanceof v&&(n.status===404||n.status===410)){this.tailUnavailable=!0,this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0;return}this.scheduleTailRetry(t)}}scheduleTailRetry(t){if(this.destroyed||this.tailRetryTimer!==void 0)return;let n=Math.min(Iy*2**this.retryAttempt,Ey);this.retryAttempt+=1,this.tailRetryTimer=this.startTimer(()=>{this.tailRetryTimer=void 0,!this.destroyed&&this.reconcile(t)},n)}async loadPage(t,n,r){let s=this.scheduler.now();try{let o=await this.options.loadPage({limit:t==="tail"?jy:pd,...r?{before:r}:{}},this.abortController.signal);return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t,r=>{this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.setCursor(r.nextCursor)})}async loadCompleteTurn(t,n,r,s,o){let u=[...t.messages],p=new Set(this.knownUserMessageIds),d=new Set(s?[s]:[]),f=t.nextCursor,m=0;for(let y of t.messages)y.info.role==="user"&&p.add(y.info.id);for(;f&&m<$y&&u.some(y=>y.info.role==="assistant"&&!!y.info.parentID&&!p.has(y.info.parentID));){if(d.has(f))throw new Error(`Session history cursor repeated: ${f}`);d.add(f);let y;try{y=await this.loadPage(n,r,f)}catch(x){throw o?.({messages:[...u],nextCursor:f}),x}if(this.destroyed)return{messages:u,nextCursor:f};m+=1,u.unshift(...y.messages);for(let x of y.messages)x.info.role==="user"&&p.add(x.info.id);f=y.nextCursor,o?.({messages:[...u],nextCursor:f})}return{messages:u,nextCursor:f}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){if(this.destroyed||this.tailUnavailable)return;let t=this.scheduler.now(),n=t-this.lastActivityAt>this.livenessIntervalMs,r=t-this.lastTailReadAt>=this.verifyIntervalMs;!n&&!r||(await this.raceDeadline(this.reconcile("poll"),this.livenessIntervalMs),this.lastActivityAt=this.scheduler.now())}raceDeadline(t,n){return new Promise(r=>{let s,o=!1,u=()=>{o||(o=!0,this.cancelTimer(s),r())};s=this.startTimer(u,n),t.then(u,u)})}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}startTimer(t,n){return this.scheduler.setTimeout?this.scheduler.setTimeout(t,n):setTimeout(t,n)}cancelTimer(t){t!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(t):clearTimeout(t))}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder)){this.snapshot=n;for(let r of this.listeners)r()}}};function Uy(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Fy(e){let{url:t,token:n,method:r="GET",body:s,onEvent:o,onOpen:u,onError:p,signal:d}=e,f=new Map,m=null,y=!1;function x(l,b){o?.(l,b);let c=f.get(l);if(c)for(let A of c)try{A(b)}catch{}}async function _(){if(y)return;m=new AbortController;let l=d?AbortSignal.any([m.signal,d]):m.signal;try{let b={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(b["Content-Type"]="application/json");let c=await fetch(t,{method:r,headers:b,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:l,credentials:"include"});if(!c.ok)throw new Error(`SSE connection failed: ${c.status} ${c.statusText}`);if(!c.body)throw new Error("SSE response has no body");u?.();let A=c.body.getReader(),S=new TextDecoder,R="",j="message",q="";for(;!y;){let{done:D,value:Z}=await A.read();if(D)break;R+=S.decode(Z,{stream:!0});let J=R.split(`
|
|
75
|
+
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,u=r.length;for(;o>s&&u>s&&n[o-1]===r[u-1];)o--,u--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<u;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function Wf(e){let t=G(e.input?.oldString),n=G(e.input?.newString),r=t!==void 0&&n!==void 0?Hf(t,n):void 0;return{kind:"file-edit",path:$s(e),diff:r}}var td=/^Found\s+(\d+)\s+match/i,zf=/^(\/[^:]+?):\s*/,Zp=/Line\s+(\d+):/g;function Vf(e){let t=e.trim(),n=t.match(td),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let o of r.split(/\n\n+/)){let u=o.trim();if(!u)continue;let p=u.match(zf);if(!p)continue;let d=p[1],f=u.slice(p[0].length),m=[],y;for(Zp.lastIndex=0;(y=Zp.exec(f))!==null;)m.push({line:Number(y[1]),contentStart:y.index+y[0].length,headerStart:y.index});for(let x=0;x<m.length;x++){let _=x+1<m.length?m[x+1].headerStart:f.length,k=f.slice(m[x].contentStart,_).trim();s.push({path:d,line:m[x].line,content:k.endsWith(";")?k.slice(0,-1):k})}}return s}function Jf(e){return e.trim().split(`
|
|
76
|
+
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Xf(e){let t=G(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=td.test(e.output.trim())?Vf(e.output):Jf(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Qf(e){let t=G(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=G(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function js(e){let t=Ue(e)??{};return{content:G(t.content)??"",status:G(t.status)??"pending",priority:G(t.priority)}}function Yf(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(js)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(js)};let n=Ue(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(js)}:{kind:"todo",items:[]}}function Zf(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Ue(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=Ue(p),f=d&&G(d.label);return f?[{label:f,description:d?G(d.description):void 0}]:[]});return{question:G(s.question)??"",header:G(s.header),options:u}})}}function ey(e){let n=e.input&&Object.keys(e.input).length>0?Yp(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?it(e.outputParsed):Yp(e.outputParsed):e.outputText!==void 0?r=it(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function ty(e){switch(Wt(e.name)){case"web_search":case"websearch":case"image_search":return Mf(e);case"bash":return Gf(e);case"read":return Bf(e);case"write":return Nf(e);case"edit":case"morph_edit":return Wf(e);case"grep":case"glob":return Xf(e);case"task":return Qf(e);case"todowrite":return Yf(e);case"question":case"ask":return Zf(e);default:return ey(e)}}var ny=new Set(["AbortError","MessageAbortedError"]),ry=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],sy=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function nd(e){let t=e.toLowerCase();return sy.some(n=>t.includes(n))?!1:ry.some(n=>t.includes(n))}function iy(e){let t=e.data,n=t&&typeof t=="object"?t.message:void 0;return typeof n=="string"?n:typeof e.message=="string"?e.message:void 0}function rd(e){if(typeof e=="string")return nd(e);if(!e||typeof e!="object")return!1;let t=e,n=t.name;if(typeof n=="string"&&ny.has(n))return!0;let r=iy(t);return typeof r=="string"?nd(r):!1}var oy=["user","runtime-disposed","orphan-finalized","wake"],SA=["orphan-finalized","wake"];function vA(e){if(!e||typeof e!="object")return;let t=e.data;if(!t||typeof t!="object")return;let n=t.reason;if(!(typeof n!="string"||!n))return oy.includes(n)?n:void 0}function zt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function ay(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 IA(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 Ms(e,t,n){return e!==void 0?e:ay(zt(t),n)}var EA={get disableMobileAdvertising(){return Ms($().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Ms($().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Ms($().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var Vt="kortix-active-instance",cy=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function ly(e){return cy.some(t=>e===t||e.startsWith(`${t}/`))}function ot(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 $A(e){let t=ot(e);return!!t&&t.innerPath===""}function MA(e){let t=ot(e);return!t||!t.innerPath?e:t.innerPath}function uy(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=ot(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return ly(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function py(e){return e?ot(e)?.instanceId??null:null}function DA(){return typeof window>"u"?null:py(window.location.pathname)||dy()}function dy(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${Vt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function qA(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${Vt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${Vt}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${Vt}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function OA(e,t){return t?uy(t,e):e}function UA(e){let t=ot(e);return t?t.innerPath||"/dashboard":e}function Ds(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 gy(e){let t=Ds(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 sd(e){let t=gy(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function LA(e){return sd(e)!==null}var my=[/sandbox not ready/i,/sandbox is not (?:ready|running)/i,/opencode (?:session )?(?:is )?not ready/i,/\bsandbox_not_ready\b/,/\bsandbox_lifecycle_unavailable\b/];function Xt(e){let t=Ds(e);return t?my.some(n=>n.test(t)):!1}var Jt=class extends Error{constructor(t){let n=t?.trim();super(n&&Xt(n)?n:n?`sandbox not ready: ${n}`:"sandbox not ready"),this.name="SandboxNotReadyError"}};function fy(e){let t=sd(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),p=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. ${p}`,detail:o?`${u?`${u}: `:""}${o}`:void 0}}let n=Ds(e);return Xt(n)?{title:"Session is waking up",message:"This session slept to save compute. Your conversation is safe \u2014 sending a message wakes it back up."}:{title:"OpenCode failed to load",message:n||"The sandbox is running, but OpenCode returned an error."}}function Y(){let e=zt("BACKEND_URL")||$().backendUrl;return e||"http://localhost:8008/v1"}function at(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=at(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return at(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var id=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function od(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function yy(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 qs(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?`${Y()}/p/${n.external_id}/${pe.KORTIX_MASTER}`:""),status:yy(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 Os(){let e=await Me(),t=[];for(let n of e){let r=await Ze(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:qs(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},o=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return o!==0?o:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function we(e){let t=await Os();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 Qt(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await M(`${Y()}${e}`,{...t,headers:n,signal:r}),o=await s.text().catch(()=>{}),u;if(o)try{u=JSON.parse(o)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||o||`Platform API error ${s.status}`,d=new v(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(o?{rawText:o}:void 0),response:s,endpoint:e});throw s.status===402&&(d=Te(Object.assign(d,{response:s,status:s.status,data:u}))),d}return u}function ad(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`${Y()}/p/${e.external_id}/${pe.KORTIX_MASTER}`}function QA(e,t){return e.external_id?`${Y()}/p/${e.external_id}/${t}`:null}async function rC(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function hy(e){let t=await we();if(t)return{sandbox:t.sandbox,created:!1};let r=(await Me())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await et(r.project_id,{...e?.provider?{provider:e.provider}:{}}),o=(await De(r.project_id,s.session_id))?.sandbox??null;return{sandbox:qs(r,s,o),created:!0}}async function sC(){return(await we().catch(()=>null))?.sandbox??null}async function iC(e){return{sandbox:(await hy(e)).sandbox}}async function oC(e){let t=at(e);return t?(await we(t).catch(()=>null))?.sandbox??null:null}async function aC(e,t){throw await we(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function cC(e){let t=at(e);return(await Os().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function lC(){if(typeof window>"u")return null;let e=Y(),t=Array.from(new Set([e,...id]));for(let n of t)try{let r=await fetch(od(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 uC(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await we(e);if(!t)throw new Error("Project session sandbox not found");await Mt(t.project.project_id,t.session.session_id)}async function pC(e){if(!e)throw new Error("No sandbox selected to stop");let t=await we(e);if(!t)throw new Error("Project session sandbox not found");await Dt(t.project.project_id,t.session.session_id)}async function dC(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function gC(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Us(e,t,n){let r=ad(e),s=await M(`${ce(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let o=await s.text().catch(()=>"");throw new Error(o||`Request failed (${s.status})`)}return await s.json()}async function bC(e,t){return Us(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function xC(e,t,n,r="member"){await Us(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function _C(e,t,n){await Us(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function wC(e){let t=await Qt(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function SC(e){let t=await Qt(`/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 vC(e){let t=await Qt(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function CC(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function RC(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function TC(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function IC(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function jC(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function $C(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var by=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function qC(e){return by.includes(e)}async function OC(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 UC(e){let t=e?`?channel=${e}`:"",n=await fetch(`${Y()}/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 xy(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function xy(e){let t=e?`?channel=${e}`:"",n=await fetch(`${Y()}/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 FC(){let e=await fetch(`${Y()}/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 LC(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function GC(e){}async function BC(e){}async function WC(e){return{serverTypes:[],location:e||"hel1"}}async function zC(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function VC(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function JC(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function XC(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function QC(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function YC(e,t){return`${Y()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var me=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Yt(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Fs(e,t){let n=new Headers(e.headers);return n.set("Accept","application/json"),t&&n.set("Content-Type","application/json"),e.accessToken&&n.set("Authorization",`Bearer ${e.accessToken}`),n}async function Zt(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function en(e,t){if(t&&typeof t=="object"){let n=t;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof t=="string"&&t?t:e.statusText||`HTTP ${e.status}`}async function N(e,t,n){let r=n?.body!==void 0,s=await fetch(`${Yt(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Fs(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),o=await Zt(s);if(!s.ok)throw new me(en(s,o),s.status,o);return o}function _y(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),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString();return n?`?${n}`:""}function eR(e,t){return N(`/marketplace/items${_y(t)}`,e)}function tR(e){return N("/marketplace/marketplaces",e)}function nR(e,t){return N(`/marketplace/items/${encodeURIComponent(e)}`,t)}function rR(e,t,n){return N(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function sR(e,t){return N("/access/check-email",t,{method:"POST",body:{email:e}})}function iR(e,t){return N("/access/request-access",t,{method:"POST",body:e})}function oR(e){return N("/auth/logout",e,{method:"POST",body:{}})}function aR(e,t){return N(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function cR(e,t){return N("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function lR(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function uR(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function pR(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/finalize`,t,{method:"POST",body:{}})}function dR(e,t){return N(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function gR(e,t,n){return N(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function mR(e,t){return N(`/p/public-share/${encodeURIComponent(e)}`,t)}function fR(e,t,n){return N(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function yR(e){return N("/system/maintenance",e)}function hR(e,t){return N("/system/maintenance",t,{method:"PUT",body:e})}function bR(e){return N("/user-roles",e)}function xR(e,t){return N("/system/demo-request",t,{method:"POST",body:e})}async function _R(e,t,n){let r=new URLSearchParams({format:t.format});t.action&&r.set("action",t.action),t.actor&&r.set("actor",t.actor),t.project_id&&r.set("project_id",t.project_id),t.session_id&&r.set("session_id",t.session_id),t.actor_type&&r.set("actor_type",t.actor_type),t.source&&r.set("source",t.source),t.phase&&r.set("phase",t.phase),t.outcome&&r.set("outcome",t.outcome),t.request_id&&r.set("request_id",t.request_id),t.correlation_id&&r.set("correlation_id",t.correlation_id),t.resource_type&&r.set("resource_type",t.resource_type),t.since&&r.set("since",t.since),t.until&&r.set("until",t.until),t.q&&r.set("q",t.q),t.cursor&&r.set("cursor",t.cursor),t.limit!=null&&r.set("limit",String(t.limit));let s=await fetch(`${Yt(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Fs(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await Zt(s);throw new me(en(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count"),complete:s.headers.get("x-audit-complete")!=="false",nextCursor:s.headers.get("x-audit-next-cursor")||null}}async function PR(e,t){let n=await fetch(`${Yt(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Fs(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await Zt(n);throw new me(en(n,r),n.status,r)}if(!n.body)throw new me("No response body",n.status,null);return n.body}var Py=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ky(e,t){return Py.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${Yt(e)}/`):null}async function kR(e,t,n){let r=ky(e,t);if(!r)throw new me("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await Zt(s);if(!s.ok)throw new me(en(s,o),s.status,o);return o}async function vR(){let e=await i.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 AR(e={}){let t=await i.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 CR(e){let t=await i.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug,client_id:e.clientId,client_secret:e.clientSecret},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function RR(e){let t=await i.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 TR(){let e=await i.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}var wy="/kortix/part/";function Sy(e){return typeof e=="string"&&e.startsWith(wy)}async function $R(e){if(!Sy(e))throw new Error(`not an attachment part reference: ${e}`);let t=re();if(!t)throw new Error("runtime url not bound");let n=await M(`${t}${e}`);if(!n.ok)throw new Error(`attachment part fetch failed: ${n.status}`);return n.blob()}function cd(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 vy(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(t)try{o.add(new URL(t).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function ld(e,t){return vy(e,t)?(t?cd(t):null)??cd(e):null}function ud(e){try{let{hostname:t}=new URL(e);return/^p\d+-[^.]+\./.test(t)||/^(?:dev|staging|prod|preview)-p\d+-[a-z0-9-]+\./i.test(t)}catch{return!1}}function pd(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function Ay(e,t={}){let n=ld(e,t.serverUrl);if(!n)return!1;let r=await Be();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}async function UR(e,t={}){if(ud(e)){let n=await Be();return n?pd(e,n):e}return await Ay(e,t),e}var LR=3e3;function Cy(e){return!Number.isFinite(e)||e<100||e>599?"unknown":e===502||e===503||e===504?"unreachable":e===401||e===403?"unknown":"reachable"}async function GR(e,t){if(!e||t?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();t?.signal?.addEventListener("abort",r);let s=setTimeout(r,t?.timeoutMs??3e3);try{let o=await fetch(e,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return Cy(o.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function Ls(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function NR(e,t){return`${Ls(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function KR(e,t){return`${Ls(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function Ry(e,t){return`${Ls(e)}/presentation/convert-to-${t}`}async function HR(e,t,n,r){let s=Ry(t,e),o=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let k=await f.blob();if(k.size===0)throw new Error("Downloaded file is empty");return k}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((k,T)=>{let E=setTimeout(k,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(E),T(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),_=f.statusText;try{let k=JSON.parse(x);_=String(k.error||k.detail||k.message||_)}catch{x&&(_=x)}throw new Error(`Failed to download ${e.toUpperCase()}: ${_} (HTTP ${f.status})`)}}function zR(e){return e.activityFresh||e.runtimeReady?"live":e.unreachable||e.stalled?"unreachable":e.sandbox==="stopped"||e.sandbox==="archived"||e.sandbox==="provisioning"||e.sandbox==="queued"||e.sandbox==="branching"?"waking":e.sandbox==="completed"?"unknown":e.sandbox==="failed"?"unreachable":e.sandbox==="running"?"connecting":"unknown"}function VR(e){return e==="unreachable"}var XR=6e4,QR=45e3,YR=45e3,ZR=1e4,eT=3e3,tT=15e3;function nT(e,t){return t?t.serverAtMs!=null&&e.serverAtMs!=null?e.serverAtMs>=t.serverAtMs:e.atMs>=t.atMs:!0}function rT(e){let t=0;for(let n of e)(n.state==="queued"||n.state==="delivering"||n.state==="waiting"&&n.reason!=="held")&&(t+=1);return t}function Gs(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function sT(e){let{optimistic:t,abort:n,inbox:r,server:s,stream:o,activity:u,nowMs:p}=e,d=!!t&&p-t.atMs<6e4,f=t?t.turnId===void 0?t.messageId:t.turnId:null,m=d?t.acceptedAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,y=d?t.atMs:Number.NEGATIVE_INFINITY,x=!!n&&p-n.atMs<15e3,_=x?n.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,k=!!s&&p-s.atMs<=45e3,T=!!o&&p-o.atMs<=45e3,E=!!r&&p-r.atMs<=1e4,l=o&&o.type==="idle"&&o.origin!=="local"?o:null,c=!!u&&p-u.atMs<=45e3&&(!l||u.atMs>l.atMs),A=B=>{if(!l)return!1;let O=Gs(B.started_at);return!(O===null||O>=l.atMs)};if(c)return{state:"working",source:"stream",turnId:null,since:u.atMs,serverOpenTurnToken:s?.turns[0]?.turn_token??null};let R=s?.turns[0]?.turn_token??null,j=k?s.turns.find(B=>!A(B)):void 0,q=!!o&&!(o.type==="idle"&&o.origin==="local");if(j&&s.atMs>=_&&(!q||s.atMs>=o.atMs))return{state:"working",source:"server",turnId:j.message_id,since:Gs(j.started_at)??s.atMs,serverOpenTurnToken:R};if(E&&r.pending>0)return{state:"working",source:"server",turnId:d?f:null,since:r.atMs,serverOpenTurnToken:R};let D=r?.drainedAtMs;if(E&&r.pending===0&&D!=null&&!x&&!(k&&s.atMs>=D))return{state:"working",source:"server",turnId:null,since:D,serverOpenTurnToken:R};let J=k&&!j&&s.atMs>=m,h=T&&o.atMs>=y;if(J&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:Gs(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:R};if(h)return{state:o.type==="idle"?"idle":"working",source:"stream",turnId:null,since:o.atMs,serverOpenTurnToken:R};if(d)return{state:"working",source:"optimistic",turnId:f,since:t.atMs,serverOpenTurnToken:R};let I=s&&o?s.atMs>=o.atMs?{source:"server",atMs:s.atMs}:{source:"stream",atMs:o.atMs}:s?{source:"server",atMs:s.atMs}:o?{source:"stream",atMs:o.atMs}:{source:"server",atMs:p};return{state:"idle",source:I.source,turnId:null,since:I.atMs,serverOpenTurnToken:R}}function iT(e){let{optimistic:t,abort:n,inbox:r,server:s,stream:o,activity:u,nowMs:p}=e,d=[null,t?t.atMs+6e4:null,n?n.atMs+15e3:null,r?r.atMs+1e4:null,s?s.atMs+45e3:null,o?o.atMs+45e3:null,u?u.atMs+45e3:null],f=null;for(let m of d)m===null||m<=p||(f===null||m<f)&&(f=m);return f}var aT=6e4;function cT(e){return e.serverCompactingAtMs!==null?!0:e.optimisticAtMs===null?!1:e.nowMs-e.optimisticAtMs<6e4}function lT(e){if(e.serverCompactingAtMs!==null||e.optimisticAtMs===null)return null;let t=e.optimisticAtMs+6e4;return t>e.nowMs?t:null}var Ty=9e4;function uT(e){return e.serverCompactingAtMs===null?null:e.serverCompactingAtMs+Ty}var dT=75e3,gT=2,mT=2e4;function dd(){return{status:"idle",dispatch:"none",fingerprint:null,lastProgressAtMs:null,lastDispatchAtMs:null,attempts:[],msSinceProgress:0,settled:!1}}function fT(e){return e.filter(t=>t!=null).join("|")}function Iy(e,t){return e.length===0?"retry-start":e.filter(r=>r.step==="restart").length<t?"restart":null}function yT(e,t,n={}){let r=n.noProgressMs??75e3,s=n.maxRestarts??2,o=n.cooldownMs??2e4;if(t.runtimeReachable)return{...dd(),settled:!0};if(!t.waking)return{...e,dispatch:"none",fingerprint:null,lastProgressAtMs:null,msSinceProgress:0};if(e.settled)return{...dd(),settled:!0};let u=e.lastProgressAtMs,p=u===null,d=t.progress!==e.fingerprint,f=u===null||d?t.nowMs:u,m=Math.max(0,t.nowMs-f),y={...e,dispatch:"none",fingerprint:t.progress,lastProgressAtMs:f,msSinceProgress:m,status:e.attempts.length>0?"escalating":"waking"};if(e.status==="exhausted")return{...y,status:"exhausted"};let x=!p&&!d&&m>=r;if(!t.serverGaveUp&&!x||e.lastDispatchAtMs!==null&&t.nowMs-e.lastDispatchAtMs<o)return y;let _=Iy(e.attempts,s);return _?{...y,status:"escalating",dispatch:_,attempts:[...e.attempts,{step:_,atMs:t.nowMs}],lastDispatchAtMs:t.nowMs,lastProgressAtMs:t.nowMs,msSinceProgress:0}:{...y,status:"exhausted"}}var Ey={"retry-start":"retrying",restart:"restarting"};function hT(e){if(e.status!=="escalating")return null;let t=e.attempts[e.attempts.length-1];return t?`Still waking \u2014 ${Ey[t.step]} the runtime (attempt ${e.attempts.length+1})`:null}function jy(e){return e===1?"once":e===2?"twice":`${e} times`}function bT(e){if(e.status!=="exhausted")return null;let t=e.attempts.filter(s=>s.step==="restart").length,n=e.attempts.some(s=>s.step==="retry-start");if(!n&&t===0)return null;let r=[];return n&&r.push("re-issuing the wake"),t>0&&r.push(`restarting the session ${jy(t)}`),`Tried: ${r.join(", then ")}.`}var $y=1e3,My=15e3,gd=100,Dy=50,qy=10;function md(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s},o)=>{let u=new URLSearchParams({limit:String(r)});s&&u.set("before",s);let p=await e.getToken?.(),d=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${u}`,{headers:p?{Authorization:`Bearer ${p}`}:void 0,...o?{signal:o}:{}});if(!d.ok)throw d.status===503?new Jt(`session ${d.status}`):new v(`Session synchronization failed: ${d.status}`,{status:d.status});return{messages:await d.json(),nextCursor:d.headers.get("x-next-cursor")||void 0}}}function Oy(e){return Fy(md(e))}function Uy(e){return new Bs({...e,loadPage:md(e)})}async function Fy(e){let t=[],n=new Set,r;do{let u=await e({limit:gd,...r?{before:r}:{}});if(t.push(u.messages),r=u.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);let s=[],o=new Set;for(let u=t.length-1;u>=0;u--)for(let p of t[u])o.has(p.info.id)||(o.add(p.info.id),s.push(p));return s}var Ly={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Bs=class{options;scheduler;livenessIntervalMs;verifyIntervalMs;lastTailReadAt;retryAttempt=0;tailUnavailable=!1;tailRetryTimer;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;lastActivityAt;listeners=new Set;destroyed=!1;abortController=new AbortController;constructor(t){this.options=t,this.scheduler=t.scheduler??Ly,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.verifyIntervalMs=t.verifyIntervalMs??3e4,this.lastActivityAt=this.scheduler.now(),this.lastTailReadAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"||this.snapshot.freshness==="loading"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}setBusy(t){if(!t){let n=this.livenessTimer!==void 0;this.stopLivenessTimer(),n&&!this.destroyed&&this.reconcile("turn-end");return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.tailRetryTimer!==void 0&&(this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0),this.abortController.abort(),this.listeners.clear()}async loadTail(t){this.lastTailReadAt=this.scheduler.now();try{let n=await this.loadPage("tail",t);if(this.destroyed)return;this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted||this.setCursor(n.nextCursor),this.update({freshness:"fresh"}),this.options.markLoaded(),this.retryAttempt=0,this.tailUnavailable=!1}catch(n){if(this.destroyed||rd(n)||this.abortController.signal.aborted)return;if(this.update({freshness:Xt(n)?"loading":"error"}),n instanceof v&&(n.status===404||n.status===410)){this.tailUnavailable=!0,this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0;return}this.scheduleTailRetry(t)}}scheduleTailRetry(t){if(this.destroyed||this.tailRetryTimer!==void 0)return;let n=Math.min($y*2**this.retryAttempt,My);this.retryAttempt+=1,this.tailRetryTimer=this.startTimer(()=>{this.tailRetryTimer=void 0,!this.destroyed&&this.reconcile(t)},n)}async loadPage(t,n,r){let s=this.scheduler.now();try{let o=await this.options.loadPage({limit:t==="tail"?Dy:gd,...r?{before:r}:{}},this.abortController.signal);return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t,r=>{this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.setCursor(r.nextCursor)})}async loadCompleteTurn(t,n,r,s,o){let u=[...t.messages],p=new Set(this.knownUserMessageIds),d=new Set(s?[s]:[]),f=t.nextCursor,m=0;for(let y of t.messages)y.info.role==="user"&&p.add(y.info.id);for(;f&&m<qy&&u.some(y=>y.info.role==="assistant"&&!!y.info.parentID&&!p.has(y.info.parentID));){if(d.has(f))throw new Error(`Session history cursor repeated: ${f}`);d.add(f);let y;try{y=await this.loadPage(n,r,f)}catch(x){throw o?.({messages:[...u],nextCursor:f}),x}if(this.destroyed)return{messages:u,nextCursor:f};m+=1,u.unshift(...y.messages);for(let x of y.messages)x.info.role==="user"&&p.add(x.info.id);f=y.nextCursor,o?.({messages:[...u],nextCursor:f})}return{messages:u,nextCursor:f}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){if(this.destroyed||this.tailUnavailable)return;let t=this.scheduler.now(),n=t-this.lastActivityAt>this.livenessIntervalMs,r=t-this.lastTailReadAt>=this.verifyIntervalMs;!n&&!r||(await this.raceDeadline(this.reconcile("poll"),this.livenessIntervalMs),this.lastActivityAt=this.scheduler.now())}raceDeadline(t,n){return new Promise(r=>{let s,o=!1,u=()=>{o||(o=!0,this.cancelTimer(s),r())};s=this.startTimer(u,n),t.then(u,u)})}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}startTimer(t,n){return this.scheduler.setTimeout?this.scheduler.setTimeout(t,n):setTimeout(t,n)}cancelTimer(t){t!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(t):clearTimeout(t))}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder)){this.snapshot=n;for(let r of this.listeners)r()}}};function Gy(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function By(e){let{url:t,token:n,method:r="GET",body:s,onEvent:o,onOpen:u,onError:p,signal:d}=e,f=new Map,m=null,y=!1;function x(l,b){o?.(l,b);let c=f.get(l);if(c)for(let A of c)try{A(b)}catch{}}async function _(){if(y)return;m=new AbortController;let l=d?AbortSignal.any([m.signal,d]):m.signal;try{let b={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(b["Content-Type"]="application/json");let c=await fetch(t,{method:r,headers:b,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:l,credentials:"include"});if(!c.ok)throw new Error(`SSE connection failed: ${c.status} ${c.statusText}`);if(!c.body)throw new Error("SSE response has no body");u?.();let A=c.body.getReader(),S=new TextDecoder,R="",j="message",q="";for(;!y;){let{done:D,value:Z}=await A.read();if(D)break;R+=S.decode(Z,{stream:!0});let J=R.split(`
|
|
77
77
|
`);R=J.pop()||"";for(let h of J)h===""?q&&(x(j,q.trimEnd()),j="message",q=""):h.startsWith("event: ")?j=h.slice(7).trim():h.startsWith("data: ")?q+=(q?`
|
|
78
78
|
`:"")+h.slice(6):h.startsWith("data:")&&(q+=(q?`
|
|
79
|
-
`:"")+h.slice(5))}}catch(b){if(y||b instanceof DOMException&&b.name==="AbortError")return;p?.(b instanceof Error?b:new Error(String(b)))}}function k(){y=!0,m?.abort(),m=null,f.clear()}function T(l,b){let c=f.get(l)??new Set;c.add(b),f.set(l,c)}function E(l,b){f.get(l)?.delete(b)}return{connect:_,close:k,addEventListener:T,removeEventListener:E}}function xT(e,t){return Fy({...t,url:Uy(e)})}var Ly="/_kortix/viewer";var tn=new Map;function Gy(){tn.clear()}async function By(e,t){let n;try{n=await t(e,{credentials:"same-origin",headers:{accept:"application/json"}})}catch{return null}if(n.status===401||n.status===404||!n.ok)return null;let r=await n.json().catch(()=>null);return r&&typeof r.user_id=="string"?r:null}async function gd(e={}){let t=e.path??Ly,n=e.fetch??((o,u)=>fetch(o,u)),r=tn.get(t);if(r&&!r.inflight&&r.expiresAt>Date.now())return r.session;if(r?.inflight)return r.inflight;let s=By(t,n).then(o=>{let u=o?.expires_at?Date.parse(o.expires_at):Number.NaN,p=Number.isFinite(u)?u-6e4:Date.now()+6e4;return tn.set(t,{session:o,expiresAt:p}),o});return tn.set(t,{session:r?.session??null,expiresAt:0,inflight:s}),s}function Ny(e={}){return async()=>(await gd(e))?.access_token??null}export{ry as ABORT_REASONS,xA as ABORT_REASONS_NOT_YET_EMITTED,Vt as ACTIVE_INSTANCE_COOKIE,_y as ATTACHMENT_PART_REF_PREFIX,v as ApiError,Ce as AuthError,fe as BillingError,Hp as COST_MARKUP,Mp as DEFAULT_TRANSCRIPT_OPTIONS,fy as DESTRUCTIVE_PHASES,Rr as FEATURE_DISABLED_CODE,Jx as FEATURE_FLAG_KEYS,Bd as FEATURE_NOT_SUPPORTED_CODE,tt as HeadlessAuthError,me as HostBoundaryError,qd as IMPERSONATION_HEADER,VR as INBOX_OBSERVATION_MAX_MS,iy as INSTANCE_SCOPED_ROUTES,Nd as MODEL_NOT_SERVABLE_CODE,XR as OPTIMISTIC_ABORT_MAX_MS,nT as OPTIMISTIC_COMPACTION_MAX_MS,HR as OPTIMISTIC_RECEIPT_MAX_MS,DR as PREVIEW_PROBE_TIMEOUT_MS,Kd as PROVISION_IN_FLIGHT_CODE,cs as PublicSessionShareError,Re as RequestTooLargeError,He as RuntimeNotReadyError,Fr as SANDBOX_FS_ROOTS,pe as SANDBOX_PORTS,Ay as SERVER_COMPACTION_REVALIDATE_MS,WR as SERVER_OBSERVATION_MAX_MS,zR as STREAM_OBSERVATION_MAX_MS,Jt as SandboxNotReadyError,Nt as SessionNotReadyError,ns as SessionStartError,JR as TURN_END_LEDGER_LAG_MS,lT as WAKE_ESCALATION_COOLDOWN_MS,cT as WAKE_MAX_RESTARTS,aT as WAKE_NO_PROGRESS_MS,Hy as __getConfigResolver,Ky as __setConfigResolver,_A as abortErrorReason,Xi as acceptAccountInvite,xC as acceptInvite,Tu as actReviewItem,pa as activateConnection,ru as addGroupMembers,rp as addMarketplaceSource,pT as advanceWakeEscalation,Cf as allDescendantIds,ld as appendPreviewToken,vo as approveProjectAccessRequest,vb as approveTask,zr as archiveProject,$b as assignTicket,Do as attachGroupToProject,Ss as authMfa,Ps as authUser,M as authenticatedFetch,$R as authorizePreviewUrl,i as backendApi,sk as bindSlackIdentity,ik as bindTeamsIdentity,zo as brokerProjectSecretRequest,ay as buildInstancePath,FR as buildPresentationTemplateImageUrl,UR as buildPresentationTemplatePdfUrl,ad as buildPreviewAuthEndpoint,xy as buildPublicTemplateUrl,vy as buildRuntimePresentationConversionUrl,Na as buildSandboxTemplate,DS as buildStaticFileHealthPreviewUrl,MS as buildStaticFileLocalUrl,$S as buildStaticFilePreviewUrl,nm as buildStaticFileServicePath,Uy as buildTunnelEventStreamUrl,LS as buildWebProxyUrl,Iu as bulkActReviewItems,Ek as bulkDeletePolicies,jk as bulkImportPolicies,ra as callConnector,kw as cancelAccountDeletion,zi as cancelAccountInvite,aC as cancelSandbox,OC as cancelSandboxUpdate,dl as cancelScheduledChange,ll as cancelSubscription,ZC as checkAccessEmail,Wv as childMapByParent,HC as claimComputer,Tm as claimNext,HP as claimPerSeatBilling,bc as claimWarmProjectSession,Fp as classifyPart,Sy as classifyPreviewProbeStatus,bf as classifyTurn,gi as clearImpersonationSession,Gy as clearKortixAppViewerCache,Vc as clearModelDefault,sP as clearSessionFresh,ac as closeChangeRequest,ax as closeMilestone,Bv as collectTurnParts,Db as commentTicket,uc as commitSessionChanges,sT as compactionExpiryAtMs,Af as compareMessagesForDisplay,Im as completeInFlight,Kp as computeStatusFromPart,yl as configureAutoTopup,sn as configureKortix,al as confirmCheckoutSession,Il as connectEmail,kl as connectSlack,NR as connectionIsFaulted,Sg as connectorConnect,vg as connectorFinalize,Fw as convertPresentationToGoogleSlides,LR as convertRuntimePresentation,Et as copyFile,bl as costExportUrl,YR as countLiveInboxPrompts,qi as createAccount,Wu as createAccountAuditWebhook,Ou as createAccountToken,op as createApp,dp as createAppAccessSession,mp as createAppDeployment,wu as createAssignment,iw as createAuditWebhook,wC as createBackup,ol as createCheckoutSession,va as createConnector,It as createFile,Vl as createGatewayKey,Zl as createGroup,Dy as createHttpSessionSyncController,BC as createInstance,vm as createKortix,wi as createKortixPty,As as createKortixSession,lS as createMarketplaceInstallSession,ix as createMilestone,hu as createOAuthClient,KP as createPerSeatCheckout,Rk as createPolicy,cl as createPortalSession,ao as createProject,Hb as createProjectAgent,Lu as createProjectCliToken,co as createProjectRepo,Fo as createProjectResourceGrant,et as createProjectSession,Oc as createProjectTrigger,lu as createRole,Fy as createSSEStream,eC as createSandbox,ju as createSandboxShare,La as createSandboxTemplate,qk as createScimToken,tw as createServiceAccountApi,wc as createSessionPrompt,fc as createSessionPublicShare,Cm as createSessionQueue,Wk as createSsoGroupMapping,kb as createTask,Ib as createTicket,xT as createTunnelEventStream,Qi as declineAccountInvite,_C as declineInvite,ww as deleteAccountImmediately,lp as deleteApp,aw as deleteAuditWebhook,vC as deleteBackup,Ca as deleteConnector,mx as deleteCredential,Pi as deleteEnv,_e as deleteFile,Wl as deleteGatewayBudget,wo as deleteGitHubInstallation,tu as deleteGroup,NC as deleteInstance,ex as deleteKortixProject,lx as deleteMilestone,_u as deleteOAuthClient,ea as deletePersonalProjectSecret,Ik as deletePolicy,zb as deleteProjectAgent,Xo as deleteProjectProviderOAuth,Lo as deleteProjectResourceGrant,Yo as deleteProjectSecret,Tc as deleteProjectSession,Fc as deleteProjectTrigger,du as deleteRole,Ba as deleteSandboxTemplate,rw as deleteServiceAccountApi,vc as deleteSessionPrompt,zk as deleteSsoGroupMapping,Kk as deleteSsoProvider,Ab as deleteTask,qb as deleteTicket,Ji as describeAccountInvite,na as describeConnectorTool,Oo as detachGroupFromProject,Yg as detectLocalhostUrls,nw as disableServiceAccountApi,El as disconnectEmail,SR as disconnectGitHubApp,vl as disconnectSlack,v_ as discoverConnectionOAuth2,A_ as discoverConnectionOAuth2Resource,Aa as discoverConnectorAuth,sC as discoverLocalSandbox,fR as downloadAccountAudit,Cx as dropClientForUrl,Ix as dropPublicClientForUrl,Mm as editQueued,Rm as enqueue,Nb as ensurePmSession,wy as ensurePreviewSessionCookie,k_ as ensureProjectConnectorConnection,my as ensureSandbox,hc as ensureWarmProjectSession,Zd as env,bs as exchangeCode,Ku as exportAccountAudit,ie as extractGatewayErrorDetails,ot as extractInstanceRoute,Em as failInFlight,li as featureDisabledKey,AA as featureFlags,BP as fetchAccountStateWithToken,Hx as fetchAccountsWithToken,RR as fetchAttachmentPart,ek as fetchCostExportCsv,gd as fetchKortixAppViewer,Va as fetchProjectArchive,r_ as fetchProjectsForAccountWithToken,bg as files,us as finalizeAppArtifact,oR as finalizeConnectorSetupLink,Rt as findFiles,Nv as findLastTextPart,Tt as findText,Gc as fireProjectTrigger,Fa as fixSandboxWithAgent,pi as formatBillingErrorForUI,pA as formatCost,cA as formatDuration,dy as formatOpenCodeRuntimeError,dy as formatRuntimeError,dA as formatTokens,Gm as formatTranscript,Am as generateSessionId,Oi as getAccount,Fi as getAccountBranding,_w as getAccountDeletionStatus,Zc as getAccountState,el as getAccountStateMinimal,ly as getActiveInstanceIdFromCookie,Ew as getAdminProviderAnalytics,Rw as getAdminProviderDistribution,$w as getAdminProviderFallback,Sw as getAdminRole,wf as getAgentCardLabel,DP as getAgentConfig,Vb as getAgentPersona,MC as getAllVersions,Hv as getAnsweredQuestionParts,ap as getApp,up as getAppAccess,yp as getAppDeployment,hp as getAppDeploymentLogs,iS as getApprovalLink,Be as getAuthToken,ni as getAuthTokenWithRetry,fl as getAutoTopupSettings,NP as getAutoTopupSetupStatus,rl as getBillingCreditBreakdown,il as getBillingTierConfigurations,nl as getBillingTransactionsSummary,sl as getBillingUsageHistory,nc as getChangeRequest,rc as getChangeRequestDiff,sc as getChangeRequestMergePreview,Ev as getChildSessionError,Iv as getChildSessionId,jv as getChildSessionToolParts,be as getClient,le as getClientForUrl,Ea as getConnectStatus,S_ as getConnectionOAuth2Application,E_ as getConnectionOAuth2Status,j_ as getConnectionPolicies,Jr as getConnectorCatalog,ka as getConnectorConfig,_a as getConnectorPolicies,sR as getConnectorSetupLink,ZP as getCostSummary,cy as getCurrentInstanceIdFromPathname,IA as getCurrentInstanceIdFromWindow,$i as getCurrentProject,ss as getDefaultAccountState,Dv as getDiagnostics,kf as getDirectory,Qr as getDiscoverConnector,U_ as getDiscoverIntegration,Rl as getEmailInstallation,Tl as getEmailMode,lw as getEnterpriseDemo,Ct as getFileStatus,Lp as getFileWithDir,Pf as getFilename,yy as getFullChangelog,Gl as getGatewayBreakdown,Kl as getGatewayBudgets,Nl as getGatewayErrors,zl as getGatewayKeys,Ul as getGatewayLog,Fl as getGatewayOverview,$l as getGatewayRoutingPolicy,Ll as getGatewaySeries,Bl as getGatewaySessions,_R as getGitHubAppStatus,yo as getGitHubInstallation,Uw as getGoogleAuthUrl,Yl as getGroup,Rv as getHiddenToolParts,Fd as getImpersonationSession,bC as getInvite,GC as getJustavpsServerTypes,Qb as getKortixProject,Yb as getKortixProjectBySession,Ai as getKortixPtyWebSocketUrl,$C as getLatestSandboxVersion,pR as getMaintenanceConfig,Zx as getManagedGitStatus,ep as getMarketplaceCatalogItem,tp as getMarketplaceCatalogItemFile,Uk as getMfaRequired,rx as getMilestone,Wc as getModelDefaults,yu as getOAuthClient,nR as getOAuthConsentRequest,nd as getOpenCodeConfigInvalidError,vv as getPartText,Yk as getPatPolicy,qv as getPermissionForTool,Br as getProject,Jb as getProjectActivity,Qa as getProjectCommit,Ya as getProjectCommitDiff,Nr as getProjectDetail,Za as getProjectFileHistory,oo as getProjectGitToken,Kr as getProjectLlmCatalog,Qx as getProjectLlmCatalogProviders,ps as getProjectModelAccess,Hr as getProjectModelPicker,Yr as getProjectSandboxHealth,e_ as getProjectSandboxProviderTransition,es as getProjectSession,Ic as getProjectSessionConfigState,$c as getProjectSessionScope,gl as getProrationPreview,YA as getProviders,qS as getProxyBaseUrl,Tx as getPublicClientForUrl,QC as getPublicMarketplaceItem,YC as getPublicMarketplaceItemFile,Vw as getPublicSessionShare,Jw as getPublicSessionShareMessages,lR as getPublicShareByToken,hR as getPublicTemplate,Ov as getQuestionForTool,fk as getReferralCode,bk as getReferralStats,gA as getRetryInfo,mA as getRetryMessage,Cu as getReviewItem,au as getRolePermissions,cu as getRoleUsage,RC as getSSHConnection,ZA as getSandbox,tC as getSandboxById,WA as getSandboxPortUrl,WC as getSandboxProvisionStatus,zC as getSandboxProvisionStreamUrl,jC as getSandboxUpdateStatus,id as getSandboxUrl,aR as getSecretSetupLink,Lr as getServerHealth,hx as getServiceLogs,xc as getSessionAudit,uA as getSessionCost,os as getSessionCostRecord,kp as getSessionHealth,lP as getSessionOpenBundle,Vk as getSessionPolicy,gc as getSessionPreviewCandidates,_c as getSessionTranscript,Pc as getSessionTranscriptSync,kc as getSessionTurn,Yv as getShellModePart,Al as getSlackChannelFile,Pl as getSlackInstallation,Sl as getSlackManifest,wl as getSlackMode,Gk as getSsoProvider,rm as getStaticFileHealthPath,Cr as getSupabaseAccessToken,ae as getSupabaseAccessTokenWithRetry,xb as getTask,Pb as getTaskStatus,gS as getTemplate,Rb as getTicket,$v as getToolInfo,Bm as getTranscriptFilename,lA as getTurnCost,iA as getTurnError,oA as getTurnErrorDetails,aA as getTurnStatus,hl as getUsageRollup,gR as getUserRolesWithToken,ec as getVersionDiff,rA as getWorkingState,mC as grantSandboxProjectAccess,OP as grantSecretToAgent,Gv as groupMessagesIntoTurns,fA as hasDiffs,jS as hasLocalhostUrls,tm as hasPreviewTarget,Jv as hasRetryingAssistantTurn,om as heartbeatGapEvent,Cc as holdSessionPrompts,Ts as humanizeToolName,jr as impersonationHeaders,Nk as importSsoProviderFromMetadata,QR as inboxObservationSupersedes,ud as initialWakeEscalationState,mS as installTemplate,mt as invalidateTokenCache,Hi as inviteAccountMember,Io as inviteProjectMember,so as inviteRepoCollaborator,td as isAbortError,Jh as isAdminBypassEnabled,Pv as isAgentPart,Jg as isAppRouteUrl,Av as isAttachment,Py as isAttachmentPartRef,ui as isBillingError,kv as isCompactionPart,on as isConfigured,EC as isDestructivePhase,NS as isExternalUrl,ci as isFeatureDisabledError,Gp as isFilePart,Od as isImpersonationSessionLive,RA as isInstanceDetailPath,oy as isInstanceScopedAppPath,FS as isInternalLocalhostUrl,d_ as isInviteSent,nA as isLastUserMessage,Xx as isManagedGithubProject,DA as isOpenCodeConfigInvalidError,Sv as isPatchPart,US as isPreviewUrl,sm as isProxiableLocalhostUrl,Es as isReasoningPart,Rf as isRetryableTurnError,RS as isRuntimeReady,Xt as isSandboxNotReadyError,Mi as isServerReachable,pc as isSessionFresh,_P as isSessionStartError,Tf as isShellMode,wv as isSnapshotPart,cd as isSubdomainPreviewUrl,ke as isTextPart,ge as isToolPart,Tv as isToolPartHidden,Ei as isUnderSandboxRoot,BS as isWebProxyUrl,Ny as kortixAppViewerToken,tg as kortixPty,eo as leaveAccount,ko as linkGitHubInstallation,fo as linkRepository,Bu as listAccountAudit,Hu as listAccountAuditWebhooks,Wi as listAccountInvites,Ki as listAccountMembers,Ak as listAccountResourceGrants,Xk as listAccountSessions,qu as listAccountTokens,Di as listAccounts,$k as listActions,Tw as listAdminSandboxes,ou as listAgentIdentities,oa as listAllConnections,fp as listAppDeployments,ip as listApps,ku as listAssignments,cw as listAuditEvents,sw as listAuditWebhooks,kC as listBackups,tl as listBillingTransactions,tc as listChangeRequests,ok as listChannelBindings,Ob as listColumns,q_ as listConnectSections,D_ as listConnectToolkits,ia as listConnections,jt as listConnectorTools,fa as listConnectors,YP as listCostByProject,px as listCredentialEvents,ux as listCredentials,Xr as listDiscoverConnectors,O_ as listDiscoverIntegrations,Ia as listDiscoverSections,xi as listEnv,Zu as listFeaturedMarketplaces,Fb as listFields,At as listFiles,Ol as listGatewayLogs,ho as listGitHubInstallations,xo as listGitHubRepositories,_o as listGitHubRepositoryBranches,nu as listGroupMembers,wk as listGroupProjectGrants,Ql as listGroups,Zb as listKortixProjectSessions,Xb as listKortixProjects,ki as listKortixPty,bo as listLinkableGitHubInstallations,Qu as listMarketplaceCatalogItems,np as listMarketplaceSources,Yu as listMarketplaces,Sk as listMemberGroups,vk as listMemberProjectAccess,sx as listMilestoneEvents,nx as listMilestones,fu as listOAuthClients,Go as listPendingApprovals,Eo as listPendingProjectInvites,vu as listPermissions,Ra as listPipedreamApps,Ta as listPipedreamSections,Ck as listPolicies,Co as listProjectAccess,So as listProjectAccessRequests,Kb as listProjectAgents,Nu as listProjectAudit,Ja as listProjectBranches,Fu as listProjectCliTokens,Xa as listProjectCommits,Ha as listProjectFiles,Mo as listProjectGroupGrants,Ma as listProjectPolicies,Uo as listProjectResourceGrants,qa as listProjectSandboxTemplates,Ka as listProjectSandboxes,Ko as listProjectSecrets,Ze as listProjectSessions,Oa as listProjectSnapshots,qc as listProjectTriggers,Me as listProjects,ro as listProjectsForAccount,JC as listPublicMarketplaceItems,XC as listPublicMarketplaces,xk as listReferrals,Au as listReviewItems,iu as listRoles,gC as listSandboxProjectMembers,Eu as listSandboxShares,rC as listSandboxes,Dk as listScimTokens,ew as listServiceAccountsApi,yx as listServiceTemplates,fx as listServices,M_ as listSessionConnectRequests,xl as listSessionCosts,Sc as listSessionPrompts,mc as listSessionPublicShares,Bo as listSessionsNeedingInput,Hk as listSsoGroupMappings,_b as listTaskEvents,bb as listTasks,Gb as listTemplates,Tb as listTicketEvents,Cb as listTickets,My as loadHttpSessionHistory,KC as markInstanceError,$t as markSessionFresh,oc as mergeChangeRequest,jw as migrateAdminSandboxProvider,Ye as mkdir,am as narrowChatEvent,$A as normalizeAppPathname,KS as normalizeExternalInput,Wt as normalizeToolName,ic as openChangeRequest,Cs as openEventStream,yR as openStressTestStream,Te as parseBillingError,vA as parseFlagOverride,Ft as parseLocalhostUrl,uy as parseOpenCodeErrorPayload,Pp as parseProxyHop,Ep as parseSubdomainUrl,GS as parseWebProxyUrl,tx as patchKortixProject,Sa as pipedreamConnect,ga as pipedreamConnectConnection,$a as pipedreamFinalize,ma as pipedreamFinalizeConnection,$ as platformConfig,I_ as pollConnectionOAuth2DeviceAuthorization,Jo as pollProjectProviderOAuth,ql as previewGatewayRoute,Fk as previewMfaRequired,gu as probeEffectivePermission,mu as probeEffectivePermissions,qR as probePreviewPort,rT as projectCompacting,BR as projectSessionConnection,xP as projectSessionStartSeed,ZR as projectWorking,lo as provisionProject,Yx as provisionProjectStream,s_ as provisionProjectWithToken,Tp as proxyLocalhostUrl,OS as proxyUrlToInternal,ml as purchaseCredits,w_ as putConnectionOAuth2Application,cC as reactivateSandbox,ul as reactivateSubscription,Je as readBlob,Ve as readFile,za as readProjectFile,Ua as rebuildProjectSnapshot,aa as reconcileConnection,ca as reconcileMemberConnection,xx as reconcileServices,tR as recordPlatformLogout,yk as refreshReferralCode,nt as refreshSession,ls as registerAppArtifact,C_ as registerConnectionOAuth2Client,_x as registerService,Ao as rejectProjectAccessRequest,Mv as relativizePath,Ec as reloadProjectSessionConfig,jc as reloadProjectSessionConfigStream,Vu as removeAccountAuditWebhook,Bi as removeAccountBrandingAsset,Yi as removeAccountMember,su as removeGroupMember,vi as removeKortixPty,sp as removeMarketplaceSource,$m as removeQueued,xe as renameFile,nC as renameSandbox,cc as reopenChangeRequest,cx as reopenMilestone,Dm as reorderQueued,Ub as replaceColumns,Lb as replaceFields,Bb as replaceTemplates,Pw as requestAccountDeletion,lc as requestChangesOnChangeRequest,p_ as requestProjectAccess,Xu as requestProjectConnector,Ju as requestProjectSecret,Vi as resendAccountInvite,$o as resendPendingProjectInvite,Ni as resetAccountBranding,Rx as resetClient,Dl as resetGatewayRoutingPolicy,xs as resetPassword,Ex as resetPublicClient,qC as resetSandboxUpdateStatus,No as resolveApproval,GP as resolvedPlan,Mt as restartProjectSession,iC as restartSandbox,SC as restoreBackup,jm as retryFailed,Ac as retrySessionPrompt,gx as revealCredential,Qk as revokeAccountSession,Uu as revokeAccountToken,Su as revokeAssignment,ua as revokeConnection,Jl as revokeGatewayKey,jo as revokePendingProjectInvite,To as revokeProjectAccess,Gu as revokeProjectCliToken,fC as revokeSandboxProjectAccess,$u as revokeSandboxShare,Ok as revokeScimToken,yc as revokeSessionPublicShare,Pe as rewriteLocalhostUrl,_p as rollbackApp,xu as rotateOAuthClientSecret,Xl as runGatewayPlayground,Po as saveGitHubInstallation,pl as scheduleDowngrade,ta as searchConnectorTools,Wa as searchProjectFiles,fs as sendMagicLink,_k as sendReferralEmails,iT as serverCompactionRevalidateAtMs,bx as serviceAction,PP as sessionStartKey,EA as setActiveInstanceCookie,Vh as setAdminBypass,Iw as setAdminProviderDistribution,Mw as setAdminProviderFallback,Xc as setAgentScope,Mh as setBootstrapAuthToken,$h as setCachedAuthToken,$_ as setConnectionPolicies,ba as setConnectorAuthorizationStrategy,ja as setConnectorCredential,ha as setConnectorCredentialMode,wa as setConnectorName,Pa as setConnectorPolicies,F_ as setConnectorSecretBinding,xa as setConnectorSensitive,da as setDefaultConnection,uw as setEnterpriseDemo,_i as setEnv,Hl as setGatewayBudget,Ml as setGatewayRoutingPolicy,kR as setGitHubAppFromExisting,wR as setGitHubAppPat,Lh as setImpersonationSession,dR as setMaintenanceConfig,Mk as setMemberSuperAdmin,Lk as setMfaRequired,zc as setModelDefault,Zo as setPersonalProjectSecret,ds as setProjectModelAccess,RP as setProjectModelEnablement,mo as setProjectOnboardingComplete,n_ as setProjectOnboardingProfile,Da as setProjectPolicies,Wo as setProjectSecretStrategy,Dc as setProjectSessionModel,Mc as setProjectSessionScope,dc as setProjectSessionSharing,Lc as setProjectTriggersActivation,CC as setupSSH,Yp as shellExitCode,Gd as shouldAttachImpersonation,sA as shouldHideResponsePart,_f as shouldShowToolPart,ms as signInWithPassword,hs as signInWithProvider,ws as signInWithSso,vs as signOut,gs as signUp,zv as sortSessions,Cv as splitUserParts,bp as startApp,R_ as startConnectionOAuth2Authorization,T_ as startConnectionOAuth2DeviceAuthorization,iR as startConnectorSetupLink,PR as startGitHubAppManifest,Vo as startProjectProviderOAuth,De as startProjectSession,uR as startSessionWithToken,Sb as startTask,xp as stopApp,Dt as stopProjectSession,oC as stopSandbox,Uv as stripAnsi,TA as stripInstancePrefix,ce as stripTrailingSlashes,eR as submitAccessRequest,mR as submitDemoRequest,rR as submitOAuthConsent,Ru as submitReviewItem,cR as submitSecretSetupLink,Gh as subscribeToImpersonation,Xh as supabaseClient,ya as syncConnectors,WP as syncSubscription,jx as systemReload,je as toDaemonPath,jA as toInstanceAwarePath,im as toInternalUrl,St as toSandboxAbsolutePath,ji as toWorkspaceRelative,Is as toolInfo,Yf as toolViewModel,DC as triggerSandboxUpdate,eg as triggersRequest,Kv as turnHasSteps,Mb as unassignTicket,te as unwrapError,zu as updateAccountAuditWebhook,Li as updateAccountBranding,Zi as updateAccountMemberRole,Ui as updateAccountName,qP as updateAgentConfig,cp as updateApp,pp as updateAppAccess,ow as updateAuditWebhook,ak as updateChannelBinding,la as updateConnectionCredential,jl as updateEmailPolicy,po as updateExperimentalFeature,uo as updateFeatureFlag,eu as updateGroup,Si as updateKortixPty,ox as updateMilestone,bu as updateOAuthClient,_s as updatePassword,Zk as updatePatPolicy,Tk as updatePolicy,Wr as updateProject,Ro as updateProjectAccess,Wb as updateProjectAgent,Yc as updateProjectDefaultAgent,qo as updateProjectGroupGrant,go as updateProjectSandboxProvider,Rc as updateProjectSession,Uc as updateProjectTrigger,uu as updateRole,pu as updateRolePermissions,Ga as updateSandboxTemplate,Jk as updateSessionPolicy,wb as updateTask,t_ as updateTemplateWarmPool,Eb as updateTicket,jb as updateTicketStatus,ks as updateUserMetadata,Gi as uploadAccountBrandingAsset,gp as uploadAppArtifactArchive,sa as uploadConnectorAttachment,Xe as uploadFile,Cl as uploadSlackChannelFile,ze as uploadTimeoutMsForBytes,dx as upsertCredential,Qo as upsertProjectGitCredential,Ho as upsertProjectSecret,Bk as upsertSsoProvider,io as validateProjectManifest,hk as validateReferralCode,to as validateToken,pk as verifyGatewayProvider,ys as verifyOtp,gT as wakeEscalationAttemptSummary,dT as wakeEscalationNote,uT as wakeProgressFingerprint,eT as workingExpiryAtMs,Qe as writeFile};
|
|
79
|
+
`:"")+h.slice(5))}}catch(b){if(y||b instanceof DOMException&&b.name==="AbortError")return;p?.(b instanceof Error?b:new Error(String(b)))}}function k(){y=!0,m?.abort(),m=null,f.clear()}function T(l,b){let c=f.get(l)??new Set;c.add(b),f.set(l,c)}function E(l,b){f.get(l)?.delete(b)}return{connect:_,close:k,addEventListener:T,removeEventListener:E}}function ST(e,t){return By({...t,url:Gy(e)})}var Ny="/_kortix/viewer";var tn=new Map;function Ky(){tn.clear()}async function Hy(e,t){let n;try{n=await t(e,{credentials:"same-origin",headers:{accept:"application/json"}})}catch{return null}if(n.status===401||n.status===404||!n.ok)return null;let r=await n.json().catch(()=>null);return r&&typeof r.user_id=="string"?r:null}async function fd(e={}){let t=e.path??Ny,n=e.fetch??((o,u)=>fetch(o,u)),r=tn.get(t);if(r&&!r.inflight&&r.expiresAt>Date.now())return r.session;if(r?.inflight)return r.inflight;let s=Hy(t,n).then(o=>{let u=o?.expires_at?Date.parse(o.expires_at):Number.NaN,p=Number.isFinite(u)?u-6e4:Date.now()+6e4;return tn.set(t,{session:o,expiresAt:p}),o});return tn.set(t,{session:r?.session??null,expiresAt:0,inflight:s}),s}function Wy(e={}){return async()=>(await fd(e))?.access_token??null}export{oy as ABORT_REASONS,SA as ABORT_REASONS_NOT_YET_EMITTED,Vt as ACTIVE_INSTANCE_COOKIE,wy as ATTACHMENT_PART_REF_PREFIX,v as ApiError,Ce as AuthError,fe as BillingError,zp as COST_MARKUP,qp as DEFAULT_TRANSCRIPT_OPTIONS,by as DESTRUCTIVE_PHASES,Rr as FEATURE_DISABLED_CODE,Yx as FEATURE_FLAG_KEYS,Kd as FEATURE_NOT_SUPPORTED_CODE,tt as HeadlessAuthError,me as HostBoundaryError,Ud as IMPERSONATION_HEADER,ZR as INBOX_OBSERVATION_MAX_MS,cy as INSTANCE_SCOPED_ROUTES,Hd as MODEL_NOT_SERVABLE_CODE,tT as OPTIMISTIC_ABORT_MAX_MS,aT as OPTIMISTIC_COMPACTION_MAX_MS,XR as OPTIMISTIC_RECEIPT_MAX_MS,LR as PREVIEW_PROBE_TIMEOUT_MS,gP as PROJECT_SESSION_NAME_LOOKUP_LIMIT,dP as PROJECT_SESSION_PAGE_DEFAULT_LIMIT,Rg as PROJECT_SESSION_PAGE_MAX_LIMIT,Wd as PROVISION_IN_FLIGHT_CODE,cs as PublicSessionShareError,Re as RequestTooLargeError,He as RuntimeNotReadyError,Fr as SANDBOX_FS_ROOTS,pe as SANDBOX_PORTS,Ty as SERVER_COMPACTION_REVALIDATE_MS,QR as SERVER_OBSERVATION_MAX_MS,YR as STREAM_OBSERVATION_MAX_MS,Jt as SandboxNotReadyError,Nt as SessionNotReadyError,ns as SessionStartError,eT as TURN_END_LEDGER_LAG_MS,mT as WAKE_ESCALATION_COOLDOWN_MS,gT as WAKE_MAX_RESTARTS,dT as WAKE_NO_PROGRESS_MS,Vy as __getConfigResolver,zy as __setConfigResolver,vA as abortErrorReason,Xi as acceptAccountInvite,SC as acceptInvite,Eu as actReviewItem,pa as activateConnection,iu as addGroupMembers,ip as addMarketplaceSource,yT as advanceWakeEscalation,If as allDescendantIds,pd as appendPreviewToken,vo as approveProjectAccessRequest,Rb as approveTask,zr as archiveProject,qb as assignTicket,Do as attachGroupToProject,Ss as authMfa,Ps as authUser,M as authenticatedFetch,UR as authorizePreviewUrl,i as backendApi,lk as bindSlackIdentity,uk as bindTeamsIdentity,zo as brokerProjectSecretRequest,uy as buildInstancePath,KR as buildPresentationTemplateImageUrl,NR as buildPresentationTemplatePdfUrl,ld as buildPreviewAuthEndpoint,ky as buildPublicTemplateUrl,Ry as buildRuntimePresentationConversionUrl,Na as buildSandboxTemplate,LS as buildStaticFileHealthPreviewUrl,FS as buildStaticFileLocalUrl,US as buildStaticFilePreviewUrl,im as buildStaticFileServicePath,Gy as buildTunnelEventStreamUrl,HS as buildWebProxyUrl,ju as bulkActReviewItems,qk as bulkDeletePolicies,Ok as bulkImportPolicies,ra as callConnector,Cw as cancelAccountDeletion,zi as cancelAccountInvite,dC as cancelSandbox,BC as cancelSandboxUpdate,ml as cancelScheduledChange,pl as cancelSubscription,sR as checkAccessEmail,Qv as childMapByParent,XC as claimComputer,jm as claimNext,XP as claimPerSeatBilling,_c as claimWarmProjectSession,Gp as classifyPart,Cy as classifyPreviewProbeStatus,Pf as classifyTurn,gi as clearImpersonationSession,Ky as clearKortixAppViewerCache,Xc as clearModelDefault,aP as clearSessionFresh,ac as closeChangeRequest,ux as closeMilestone,zv as collectTurnParts,Ub as commentTicket,uc as commitSessionChanges,lT as compactionExpiryAtMs,Tf as compareMessagesForDisplay,$m as completeInFlight,Wp as computeStatusFromPart,bl as configureAutoTopup,sn as configureKortix,ll as confirmCheckoutSession,jl as connectEmail,Sl as connectSlack,VR as connectionIsFaulted,Ag as connectorConnect,Cg as connectorFinalize,Kw as convertPresentationToGoogleSlides,HR as convertRuntimePresentation,Et as copyFile,_l as costExportUrl,rT as countLiveInboxPrompts,qi as createAccount,Vu as createAccountAuditWebhook,Fu as createAccountToken,cp as createApp,mp as createAppAccessSession,yp as createAppDeployment,vu as createAssignment,uw as createAuditWebhook,RC as createBackup,cl as createCheckoutSession,va as createConnector,It as createFile,Xl as createGatewayKey,tu as createGroup,Uy as createHttpSessionSyncController,zC as createInstance,Rm as createKortix,wi as createKortixPty,As as createKortixSession,mS as createMarketplaceInstallSession,cx as createMilestone,xu as createOAuthClient,JP as createPerSeatCheckout,$k as createPolicy,ul as createPortalSession,ao as createProject,Vb as createProjectAgent,Bu as createProjectCliToken,co as createProjectRepo,Fo as createProjectResourceGrant,et as createProjectSession,Fc as createProjectTrigger,pu as createRole,By as createSSEStream,iC as createSandbox,Mu as createSandboxShare,La as createSandboxTemplate,Gk as createScimToken,ow as createServiceAccountApi,vc as createSessionPrompt,hc as createSessionPublicShare,Im as createSessionQueue,Qk as createSsoGroupMapping,vb as createTask,$b as createTicket,ST as createTunnelEventStream,Qi as declineAccountInvite,vC as declineInvite,Rw as deleteAccountImmediately,pp as deleteApp,dw as deleteAuditWebhook,IC as deleteBackup,Ca as deleteConnector,hx as deleteCredential,Pi as deleteEnv,_e as deleteFile,Vl as deleteGatewayBudget,wo as deleteGitHubInstallation,ru as deleteGroup,VC as deleteInstance,rx as deleteKortixProject,dx as deleteMilestone,ku as deleteOAuthClient,ea as deletePersonalProjectSecret,Dk as deletePolicy,Xb as deleteProjectAgent,Xo as deleteProjectProviderOAuth,Lo as deleteProjectResourceGrant,Yo as deleteProjectSecret,Ec as deleteProjectSession,Gc as deleteProjectTrigger,mu as deleteRole,Ba as deleteSandboxTemplate,cw as deleteServiceAccountApi,Cc as deleteSessionPrompt,Yk as deleteSsoGroupMapping,Jk as deleteSsoProvider,Tb as deleteTask,Fb as deleteTicket,Ji as describeAccountInvite,na as describeConnectorTool,Oo as detachGroupFromProject,tm as detectLocalhostUrls,aw as disableServiceAccountApi,$l as disconnectEmail,TR as disconnectGitHubApp,Cl as disconnectSlack,R_ as discoverConnectionOAuth2,T_ as discoverConnectionOAuth2Resource,Aa as discoverConnectorAuth,lC as discoverLocalSandbox,_R as downloadAccountAudit,Ix as dropClientForUrl,$x as dropPublicClientForUrl,Om as editQueued,Em as enqueue,Wb as ensurePmSession,Ay as ensurePreviewSessionCookie,v_ as ensureProjectConnectorConnection,hy as ensureSandbox,xc as ensureWarmProjectSession,tg as env,bs as exchangeCode,Wu as exportAccountAudit,ie as extractGatewayErrorDetails,ot as extractInstanceRoute,Mm as failInFlight,li as featureDisabledKey,EA as featureFlags,zP as fetchAccountStateWithToken,Vx as fetchAccountsWithToken,$R as fetchAttachmentPart,ik as fetchCostExportCsv,fd as fetchKortixAppViewer,Va as fetchProjectArchive,o_ as fetchProjectsForAccountWithToken,_g as files,us as finalizeAppArtifact,pR as finalizeConnectorSetupLink,Rt as findFiles,Vv as findLastTextPart,Tt as findText,Nc as fireProjectTrigger,Fa as fixSandboxWithAgent,pi as formatBillingErrorForUI,yA as formatCost,gA as formatDuration,fy as formatOpenCodeRuntimeError,fy as formatRuntimeError,hA as formatTokens,Km as formatTranscript,Tm as generateSessionId,Oi as getAccount,Fi as getAccountBranding,vw as getAccountDeletionStatus,tl as getAccountState,nl as getAccountStateMinimal,dy as getActiveInstanceIdFromCookie,qw as getAdminProviderAnalytics,$w as getAdminProviderDistribution,Uw as getAdminProviderFallback,Tw as getAdminRole,Af as getAgentCardLabel,LP as getAgentConfig,Qb as getAgentPersona,FC as getAllVersions,Xv as getAnsweredQuestionParts,lp as getApp,dp as getAppAccess,bp as getAppDeployment,xp as getAppDeploymentLogs,uS as getApprovalLink,Be as getAuthToken,ni as getAuthTokenWithRetry,hl as getAutoTopupSettings,VP as getAutoTopupSetupStatus,il as getBillingCreditBreakdown,al as getBillingTierConfigurations,sl as getBillingTransactionsSummary,ol as getBillingUsageHistory,nc as getChangeRequest,rc as getChangeRequestDiff,sc as getChangeRequestMergePreview,qv as getChildSessionError,Dv as getChildSessionId,Ov as getChildSessionToolParts,be as getClient,le as getClientForUrl,Ea as getConnectStatus,C_ as getConnectionOAuth2Application,M_ as getConnectionOAuth2Status,D_ as getConnectionPolicies,Jr as getConnectorCatalog,ka as getConnectorConfig,_a as getConnectorPolicies,lR as getConnectorSetupLink,sk as getCostSummary,py as getCurrentInstanceIdFromPathname,DA as getCurrentInstanceIdFromWindow,$i as getCurrentProject,ss as getDefaultAccountState,Lv as getDiagnostics,vf as getDirectory,Qr as getDiscoverConnector,G_ as getDiscoverIntegration,Il as getEmailInstallation,El as getEmailMode,mw as getEnterpriseDemo,Ct as getFileStatus,Bp as getFileWithDir,Sf as getFilename,xy as getFullChangelog,Nl as getGatewayBreakdown,Wl as getGatewayBudgets,Hl as getGatewayErrors,Jl as getGatewayKeys,Ll as getGatewayLog,Gl as getGatewayOverview,Dl as getGatewayRoutingPolicy,Bl as getGatewaySeries,Kl as getGatewaySessions,vR as getGitHubAppStatus,yo as getGitHubInstallation,Nw as getGoogleAuthUrl,eu as getGroup,$v as getHiddenToolParts,Gd as getImpersonationSession,wC as getInvite,WC as getJustavpsServerTypes,ex as getKortixProject,tx as getKortixProjectBySession,Ai as getKortixPtyWebSocketUrl,UC as getLatestSandboxVersion,yR as getMaintenanceConfig,n_ as getManagedGitStatus,np as getMarketplaceCatalogItem,rp as getMarketplaceCatalogItemFile,Nk as getMfaRequired,ox as getMilestone,Vc as getModelDefaults,bu as getOAuthClient,aR as getOAuthConsentRequest,sd as getOpenCodeConfigInvalidError,Iv as getPartText,rw as getPatPolicy,Gv as getPermissionForTool,Br as getProject,Yb as getProjectActivity,Qa as getProjectCommit,Ya as getProjectCommitDiff,Nr as getProjectDetail,Za as getProjectFileHistory,oo as getProjectGitToken,Kr as getProjectLlmCatalog,e_ as getProjectLlmCatalogProviders,ps as getProjectModelAccess,Hr as getProjectModelPicker,Yr as getProjectSandboxHealth,r_ as getProjectSandboxProviderTransition,es as getProjectSession,jc as getProjectSessionConfigState,Dc as getProjectSessionScope,fl as getProrationPreview,rC as getProviders,GS as getProxyBaseUrl,jx as getPublicClientForUrl,nR as getPublicMarketplaceItem,rR as getPublicMarketplaceItemFile,Zw as getPublicSessionShare,eS as getPublicSessionShareMessages,mR as getPublicShareByToken,kR as getPublicTemplate,Bv as getQuestionForTool,_k as getReferralCode,wk as getReferralStats,bA as getRetryInfo,xA as getRetryMessage,Tu as getReviewItem,lu as getRolePermissions,uu as getRoleUsage,$C as getSSHConnection,sC as getSandbox,oC as getSandboxById,QA as getSandboxPortUrl,QC as getSandboxProvisionStatus,YC as getSandboxProvisionStreamUrl,OC as getSandboxUpdateStatus,ad as getSandboxUrl,dR as getSecretSetupLink,Lr as getServerHealth,_x as getServiceLogs,Pc as getSessionAudit,fA as getSessionCost,os as getSessionCostRecord,Sp as getSessionHealth,mP as getSessionOpenBundle,Zk as getSessionPolicy,fc as getSessionPreviewCandidates,kc as getSessionTranscript,wc as getSessionTranscriptSync,Sc as getSessionTurn,rA as getShellModePart,Rl as getSlackChannelFile,wl as getSlackInstallation,Al as getSlackManifest,vl as getSlackMode,Wk as getSsoProvider,om as getStaticFileHealthPath,Cr as getSupabaseAccessToken,ae as getSupabaseAccessTokenWithRetry,kb as getTask,Sb as getTaskStatus,bS as getTemplate,Eb as getTicket,Uv as getToolInfo,Hm as getTranscriptFilename,mA as getTurnCost,uA as getTurnError,pA as getTurnErrorDetails,dA as getTurnStatus,xl as getUsageRollup,bR as getUserRolesWithToken,ec as getVersionDiff,cA as getWorkingState,xC as grantSandboxProjectAccess,BP as grantSecretToAgent,Wv as groupMessagesIntoTurns,_A as hasDiffs,OS as hasLocalhostUrls,sm as hasPreviewTarget,eA as hasRetryingAssistantTurn,lm as heartbeatGapEvent,Tc as holdSessionPrompts,Ts as humanizeToolName,jr as impersonationHeaders,Vk as importSsoProviderFromMetadata,nT as inboxObservationSupersedes,dd as initialWakeEscalationState,xS as installTemplate,mt as invalidateTokenCache,Hi as inviteAccountMember,Io as inviteProjectMember,so as inviteRepoCollaborator,rd as isAbortError,Yh as isAdminBypassEnabled,Av as isAgentPart,Yg as isAppRouteUrl,Ev as isAttachment,Sy as isAttachmentPartRef,ui as isBillingError,Cv as isCompactionPart,on as isConfigured,qC as isDestructivePhase,VS as isExternalUrl,ci as isFeatureDisabledError,Np as isFilePart,Fd as isImpersonationSessionLive,$A as isInstanceDetailPath,ly as isInstanceScopedAppPath,KS as isInternalLocalhostUrl,f_ as isInviteSent,aA as isLastUserMessage,Zx as isManagedGithubProject,LA as isOpenCodeConfigInvalidError,Tv as isPatchPart,NS as isPreviewUrl,am as isProxiableLocalhostUrl,Es as isReasoningPart,Ef as isRetryableTurnError,$S as isRuntimeReady,Xt as isSandboxNotReadyError,Mi as isServerReachable,pc as isSessionFresh,vP as isSessionStartError,jf as isShellMode,Rv as isSnapshotPart,ud as isSubdomainPreviewUrl,ke as isTextPart,ge as isToolPart,Mv as isToolPartHidden,Ei as isUnderSandboxRoot,zS as isWebProxyUrl,Wy as kortixAppViewerToken,rg as kortixPty,eo as leaveAccount,ko as linkGitHubInstallation,fo as linkRepository,Ku as listAccountAudit,zu as listAccountAuditWebhooks,Wi as listAccountInvites,Ki as listAccountMembers,Ek as listAccountResourceGrants,tw as listAccountSessions,Uu as listAccountTokens,Di as listAccounts,Uk as listActions,Mw as listAdminSandboxes,cu as listAgentIdentities,oa as listAllConnections,hp as listAppDeployments,ap as listApps,Su as listAssignments,gw as listAuditEvents,lw as listAuditWebhooks,CC as listBackups,rl as listBillingTransactions,tc as listChangeRequests,pk as listChannelBindings,Lb as listColumns,F_ as listConnectSections,U_ as listConnectToolkits,ia as listConnections,jt as listConnectorTools,fa as listConnectors,rk as listCostByProject,mx as listCredentialEvents,gx as listCredentials,Xr as listDiscoverConnectors,L_ as listDiscoverIntegrations,Ia as listDiscoverSections,xi as listEnv,tp as listFeaturedMarketplaces,Bb as listFields,At as listFiles,Fl as listGatewayLogs,ho as listGitHubInstallations,xo as listGitHubRepositories,_o as listGitHubRepositoryBranches,su as listGroupMembers,Rk as listGroupProjectGrants,Zl as listGroups,nx as listKortixProjectSessions,Zb as listKortixProjects,ki as listKortixPty,bo as listLinkableGitHubInstallations,Zu as listMarketplaceCatalogItems,sp as listMarketplaceSources,ep as listMarketplaces,Tk as listMemberGroups,Ik as listMemberProjectAccess,ax as listMilestoneEvents,ix as listMilestones,hu as listOAuthClients,Go as listPendingApprovals,Eo as listPendingProjectInvites,Cu as listPermissions,Ra as listPipedreamApps,Ta as listPipedreamSections,jk as listPolicies,Co as listProjectAccess,So as listProjectAccessRequests,zb as listProjectAgents,Hu as listProjectAudit,Ja as listProjectBranches,Gu as listProjectCliTokens,Xa as listProjectCommits,Ha as listProjectFiles,Mo as listProjectGroupGrants,Ma as listProjectPolicies,Uo as listProjectResourceGrants,qa as listProjectSandboxTemplates,Ka as listProjectSandboxes,Ko as listProjectSecrets,Ze as listProjectSessions,gc as listProjectSessionsPage,Oa as listProjectSnapshots,Uc as listProjectTriggers,Me as listProjects,ro as listProjectsForAccount,eR as listPublicMarketplaceItems,tR as listPublicMarketplaces,Sk as listReferrals,Ru as listReviewItems,au as listRoles,bC as listSandboxProjectMembers,$u as listSandboxShares,cC as listSandboxes,Lk as listScimTokens,iw as listServiceAccountsApi,xx as listServiceTemplates,bx as listServices,O_ as listSessionConnectRequests,Pl as listSessionCosts,Ac as listSessionPrompts,yc as listSessionPublicShares,Bo as listSessionsNeedingInput,Xk as listSsoGroupMappings,wb as listTaskEvents,Pb as listTasks,Kb as listTemplates,jb as listTicketEvents,Ib as listTickets,Oy as loadHttpSessionHistory,JC as markInstanceError,$t as markSessionFresh,oc as mergeChangeRequest,Ow as migrateAdminSandboxProvider,Ye as mkdir,um as narrowChatEvent,UA as normalizeAppPathname,JS as normalizeExternalInput,Wt as normalizeToolName,ic as openChangeRequest,Cs as openEventStream,PR as openStressTestStream,Te as parseBillingError,IA as parseFlagOverride,Ft as parseLocalhostUrl,gy as parseOpenCodeErrorPayload,wp as parseProxyHop,$p as parseSubdomainUrl,WS as parseWebProxyUrl,sx as patchKortixProject,Sa as pipedreamConnect,ga as pipedreamConnectConnection,$a as pipedreamFinalize,ma as pipedreamFinalizeConnection,$ as platformConfig,$_ as pollConnectionOAuth2DeviceAuthorization,Jo as pollProjectProviderOAuth,Ul as previewGatewayRoute,Kk as previewMfaRequired,fu as probeEffectivePermission,yu as probeEffectivePermissions,GR as probePreviewPort,cT as projectCompacting,zR as projectSessionConnection,SP as projectSessionStartSeed,sT as projectWorking,lo as provisionProject,t_ as provisionProjectStream,a_ as provisionProjectWithToken,Ep as proxyLocalhostUrl,BS as proxyUrlToInternal,yl as purchaseCredits,A_ as putConnectionOAuth2Application,gC as reactivateSandbox,dl as reactivateSubscription,Je as readBlob,Ve as readFile,za as readProjectFile,Ua as rebuildProjectSnapshot,aa as reconcileConnection,ca as reconcileMemberConnection,kx as reconcileServices,oR as recordPlatformLogout,Pk as refreshReferralCode,nt as refreshSession,ls as registerAppArtifact,I_ as registerConnectionOAuth2Client,wx as registerService,Ao as rejectProjectAccessRequest,Fv as relativizePath,$c as reloadProjectSessionConfig,Mc as reloadProjectSessionConfigStream,Xu as removeAccountAuditWebhook,Bi as removeAccountBrandingAsset,Yi as removeAccountMember,ou as removeGroupMember,vi as removeKortixPty,op as removeMarketplaceSource,qm as removeQueued,xe as renameFile,aC as renameSandbox,cc as reopenChangeRequest,px as reopenMilestone,Um as reorderQueued,Gb as replaceColumns,Nb as replaceFields,Hb as replaceTemplates,Aw as requestAccountDeletion,lc as requestChangesOnChangeRequest,m_ as requestProjectAccess,Yu as requestProjectConnector,Qu as requestProjectSecret,Vi as resendAccountInvite,$o as resendPendingProjectInvite,Ni as resetAccountBranding,Ex as resetClient,Ol as resetGatewayRoutingPolicy,xs as resetPassword,Mx as resetPublicClient,GC as resetSandboxUpdateStatus,No as resolveApproval,WP as resolvedPlan,Mt as restartProjectSession,uC as restartSandbox,TC as restoreBackup,Dm as retryFailed,Rc as retrySessionPrompt,yx as revealCredential,nw as revokeAccountSession,Lu as revokeAccountToken,Au as revokeAssignment,ua as revokeConnection,Ql as revokeGatewayKey,jo as revokePendingProjectInvite,To as revokeProjectAccess,Nu as revokeProjectCliToken,_C as revokeSandboxProjectAccess,Du as revokeSandboxShare,Bk as revokeScimToken,bc as revokeSessionPublicShare,Pe as rewriteLocalhostUrl,kp as rollbackApp,Pu as rotateOAuthClientSecret,Yl as runGatewayPlayground,Po as saveGitHubInstallation,gl as scheduleDowngrade,ta as searchConnectorTools,Wa as searchProjectFiles,fs as sendMagicLink,vk as sendReferralEmails,uT as serverCompactionRevalidateAtMs,Px as serviceAction,AP as sessionStartKey,qA as setActiveInstanceCookie,Qh as setAdminBypass,Dw as setAdminProviderDistribution,Fw as setAdminProviderFallback,Yc as setAgentScope,Oh as setBootstrapAuthToken,qh as setCachedAuthToken,q_ as setConnectionPolicies,ba as setConnectorAuthorizationStrategy,ja as setConnectorCredential,ha as setConnectorCredentialMode,wa as setConnectorName,Pa as setConnectorPolicies,B_ as setConnectorSecretBinding,xa as setConnectorSensitive,da as setDefaultConnection,fw as setEnterpriseDemo,_i as setEnv,zl as setGatewayBudget,ql as setGatewayRoutingPolicy,CR as setGitHubAppFromExisting,RR as setGitHubAppPat,Nh as setImpersonationSession,hR as setMaintenanceConfig,Fk as setMemberSuperAdmin,Hk as setMfaRequired,Jc as setModelDefault,Zo as setPersonalProjectSecret,ds as setProjectModelAccess,$P as setProjectModelEnablement,mo as setProjectOnboardingComplete,i_ as setProjectOnboardingProfile,Da as setProjectPolicies,Wo as setProjectSecretStrategy,Oc as setProjectSessionModel,qc as setProjectSessionScope,mc as setProjectSessionSharing,Bc as setProjectTriggersActivation,jC as setupSSH,ed as shellExitCode,Nd as shouldAttachImpersonation,lA as shouldHideResponsePart,wf as shouldShowToolPart,ms as signInWithPassword,hs as signInWithProvider,ws as signInWithSso,vs as signOut,gs as signUp,Yv as sortSessions,jv as splitUserParts,_p as startApp,E_ as startConnectionOAuth2Authorization,j_ as startConnectionOAuth2DeviceAuthorization,uR as startConnectorSetupLink,AR as startGitHubAppManifest,Vo as startProjectProviderOAuth,De as startProjectSession,fR as startSessionWithToken,Cb as startTask,Pp as stopApp,Dt as stopProjectSession,pC as stopSandbox,Nv as stripAnsi,MA as stripInstancePrefix,ce as stripTrailingSlashes,iR as submitAccessRequest,xR as submitDemoRequest,cR as submitOAuthConsent,Iu as submitReviewItem,gR as submitSecretSetupLink,Kh as subscribeToImpersonation,Zh as supabaseClient,ya as syncConnectors,QP as syncSubscription,Dx as systemReload,je as toDaemonPath,OA as toInstanceAwarePath,cm as toInternalUrl,St as toSandboxAbsolutePath,ji as toWorkspaceRelative,Is as toolInfo,ty as toolViewModel,LC as triggerSandboxUpdate,ng as triggersRequest,Jv as turnHasSteps,Ob as unassignTicket,te as unwrapError,Ju as updateAccountAuditWebhook,Li as updateAccountBranding,Zi as updateAccountMemberRole,Ui as updateAccountName,GP as updateAgentConfig,up as updateApp,gp as updateAppAccess,pw as updateAuditWebhook,dk as updateChannelBinding,la as updateConnectionCredential,Ml as updateEmailPolicy,po as updateExperimentalFeature,uo as updateFeatureFlag,nu as updateGroup,Si as updateKortixPty,lx as updateMilestone,_u as updateOAuthClient,_s as updatePassword,sw as updatePatPolicy,Mk as updatePolicy,Wr as updateProject,Ro as updateProjectAccess,Jb as updateProjectAgent,el as updateProjectDefaultAgent,qo as updateProjectGroupGrant,go as updateProjectSandboxProvider,Ic as updateProjectSession,Lc as updateProjectTrigger,du as updateRole,gu as updateRolePermissions,Ga as updateSandboxTemplate,ew as updateSessionPolicy,Ab as updateTask,s_ as updateTemplateWarmPool,Mb as updateTicket,Db as updateTicketStatus,ks as updateUserMetadata,Gi as uploadAccountBrandingAsset,fp as uploadAppArtifactArchive,sa as uploadConnectorAttachment,Xe as uploadFile,Tl as uploadSlackChannelFile,ze as uploadTimeoutMsForBytes,fx as upsertCredential,Qo as upsertProjectGitCredential,Ho as upsertProjectSecret,zk as upsertSsoProvider,io as validateProjectManifest,kk as validateReferralCode,to as validateToken,yk as verifyGatewayProvider,ys as verifyOtp,bT as wakeEscalationAttemptSummary,hT as wakeEscalationNote,fT as wakeProgressFingerprint,iT as workingExpiryAtMs,Qe as writeFile};
|