@kortix/sdk 0.13.14 → 0.13.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +17 -0
  2. package/dist/core/client/kortix.d.ts +11 -1
  3. package/dist/core/client/kortix.d.ts.map +1 -1
  4. package/dist/core/client/kortix.js +7 -0
  5. package/dist/core/client/kortix.js.map +1 -1
  6. package/dist/core/rest/projects-client/connectors.d.ts +78 -1
  7. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  8. package/dist/core/rest/projects-client/connectors.js +46 -5
  9. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  10. package/dist/core/rest/projects-client/index.d.ts +1 -0
  11. package/dist/core/rest/projects-client/index.d.ts.map +1 -1
  12. package/dist/core/rest/projects-client/index.js +1 -0
  13. package/dist/core/rest/projects-client/index.js.map +1 -1
  14. package/dist/core/rest/projects-client/model-access.d.ts +17 -0
  15. package/dist/core/rest/projects-client/model-access.d.ts.map +1 -0
  16. package/dist/core/rest/projects-client/model-access.js +10 -0
  17. package/dist/core/rest/projects-client/model-access.js.map +1 -0
  18. package/dist/core/rest/projects-client/projects.d.ts +15 -5
  19. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  20. package/dist/core/rest/projects-client/projects.js +3 -4
  21. package/dist/core/rest/projects-client/projects.js.map +1 -1
  22. package/dist/kortix.esm.min.js +18 -18
  23. package/dist/kortix.global.js +18 -18
  24. package/dist/react/index.d.ts +1 -0
  25. package/dist/react/index.d.ts.map +1 -1
  26. package/dist/react/index.js +1 -0
  27. package/dist/react/index.js.map +1 -1
  28. package/dist/react/query-keys.d.ts +2 -0
  29. package/dist/react/query-keys.d.ts.map +1 -1
  30. package/dist/react/query-keys.js +2 -0
  31. package/dist/react/query-keys.js.map +1 -1
  32. package/dist/react/use-feature-flag.d.ts +4 -0
  33. package/dist/react/use-feature-flag.d.ts.map +1 -1
  34. package/dist/react/use-feature-flag.js +12 -1
  35. package/dist/react/use-feature-flag.js.map +1 -1
  36. package/dist/react/use-gateway-routing-policy.d.ts.map +1 -1
  37. package/dist/react/use-gateway-routing-policy.js +5 -3
  38. package/dist/react/use-gateway-routing-policy.js.map +1 -1
  39. package/dist/react/use-model-access.d.ts +11 -0
  40. package/dist/react/use-model-access.d.ts.map +1 -0
  41. package/dist/react/use-model-access.js +48 -0
  42. package/dist/react/use-model-access.js.map +1 -0
  43. package/dist/react/use-model-defaults.d.ts.map +1 -1
  44. package/dist/react/use-model-defaults.js +1 -0
  45. package/dist/react/use-model-defaults.js.map +1 -1
  46. package/package.json +2 -2
@@ -1,23 +1,23 @@
1
- var pd={backendUrl:"",getToken:async()=>null},rn=null,ct=null;function Ly(e){ct=e}function Gy(){return ct}function sn(e,t){t?.global!==!1&&(rn=e)}function $(){return ct?.()??rn??pd}function on(){return rn!==null||ct?.()!==void 0}var Gs=({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},v=new Request(f,c);e&&(v=await e(f,c));let R=await(m.fetch??globalThis.fetch)(v);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,`
1
+ var md={backendUrl:"",getToken:async()=>null},rn=null,ct=null;function Ny(e){ct=e}function Ky(){return ct}function sn(e,t){t?.global!==!1&&(rn=e)}function $(){return ct?.()??rn??md}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},v=new Request(f,c);e&&(v=await e(f,c));let R=await(m.fetch??globalThis.fetch)(v);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 v=Math.min(T*2**(E-1),p??3e4);await x(v)}}}()}};var dd=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},gd=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},md=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(gd(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=dd(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=md(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 fd=/\{[^{}]+\}/g,yd=({path:e,url:t})=>{let n=t,r=t.match(fd);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},Bs=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,u=(e??"")+o;t&&(u=yd({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 Ns=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 Ks=({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("&")},Hs=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"}},hd=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,Ws=async({security:e,...t})=>{for(let n of e){if(hd(t,n.name))continue;let r=await Ns(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=>Bs({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Ks(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},bd=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?bd(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}},zs=()=>({error:new Fe,request:new Fe,response:new Fe}),xd=Ks({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),_d={"Content-Type":"application/json"},Le=(e={})=>({...cn,headers:_d,parseAs:"auto",querySerializer:xd,...e});var Ge=(e={})=>{let t=un(Le(),e),n=()=>({...t}),r=f=>(t=un(t,f),n()),s=zs(),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 Ws({...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"?Hs(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,v=c;for(let S of s.error.fns)S&&(v=await S(c,T,_,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...E}},p=f=>m=>u({...m,method:f}),d=f=>async m=>{let{opts:y,url:x}=await o(m);return Gs({...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 Pd={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},kd=Object.entries(Pd),Vs=(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&&Vs(n.args,t);return t},wd=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=Vs(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=kd.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 wd(n),n};var Js=Ge(Le({baseUrl:"http://localhost:4096"}));var P=class{client;constructor(t){this.client=t?.client??Js}},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 Qs(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||Xs(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 ${Xs(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function Xs(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,o=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function Sd(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function vd(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=Sd(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=>vd(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(Qs),new dt({client:t})}var Ad=new Set(["api","cli","mobile","web"]);function gt(e){let t=e?.trim().toLowerCase();return t&&Ad.has(t)?t:null}function Cd(e){return new Promise(t=>setTimeout(t,e))}async function Ys(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 Cd(s)),u=await e(),u)return u;return u}var Rd=12e4;function Td(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function vr(e,t,n=Rd){let r=e instanceof Request?e.signal:t?.signal;if(Td(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 Zs(){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 Ys(()=>$().getToken(),e,mt)}function mt(){}function Th(e){}function Ih(e){}async function Be(){return Cr()}async function ei(e){return ae(e)}function ti(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 ei();if(!o)return Zs();let u=$().clientSource,p=Ar(e,t,o,u),d=s===void 0?vr(e,t):vr(e,t,s),f=await ti(e,t,p,d);if(f.status===401&&r&&o){mt();let m=await ei({attempts:2,baseDelayMs:200});if(m&&m!==o){let y=Ar(e,t,m,u);return ti(e,t,y,d)}}return f}var Ae={url:null,sandboxId:null,dbSandboxId:null,version:0},Id=new Set;function ni(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 Id)r()}}function ri(){return Ae.url}function Ed(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Ne(){return Ed($().backendUrl||"http://localhost:8008/v1")}function si(){let e=$().sandboxId;return e?`${Ne()}/p/${e}/8000`:""}function jd(e){return`${Ne()}/p/${e}/8000`}function ft(e){return jd(e)}var C=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...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 C{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 ii(e){if(!(e instanceof C)||e.status!==403||e.code!==Rr)return null;let t=e.details??e.data;return t&&typeof t=="object"?t:{}}function oi(e){let t=ii(e);return t?(typeof t.feature=="string"&&!e.feature&&(e.feature=t.feature),!0):!1}function ai(e){let t=ii(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 ci(e){return e instanceof fe}function li(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 $d="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 Md(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 Dd(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 ui(){for(let e of Tr)try{e()}catch{}}function qd(){return yt||(yt=!0,ye=Dd(Er()?.getItem(Ir)??null)),ye&&!Md(ye)?(pi(),null):ye}function qh(e){if(yt=!0,!e){pi();return}ye=e;try{Er()?.setItem(Ir,JSON.stringify(e))}catch{}ui()}function pi(){yt=!0;let e=ye!==null;ye=null;try{Er()?.removeItem(Ir)}catch{}e&&ui()}function Oh(e){return Tr.add(e),()=>{Tr.delete(e)}}var Od=/(^|\/)admin\/(api|analytics)(\/|$)/;function Ud(e){let t=e;if(/^https?:\/\//.test(e))try{t=new URL(e).pathname}catch{t=e}return!Od.test(t)}function jr(e){if(e!==void 0&&!Ud(e))return{};let t=qd();return t?{[$d]:t.grantId}:{}}var ne=()=>$().backendUrl||"",Fd="feature_not_supported",Ld="model_not_servable",Gd="provision_in_flight",gi="request_deadline",Bd=/^Request exceeded the \d+s server processing deadline$/,Nd=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===gi||Bd.test(n),Kd=e=>new Promise(t=>setTimeout(t,e)),Hd=new Set([502,503,504]),Wd=e=>Hd.has(e),zd=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Vd=2,di=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),ht=!1;function Kh(e){ht=e}function Hh(){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(v=>v.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=zd(o.method),E=T?Vd+1:1,l;for(let v=0;v<E;v++){v>0&&await Kd(250*2**(v-1));let S=v===0?u:new AbortController;v>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),di(j)||v===E-1)throw j;continue}if(p&&(clearTimeout(p),p=null),!(T&&Wd(l.status)&&v<E-1))break;try{await l.arrayBuffer()}catch{}}if(!l.ok){let v=`HTTP ${l.status}: ${l.statusText}`,S=null;try{S=await l.json(),typeof S.message=="string"?v=S.message:S.error&&typeof S.error=="string"?v=S.error:typeof S.detail=="string"?v=S.detail:typeof S.detail?.message=="string"?v=S.detail.message:typeof S.reason=="string"&&(v=S.reason)}catch{}let R=Nd(l.status,S,v),j=new C(v,{status:l.status,response:l,details:S||void 0,data:S,detail:S?.detail,code:R?gi: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===Fd,D=l.status===409&&S?.code===Ld,Z=l.status===409&&S?.code===Gd;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=di(m);y&&(d=!0);let x;if(y){if(!f)return{error:new C("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let _=e.replace(ne(),"")||e;x=new C(`Request timed out after ${Math.round(s/1e3)}s: ${_}`,{code:"TIMEOUT",url:e,endpoint:_,timeout:s})}else m instanceof Error?(x=new C(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(x,r)):(x=new C(String(m)),n&&$().onError?.(x,r));return{error:x,success:!1}}}var Wh={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new C(r.message||"Database error",{code:r.code,details:r});return $().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new C(n.message,{name:n.name||"ApiError",stack:n.stack}):new C(String(n));return $().onError?.(r,t),{error:r,success:!1}}}};async function Jd(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:Jd};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 mi(e){return bt.get(Mr(e))??null}function fi(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 yi(e){let{apiBaseUrl:t}=e;return fi(t)||xt(t).catch(()=>{}),{sandboxId:e.sandboxId,backendPort:e.backendPort,apiBaseUrl:t,previewUrlTemplate:mi(t)}}function re(){let e=ri();return e||($().billingEnabled??!1?"":si())}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 hi(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 bi(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 xi(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 Xd={list:hi,set:bi,delete:xi};async function Qd(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 _i(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 Pi(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 ki(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 wi(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 Si(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 Yd={list:_i,create:Pi,update:ki,remove:wi,webSocketUrl:Si};async function A(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 mb(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 A(e,`/kortix/tasks${r}`)}async function fb(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function yb(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function hb(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function bb(e,t){return A(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function xb(e,t,n){return A(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function _b(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Pb(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function kb(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function wb(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return A(e,`/kortix/tickets${n}`)}async function Sb(e,t){return A(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function vb(e,t){return A(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Ab(e,t){return A(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Cb(e,t,n){return A(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Rb(e,t,n){return A(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Tb(e,t,n){return A(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Ib(e,t,n){return A(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Eb(e,t,n){return A(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function jb(e,t){return A(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function $b(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Mb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Db(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function qb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Ob(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Ub(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Fb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Lb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Gb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Bb(e,t,n,r){return A(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Nb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Kb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Hb(e,t,n=200){return A(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Wb(e){return A(e,"/kortix/projects")}async function zb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Vb(e,t){return A(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Jb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Xb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Qb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Yb(e,t,n="all"){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function Zb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function ex(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function tx(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function nx(e,t,n,r){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function rx(e,t,n,r){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function sx(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function ix(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function ox(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function ax(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function cx(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function lx(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function ux(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var Zd=1e4,eg={retryOnAuthError:!1};function Ie(e,t,n){return A(e,t,{signal:AbortSignal.timeout(Zd),...n},eg)}async function px(e,t=!1){return(await Ie(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function dx(e){return(await Ie(e,"/kortix/services/templates")).templates??[]}async function gx(e,t){return(await Ie(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function mx(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 fx(e,t){return Ie(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function yx(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 wx(e){Pt.delete(e)}function Sx(){Pt.clear()}var kt=new Map;function vx(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 Ax(e){kt.delete(e)}function Cx(){kt.clear()}async function tg(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 Rx(e){let t=re();if(!t)throw new C("[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 C(`System reload failed (${r.status}): ${await tg(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new C(`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 C(`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 Ri(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new C(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function 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 C(await Ee(n),{status:n.status,response:n});return n.json()}var Fr=["/workspace","/tmp","/home","/opt"],ng=Fr.filter(e=>e!=="/workspace");function Ti(e){return Fr.some(t=>e===t||e.startsWith(`${t}/`))}function St(e){return Ti(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(ng.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Ii=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 C(await Ee(s),{status:s.status,response:s});return s.json()}async function rg(e,t,n){let r=V(n),s=je(e),o=await M(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new C(await Ee(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new C("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 rg(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],sg=e=>e===408||e===429||e===502||e===503||e===504,vi=e=>new Promise(t=>setTimeout(t,e));function ig(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Or=3e4,og=15*6e4,ag=256;function ze(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Or;let t=Or+e/ag;return Math.min(og,Math.max(Or,Math.round(t)))}async function cg(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,ig(p)||s===We.length)break;await vi(We[s]);continue}if(o.ok)return o.json();let u=await cg(o);if(n=new C(`Upload failed (${o.status}): ${u}`,{status:o.status,response:o}),!sg(o.status)||s===We.length)throw n;await vi(We[s])}if(n instanceof C)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new C(`Upload failed: ${r}`)}var Ur=64*1024;function Ai(e,t){try{e?.onProgress?.(t)}catch{}}function Ci(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 lg(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(()=>Ci(e,t,f),k=>M(`${p}/file/upload`,{method:"POST",body:k},{timeoutMs:d}));return Ai(u,{loadedBytes:e.size,totalBytes:e.size}),_}let y=(await wt(()=>Ci(new Blob([],{type:e.type}),t,f),_=>M(`${p}/file/upload`,{method:"POST",body:_},{timeoutMs:ze(0)})))[0]?.path;if(!y)throw new C("Upload reservation returned no file path",{code:"UPLOAD_NO_RESULT"});let x=lg(y);if(!x.name)throw new C(`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 C(`Upload verification failed for ${y}: expected ${k} bytes, received ${E.size}`,{code:"UPLOAD_SIZE_MISMATCH"});Ai(u,{loadedBytes:k,totalBytes:e.size})}}catch(_){throw await _e(y,p).catch(()=>{}),_}return[{path:y,size:e.size}]}function ug(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 ug(t,await Je(e,r),r)}function pg(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function dg(e){let t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function gg(e){return e.slice(e.lastIndexOf("/")+1)}function mg(){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(pg(e.trim())),o=gg(s);if(!o)throw new C(`writeFile needs a file path, got "${e}"`,{code:"INVALID_PATH"});let u=dg(s);await Ye(u,r).catch(()=>{});let p=mg(),d=await Xe(t,u,`.${o}.kortix-write-${p}`,r),f=d[0]?.path;if(!f)throw new C(`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 C(`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 C(`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 C(`Rename failed (${r.status}): ${await Ee(r)}`,{status:r.status,response:r});return r.json()}async function Ei(){return Ri(await be().project.current())}async function Lr(){return Ri(await be().global.health())}async function ji(){try{return(await Lr()).healthy===!0}catch{return!1}}var fg={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:Ei,health:Lr,isReachable:ji,toDaemonPath:je,toSandboxAbsolutePath:St,toWorkspaceRelative:Ii};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 $i(){return a(await i.get("/accounts"))}async function Mi(e){return a(await i.post("/accounts",e))}async function Di(e){return a(await i.get(`/accounts/${e}`))}async function qi(e,t){return a(await i.patch(`/accounts/${e}`,{name:t}))}async function Oi(e){return a(await i.get(`/accounts/${e}/branding`))}async function Ui(e,t){return a(await i.put(`/accounts/${e}/branding`,t))}async function Fi(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 Li(e,t){return a(await i.delete(`/accounts/${e}/branding/assets/${t}`))}async function Gi(e){return a(await i.delete(`/accounts/${e}/branding`))}async function Bi(e){return a(await i.get(`/accounts/${e}/members`))}async function Ni(e,t){return a(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Ki(e){return a(await i.get(`/accounts/${e}/invites`))}async function Hi(e,t){return a(await i.delete(`/accounts/${e}/invites/${t}`))}async function Wi(e,t){return a(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function zi(e){return a(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function Vi(e){return a(await i.post(`/account-invites/${e}/accept`,{}))}async function Ji(e){return a(await i.post(`/account-invites/${e}/decline`,{}))}async function Xi(e,t){return a(await i.delete(`/accounts/${e}/members/${t}`))}async function Qi(e,t,n){return a(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function Yi(e){return a(await i.post(`/accounts/${e}/leave`,{}))}async function Gx(e){return $e(e,"/v1/accounts")}async function Zi(){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 Hx=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","llm_gateway","review_center","meta_agent","apps","monitors","warm_sessions","secrets_egress","pi_worker"];async function Me(){return a(await i.get("/projects"))}async function to(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 no(e,t,n="write"){return a(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function ro(e,t){return a(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function so(e){return a(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Wx(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 zx(e,t){return a(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function io(e){return a(await i.post("/projects",e))}async function oo(e){return a(await i.post("/projects/create-repo",e))}async function ao(e,t={}){return a(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}var eo=200;function hg(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 v=Math.min(T*2**(E-1),p??3e4);await x(v)}}}()}};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,v=c;for(let S of s.error.fns)S&&(v=await S(c,T,_,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...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 jh(e){}function $h(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 C=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...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 C{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 C)||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 Fh(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 Lh(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 zh(e){ht=e}function Vh(){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(v=>v.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 v=0;v<E;v++){v>0&&await zd(250*2**(v-1));let S=v===0?u:new AbortController;v>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)||v===E-1)throw j;continue}if(p&&(clearTimeout(p),p=null),!(T&&Jd(l.status)&&v<E-1))break;try{await l.arrayBuffer()}catch{}}if(!l.ok){let v=`HTTP ${l.status}: ${l.statusText}`,S=null;try{S=await l.json(),typeof S.message=="string"?v=S.message:S.error&&typeof S.error=="string"?v=S.error:typeof S.detail=="string"?v=S.detail:typeof S.detail?.message=="string"?v=S.detail.message:typeof S.reason=="string"&&(v=S.reason)}catch{}let R=Wd(l.status,S,v),j=new C(v,{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 C("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let _=e.replace(ne(),"")||e;x=new C(`Request timed out after ${Math.round(s/1e3)}s: ${_}`,{code:"TIMEOUT",url:e,endpoint:_,timeout:s})}else m instanceof Error?(x=new C(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(x,r)):(x=new C(String(m)),n&&$().onError?.(x,r));return{error:x,success:!1}}}var Jh={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new C(r.message||"Database error",{code:r.code,details:r});return $().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new C(n.message,{name:n.name||"ApiError",stack:n.stack}):new C(String(n));return $().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 A(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 hb(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 A(e,`/kortix/tasks${r}`)}async function bb(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function xb(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function _b(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function Pb(e,t){return A(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function kb(e,t,n){return A(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function wb(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Sb(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function vb(e,t){return A(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Ab(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return A(e,`/kortix/tickets${n}`)}async function Cb(e,t){return A(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Rb(e,t){return A(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Tb(e,t){return A(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Ib(e,t,n){return A(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Eb(e,t,n){return A(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function jb(e,t,n){return A(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function $b(e,t,n){return A(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Mb(e,t,n){return A(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Db(e,t){return A(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function qb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Ob(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Ub(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Fb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Lb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Gb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Bb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Nb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Kb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Hb(e,t,n,r){return A(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Wb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function zb(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Vb(e,t,n=200){return A(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Jb(e){return A(e,"/kortix/projects")}async function Xb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Qb(e,t){return A(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Yb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Zb(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function ex(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function tx(e,t,n="all"){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function nx(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function rx(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function sx(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function ix(e,t,n,r){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function ox(e,t,n,r){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function ax(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function cx(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function lx(e,t){return A(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function ux(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function px(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function dx(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function gx(e,t,n){return A(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var ng=1e4,rg={retryOnAuthError:!1};function Ie(e,t,n){return A(e,t,{signal:AbortSignal.timeout(ng),...n},rg)}async function mx(e,t=!1){return(await Ie(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function fx(e){return(await Ie(e,"/kortix/services/templates")).templates??[]}async function yx(e,t){return(await Ie(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function hx(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 bx(e,t){return Ie(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function xx(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 Ax(e){Pt.delete(e)}function Cx(){Pt.clear()}var kt=new Map;function Rx(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 Tx(e){kt.delete(e)}function Ix(){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 Ex(e){let t=re();if(!t)throw new C("[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 C(`System reload failed (${r.status}): ${await sg(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new C(`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 C(`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 C(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 C(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 C(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 C(await Ee(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new C("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 C(`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 C)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new C(`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 C("Upload reservation returned no file path",{code:"UPLOAD_NO_RESULT"});let x=dg(y);if(!x.name)throw new C(`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 C(`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 C(`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 C(`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 C(`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 C(`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 C(`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 Kx(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 Vx=["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 Jx(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 Xx(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(`
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>eo?`${n.slice(0,eo)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function Vx(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 C(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(`
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 Qx(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 C(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=hg(y);if(x){if(t(x),x.type==="error")throw new C(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 Jx(){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 co(e,t,n){return a(await i.patch(`/projects/${e}/features`,{feature:t,enabled:n}))}async function lo(e,t,n){return a(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function uo(e,t){return a(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Xx(e,t){return a(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function Qx(e,t){return a(await i.patch(`/projects/${e}/warm-pool`,t))}async function po(e,t){return a(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function Yx(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 Zx(e,t){return $e(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function e_(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 go(e){return a(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function mo(e){return a(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function fo(e){return a(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function yo(e){return a(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function ho(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 bo(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 xo(e){return a(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function _o(e){return a(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Po(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 a_(e,t){return a(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function ko(e,t){return a(await i.get(`/projects/${e}/access-requests`,t))}async function wo(e,t,n="member"){return a(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function So(e,t){return a(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function vo(e){return a(await i.get(`/projects/${e}/access`))}async function Ao(e,t,n){return a(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function Co(e,t){return a(await i.delete(`/projects/${e}/access/${t}`))}function c_(e){return"status"in e&&e.status==="invited"}async function Ro(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 To(e){return a(await i.get(`/projects/${e}/access/pending-invites`))}async function Io(e,t){return a(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Eo(e,t){return a(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function jo(e){return a(await i.get(`/projects/${e}/group-grants`))}async function $o(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 Mo(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 Do(e,t){return a(await i.delete(`/projects/${e}/group-grants/${t}`))}async function qo(e){return a(await i.get(`/projects/${e}/resource-grants`))}async function Oo(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 Uo(e,t){return a(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Fo(e,t){return a(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Lo(e,t){return a(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Go(e,t,n){return a(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Bo(e){return a(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function No(e,t){return a(await i.post(`/projects/${e}/secrets`,t))}async function Ko(e,t,n,r={}){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function Ho(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function Wo(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function zo(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Vo(e,t){return a(await i.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}async function Jo(e,t){return a(await i.put(`/projects/${e}/git-credential`,t))}async function Xo(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function Qo(e,t,n){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function Yo(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 Zo(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 ea(e,t){return(await jt(e)).find(n=>n.tool===t)??null}function bg(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 ta(e,t,n={}){let{connector:r,action:s}=bg(t);return a(await i.post(Vr(e,"call"),{connector:r,action:s,args:n}))}function xg(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 _g(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 na(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=_g($().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 C(xg(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 ra(e){return a(await i.get(`/projects/${e}/connections`))}async function sa(e){return a(await i.get(`/projects/${e}/connections/all`))}async function ia(e,t){return a(await i.post(`/projects/${e}/connections`,t))}async function oa(e,t){return a(await i.post(`/projects/${e}/connections/me`,t))}async function aa(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 b_(e,t){return a(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function x_(e,t,n){return a(await i.put(se(e,t,"application"),n))}async function __(e,t){return a(await i.get(se(e,t,"application")))}async function P_(e,t,n){return a(await i.post(se(e,t,"discover"),n))}async function k_(e,t,n={}){return a(await i.post(se(e,t,"discover-resource"),n))}async function w_(e,t,n){return a(await i.post(se(e,t,"register"),n))}async function S_(e,t,n){return a(await i.post(se(e,t,"authorize"),n))}async function v_(e,t,n){return a(await i.post(se(e,t,"device"),n))}async function A_(e,t,n){return a(await i.post(se(e,t,`device/${encodeURIComponent(n)}`),{}))}async function C_(e,t){return a(await i.get(se(e,t,"status")))}async function ca(e,t){return a(await i.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function la(e,t){return a(await i.put(`/projects/${e}/connections/${t}/activate`,{}))}async function ua(e,t){return a(await i.put(`/projects/${e}/connections/${t}/default`,{}))}async function pa(e,t,n={}){return a(await i.post(`/projects/${e}/connections/${t}/connect`,n))}async function da(e,t){return a(await i.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function ga(e){return a(await i.get(`/connectors/projects/${e}/connectors`,{showErrors:!1}))}async function ma(e){return a(await i.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function fa(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function ya(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function ha(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function ba(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function xa(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function R_(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function T_(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function _a(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function Pa(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function Pg(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}var ka=Pg;async function I_(e,t){return a(await i.get(`/connectors/projects/${e}/sessions/${encodeURIComponent(t)}/connect-requests`)).connectors??[]}async function wa(e,t){return a(await i.post(`/connectors/projects/${e}/connectors`,t))}async function Sa(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function va(e,t){return a(await i.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Aa(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 Ca(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 E_(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 Xr(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return a(await i.get(`/connectors/projects/${e}/discover/connectors${s?`?${s}`:""}`))}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 j_=Xr,$_=Qr;async function Ra(){return a(await i.get("/connectors/connect-status"))}async function Ta(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 M_(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function kg(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}var Ia=kg;async function Ea(e){return a(await i.get(`/connectors/projects/${e}/policies`))}async function ja(e,t,n){return a(await i.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function $a(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function Ma(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 Da(e,t){return a(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function qa(e){return a(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Oa(e,t){return a(await i.post(`/projects/${e}/sandbox-templates`,t))}async function Ua(e,t,n){return a(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Fa(e,t){return a(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function La(e,t){return a(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Ga(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function Ba(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 Na(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 Ka(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 Ha(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 Wa(e){return a(await i.get(`/projects/${e}/branches`))}async function za(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 Va(e,t){return a(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Ja(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 Xa(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 Qa(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 Ya(e,t){let n=t?`?status=${t}`:"";return a(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Za(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}`))}async function ec(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function tc(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function nc(e,t){return a(await i.post(`/projects/${e}/change-requests`,t))}async function rc(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function sc(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function ic(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function oc(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function ac(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 cc(e){return!!e&&Zr.has(e)}function Z_(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 lc(e,t,n){return a(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function uc(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function pc(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function dc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function gc(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 mc(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 fc(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 yc(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 hc(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 bc(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 xc(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/turn`))}async function sP(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 _c(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 Pc(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/prompts`))}async function kc(e,t,n){return a(await i.delete(`/projects/${e}/sessions/${t}/prompts/${n}`)).removed}async function wc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/${n}/retry`,{}))}async function Sc(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/hold`,{held:n}))}async function vc(e,t,n){return a(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function Ac(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 Cc(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}function wg(e){let t=e.split(`
13
+ `);let x=_g(y);if(x){if(t(x),x.type==="error")throw new C(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 Yx(){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 Zx(e,t){return a(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function e_(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 t_(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 n_(e,t){return $e(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function r_(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 u_(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 p_(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 C(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 P_(e,t){return a(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function k_(e,t,n){return a(await i.put(se(e,t,"application"),n))}async function w_(e,t){return a(await i.get(se(e,t,"application")))}async function S_(e,t,n){return a(await i.post(se(e,t,"discover"),n))}async function v_(e,t,n={}){return a(await i.post(se(e,t,"discover-resource"),n))}async function A_(e,t,n){return a(await i.post(se(e,t,"register"),n))}async function C_(e,t,n){return a(await i.post(se(e,t,"authorize"),n))}async function R_(e,t,n){return a(await i.post(se(e,t,"device"),n))}async function T_(e,t,n){return a(await i.post(se(e,t,`device/${encodeURIComponent(n)}`),{}))}async function I_(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 E_(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function j_(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 $_(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 M_(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 D_(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 q_=Xr,O_=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 U_(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 rP(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 cP(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(`
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 Rc(e,t,n={}){return a(await i.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function Tc(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 C(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(`
15
+ `))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function Ec(e,t,n={}){return a(await i.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function jc(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 C(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=wg(_);if(k){if(r(k),k.type==="error")throw new C(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 Ic(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function Ec(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function jc(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function $c(e){return a(await i.get(`/projects/${e}/triggers`))}async function Mc(e,t){return a(await i.post(`/projects/${e}/triggers`,t))}async function Dc(e,t,n){return a(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function qc(e,t){return a(await i.delete(`/projects/${e}/triggers/${t}`))}async function Oc(e,t){return a(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Uc(e,t){return a(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var ue=new Map;function ts(e,t){return`${e}::${t}`}function Fc(e,t){ue.delete(e),ue.set(e,t)}function Lc(e,t){let n=ts(e,t),r=ue.get(n);return r&&Fc(n,r),r}function Gc(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)}Fc(r,n)}function Bc(e,t){ue.delete(ts(e,t))}function mP(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 fP(e){return e instanceof Error&&e.name==="SessionStartError"}function Sg(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=Sg(s.error);if(p&&!(p.status===404&&cc(t)))throw p;return null}let o=s.data,u=o.sandbox?.external_id;return o.stage==="ready"&&u&&o.opencode_session_id&&Gc(e,t,{opencodeSessionId:o.opencode_session_id,runtimeUrl:ft(u),sandboxId:u}),o}function yP(e,t){return["session-start",e,t]}async function Nc(e){return a(await i.get(`/projects/${e}/model-defaults`))}async function Kc(e,t){return a(await i.put(`/projects/${e}/model-defaults`,t))}async function Hc(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 wP(e,t){return a(await i.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function zc(e,t,n){let r=Ag(n);return a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function Wc(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function vg(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Ag(e){let t=e.connectors_required?Wc(e.connectors_required):void 0,n=e.connectors_personal?Wc(e.connectors_personal):void 0;if(t&&n&&!vg(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 IP(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 EP(e,t,n){let r=rs(n),s=a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?rs(s.block):null}}function Vc(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Cg(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function rs(e){let t=e.connectors_required?Vc(e.connectors_required):void 0,n=e.connectors_personal?Vc(e.connectors_personal):void 0;if(t&&n&&!Cg(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 jP(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/grant`,{agent:n}))}async function Jc(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 Rg(e){let t=e.trim().toLowerCase();return t===""||t==="free"||t==="none"?"free":t==="enterprise"?"enterprise":"team"}function qP(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:Rg(r),label:s,sublabel:null,isGrandfathered:!1}}async function Xc(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 Qc(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 Yc(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 Zc(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 el(){return a(await i.get("/billing/credit-breakdown"))}async function tl(e){let t=e!=null?`?days=${e}`:"";return a(await i.get(`/billing/usage-history${t}`))}async function nl(){return a(await i.get("/billing/tier-configurations"))}async function OP(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return $e(e,`/v1/billing/account-state${t}`)}async function rl(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 sl(e,t){return a(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function il(e,t){return a(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function ol(e,t){return a(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function al(e){return a(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function cl(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 ll(e){return a(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function ul(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 pl(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 dl(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 gl(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 UP(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 FP(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 LP(e){return a(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function GP(e){return a(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function ml(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 yl(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 zP(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 VP(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 fl(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 JP(e,t={}){let n=fl(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 hl(e,t){return a(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function ZP(e){return hl("slack",e)}function ek(e){return hl("teams",e)}async function bl(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function xl(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Tg={oauth_available:!1,install_url:null};async function _l(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Tg:t.data}async function Pl(e){return a(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function kl(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 wl(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 Sl(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 Ig={provider:"agentmail",managed_available:!1};async function vl(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 Al(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Ig:t.data}async function Cl(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 Rl(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 Tl(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 tk(e){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function nk(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 Il(e){return a(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function El(e,t){return a(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function jl(e){return a(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function $l(e,t){return a(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Ml(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 Dl(e,t){return a(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function ql(e,t){return a(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ol(e,t){return a(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ul(e,t){return a(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Fl(e,t){return a(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ll(e,t){return a(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Gl(e){return a(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Bl(e,t){return a(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Nl(e,t){return a(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Kl(e){return a(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Hl(e,t){return a(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Wl(e,t){return a(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function zl(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 ok(e,t){return a(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function uk(){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 dk(e){return a(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function gk(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function mk(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 fk(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 Vl(e){return w(await U(`/accounts/${e}/iam/groups`)).groups}async function Jl(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}`))}async function Xl(e,t){return w(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function Ql(e,t,n){return w(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function Yl(e,t){return w(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function Zl(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}/members`)).members}async function eu(e,t,n){return w(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function bk(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function tu(e,t,n){return w(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function xk(e,t){return w(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function _k(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 Pk(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 kk(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 wk(e,t){return w(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Sk(e,t,n){return w(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function vk(e,t){return w(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function Ak(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function Ck(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function nu(e){return w(await U(`/accounts/${e}/iam/roles`)).roles}async function ru(e){return w(await U(`/accounts/${e}/iam/agent-identities`)).agents}async function su(e,t){return w(await U(`/accounts/${e}/iam/roles/${t}/permissions`))}async function Rk(e){return w(await U(`/accounts/${e}/iam/actions`)).actions}async function iu(e,t){return w(await U(`/accounts/${e}/iam/roles/${t}/usage`))}async function ou(e,t){return w(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function au(e,t,n){return w(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function cu(e,t,n){return w(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function lu(e,t){return w(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function Tk(e,t,n){return w(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function Ik(e){return w(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function Ek(e,t){return w(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function jk(e,t){return w(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function $k(e){return w(await U(`/accounts/${e}/iam/mfa-required`))}async function Mk(e){return w(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function Dk(e,t){return w(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function qk(e){return w(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function Ok(e,t){return w(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Uk(e,t){return w(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function Fk(e){return w(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function Lk(e){return w(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Gk(e,t){return w(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function Bk(e,t){return w(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Nk(e){return w(await U(`/accounts/${e}/iam/session-policy`))}async function Kk(e,t){return w(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Hk(e){return w(await U(`/accounts/${e}/iam/sessions`)).sessions}async function Wk(e,t){return w(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function zk(e){return w(await U(`/accounts/${e}/iam/pat-policy`))}async function Vk(e,t){return w(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Jk(e){return w(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function Xk(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Qk(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Yk(e,t){return w(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Zk(e){return w(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function ew(e,t){return w(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function tw(e,t,n){return w(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function nw(e,t){return w(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function rw(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 uu(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 pu(e,t,n){return n.length===0?[]:w(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function sw(e){return w(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function iw(e,t){return w(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function du(e){return a(await i.get(`/accounts/${e}/iam/oauth-clients`,{showErrors:!1}))}async function gu(e,t){return a(await i.get(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}async function mu(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients`,t,{showErrors:!1}))}async function fu(e,t,n){return a(await i.patch(`/accounts/${e}/iam/oauth-clients/${t}`,n,{showErrors:!1}))}async function yu(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients/${t}/rotate-secret`,{},{showErrors:!1}))}async function hu(e,t){return a(await i.delete(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}function bu(e){return i.get(e,{showErrors:!1})}function Eg(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 xu(e,t){return a(await bu(`/accounts/${e}/iam/assignments${Eg(t)}`)).assignments}async function _u(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 Pu(e,t){return a(await i.delete(`/accounts/${e}/iam/assignments/${t}`)).assignment}async function ku(e,t){let n=t?.scopeType?`?scope_type=${t.scopeType}`:"";return a(await bu(`/accounts/${e}/iam/permissions${n}`)).permissions}async function fw(){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 yw(e="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function hw(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function bw(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function xw(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function ww(){return i.get("/admin/api/provider-distribution").then(e=>a(e))}function Sw(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>a(t))}function vw(e){return i.put("/admin/api/provider-distribution",e).then(t=>a(t))}function Aw(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>a(t))}function Cw(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>a(n))}function Rw(){return i.get("/admin/api/provider-fallback").then(e=>a(e))}function Tw(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>a(t))}async function $w(e){return a(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function Mw(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 wu(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 Su(e,t){return a(await i.get(`/projects/${e}/review/items/${t}`))}async function vu(e,t){return a(await i.post(`/projects/${e}/review/items`,t))}async function Au(e,t,n){return a(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function Cu(e,t){return a(await i.post(`/projects/${e}/review/bulk`,t))}async function Ru(e){return a(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Tu(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 Iu(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 Eu(e,t=""){return`${Ne()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function ju(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 Nw(e){return ju(Eu(e))}async function Kw(e){return ju(Eu(e,"/messages"))}async function $u(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 Mu(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 Du(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.delete(`/accounts/tokens/${e}${n}`))}async function qu(e){return a(await i.get(`/projects/${e}/cli-token`))}async function Ou(e,t){return a(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Uu(e,t){return a(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Fu(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 Lu(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 Gu(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 Bu(e){return a(await i.get(`/accounts/${e}/audit/webhooks`))}async function Nu(e,t){return a(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function Ku(e,t,n){return a(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Hu(e,t){return a(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Wu(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 zu(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 eS(e){return a(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function Vu(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 Ju(){return a(await i.get("/marketplace/marketplaces"))}async function Xu(){return a(await i.get("/marketplace/marketplaces/featured"))}async function Qu(e){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function Yu(e,t){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function Zu(){return a(await i.get("/marketplace/sources"))}async function ep(e){return a(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function tp(e){return a(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function sS(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function cS(e){return a(await i.get(`/templates/${encodeURIComponent(e)}`))}async function lS(e,t){return a(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}async function np(e){return a(await i.get(`/projects/${e}/apps`),"Failed to list Apps").apps}async function rp(e,t){return a(await i.post(`/projects/${e}/apps`,t),"Failed to create App")}async function sp(e,t){return a(await i.get(`/projects/${e}/apps/${t}`),"Failed to load App")}async function ip(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}`,n),"Failed to update App")}async function op(e,t){return a(await i.delete(`/projects/${e}/apps/${t}`),"Failed to delete App")}async function ap(e,t){return a(await i.get(`/projects/${e}/apps/${t}/access`),"Failed to load App access policy")}async function cp(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}/access`,n),"Failed to update App access policy")}async function lp(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 jg(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function $g(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 up(e,t,n={}){let r=await jg(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 $g(r),size_bytes:r.byteLength})}async function pp(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/deployments`,n),"Failed to create App deployment")}async function dp(e,t){return a(await i.get(`/projects/${e}/apps/${t}/deployments`),"Failed to list App deployments").deployments}async function gp(e,t,n){return a(await i.get(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to load App deployment")}async function mp(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 fp(e,t){return a(await i.post(`/projects/${e}/apps/${t}/start`,{}),"Failed to start App")}async function yp(e,t){return a(await i.post(`/projects/${e}/apps/${t}/stop`,{}),"Failed to stop App")}async function hp(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/rollback`,{deployment_id:n}),"Failed to roll back App")}var tt=class extends Error{constructor(n,r,s){super(r);this.code=n;this.status=s;this.name="HeadlessAuthError"}code;status};function Mg(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(`${Mg(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 ps(e,t){return z("/auth/signup",{body:e},t)}function ds(e,t){return z("/auth/sign-in/password",{body:e},t)}function gs(e,t){return z("/auth/sign-in/magic-link",{body:e},t)}function ms(e,t){return z("/auth/verify-otp",{body:e},t)}function fs(e,t){return z("/auth/sign-in/oauth",{body:e},t)}function ys(e,t){return z("/auth/oauth/exchange",{body:e},t)}function nt(e,t){return z("/auth/refresh",{body:e},t)}function hs(e,t){return z("/auth/password/reset",{body:e},t)}function bs(e,t,n){return z("/auth/password/update",{body:e,bearer:t},n)}function xs(e,t){return z("/auth/user",{bearer:e},t)}function _s(e,t,n){return z("/auth/user",{method:"PATCH",body:e,bearer:t},n)}function Ps(e,t){return z("/auth/sign-in/sso",{body:e},t)}var ks={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 ws(e,t={},n){return z("/auth/sign-out",{body:t,bearer:e},n)}function Ss(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 qg=["control_plane","provider_ingress","daemon","upstream_port"];function bp(e){return typeof e=="string"&&qg.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 xp(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=bp(r.headers.get("X-Kortix-Proxy-Hop"))??bp(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 _p=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Pp=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,kp=/^https?:\/\/(?:dev|staging|prod|preview)-p(\d+)-([a-z0-9-]+)\.[^/]+?(?::(\d+))?(\/.*)?$/i,wp=new Set([22,4096,parseInt(pe.KORTIX_MASTER,10)]);function Og(e){return Pp.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 Ug(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Fg=new Set(["'",'"',"`","<","(","["]),Lg=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Gg(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&&Fg.has(e[t]);)t++;for(;n>t&&Lg.has(e[n-1]);)n--;return e.slice(t,n)}function Bg(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Ng=/^\/proxy\/(\d{1,5})(\/.*)?$/,Kg=/^\/(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 Hg(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Kg.test(t.pathname)}catch{return!1}}function Ft(e){if(!e)return null;let t=Gg(Ug(e.trim())),n=Rp(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(Ng);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=Bg(e);return r&&r!==e?Ft(r):null}}function Wg(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 zg(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Vg(e){let t=[],n=new Set,r=Wg(e);_p.lastIndex=0;let s;for(;(s=_p.exec(e))!==null;){let o=Ft(s[0]);if(!o)continue;let{originalUrl:u,port:p,path:d}=o;p<1||p>65535||wp.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:zg(s.index,r)}))}return t}function SS(e){return Vg(e).length>0}function Jg(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Sp(e){return e.trim().toLowerCase().split("_").join("-")}function vp(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Xg(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(Sp(n.sandboxId));return`${vp(s)}${t}`}function Qg(e){return e.sandboxId.trim().length>0}function Pe(e,t,n){let r=Ut(t);if(!Qg(n))return tm(e,r);let s=Xg(e,r,n);return s||(Jg(n.apiBaseUrl)?`http://p${e}-${Sp(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${vp(n.apiBaseUrl)}/p/${n.sandboxId}/${e}${r}`)}function vS(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 Yg(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function AS(e){return`http://localhost:3211${Yg(e)}`}function Zg(){return"/health"}function CS(e){return Pe(3211,Zg(),e)}function RS(e,t){return Pe(e,"/",t)}function em(e){let t=Ft(e);return!(!t||wp.has(t.port)||Hg(e))}function Ap(e,t){if(!e)return e;let n=Ft(e);return n?em(n.originalUrl)?Pe(n.port,n.path,t):n.originalUrl:e}function tm(e,t="/"){return`http://localhost:${e}${t}`}var Cp=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Rp(e){let t=e.match(Pp);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(kp);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(Cp);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 TS(e){try{let t=Rp(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function IS(e){return Og(e)||kp.test(e)||Cp.test(e)}function ES(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 jS(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 $S(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 MS(e){try{return new URL(e).pathname.includes(rt)}catch{return e.includes(rt)}}function DS(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 qS(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 Tp="frontend";function Lt(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Tp}] ${t}`,...n?[n]:[]);try{be().app.log({service:Tp,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 nm(e){return{type:"heartbeat-gap",gapMs:e}}function rm(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 sm={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},im=16,om=8,am=6e4,cm=5e3,lm=250,um=1e3,pm=3e4,dm=5,gm=3e3,mm=3e4,fm=2e4,ym=2e3,hm=8;function bm(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Ip(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 xm(e,t,n){let r=t.timers??sm,s=t.connectTimeoutMs??fm,o=t.heartbeatTimeoutMs??am,u=t.maxConsecutiveHardFailures??hm,p=new AbortController;function d(E,...l){for(let b of n){let c=E(b);if(c)try{c(...l)}catch(v){console.warn("[opencode-events] subscriber handler threw, skipping",v)}}}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,im-E))};return(async()=>{let E=0,l=0;for(;!p.signal.aborted;){let b=!1,c=!1,v,S,R=null,j=r.now(),q=new AbortController,D=Ip(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:gm,sseMaxRetryDelay:mm,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(v),v=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=Ip(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=bm(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<om)&&(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(v),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<ym)?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>cm&&d(O=>O.onGapRehydrate,I),c?E=0:(E++,E>1&&de.warn("SSE event stream reconnecting",{retryCount:E}));let B=c?lm:Math.min(um*2**Math.min(E-1,dm),pm);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 vs(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=xm(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 _m(){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 Pm(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 C(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let b=$().backendUrl??e.backendUrl,c=80,v=n(b);return v&&(c=v.port?Number(v.port):v.protocol==="https:"?443:80),yi({sandboxId:l,apiBaseUrl:b,backendPort:c})}let s={signUp:ps,signInWithPassword:ds,sendMagicLink:gs,verifyOtp:ms,signInWithProvider:fs,exchangeCode:ys,refresh:nt,resetPassword:hs,updatePassword:bs,updateUserMetadata:_s,signInWithSso:Ps,mfa:ks,user:xs,signOut:ws,session:Ss},o={list:$i,get:Di,create:Mi,updateName:qi,branding:{get:Oi,update:Ui,uploadAsset:Fi,removeAsset:Li,reset:Gi},leave:Yi,members:Bi,invite:Ni,removeMember:Xi,updateMemberRole:Qi,invites:Ki,cancelInvite:Hi,resendInvite:Wi,tokens:{list:$u,create:Mu,revoke:Du},audit:{log:Fu,export:Gu,webhooks:{list:Bu,create:Nu,update:Ku,remove:Hu}}},u={assignments:{list:xu,create:_u,revoke:Pu},permissions:{list:ku,forRole:su},roles:{list:nu,create:ou,update:au,setPermissions:cu,remove:lu,usage:iu},groups:{list:Vl,get:Jl,create:Xl,update:Ql,remove:Yl,members:{list:Zl,add:eu,remove:tu}},agentIdentities:ru,oauthClients:{list:du,get:gu,create:mu,update:fu,rotateSecret:yu,remove:hu},can:uu,canBatch:pu},p={accountState:Xc,accountStateMinimal:Qc,transactions:Yc,transactionsSummary:Zc,creditBreakdown:el,usageHistory:tl,usageRollup:ml,sessionCosts:{list:yl,get:os},tierConfigurations:nl,checkout:{createSession:l=>rl(l),confirmSession:(l,b)=>sl(l,b)},subscription:{createPortalSession:(l,b)=>il(l,b),cancel:(l,b)=>ol(l,b),reactivate:l=>al(l),scheduleDowngrade:(l,b,c)=>cl(l,b,c),cancelScheduledChange:l=>ll(l),prorationPreview:(l,b)=>ul(l,b)},credits:{purchase:l=>pl(l),autoTopupSettings:l=>dl(l),configureAutoTopup:l=>gl(l)}},d={describe:zi,accept:Vi,decline:Ji},f={list:Me,listForAccount:to,get:Br,detail:Nr,create:io,createRepo:oo,provision:ao,update:Wr,archive:zr,llmCatalog:Kr,modelPicker:Hr,sandboxHealth:Yr,sandboxTemplates:$a,sessions:Ze,createSession:et},m={linkRepository:go,getInstallation:mo,listInstallations:fo,listLinkableInstallations:yo,listRepositories:ho,listRepositoryBranches:bo,linkInstallation:_o,saveInstallation:xo,deleteInstallation:Po},y={list:Ru,create:Tu,revoke:Iu},x=Ra,_={items:l=>Vu(l),item:l=>Qu(l),itemFile:(l,b)=>Yu(l,b),marketplaces:()=>Ju(),featured:()=>Xu(),sources:{list:()=>Zu(),add:l=>ep(l),remove:l=>tp(l)}};function k(l){return{catalog:()=>Jr(l),tools:()=>jt(l),search:(...b)=>Zo(l,...b),describe:(...b)=>ea(l,...b),call:(...b)=>ta(l,...b),uploadAttachment:(...b)=>na(l,...b)}}function T(l){let b={list:()=>ra(l),listAll:()=>sa(l),reconcile:(...c)=>ia(l,...c),reconcileMember:(...c)=>oa(l,...c),updateCredential:(...c)=>aa(l,...c),revoke:(...c)=>ca(l,...c),activate:(...c)=>la(l,...c),setDefault:(...c)=>ua(l,...c),pipedreamConnect:(...c)=>pa(l,...c),pipedreamFinalize:(...c)=>da(l,...c)};return{get:c=>Br(l,c),detail:()=>Nr(l),audit:c=>Lu(l,c),update:c=>Wr(l,c),archive:()=>zr(l),llmCatalog:()=>Kr(l),modelPicker:()=>Hr(l),sandboxHealth:()=>Yr(l),onboardingComplete:(...c)=>po(l,...c),apps:{list:()=>np(l),create:c=>rp(l,c),get:c=>sp(l,c),update:(...c)=>ip(l,...c),access:{get:(...c)=>ap(l,...c),update:(...c)=>cp(l,...c),session:(...c)=>lp(l,...c)},remove:c=>op(l,c),artifacts:{register:c=>ls(l,c),uploadArchive:(...c)=>up(l,...c),finalize:(...c)=>us(l,...c)},deployments:{create:(...c)=>pp(l,...c),list:c=>dp(l,c),get:(...c)=>gp(l,...c),logs:(...c)=>mp(l,...c)},start:c=>fp(l,c),stop:c=>yp(l,c),rollback:(...c)=>hp(l,...c)},tokens:{list:()=>qu(l),create:c=>Ou(l,c),revoke:c=>Uu(l,c)},setupLinks:{requestSecret:c=>Wu(l,c),requestConnector:c=>zu(l,c)},validateManifest:c=>ro(l,c),gitToken:()=>so(l),secrets:{list:()=>Bo(l),upsert:c=>No(l,c),setStrategy:(...c)=>Ko(l,...c),broker:(...c)=>Ho(l,...c),remove:c=>Xo(l,c),setPersonal:(...c)=>Qo(l,...c),removePersonal:c=>Yo(l,c),setGitCredential:c=>Jo(l,c),startProviderOAuth:(...c)=>Wo(l,...c),pollProviderOAuth:(...c)=>zo(l,...c),removeProviderOAuth:c=>Vo(l,c)},access:{list:()=>vo(l),invite:(...c)=>Ro(l,...c),update:(...c)=>Ao(l,...c),revoke:c=>Co(l,c),pendingInvites:()=>To(l),resendInvite:(...c)=>Eo(l,...c),revokeInvite:(...c)=>Io(l,...c),requests:()=>ko(l),approveRequest:(...c)=>wo(l,...c),rejectRequest:(...c)=>So(l,...c),groupGrants:()=>jo(l),attachGroupGrant:(...c)=>$o(l,...c),updateGroupGrant:(...c)=>Mo(l,...c),detachGroupGrant:c=>Do(l,c),resourceGrants:{list:()=>qo(l),create:c=>Oo(l,c),remove:c=>Uo(l,c)}},connectors:{...k(l),list:()=>ga(l),config:(...c)=>_a(l,...c),create:(...c)=>wa(l,...c),remove:(...c)=>va(l,...c),sync:()=>ma(l),auth:{discover:(...c)=>Sa(l,...c)},setName:(...c)=>Pa(l,...c),setCredentialMode:(...c)=>fa(l,...c),setAuthorizationStrategy:(...c)=>ya(l,...c),setCredential:(...c)=>Ta(l,...c),setSensitive:(...c)=>ha(l,...c),connections:b,policies:{get:(...c)=>ba(l,...c),set:(...c)=>xa(l,...c)},pipedream:{listApps:(...c)=>Aa(l,...c),listSections:(...c)=>Ca(l,...c),connect:(...c)=>ka(l,...c),finalize:(...c)=>Ia(l,...c)},discover:{list:(...c)=>Xr(l,...c),detail:(...c)=>Qr(l,...c)}},policies:{list:()=>Ea(l),set:(...c)=>ja(l,...c)},triggers:{list:()=>$c(l),create:(...c)=>Mc(l,...c),update:(...c)=>Dc(l,...c),remove:(...c)=>qc(l,...c),fire:(...c)=>Uc(l,...c),setActivation:(...c)=>Oc(l,...c)},files:{list:c=>Ba(l,c),read:(c,v)=>Ka(l,c,v),search:(...c)=>Na(l,...c),archive:(...c)=>Ha(l,...c),history:(...c)=>Xa(l,...c)},git:{commits:()=>za(l),commit:c=>Va(l,c),commitDiff:c=>Ja(l,c),branches:()=>Wa(l),versionDiff:(...c)=>Qa(l,...c),inviteCollaborator:(...c)=>no(l,...c)},changeRequests:{list:()=>Ya(l),get:c=>Za(l,c),diff:c=>ec(l,c),mergePreview:c=>tc(l,c),open:(...c)=>nc(l,...c),merge:(...c)=>rc(l,...c),close:(...c)=>sc(l,...c),reopen:(...c)=>ic(l,...c),requestChanges:(...c)=>oc(l,...c)},sessions:{list:c=>Ze(l,c),create:c=>et(l,c),ensureWarm:()=>mc(l),claimWarm:c=>fc(l,c)},review:{list:c=>wu(l,c),get:c=>Su(l,c),submit:c=>vu(l,c),act:(...c)=>Au(l,...c),bulkAct:c=>Cu(l,c)},approvals:{list:c=>Fo(l,c),resolve:(...c)=>Go(l,...c),sessionsNeedingInput:c=>Lo(l,c)},gateway:{logs:c=>Ml(l,c),log:c=>Dl(l,c),overview:c=>ql(l,c),series:c=>Ol(l,c),breakdown:c=>Ul(l,c),sessions:c=>Fl(l,c),errors:c=>Ll(l,c),budgets:()=>Gl(l),setBudget:c=>Bl(l,c),deleteBudget:c=>Nl(l,c),keys:()=>Kl(l),createKey:c=>Hl(l,c),revokeKey:c=>Wl(l,c),routing:{get:()=>Il(l),set:c=>El(l,c),reset:()=>jl(l),preview:c=>$l(l,c)},playground:(c,v,S)=>zl(l,c,v,S)},channels:{slack:{installation:()=>bl(l),connect:c=>xl(l,c),mode:()=>_l(l),manifest:()=>Pl(l),disconnect:()=>kl(l),getFile:c=>wl(l,c),uploadFile:c=>Sl(l,c)},email:{installation:c=>vl(l,c),mode:()=>Al(l),connect:c=>Cl(l,c),disconnect:c=>Rl(l,c),updatePolicy:(...c)=>Tl(l,...c)}},updateFeatureFlag:(...c)=>co(l,...c),updateExperimentalFeature:(...c)=>lo(l,...c),modelDefaults:{get:()=>Nc(l),set:c=>Kc(l,c),clear:c=>Hc(l,c)},setDefaultAgent:c=>Jc(l,c),sandbox:{list:()=>Ga(l),snapshots:()=>Ma(l),rebuildSnapshot:c=>Da(l,c),fixWithAgent:()=>qa(l),createTemplate:c=>Oa(l,c),updateTemplate:(...c)=>Ua(l,...c),removeTemplate:c=>Fa(l,c),buildTemplate:c=>La(l,c),setProvider:c=>uo(l,c)},setAgentScope:(...c)=>zc(l,...c),session:c=>E(l,c)}}function E(l,b){let c=null,v,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=Lc(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 C(`Session runtime not ready (stage: ${H?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let W=H.sandbox.external_id;if(!W)throw new C("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let ee=ft(W);return ni(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,Bc(l,b)}return{get:h=>es(l,b,h),cost:()=>os(b,{projectId:l}),update:h=>vc(l,b,h),delete:()=>(J(),Ac(l,b)),start:(...h)=>De(l,b,...h),restart:()=>(J(),Mt(l,b)),stop:()=>(J(),Dt(l,b)),configState:()=>Cc(l,b),reloadConfig:h=>(J(),Rc(l,b,h)),reloadConfigStream:(...h)=>(J(),Tc(l,b,...h)),setSharing:h=>lc(l,b,h),previews:()=>uc(l,b),commit:h=>ac(l,b,h),publicShares:{list:()=>pc(l,b),create:(...h)=>dc(l,b,...h),revoke:(...h)=>gc(l,b,...h)},audit:(h,I)=>yc(l,b,h,I),transcript:h=>hc(l,b,h),transcriptSync:h=>bc(l,b,h),turn:()=>xc(l,b),prompts:{create:h=>_c(l,b,h),list:()=>Pc(l,b),remove:h=>kc(l,b,h),retry:h=>wc(l,b,h),hold:h=>Sc(l,b,h)},ensureReady:D,health:h=>xp(q()?.runtimeUrl??null,h),previewUrl:(h,I="/")=>Pe(h,I,r(Z("previewUrl").sandboxId)),proxyUrl:h=>Ap(h,r(Z("proxyUrl").sandboxId)),setModel:h=>{v=h},changeModel:async h=>{let I=await jc(l,b,h);return R=null,I},scope:()=>Ic(l,b),rescope:h=>Ec(l,b,h),setAgent:h=>{S=h},send:async(h,I)=>{let{opencodeSessionId:B,runtimeUrl:O}=await D(),F=I?.model??v,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 vs({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:Zi,runtime:_m}}function km(){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 wm(){return{pending:[],failed:[],inFlightId:null,inFlightIds:[]}}function qe(e){return e.inFlightIds?.length?e.inFlightIds:e.inFlightId?[e.inFlightId]:[]}function Sm(e,t){return{...e,pending:[...e.pending,{...t,attempts:0}]}}function vm(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 Am(e){let t=qe(e);return t.length===0?e:{...e,pending:e.pending.filter(n=>!t.includes(n.id)),inFlightId:null,inFlightIds:[]}}function Cm(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 Rm(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 Tm(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 Im(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 Em(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 Ep={thinking:!1,toolDetails:!0,assistantMetadata:!0};function jm(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function $m(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 Mm(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
19
+ `);let k=Ag(_);if(k){if(r(k),k.type==="error")throw new C(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 bP(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 xP(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 _P(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 CP(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 MP(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 DP(e,t,n){let r=rs(n),s=a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?rs(s.block):null}}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 rs(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 qP(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 Eg(e){let t=e.trim().toLowerCase();return t===""||t==="free"||t==="none"?"free":t==="enterprise"?"enterprise":"team"}function LP(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:Eg(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 GP(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 BP(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 NP(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 KP(e){return a(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function HP(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 QP(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 YP(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 ZP(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 rk(e){return _l("slack",e)}function sk(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 jg={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?jg: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 $g={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?$g: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 ik(e){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function ok(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 uk(e,t){return a(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function mk(){return a(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function fk(){return a(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function yk(e){return a(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function hk(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function bk(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 xk(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 kk(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 wk(e,t){return w(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function Sk(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 vk(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 Ak(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 Ck(e,t){return w(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Rk(e,t,n){return w(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function Tk(e,t){return w(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function Ik(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function Ek(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 jk(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 $k(e,t,n){return w(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function Mk(e){return w(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function Dk(e,t){return w(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function qk(e,t){return w(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function Ok(e){return w(await U(`/accounts/${e}/iam/mfa-required`))}async function Uk(e){return w(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function Fk(e,t){return w(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function Lk(e){return w(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function Gk(e,t){return w(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Bk(e,t){return w(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function Nk(e){return w(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function Kk(e){return w(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Hk(e,t){return w(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function Wk(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 Vk(e,t){return w(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Jk(e){return w(await U(`/accounts/${e}/iam/sessions`)).sessions}async function Xk(e,t){return w(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function Qk(e){return w(await U(`/accounts/${e}/iam/pat-policy`))}async function Yk(e,t){return w(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Zk(e){return w(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function ew(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function tw(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function nw(e,t){return w(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function rw(e){return w(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function sw(e,t){return w(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function iw(e,t,n){return w(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function ow(e,t){return w(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function aw(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 cw(e){return w(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function lw(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 Mg(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${Mg(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 xw(){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 _w(e="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function Pw(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function kw(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function ww(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Cw(){return i.get("/admin/api/provider-distribution").then(e=>a(e))}function Rw(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>a(t))}function Tw(e){return i.put("/admin/api/provider-distribution",e).then(t=>a(t))}function Iw(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>a(t))}function Ew(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>a(n))}function jw(){return i.get("/admin/api/provider-fallback").then(e=>a(e))}function $w(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>a(t))}async function Ow(e){return a(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function Uw(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 zw(e){return Du(Mu(e))}async function Vw(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 sS(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 cS(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function dS(e){return a(await i.get(`/templates/${encodeURIComponent(e)}`))}async function gS(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 Dg(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function qg(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 Dg(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 qg(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 Og(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(`${Og(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 Fg=["control_plane","provider_ingress","daemon","upstream_port"];function Pp(e){return typeof e=="string"&&Fg.includes(e)?e:null}function CS(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 Lg(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 Gg(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Bg=new Set(["'",'"',"`","<","(","["]),Ng=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Kg(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&&Bg.has(e[t]);)t++;for(;n>t&&Ng.has(e[n-1]);)n--;return e.slice(t,n)}function Hg(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Wg=/^\/proxy\/(\d{1,5})(\/.*)?$/,zg=/^\/(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 Vg(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:zg.test(t.pathname)}catch{return!1}}function Ft(e){if(!e)return null;let t=Kg(Gg(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(Wg);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=Hg(e);return r&&r!==e?Ft(r):null}}function Jg(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 Xg(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Qg(e){let t=[],n=new Set,r=Jg(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:Xg(s.index,r)}))}return t}function ES(e){return Qg(e).length>0}function Yg(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 Zg(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 em(e){return e.sandboxId.trim().length>0}function Pe(e,t,n){let r=Ut(t);if(!em(n))return sm(e,r);let s=Zg(e,r,n);return s||(Yg(n.apiBaseUrl)?`http://p${e}-${Cp(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${Rp(n.apiBaseUrl)}/p/${n.sandboxId}/${e}${r}`)}function jS(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 tm(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function $S(e){return`http://localhost:3211${tm(e)}`}function nm(){return"/health"}function MS(e){return Pe(3211,nm(),e)}function DS(e,t){return Pe(e,"/",t)}function rm(e){let t=Ft(e);return!(!t||Ap.has(t.port)||Vg(e))}function Tp(e,t){if(!e)return e;let n=Ft(e);return n?rm(n.originalUrl)?Pe(n.port,n.path,t):n.originalUrl:e}function sm(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 qS(e){try{let t=Ep(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function OS(e){return Lg(e)||vp.test(e)||Ip.test(e)}function US(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 FS(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 LS(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 GS(e){try{return new URL(e).pathname.includes(rt)}catch{return e.includes(rt)}}function BS(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 NS(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 im(e){return{type:"heartbeat-gap",gapMs:e}}function om(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 am={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},cm=16,lm=8,um=6e4,pm=5e3,dm=250,gm=1e3,mm=3e4,fm=5,ym=3e3,hm=3e4,bm=2e4,xm=2e3,_m=8;function Pm(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 km(e,t,n){let r=t.timers??am,s=t.connectTimeoutMs??bm,o=t.heartbeatTimeoutMs??um,u=t.maxConsecutiveHardFailures??_m,p=new AbortController;function d(E,...l){for(let b of n){let c=E(b);if(c)try{c(...l)}catch(v){console.warn("[opencode-events] subscriber handler threw, skipping",v)}}}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,cm-E))};return(async()=>{let E=0,l=0;for(;!p.signal.aborted;){let b=!1,c=!1,v,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:ym,sseMaxRetryDelay:hm,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(v),v=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=Pm(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<lm)&&(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(v),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<xm)?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>pm&&d(O=>O.onGapRehydrate,I),c?E=0:(E++,E>1&&de.warn("SSE event stream reconnecting",{retryCount:E}));let B=c?dm:Math.min(gm*2**Math.min(E-1,fm),mm);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=km(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 wm(){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 Sm(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 C(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let b=$().backendUrl??e.backendUrl,c=80,v=n(b);return v&&(c=v.port?Number(v.port):v.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,v)=>za(l,c,v),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,v,S)=>Xl(l,c,v,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,v,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 C(`Session runtime not ready (stage: ${H?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let W=H.sandbox.external_id;if(!W)throw new C("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,Hc(l,b)}return{get:h=>es(l,b,h),cost:()=>os(b,{projectId:l}),update:h=>Rc(l,b,h),delete:()=>(J(),Tc(l,b)),start:(...h)=>De(l,b,...h),restart:()=>(J(),Mt(l,b)),stop:()=>(J(),Dt(l,b)),configState:()=>Ic(l,b),reloadConfig:h=>(J(),Ec(l,b,h)),reloadConfigStream:(...h)=>(J(),jc(l,b,...h)),setSharing:h=>dc(l,b,h),previews:()=>gc(l,b),commit:h=>uc(l,b,h),publicShares:{list:()=>mc(l,b),create:(...h)=>fc(l,b,...h),revoke:(...h)=>yc(l,b,...h)},audit:(h,I)=>xc(l,b,h,I),transcript:h=>_c(l,b,h),transcriptSync:h=>Pc(l,b,h),turn:()=>kc(l,b),prompts:{create:h=>wc(l,b,h),list:()=>Sc(l,b),remove:h=>vc(l,b,h),retry:h=>Ac(l,b,h),hold:h=>Cc(l,b,h)},ensureReady:D,health:h=>kp(q()?.runtimeUrl??null,h),previewUrl:(h,I="/")=>Pe(h,I,r(Z("previewUrl").sandboxId)),proxyUrl:h=>Tp(h,r(Z("proxyUrl").sandboxId)),setModel:h=>{v=h},changeModel:async h=>{let I=await Dc(l,b,h);return R=null,I},scope:()=>$c(l,b),rescope:h=>Mc(l,b,h),setAgent:h=>{S=h},send:async(h,I)=>{let{opencodeSessionId:B,runtimeUrl:O}=await D(),F=I?.model??v,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:wm}}function vm(){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 Am(){return{pending:[],failed:[],inFlightId:null,inFlightIds:[]}}function qe(e){return e.inFlightIds?.length?e.inFlightIds:e.inFlightId?[e.inFlightId]:[]}function Cm(e,t){return{...e,pending:[...e.pending,{...t,attempts:0}]}}function Rm(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 Tm(e){let t=qe(e);return t.length===0?e:{...e,pending:e.pending.filter(n=>!t.includes(n.id)),inFlightId:null,inFlightIds:[]}}function Im(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 Em(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 jm(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 $m(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 Mm(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 Mp={thinking:!1,toolDetails:!0,assistantMetadata:!0};function Dm(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function qm(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 Om(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 Dm(e,t){if(!t)return`## Assistant
53
+ `,n}return""}function Um(e,t){if(!t)return`## Assistant
54
54
 
55
- `;let n=e.agent?jm(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=$m(e.time.completed-e.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
55
+ `;let n=e.agent?Dm(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=qm(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 qm(e,t,n){let r="";e.role==="user"?r+=`## User
59
+ `}function Fm(e,t,n){let r="";e.role==="user"?r+=`## User
60
60
 
61
- `:r+=Dm(e,n.assistantMetadata);for(let s of t)r+=Mm(s,n);return r}function Om(e,t,n=Ep){let r=`# ${e.title||"Untitled Session"}
61
+ `:r+=Um(e,n.assistantMetadata);for(let s of t)r+=Om(s,n);return r}function Lm(e,t,n=Mp){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+=qm(s.info,s.parts,n),r+=`---
69
+ `;for(let s of t)r+=Fm(s.info,s.parts,n),r+=`---
70
70
 
71
- `;return r}function Um(e,t){return`session-${e}.md`}var As="An error occurred";var Fm=["message","error","detail","error_description","msg","errors","data"];function Mp(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 Lm(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 Gm(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 Bm(e){let t=e.replace(/[_-]+/g," ").trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)}function jp(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=Mp(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=Dp(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=Lm(r);if(u)return Kt(u,t+1,n)??u}return Gm(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=jp(u,t,n);if(p)return p}return}let r=e;for(let u of Fm){let p=jp(r[u],t,n);if(p)return p}let s=r.type??r.code;if(typeof s=="string"&&s.trim())return Bm(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)??As:typeof e=="object"?Ht(e,0)??As:String(e):As}function Dp(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Nm(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 Km(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 $p(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=Km(e.attempt_failures);return!t&&!n&&!r&&s===void 0&&!o&&!u?void 0:{message:typeof e.message=="string"&&e.message||Nm(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=Mp(e),p=Oe(u)??Oe(Dp(u));return p!==void 0?ie(p):void 0}if(typeof e!="object")return;let t=e,n=$p(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=$p(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 Hm={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"}},Wm=[{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 zm(e){return e.replace(/^oc[-_]/,"")}function Wt(e){return zm(e).replace(/-/g,"_")}function Cs(e){return Wt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Rs(e){let t=Wt(e),n=Hm[t];if(n)return n;for(let{prefix:r,category:s}of Wm)if(t.startsWith(r))return{label:Cs(e),category:s};return{label:Cs(e),category:"other"}}var Vm=256*1024;function Jm(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Xm(e){if(e===void 0)return{};if(e.length>Vm)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Qm(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 Ym(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=Xm(r),u=Jm(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let d=Qm(s);d&&(u="error",p=d)}return{name:e,title:n||Rs(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:o,error:p}}function Zm(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function ef(e){return{kind:"reasoning",id:e.id,text:e.text}}function tf(e){return{kind:"tool",id:e.id,tool:Ym(e.tool,e.state)}}function nf(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 rf(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function sf(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function of(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function af(e){return{kind:"agent",id:e.id,name:e.name}}function cf(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:te(e.error),createdAt:e.time.created}}function lf(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function uf(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function pf(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function qp(e){switch(e.type){case"text":return Zm(e);case"reasoning":return ef(e);case"tool":return tf(e);case"file":return nf(e);case"subtask":return rf(e);case"patch":return sf(e);case"snapshot":return of(e);case"agent":return af(e);case"retry":return cf(e);case"compaction":return lf(e);case"step-start":return uf(e);case"step-finish":return pf(e);default:return{kind:"unknown",raw:e}}}function df(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 gf(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function mf(e){let t=e.parts.map(qp),n=e.info.role==="assistant"?e.info.error:void 0,r=df(n),s=!r&&!t.some(gf);return{parts:t,error:r,isEmpty:s}}function ke(e){return e.type==="text"}function Ts(e){return e.type==="reasoning"}function ge(e){return e.type==="tool"}function Up(e){return e.type==="file"}function gv(e){return e.type==="agent"}function mv(e){return e.type==="compaction"}function fv(e){return e.type==="snapshot"}function yv(e){return e.type==="patch"}function hv(e){if(ke(e)||Ts(e))return e.text}function bv(e){if(!Up(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function xv(e){let t=[],n=[];for(let r of e)Up(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 Pv(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var ff=new Set(["todoread","context_info"]);function yf(e){return!ff.has(e.tool)}function kv(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 wv(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 Sv(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ge(r)&&yf(r)&&t.push(r);return t}function vv(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:hf(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:bf(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:xf(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:Op(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Op(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 hf(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Op(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 bf(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Av(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 xf(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 Cv(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function Rv(e,t){return e.find(n=>n.tool?.callID===t)}function Tv(e,t){return e.find(n=>n.tool?.callID===t)}var _f=/\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 Iv(e){return e?e.replace(_f,""):""}var Pf=/^msg_[0-9a-f]{12}/;function Fp(e){return Pf.test(e)?0:1}function Lp(e,t){return e<t?-1:e>t?1:0}function kf(e,t){let n=Fp(e.info.id),r=Fp(t.info.id);if(n!==r)return n-r;if(n===0)return Lp(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:Lp(e.info.id,t.info.id)}function $v(e){let t=[...e].sort(kf),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 Mv(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function Dv(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(ke(n)&&n.text?.trim())return n}}function qv(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Ov(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 Uv(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 Fv(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 wf(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(...wf(e,s));return r}function Sf(e){if(!e||typeof e!="object")return!1;let t=e.data;return!!t&&typeof t=="object"&&t.isRetryable===!0}function Gv(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&&Sf(n.error)}return!1}function vf(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 Kv(e){if(vf(e))return e.assistantMessages[0].parts[0]}function Vv(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 Jv(e,t){return!t||!e?!1:e.type!=="idle"}function Xv(e,t){return!e&&!!t}function Qv(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return te(n.error)}}function Yv(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ie(n.error)}}function Gp(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(Ts(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 Zv(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=Gp(p.parts[d]);if(f)return f}}return"Handing off to an agent..."}let o=Gp(r);if(o)return o}return"Figuring out what\u2019s next..."}function eA(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 Bp=1.2;function Np(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 Kp(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?Np(e.tokens,o):0}function Hp(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function tA(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:_}=Hp(m.info);n+=Kp(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=Wp(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*Bp,tokens:{input:r,output:s,reasoning:o,cacheRead:u,cacheWrite:p}}}function Wp(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?Np({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function nA(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:u}=Hp(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=Kp(f,o,u,t));d||(p+=Wp(s,t)),n+=p}return n*Bp}function rA(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function sA(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function iA(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 oA(e){if(!(!e||e.type!=="retry"))return te(e.message)}function aA(e){return(e.info.summary?.diffs?.length??0)>0}var Af=4e3;function it(e,t=Af){return e.length>t?`${e.slice(0,t)}
73
- \u2026`:e}function zp(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 Cf(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 Rf=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function Jp(e){let t=e.match(Rf);return t?Number(t[1]):void 0}function Tf(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 If=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Ef(e){let t=-1;for(let n of If){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var jf=/\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 $f(e){return e.replace(jf,"")}function Mf(e){let t=G(e.input?.command)??"",n=e.output??"",r=Jp(n),o=$f(Ef(Tf(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 Es(e){return G(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function Df(e){let t=e.status==="error"?e.error:e.output&&it(e.output)||void 0;return{kind:"file-read",path:Es(e),preview:t}}function qf(e){let t=G(e.input?.content),n=e.status==="error"?e.error:it(t??e.output??"")||void 0;return{kind:"file-write",path:Es(e),preview:n}}var Of=256*1024;function Uf(e,t){if(e.length+t.length>Of)return;let n=e.split(`
71
+ `;return r}function Gm(e,t){return`session-${e}.md`}var Rs="An error occurred";var Bm=["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 Nm(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 Km(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 Hm(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=Nm(r);if(u)return Kt(u,t+1,n)??u}return Km(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 Bm){let p=Dp(r[u],t,n);if(p)return p}let s=r.type??r.code;if(typeof s=="string"&&s.trim())return Hm(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 Wm(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 zm(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=zm(e.attempt_failures);return!t&&!n&&!r&&s===void 0&&!o&&!u?void 0:{message:typeof e.message=="string"&&e.message||Wm(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 Vm={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"}},Jm=[{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 Xm(e){return e.replace(/^oc[-_]/,"")}function Wt(e){return Xm(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=Vm[t];if(n)return n;for(let{prefix:r,category:s}of Jm)if(t.startsWith(r))return{label:Ts(e),category:s};return{label:Ts(e),category:"other"}}var Qm=256*1024;function Ym(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Zm(e){if(e===void 0)return{};if(e.length>Qm)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function ef(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 tf(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=Zm(r),u=Ym(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let d=ef(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 nf(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function rf(e){return{kind:"reasoning",id:e.id,text:e.text}}function sf(e){return{kind:"tool",id:e.id,tool:tf(e.tool,e.state)}}function of(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 af(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function cf(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function lf(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function uf(e){return{kind:"agent",id:e.id,name:e.name}}function pf(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:te(e.error),createdAt:e.time.created}}function df(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function gf(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function mf(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 nf(e);case"reasoning":return rf(e);case"tool":return sf(e);case"file":return of(e);case"subtask":return af(e);case"patch":return cf(e);case"snapshot":return lf(e);case"agent":return uf(e);case"retry":return pf(e);case"compaction":return df(e);case"step-start":return gf(e);case"step-finish":return mf(e);default:return{kind:"unknown",raw:e}}}function ff(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 yf(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function hf(e){let t=e.parts.map(Fp),n=e.info.role==="assistant"?e.info.error:void 0,r=ff(n),s=!r&&!t.some(yf);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 _v(e){return e.type==="agent"}function Pv(e){return e.type==="compaction"}function kv(e){return e.type==="snapshot"}function wv(e){return e.type==="patch"}function Sv(e){if(ke(e)||Es(e))return e.text}function vv(e){if(!Gp(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function Av(e){let t=[],n=[];for(let r of e)Gp(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Cv(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Rv(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var bf=new Set(["todoread","context_info"]);function xf(e){return!bf.has(e.tool)}function Tv(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 Iv(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 Ev(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ge(r)&&xf(r)&&t.push(r);return t}function jv(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:_f(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:Pf(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:kf(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 _f(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 Pf(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function $v(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 kf(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 Mv(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function Dv(e,t){return e.find(n=>n.tool?.callID===t)}function qv(e,t){return e.find(n=>n.tool?.callID===t)}var wf=/\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 Ov(e){return e?e.replace(wf,""):""}var Sf=/^msg_[0-9a-f]{12}/;function Bp(e){return Sf.test(e)?0:1}function Np(e,t){return e<t?-1:e>t?1:0}function vf(e,t){let n=Bp(e.info.id),r=Bp(t.info.id);if(n!==r)return n-r;if(n===0)return Np(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:Np(e.info.id,t.info.id)}function Lv(e){let t=[...e].sort(vf),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 Gv(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function Bv(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(ke(n)&&n.text?.trim())return n}}function Nv(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Kv(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 Hv(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 Wv(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 Af(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(...Af(e,s));return r}function Cf(e){if(!e||typeof e!="object")return!1;let t=e.data;return!!t&&typeof t=="object"&&t.isRetryable===!0}function Vv(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&&Cf(n.error)}return!1}function Rf(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 Qv(e){if(Rf(e))return e.assistantMessages[0].parts[0]}function tA(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 nA(e,t){return!t||!e?!1:e.type!=="idle"}function rA(e,t){return!e&&!!t}function sA(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return te(n.error)}}function iA(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ie(n.error)}}function Kp(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 oA(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=Kp(p.parts[d]);if(f)return f}}return"Handing off to an agent..."}let o=Kp(r);if(o)return o}return"Figuring out what\u2019s next..."}function aA(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 Hp=1.2;function Wp(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 zp(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?Wp(e.tokens,o):0}function Vp(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function cA(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:_}=Vp(m.info);n+=zp(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=Jp(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*Hp,tokens:{input:r,output:s,reasoning:o,cacheRead:u,cacheWrite:p}}}function Jp(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?Wp({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function lA(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:u}=Vp(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=zp(f,o,u,t));d||(p+=Jp(s,t)),n+=p}return n*Hp}function uA(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function pA(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function dA(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 gA(e){if(!(!e||e.type!=="retry"))return te(e.message)}function mA(e){return(e.info.summary?.diffs?.length??0)>0}var Tf=4e3;function it(e,t=Tf){return e.length>t?`${e.slice(0,t)}
73
+ \u2026`:e}function Xp(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 If(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 Ef=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function Yp(e){let t=e.match(Ef);return t?Number(t[1]):void 0}function jf(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 $f=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Mf(e){let t=-1;for(let n of $f){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var Df=/\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 qf(e){return e.replace(Df,"")}function Of(e){let t=G(e.input?.command)??"",n=e.output??"",r=Yp(n),o=qf(Mf(jf(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 Uf(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 Ff(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 Lf=256*1024;function Gf(e,t){if(e.length+t.length>Lf)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 Ff(e){let t=G(e.input?.oldString),n=G(e.input?.newString),r=t!==void 0&&n!==void 0?Uf(t,n):void 0;return{kind:"file-edit",path:Es(e),diff:r}}var Xp=/^Found\s+(\d+)\s+match/i,Lf=/^(\/[^:]+?):\s*/,Vp=/Line\s+(\d+):/g;function Gf(e){let t=e.trim(),n=t.match(Xp),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(Lf);if(!p)continue;let d=p[1],f=u.slice(p[0].length),m=[],y;for(Vp.lastIndex=0;(y=Vp.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 Bf(e){return e.trim().split(`
76
- `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Nf(e){let t=G(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=Xp.test(e.output.trim())?Gf(e.output):Bf(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Kf(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 Is(e){let t=Ue(e)??{};return{content:G(t.content)??"",status:G(t.status)??"pending",priority:G(t.priority)}}function Hf(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Is)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Is)};let n=Ue(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Is)}:{kind:"todo",items:[]}}function Wf(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 zf(e){let n=e.input&&Object.keys(e.input).length>0?zp(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?it(e.outputParsed):zp(e.outputParsed):e.outputText!==void 0?r=it(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Vf(e){switch(Wt(e.name)){case"web_search":case"websearch":case"image_search":return Cf(e);case"bash":return Mf(e);case"read":return Df(e);case"write":return qf(e);case"edit":case"morph_edit":return Ff(e);case"grep":case"glob":return Nf(e);case"task":return Kf(e);case"todowrite":return Hf(e);case"question":case"ask":return Wf(e);default:return zf(e)}}var Jf=new Set(["AbortError","MessageAbortedError"]),Xf=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],Qf=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function Qp(e){let t=e.toLowerCase();return Qf.some(n=>t.includes(n))?!1:Xf.some(n=>t.includes(n))}function Yf(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 Yp(e){if(typeof e=="string")return Qp(e);if(!e||typeof e!="object")return!1;let t=e,n=t.name;if(typeof n=="string"&&Jf.has(n))return!0;let r=Yf(t);return typeof r=="string"?Qp(r):!1}var Zf=["user","runtime-disposed","orphan-finalized","wake"],pA=["orphan-finalized","wake"];function dA(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 Zf.includes(n)?n:void 0}function zt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function ey(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 hA(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 js(e,t,n){return e!==void 0?e:ey(zt(t),n)}var bA={get disableMobileAdvertising(){return js($().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return js($().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return js($().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var Vt="kortix-active-instance",ty=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function ny(e){return ty.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 PA(e){let t=ot(e);return!t||!t.innerPath?e:t.innerPath}function ry(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 ny(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function sy(e){return e?ot(e)?.instanceId??null:null}function kA(){return typeof window>"u"?null:sy(window.location.pathname)||iy()}function iy(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${Vt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function wA(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 SA(e,t){return t?ry(t,e):e}function vA(e){let t=ot(e);return t?t.innerPath||"/dashboard":e}function $s(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 oy(e){let t=$s(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 Zp(e){let t=oy(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function CA(e){return Zp(e)!==null}var ay=[/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=$s(e);return t?ay.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 cy(e){let t=Zp(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=$s(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 ed=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function td(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function ly(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 Ms(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:ly(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 Ds(){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:Ms(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 Ds();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 C(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 nd(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 UA(e,t){return e.external_id?`${Y()}/p/${e.external_id}/${t}`:null}async function KA(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function uy(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:Ms(r,s,o),created:!0}}async function HA(){return(await we().catch(()=>null))?.sandbox??null}async function WA(e){return{sandbox:(await uy(e)).sandbox}}async function zA(e){let t=at(e);return t?(await we(t).catch(()=>null))?.sandbox??null:null}async function VA(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 JA(e){let t=at(e);return(await Ds().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function XA(){if(typeof window>"u")return null;let e=Y(),t=Array.from(new Set([e,...ed]));for(let n of t)try{let r=await fetch(td(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 QA(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 YA(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 ZA(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function eC(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function qs(e,t,n){let r=nd(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 iC(e,t){return qs(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function oC(e,t,n,r="member"){await qs(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function aC(e,t,n){await qs(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function uC(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 pC(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 dC(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 mC(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function fC(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function yC(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function hC(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function xC(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 py=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function wC(e){return py.includes(e)}async function SC(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 vC(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 dy(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function dy(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 AC(){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 CC(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function RC(e){}async function TC(e){}async function $C(e){return{serverTypes:[],location:e||"hel1"}}async function MC(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function DC(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function qC(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function OC(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function UC(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function FC(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 Os(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:Os(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 gy(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 GC(e,t){return N(`/marketplace/items${gy(t)}`,e)}function BC(e){return N("/marketplace/marketplaces",e)}function NC(e,t){return N(`/marketplace/items/${encodeURIComponent(e)}`,t)}function KC(e,t,n){return N(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function HC(e,t){return N("/access/check-email",t,{method:"POST",body:{email:e}})}function WC(e,t){return N("/access/request-access",t,{method:"POST",body:e})}function zC(e){return N("/auth/logout",e,{method:"POST",body:{}})}function VC(e,t){return N(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function JC(e,t){return N("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function XC(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function QC(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function YC(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/finalize`,t,{method:"POST",body:{}})}function ZC(e,t){return N(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function eR(e,t,n){return N(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function tR(e,t){return N(`/p/public-share/${encodeURIComponent(e)}`,t)}function nR(e,t,n){return N(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function rR(e){return N("/system/maintenance",e)}function sR(e,t){return N("/system/maintenance",t,{method:"PUT",body:e})}function iR(e){return N("/user-roles",e)}function oR(e,t){return N("/system/demo-request",t,{method:"POST",body:e})}async function aR(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:Os(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 cR(e,t){let n=await fetch(`${Yt(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Os(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 my=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function fy(e,t){return my.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${Yt(e)}/`):null}async function lR(e,t,n){let r=fy(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 dR(){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 gR(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 mR(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 fR(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 yR(){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 yy="/kortix/part/";function hy(e){return typeof e=="string"&&e.startsWith(yy)}async function _R(e){if(!hy(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 rd(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 by(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 sd(e,t){return by(e,t)?(t?rd(t):null)??rd(e):null}function id(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 od(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function xy(e,t={}){let n=sd(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 vR(e,t={}){if(id(e)){let n=await Be();return n?od(e,n):e}return await xy(e,t),e}var CR=3e3;function _y(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 RR(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 _y(o.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function Us(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function IR(e,t){return`${Us(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function ER(e,t){return`${Us(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function Py(e,t){return`${Us(e)}/presentation/convert-to-${t}`}async function jR(e,t,n,r){let s=Py(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 MR(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 DR(e){return e==="unreachable"}var OR=6e4,UR=45e3,FR=45e3,LR=1e4,GR=3e3,BR=15e3;function NR(e,t){return t?t.serverAtMs!=null&&e.serverAtMs!=null?e.serverAtMs>=t.serverAtMs:e.atMs>=t.atMs:!0}function KR(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 Fs(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function HR(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),v=B=>{if(!l)return!1;let O=Fs(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=>!v(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:Fs(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:Fs(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 WR(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 VR=6e4;function JR(e){return e.serverCompactingAtMs!==null?!0:e.optimisticAtMs===null?!1:e.nowMs-e.optimisticAtMs<6e4}function XR(e){if(e.serverCompactingAtMs!==null||e.optimisticAtMs===null)return null;let t=e.optimisticAtMs+6e4;return t>e.nowMs?t:null}var ky=9e4;function QR(e){return e.serverCompactingAtMs===null?null:e.serverCompactingAtMs+ky}var ZR=75e3,eT=2,tT=2e4;function ad(){return{status:"idle",dispatch:"none",fingerprint:null,lastProgressAtMs:null,lastDispatchAtMs:null,attempts:[],msSinceProgress:0,settled:!1}}function nT(e){return e.filter(t=>t!=null).join("|")}function wy(e,t){return e.length===0?"retry-start":e.filter(r=>r.step==="restart").length<t?"restart":null}function rT(e,t,n={}){let r=n.noProgressMs??75e3,s=n.maxRestarts??2,o=n.cooldownMs??2e4;if(t.runtimeReachable)return{...ad(),settled:!0};if(!t.waking)return{...e,dispatch:"none",fingerprint:null,lastProgressAtMs:null,msSinceProgress:0};if(e.settled)return{...ad(),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 _=wy(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 Sy={"retry-start":"retrying",restart:"restarting"};function sT(e){if(e.status!=="escalating")return null;let t=e.attempts[e.attempts.length-1];return t?`Still waking \u2014 ${Sy[t.step]} the runtime (attempt ${e.attempts.length+1})`:null}function vy(e){return e===1?"once":e===2?"twice":`${e} times`}function iT(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 ${vy(t)}`),`Tried: ${r.join(", then ")}.`}var Ay=1e3,Cy=15e3,cd=100,Ry=50,Ty=10;function ld(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 Error(`Session synchronization failed: ${d.status}`);return{messages:await d.json(),nextCursor:d.headers.get("x-next-cursor")||void 0}}}function Iy(e){return jy(ld(e))}function Ey(e){return new Ls({...e,loadPage:ld(e)})}async function jy(e){let t=[],n=new Set,r;do{let u=await e({limit:cd,...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 $y={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Ls=class{options;scheduler;livenessIntervalMs;verifyIntervalMs;lastTailReadAt;retryAttempt=0;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??$y,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}catch(n){if(this.destroyed||Yp(n)||this.abortController.signal.aborted)return;this.update({freshness:Xt(n)?"loading":"error"}),this.scheduleTailRetry(t)}}scheduleTailRetry(t){if(this.destroyed||this.tailRetryTimer!==void 0)return;let n=Math.min(Ay*2**this.retryAttempt,Cy);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"?Ry:cd,...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<Ty&&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)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 My(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Dy(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 v of c)try{v(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 v=c.body.getReader(),S=new TextDecoder,R="",j="message",q="";for(;!y;){let{done:D,value:Z}=await v.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 Bf(e){let t=G(e.input?.oldString),n=G(e.input?.newString),r=t!==void 0&&n!==void 0?Gf(t,n):void 0;return{kind:"file-edit",path:$s(e),diff:r}}var Zp=/^Found\s+(\d+)\s+match/i,Nf=/^(\/[^:]+?):\s*/,Qp=/Line\s+(\d+):/g;function Kf(e){let t=e.trim(),n=t.match(Zp),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(Nf);if(!p)continue;let d=p[1],f=u.slice(p[0].length),m=[],y;for(Qp.lastIndex=0;(y=Qp.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 Hf(e){return e.trim().split(`
76
+ `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Wf(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())?Kf(e.output):Hf(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function zf(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 Vf(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 Jf(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 Xf(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 Qf(e){switch(Wt(e.name)){case"web_search":case"websearch":case"image_search":return If(e);case"bash":return Of(e);case"read":return Uf(e);case"write":return Ff(e);case"edit":case"morph_edit":return Bf(e);case"grep":case"glob":return Wf(e);case"task":return zf(e);case"todowrite":return Vf(e);case"question":case"ask":return Jf(e);default:return Xf(e)}}var Yf=new Set(["AbortError","MessageAbortedError"]),Zf=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],ey=["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 ey.some(n=>t.includes(n))?!1:Zf.some(n=>t.includes(n))}function ty(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"&&Yf.has(n))return!0;let r=ty(t);return typeof r=="string"?ed(r):!1}var ny=["user","runtime-disposed","orphan-finalized","wake"],bA=["orphan-finalized","wake"];function xA(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 ny.includes(n)?n:void 0}function zt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function ry(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 SA(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:ry(zt(t),n)}var vA={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",sy=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function iy(e){return sy.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 CA(e){let t=ot(e);return!!t&&t.innerPath===""}function RA(e){let t=ot(e);return!t||!t.innerPath?e:t.innerPath}function oy(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 iy(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function ay(e){return e?ot(e)?.instanceId??null:null}function TA(){return typeof window>"u"?null:ay(window.location.pathname)||cy()}function cy(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${Vt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function IA(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 EA(e,t){return t?oy(t,e):e}function jA(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 ly(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=ly(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function MA(e){return nd(e)!==null}var uy=[/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?uy.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 py(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 dy(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:dy(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 C(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 HA(e,t){return e.external_id?`${Y()}/p/${e.external_id}/${t}`:null}async function QA(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function gy(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 YA(){return(await we().catch(()=>null))?.sandbox??null}async function ZA(e){return{sandbox:(await gy(e)).sandbox}}async function eC(e){let t=at(e);return t?(await we(t).catch(()=>null))?.sandbox??null:null}async function tC(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 nC(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 rC(){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 sC(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 iC(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 oC(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function aC(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 dC(e,t){return Us(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function gC(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 mC(e,t,n){await Us(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function hC(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 bC(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 xC(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 PC(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function kC(e,t){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 AC(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function CC(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var my=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function IC(e){return my.includes(e)}async function EC(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 jC(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 fy(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function fy(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 $C(){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 MC(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function DC(e){}async function qC(e){}async function LC(e){return{serverTypes:[],location:e||"hel1"}}async function GC(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function BC(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function NC(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function KC(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function HC(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function WC(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 yy(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 VC(e,t){return N(`/marketplace/items${yy(t)}`,e)}function JC(e){return N("/marketplace/marketplaces",e)}function XC(e,t){return N(`/marketplace/items/${encodeURIComponent(e)}`,t)}function QC(e,t,n){return N(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function YC(e,t){return N("/access/check-email",t,{method:"POST",body:{email:e}})}function ZC(e,t){return N("/access/request-access",t,{method:"POST",body:e})}function eR(e){return N("/auth/logout",e,{method:"POST",body:{}})}function tR(e,t){return N(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function nR(e,t){return N("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function rR(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function sR(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function iR(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/finalize`,t,{method:"POST",body:{}})}function oR(e,t){return N(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function aR(e,t,n){return N(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function cR(e,t){return N(`/p/public-share/${encodeURIComponent(e)}`,t)}function lR(e,t,n){return N(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function uR(e){return N("/system/maintenance",e)}function pR(e,t){return N("/system/maintenance",t,{method:"PUT",body:e})}function dR(e){return N("/user-roles",e)}function gR(e,t){return N("/system/demo-request",t,{method:"POST",body:e})}async function mR(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 fR(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 hy=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function by(e,t){return hy.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${Yt(e)}/`):null}async function yR(e,t,n){let r=by(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 xR(){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 _R(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 PR(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 kR(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 wR(){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 xy="/kortix/part/";function _y(e){return typeof e=="string"&&e.startsWith(xy)}async function CR(e){if(!_y(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 Py(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 Py(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 ky(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 jR(e,t={}){if(cd(e)){let n=await Be();return n?ld(e,n):e}return await ky(e,t),e}var MR=3e3;function wy(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 DR(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 wy(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 OR(e,t){return`${Ls(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function UR(e,t){return`${Ls(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function Sy(e,t){return`${Ls(e)}/presentation/convert-to-${t}`}async function FR(e,t,n,r){let s=Sy(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 GR(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 BR(e){return e==="unreachable"}var KR=6e4,HR=45e3,WR=45e3,zR=1e4,VR=3e3,JR=15e3;function XR(e,t){return t?t.serverAtMs!=null&&e.serverAtMs!=null?e.serverAtMs>=t.serverAtMs:e.atMs>=t.atMs:!0}function QR(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 YR(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),v=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=>!v(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 ZR(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 tT=6e4;function nT(e){return e.serverCompactingAtMs!==null?!0:e.optimisticAtMs===null?!1:e.nowMs-e.optimisticAtMs<6e4}function rT(e){if(e.serverCompactingAtMs!==null||e.optimisticAtMs===null)return null;let t=e.optimisticAtMs+6e4;return t>e.nowMs?t:null}var vy=9e4;function sT(e){return e.serverCompactingAtMs===null?null:e.serverCompactingAtMs+vy}var oT=75e3,aT=2,cT=2e4;function ud(){return{status:"idle",dispatch:"none",fingerprint:null,lastProgressAtMs:null,lastDispatchAtMs:null,attempts:[],msSinceProgress:0,settled:!1}}function lT(e){return e.filter(t=>t!=null).join("|")}function Ay(e,t){return e.length===0?"retry-start":e.filter(r=>r.step==="restart").length<t?"restart":null}function uT(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 _=Ay(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 Cy={"retry-start":"retrying",restart:"restarting"};function pT(e){if(e.status!=="escalating")return null;let t=e.attempts[e.attempts.length-1];return t?`Still waking \u2014 ${Cy[t.step]} the runtime (attempt ${e.attempts.length+1})`:null}function Ry(e){return e===1?"once":e===2?"twice":`${e} times`}function dT(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 ${Ry(t)}`),`Tried: ${r.join(", then ")}.`}var Ty=1e3,Iy=15e3,pd=100,Ey=50,jy=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 Error(`Session synchronization failed: ${d.status}`);return{messages:await d.json(),nextCursor:d.headers.get("x-next-cursor")||void 0}}}function $y(e){return Dy(dd(e))}function My(e){return new Bs({...e,loadPage:dd(e)})}async function Dy(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 qy={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;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??qy,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}catch(n){if(this.destroyed||td(n)||this.abortController.signal.aborted)return;this.update({freshness:Xt(n)?"loading":"error"}),this.scheduleTailRetry(t)}}scheduleTailRetry(t){if(this.destroyed||this.tailRetryTimer!==void 0)return;let n=Math.min(Ty*2**this.retryAttempt,Iy);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"?Ey: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<jy&&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)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 Oy(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Uy(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 v of c)try{v(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 v=c.body.getReader(),S=new TextDecoder,R="",j="message",q="";for(;!y;){let{done:D,value:Z}=await v.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 uT(e,t){return Dy({...t,url:My(e)})}var qy="/_kortix/viewer";var tn=new Map;function Oy(){tn.clear()}async function Uy(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 ud(e={}){let t=e.path??qy,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=Uy(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 Fy(e={}){return async()=>(await ud(e))?.access_token??null}export{Zf as ABORT_REASONS,pA as ABORT_REASONS_NOT_YET_EMITTED,Vt as ACTIVE_INSTANCE_COOKIE,yy as ATTACHMENT_PART_REF_PREFIX,C as ApiError,Ce as AuthError,fe as BillingError,Bp as COST_MARKUP,Ep as DEFAULT_TRANSCRIPT_OPTIONS,py as DESTRUCTIVE_PHASES,Rr as FEATURE_DISABLED_CODE,Hx as FEATURE_FLAG_KEYS,Fd as FEATURE_NOT_SUPPORTED_CODE,tt as HeadlessAuthError,me as HostBoundaryError,$d as IMPERSONATION_HEADER,LR as INBOX_OBSERVATION_MAX_MS,ty as INSTANCE_SCOPED_ROUTES,Ld as MODEL_NOT_SERVABLE_CODE,BR as OPTIMISTIC_ABORT_MAX_MS,VR as OPTIMISTIC_COMPACTION_MAX_MS,OR as OPTIMISTIC_RECEIPT_MAX_MS,CR as PREVIEW_PROBE_TIMEOUT_MS,Gd as PROVISION_IN_FLIGHT_CODE,cs as PublicSessionShareError,Re as RequestTooLargeError,He as RuntimeNotReadyError,Fr as SANDBOX_FS_ROOTS,pe as SANDBOX_PORTS,ky as SERVER_COMPACTION_REVALIDATE_MS,UR as SERVER_OBSERVATION_MAX_MS,FR as STREAM_OBSERVATION_MAX_MS,Jt as SandboxNotReadyError,Nt as SessionNotReadyError,ns as SessionStartError,GR as TURN_END_LEDGER_LAG_MS,tT as WAKE_ESCALATION_COOLDOWN_MS,eT as WAKE_MAX_RESTARTS,ZR as WAKE_NO_PROGRESS_MS,Gy as __getConfigResolver,Ly as __setConfigResolver,dA as abortErrorReason,Vi as acceptAccountInvite,pC as acceptInvite,Au as actReviewItem,la as activateConnection,eu as addGroupMembers,ep as addMarketplaceSource,rT as advanceWakeEscalation,wf as allDescendantIds,od as appendPreviewToken,wo as approveProjectAccessRequest,Pb as approveTask,zr as archiveProject,Tb as assignTicket,$o as attachGroupToProject,ks as authMfa,xs as authUser,M as authenticatedFetch,vR as authorizePreviewUrl,i as backendApi,ZP as bindSlackIdentity,ek as bindTeamsIdentity,Ho as brokerProjectSecretRequest,ry as buildInstancePath,ER as buildPresentationTemplateImageUrl,IR as buildPresentationTemplatePdfUrl,sd as buildPreviewAuthEndpoint,fy as buildPublicTemplateUrl,Py as buildRuntimePresentationConversionUrl,La as buildSandboxTemplate,CS as buildStaticFileHealthPreviewUrl,AS as buildStaticFileLocalUrl,vS as buildStaticFilePreviewUrl,Yg as buildStaticFileServicePath,My as buildTunnelEventStreamUrl,jS as buildWebProxyUrl,Cu as bulkActReviewItems,Ak as bulkDeletePolicies,Ck as bulkImportPolicies,ta as callConnector,hw as cancelAccountDeletion,Hi as cancelAccountInvite,ZA as cancelSandbox,TC as cancelSandboxUpdate,ll as cancelScheduledChange,ol as cancelSubscription,HC as checkAccessEmail,Uv as childMapByParent,OC as claimComputer,vm as claimNext,LP as claimPerSeatBilling,fc as claimWarmProjectSession,qp as classifyPart,_y as classifyPreviewProbeStatus,mf as classifyTurn,pi as clearImpersonationSession,Oy as clearKortixAppViewerCache,Hc as clearModelDefault,Z_ as clearSessionFresh,sc as closeChangeRequest,rx as closeMilestone,Mv as collectTurnParts,Eb as commentTicket,ac as commitSessionChanges,XR as compactionExpiryAtMs,kf as compareMessagesForDisplay,Am as completeInFlight,Gp as computeStatusFromPart,gl as configureAutoTopup,sn as configureKortix,sl as confirmCheckoutSession,Cl as connectEmail,xl as connectSlack,DR as connectionIsFaulted,Pg as connectorConnect,kg as connectorFinalize,Mw as convertPresentationToGoogleSlides,jR as convertRuntimePresentation,Et as copyFile,fl as costExportUrl,KR as countLiveInboxPrompts,Mi as createAccount,Nu as createAccountAuditWebhook,Mu as createAccountToken,rp as createApp,lp as createAppAccessSession,pp as createAppDeployment,_u as createAssignment,ew as createAuditWebhook,fC as createBackup,rl as createCheckoutSession,wa as createConnector,It as createFile,Hl as createGatewayKey,Xl as createGroup,Ey as createHttpSessionSyncController,MC as createInstance,Pm as createKortix,Pi as createKortixPty,Ss as createKortixSession,sS as createMarketplaceInstallSession,tx as createMilestone,mu as createOAuthClient,FP as createPerSeatCheckout,wk as createPolicy,il as createPortalSession,io as createProject,Gb as createProjectAgent,Ou as createProjectCliToken,oo as createProjectRepo,Oo as createProjectResourceGrant,et as createProjectSession,Mc as createProjectTrigger,ou as createRole,Dy as createSSEStream,WA as createSandbox,Tu as createSandboxShare,Oa as createSandboxTemplate,Ek as createScimToken,Xk as createServiceAccountApi,_c as createSessionPrompt,dc as createSessionPublicShare,wm as createSessionQueue,Gk as createSsoGroupMapping,bb as createTask,Ab as createTicket,uT as createTunnelEventStream,Ji as declineAccountInvite,dC as declineInvite,bw as deleteAccountImmediately,op as deleteApp,nw as deleteAuditWebhook,hC as deleteBackup,va as deleteConnector,ux as deleteCredential,xi as deleteEnv,_e as deleteFile,Nl as deleteGatewayBudget,Po as deleteGitHubInstallation,Yl as deleteGroup,DC as deleteInstance,Xb as deleteKortixProject,ix as deleteMilestone,hu as deleteOAuthClient,Yo as deletePersonalProjectSecret,vk as deletePolicy,Nb as deleteProjectAgent,Vo as deleteProjectProviderOAuth,Uo as deleteProjectResourceGrant,Xo as deleteProjectSecret,Ac as deleteProjectSession,qc as deleteProjectTrigger,lu as deleteRole,Fa as deleteSandboxTemplate,Yk as deleteServiceAccountApi,kc as deleteSessionPrompt,Bk as deleteSsoGroupMapping,Fk as deleteSsoProvider,kb as deleteTask,jb as deleteTicket,zi as describeAccountInvite,ea as describeConnectorTool,Do as detachGroupFromProject,Vg as detectLocalhostUrls,Qk as disableServiceAccountApi,Rl as disconnectEmail,yR as disconnectGitHubApp,kl as disconnectSlack,P_ as discoverConnectionOAuth2,k_ as discoverConnectionOAuth2Resource,Sa as discoverConnectorAuth,XA as discoverLocalSandbox,aR as downloadAccountAudit,wx as dropClientForUrl,Ax as dropPublicClientForUrl,Im as editQueued,Sm as enqueue,Fb as ensurePmSession,xy as ensurePreviewSessionCookie,b_ as ensureProjectConnectorConnection,uy as ensureSandbox,mc as ensureWarmProjectSession,Xd as env,ys as exchangeCode,Gu as exportAccountAudit,ie as extractGatewayErrorDetails,ot as extractInstanceRoute,Cm as failInFlight,ai as featureDisabledKey,bA as featureFlags,OP as fetchAccountStateWithToken,Gx as fetchAccountsWithToken,_R as fetchAttachmentPart,JP as fetchCostExportCsv,ud as fetchKortixAppViewer,Ha as fetchProjectArchive,Zx as fetchProjectsForAccountWithToken,fg as files,us as finalizeAppArtifact,YC as finalizeConnectorSetupLink,Rt as findFiles,Dv as findLastTextPart,Tt as findText,Uc as fireProjectTrigger,qa as fixSandboxWithAgent,li as formatBillingErrorForUI,rA as formatCost,eA as formatDuration,cy as formatOpenCodeRuntimeError,cy as formatRuntimeError,sA as formatTokens,Om as formatTranscript,km as generateSessionId,Di as getAccount,Oi as getAccountBranding,fw as getAccountDeletionStatus,Xc as getAccountState,Qc as getAccountStateMinimal,iy as getActiveInstanceIdFromCookie,Aw as getAdminProviderAnalytics,ww as getAdminProviderDistribution,Rw as getAdminProviderFallback,xw as getAdminRole,xf as getAgentCardLabel,IP as getAgentConfig,Kb as getAgentPersona,AC as getAllVersions,Ov as getAnsweredQuestionParts,sp as getApp,ap as getAppAccess,gp as getAppDeployment,mp as getAppDeploymentLogs,eS as getApprovalLink,Be as getAuthToken,ei as getAuthTokenWithRetry,dl as getAutoTopupSettings,UP as getAutoTopupSetupStatus,el as getBillingCreditBreakdown,nl as getBillingTierConfigurations,Zc as getBillingTransactionsSummary,tl as getBillingUsageHistory,Za as getChangeRequest,ec as getChangeRequestDiff,tc as getChangeRequestMergePreview,wv as getChildSessionError,kv as getChildSessionId,Sv as getChildSessionToolParts,be as getClient,le as getClientForUrl,Ra as getConnectStatus,__ as getConnectionOAuth2Application,C_ as getConnectionOAuth2Status,R_ as getConnectionPolicies,Jr as getConnectorCatalog,_a as getConnectorConfig,ba as getConnectorPolicies,XC as getConnectorSetupLink,VP as getCostSummary,sy as getCurrentInstanceIdFromPathname,kA as getCurrentInstanceIdFromWindow,Ei as getCurrentProject,ss as getDefaultAccountState,Cv as getDiagnostics,bf as getDirectory,Qr as getDiscoverConnector,$_ as getDiscoverIntegration,vl as getEmailInstallation,Al as getEmailMode,sw as getEnterpriseDemo,Ct as getFileStatus,Op as getFileWithDir,hf as getFilename,dy as getFullChangelog,Ul as getGatewayBreakdown,Gl as getGatewayBudgets,Ll as getGatewayErrors,Kl as getGatewayKeys,Dl as getGatewayLog,ql as getGatewayOverview,Il as getGatewayRoutingPolicy,Ol as getGatewaySeries,Fl as getGatewaySessions,dR as getGitHubAppStatus,mo as getGitHubInstallation,$w as getGoogleAuthUrl,Jl as getGroup,_v as getHiddenToolParts,qd as getImpersonationSession,uC as getInvite,$C as getJustavpsServerTypes,zb as getKortixProject,Vb as getKortixProjectBySession,Si as getKortixPtyWebSocketUrl,vC as getLatestSandboxVersion,rR as getMaintenanceConfig,Jx as getManagedGitStatus,Qu as getMarketplaceCatalogItem,Yu as getMarketplaceCatalogItemFile,$k as getMfaRequired,Zb as getMilestone,Nc as getModelDefaults,gu as getOAuthClient,VC as getOAuthConsentRequest,Zp as getOpenCodeConfigInvalidError,hv as getPartText,zk as getPatPolicy,Rv as getPermissionForTool,Br as getProject,Hb as getProjectActivity,Va as getProjectCommit,Ja as getProjectCommitDiff,Nr as getProjectDetail,Xa as getProjectFileHistory,so as getProjectGitToken,Kr as getProjectLlmCatalog,zx as getProjectLlmCatalogProviders,Hr as getProjectModelPicker,Yr as getProjectSandboxHealth,Xx as getProjectSandboxProviderTransition,es as getProjectSession,Cc as getProjectSessionConfigState,Ic as getProjectSessionScope,ul as getProrationPreview,KA as getProviders,RS as getProxyBaseUrl,vx as getPublicClientForUrl,NC as getPublicMarketplaceItem,KC as getPublicMarketplaceItemFile,Nw as getPublicSessionShare,Kw as getPublicSessionShareMessages,tR as getPublicShareByToken,lR as getPublicTemplate,Tv as getQuestionForTool,uk as getReferralCode,gk as getReferralStats,iA as getRetryInfo,oA as getRetryMessage,Su as getReviewItem,su as getRolePermissions,iu as getRoleUsage,_C as getSSHConnection,HA as getSandbox,zA as getSandboxById,UA as getSandboxPortUrl,UC as getSandboxProvisionStatus,FC as getSandboxProvisionStreamUrl,SC as getSandboxUpdateStatus,nd as getSandboxUrl,ZC as getSecretSetupLink,Lr as getServerHealth,gx as getServiceLogs,yc as getSessionAudit,nA as getSessionCost,os as getSessionCostRecord,xp as getSessionHealth,sP as getSessionOpenBundle,Nk as getSessionPolicy,uc as getSessionPreviewCandidates,hc as getSessionTranscript,bc as getSessionTranscriptSync,xc as getSessionTurn,Kv as getShellModePart,wl as getSlackChannelFile,bl as getSlackInstallation,Pl as getSlackManifest,_l as getSlackMode,qk as getSsoProvider,Zg as getStaticFileHealthPath,Cr as getSupabaseAccessToken,ae as getSupabaseAccessTokenWithRetry,fb as getTask,hb as getTaskStatus,cS as getTemplate,Sb as getTicket,vv as getToolInfo,Um as getTranscriptFilename,tA as getTurnCost,Qv as getTurnError,Yv as getTurnErrorDetails,Zv as getTurnStatus,ml as getUsageRollup,iR as getUserRolesWithToken,Qa as getVersionDiff,Jv as getWorkingState,oC as grantSandboxProjectAccess,jP as grantSecretToAgent,$v as groupMessagesIntoTurns,aA as hasDiffs,SS as hasLocalhostUrls,Qg as hasPreviewTarget,Gv as hasRetryingAssistantTurn,nm as heartbeatGapEvent,Sc as holdSessionPrompts,Cs as humanizeToolName,jr as impersonationHeaders,Uk as importSsoProviderFromMetadata,NR as inboxObservationSupersedes,ad as initialWakeEscalationState,lS as installTemplate,mt as invalidateTokenCache,Ni as inviteAccountMember,Ro as inviteProjectMember,no as inviteRepoCollaborator,Yp as isAbortError,Hh as isAdminBypassEnabled,gv as isAgentPart,Hg as isAppRouteUrl,bv as isAttachment,hy as isAttachmentPartRef,ci as isBillingError,mv as isCompactionPart,on as isConfigured,wC as isDestructivePhase,DS as isExternalUrl,oi as isFeatureDisabledError,Up as isFilePart,Md as isImpersonationSessionLive,_A as isInstanceDetailPath,ny as isInstanceScopedAppPath,ES as isInternalLocalhostUrl,c_ as isInviteSent,Vv as isLastUserMessage,Wx as isManagedGithubProject,CA as isOpenCodeConfigInvalidError,yv as isPatchPart,IS as isPreviewUrl,em as isProxiableLocalhostUrl,Ts as isReasoningPart,Sf as isRetryableTurnError,_S as isRuntimeReady,Xt as isSandboxNotReadyError,ji as isServerReachable,cc as isSessionFresh,fP as isSessionStartError,vf as isShellMode,fv as isSnapshotPart,id as isSubdomainPreviewUrl,ke as isTextPart,ge as isToolPart,Pv as isToolPartHidden,Ti as isUnderSandboxRoot,MS as isWebProxyUrl,Fy as kortixAppViewerToken,Yd as kortixPty,Yi as leaveAccount,_o as linkGitHubInstallation,go as linkRepository,Fu as listAccountAudit,Bu as listAccountAuditWebhooks,Ki as listAccountInvites,Bi as listAccountMembers,Pk as listAccountResourceGrants,Hk as listAccountSessions,$u as listAccountTokens,$i as listAccounts,Rk as listActions,Sw as listAdminSandboxes,ru as listAgentIdentities,sa as listAllConnections,dp as listAppDeployments,np as listApps,xu as listAssignments,rw as listAuditEvents,Zk as listAuditWebhooks,mC as listBackups,Yc as listBillingTransactions,Ya as listChangeRequests,tk as listChannelBindings,$b as listColumns,E_ as listConnectToolkits,ra as listConnections,jt as listConnectorTools,ga as listConnectors,zP as listCostByProject,ax as listCredentialEvents,ox as listCredentials,Xr as listDiscoverConnectors,j_ as listDiscoverIntegrations,hi as listEnv,Xu as listFeaturedMarketplaces,Db as listFields,At as listFiles,Ml as listGatewayLogs,fo as listGitHubInstallations,ho as listGitHubRepositories,bo as listGitHubRepositoryBranches,Zl as listGroupMembers,bk as listGroupProjectGrants,Vl as listGroups,Jb as listKortixProjectSessions,Wb as listKortixProjects,_i as listKortixPty,yo as listLinkableGitHubInstallations,Vu as listMarketplaceCatalogItems,Zu as listMarketplaceSources,Ju as listMarketplaces,xk as listMemberGroups,_k as listMemberProjectAccess,ex as listMilestoneEvents,Yb as listMilestones,du as listOAuthClients,Fo as listPendingApprovals,To as listPendingProjectInvites,ku as listPermissions,Aa as listPipedreamApps,Ca as listPipedreamSections,kk as listPolicies,vo as listProjectAccess,ko as listProjectAccessRequests,Lb as listProjectAgents,Lu as listProjectAudit,Wa as listProjectBranches,qu as listProjectCliTokens,za as listProjectCommits,Ba as listProjectFiles,jo as listProjectGroupGrants,Ea as listProjectPolicies,qo as listProjectResourceGrants,$a as listProjectSandboxTemplates,Ga as listProjectSandboxes,Bo as listProjectSecrets,Ze as listProjectSessions,Ma as listProjectSnapshots,$c as listProjectTriggers,Me as listProjects,to as listProjectsForAccount,GC as listPublicMarketplaceItems,BC as listPublicMarketplaces,mk as listReferrals,wu as listReviewItems,nu as listRoles,iC as listSandboxProjectMembers,Ru as listSandboxShares,JA as listSandboxes,Ik as listScimTokens,Jk as listServiceAccountsApi,dx as listServiceTemplates,px as listServices,I_ as listSessionConnectRequests,yl as listSessionCosts,Pc as listSessionPrompts,pc as listSessionPublicShares,Lo as listSessionsNeedingInput,Lk as listSsoGroupMappings,yb as listTaskEvents,mb as listTasks,Ob as listTemplates,vb as listTicketEvents,wb as listTickets,Iy as loadHttpSessionHistory,qC as markInstanceError,$t as markSessionFresh,rc as mergeChangeRequest,Cw as migrateAdminSandboxProvider,Ye as mkdir,rm as narrowChatEvent,vA as normalizeAppPathname,qS as normalizeExternalInput,Wt as normalizeToolName,nc as openChangeRequest,vs as openEventStream,cR as openStressTestStream,Te as parseBillingError,hA as parseFlagOverride,Ft as parseLocalhostUrl,oy as parseOpenCodeErrorPayload,bp as parseProxyHop,Rp as parseSubdomainUrl,$S as parseWebProxyUrl,Qb as patchKortixProject,ka as pipedreamConnect,pa as pipedreamConnectConnection,Ia as pipedreamFinalize,da as pipedreamFinalizeConnection,$ as platformConfig,A_ as pollConnectionOAuth2DeviceAuthorization,zo as pollProjectProviderOAuth,$l as previewGatewayRoute,Mk as previewMfaRequired,uu as probeEffectivePermission,pu as probeEffectivePermissions,RR as probePreviewPort,JR as projectCompacting,MR as projectSessionConnection,mP as projectSessionStartSeed,HR as projectWorking,ao as provisionProject,Vx as provisionProjectStream,e_ as provisionProjectWithToken,Ap as proxyLocalhostUrl,TS as proxyUrlToInternal,pl as purchaseCredits,x_ as putConnectionOAuth2Application,eC as reactivateSandbox,al as reactivateSubscription,Je as readBlob,Ve as readFile,Ka as readProjectFile,Da as rebuildProjectSnapshot,ia as reconcileConnection,oa as reconcileMemberConnection,fx as reconcileServices,zC as recordPlatformLogout,pk as refreshReferralCode,nt as refreshSession,ls as registerAppArtifact,w_ as registerConnectionOAuth2Client,yx as registerService,So as rejectProjectAccessRequest,Av as relativizePath,Rc as reloadProjectSessionConfig,Tc as reloadProjectSessionConfigStream,Hu as removeAccountAuditWebhook,Li as removeAccountBrandingAsset,Xi as removeAccountMember,tu as removeGroupMember,wi as removeKortixPty,tp as removeMarketplaceSource,Tm as removeQueued,xe as renameFile,VA as renameSandbox,ic as reopenChangeRequest,sx as reopenMilestone,Em as reorderQueued,Mb as replaceColumns,qb as replaceFields,Ub as replaceTemplates,yw as requestAccountDeletion,oc as requestChangesOnChangeRequest,a_ as requestProjectAccess,zu as requestProjectConnector,Wu as requestProjectSecret,Wi as resendAccountInvite,Eo as resendPendingProjectInvite,Gi as resetAccountBranding,Sx as resetClient,jl as resetGatewayRoutingPolicy,hs as resetPassword,Cx as resetPublicClient,RC as resetSandboxUpdateStatus,Go as resolveApproval,qP as resolvedPlan,Mt as restartProjectSession,QA as restartSandbox,yC as restoreBackup,Rm as retryFailed,wc as retrySessionPrompt,lx as revealCredential,Wk as revokeAccountSession,Du as revokeAccountToken,Pu as revokeAssignment,ca as revokeConnection,Wl as revokeGatewayKey,Io as revokePendingProjectInvite,Co as revokeProjectAccess,Uu as revokeProjectCliToken,aC as revokeSandboxProjectAccess,Iu as revokeSandboxShare,jk as revokeScimToken,gc as revokeSessionPublicShare,Pe as rewriteLocalhostUrl,hp as rollbackApp,yu as rotateOAuthClientSecret,zl as runGatewayPlayground,xo as saveGitHubInstallation,cl as scheduleDowngrade,Zo as searchConnectorTools,Na as searchProjectFiles,gs as sendMagicLink,fk as sendReferralEmails,QR as serverCompactionRevalidateAtMs,mx as serviceAction,yP as sessionStartKey,wA as setActiveInstanceCookie,Kh as setAdminBypass,vw as setAdminProviderDistribution,Tw as setAdminProviderFallback,zc as setAgentScope,Ih as setBootstrapAuthToken,Th as setCachedAuthToken,T_ as setConnectionPolicies,ya as setConnectorAuthorizationStrategy,Ta as setConnectorCredential,fa as setConnectorCredentialMode,Pa as setConnectorName,xa as setConnectorPolicies,M_ as setConnectorSecretBinding,ha as setConnectorSensitive,ua as setDefaultConnection,iw as setEnterpriseDemo,bi as setEnv,Bl as setGatewayBudget,El as setGatewayRoutingPolicy,mR as setGitHubAppFromExisting,fR as setGitHubAppPat,qh as setImpersonationSession,sR as setMaintenanceConfig,Tk as setMemberSuperAdmin,Dk as setMfaRequired,Kc as setModelDefault,Qo as setPersonalProjectSecret,wP as setProjectModelEnablement,po as setProjectOnboardingComplete,Yx as setProjectOnboardingProfile,ja as setProjectPolicies,Ko as setProjectSecretStrategy,jc as setProjectSessionModel,Ec as setProjectSessionScope,lc as setProjectSessionSharing,Oc as setProjectTriggersActivation,xC as setupSSH,Jp as shellExitCode,Ud as shouldAttachImpersonation,Xv as shouldHideResponsePart,yf as shouldShowToolPart,ds as signInWithPassword,fs as signInWithProvider,Ps as signInWithSso,ws as signOut,ps as signUp,Fv as sortSessions,xv as splitUserParts,fp as startApp,S_ as startConnectionOAuth2Authorization,v_ as startConnectionOAuth2DeviceAuthorization,QC as startConnectorSetupLink,gR as startGitHubAppManifest,Wo as startProjectProviderOAuth,De as startProjectSession,nR as startSessionWithToken,_b as startTask,yp as stopApp,Dt as stopProjectSession,YA as stopSandbox,Iv as stripAnsi,PA as stripInstancePrefix,ce as stripTrailingSlashes,WC as submitAccessRequest,oR as submitDemoRequest,JC as submitOAuthConsent,vu as submitReviewItem,eR as submitSecretSetupLink,Oh as subscribeToImpersonation,Wh as supabaseClient,ma as syncConnectors,GP as syncSubscription,Rx as systemReload,je as toDaemonPath,SA as toInstanceAwarePath,tm as toInternalUrl,St as toSandboxAbsolutePath,Ii as toWorkspaceRelative,Rs as toolInfo,Vf as toolViewModel,CC as triggerSandboxUpdate,Qd as triggersRequest,qv as turnHasSteps,Ib as unassignTicket,te as unwrapError,Ku as updateAccountAuditWebhook,Ui as updateAccountBranding,Qi as updateAccountMemberRole,qi as updateAccountName,EP as updateAgentConfig,ip as updateApp,cp as updateAppAccess,tw as updateAuditWebhook,nk as updateChannelBinding,aa as updateConnectionCredential,Tl as updateEmailPolicy,lo as updateExperimentalFeature,co as updateFeatureFlag,Ql as updateGroup,ki as updateKortixPty,nx as updateMilestone,fu as updateOAuthClient,bs as updatePassword,Vk as updatePatPolicy,Sk as updatePolicy,Wr as updateProject,Ao as updateProjectAccess,Bb as updateProjectAgent,Jc as updateProjectDefaultAgent,Mo as updateProjectGroupGrant,uo as updateProjectSandboxProvider,vc as updateProjectSession,Dc as updateProjectTrigger,au as updateRole,cu as updateRolePermissions,Ua as updateSandboxTemplate,Kk as updateSessionPolicy,xb as updateTask,Qx as updateTemplateWarmPool,Cb as updateTicket,Rb as updateTicketStatus,_s as updateUserMetadata,Fi as uploadAccountBrandingAsset,up as uploadAppArtifactArchive,na as uploadConnectorAttachment,Xe as uploadFile,Sl as uploadSlackChannelFile,ze as uploadTimeoutMsForBytes,cx as upsertCredential,Jo as upsertProjectGitCredential,No as upsertProjectSecret,Ok as upsertSsoProvider,ro as validateProjectManifest,dk as validateReferralCode,Zi as validateToken,ok as verifyGatewayProvider,ms as verifyOtp,iT as wakeEscalationAttemptSummary,sT as wakeEscalationNote,nT as wakeProgressFingerprint,WR 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 hT(e,t){return Uy({...t,url:Oy(e)})}var Fy="/_kortix/viewer";var tn=new Map;function Ly(){tn.clear()}async function Gy(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??Fy,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=Gy(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 By(e={}){return async()=>(await gd(e))?.access_token??null}export{ny as ABORT_REASONS,bA as ABORT_REASONS_NOT_YET_EMITTED,Vt as ACTIVE_INSTANCE_COOKIE,xy as ATTACHMENT_PART_REF_PREFIX,C as ApiError,Ce as AuthError,fe as BillingError,Hp as COST_MARKUP,Mp as DEFAULT_TRANSCRIPT_OPTIONS,my as DESTRUCTIVE_PHASES,Rr as FEATURE_DISABLED_CODE,Vx as FEATURE_FLAG_KEYS,Bd as FEATURE_NOT_SUPPORTED_CODE,tt as HeadlessAuthError,me as HostBoundaryError,qd as IMPERSONATION_HEADER,zR as INBOX_OBSERVATION_MAX_MS,sy as INSTANCE_SCOPED_ROUTES,Nd as MODEL_NOT_SERVABLE_CODE,JR as OPTIMISTIC_ABORT_MAX_MS,tT as OPTIMISTIC_COMPACTION_MAX_MS,KR as OPTIMISTIC_RECEIPT_MAX_MS,MR 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,vy as SERVER_COMPACTION_REVALIDATE_MS,HR as SERVER_OBSERVATION_MAX_MS,WR as STREAM_OBSERVATION_MAX_MS,Jt as SandboxNotReadyError,Nt as SessionNotReadyError,ns as SessionStartError,VR as TURN_END_LEDGER_LAG_MS,cT as WAKE_ESCALATION_COOLDOWN_MS,aT as WAKE_MAX_RESTARTS,oT as WAKE_NO_PROGRESS_MS,Ky as __getConfigResolver,Ny as __setConfigResolver,xA as abortErrorReason,Xi as acceptAccountInvite,bC as acceptInvite,Tu as actReviewItem,pa as activateConnection,ru as addGroupMembers,rp as addMarketplaceSource,uT as advanceWakeEscalation,Af as allDescendantIds,ld as appendPreviewToken,vo as approveProjectAccessRequest,Sb as approveTask,zr as archiveProject,jb as assignTicket,Do as attachGroupToProject,Ss as authMfa,Ps as authUser,M as authenticatedFetch,jR as authorizePreviewUrl,i as backendApi,rk as bindSlackIdentity,sk as bindTeamsIdentity,zo as brokerProjectSecretRequest,oy as buildInstancePath,UR as buildPresentationTemplateImageUrl,OR as buildPresentationTemplatePdfUrl,ad as buildPreviewAuthEndpoint,by as buildPublicTemplateUrl,Sy as buildRuntimePresentationConversionUrl,Na as buildSandboxTemplate,MS as buildStaticFileHealthPreviewUrl,$S as buildStaticFileLocalUrl,jS as buildStaticFilePreviewUrl,tm as buildStaticFileServicePath,Oy as buildTunnelEventStreamUrl,FS as buildWebProxyUrl,Iu as bulkActReviewItems,Ik as bulkDeletePolicies,Ek as bulkImportPolicies,ra as callConnector,Pw as cancelAccountDeletion,zi as cancelAccountInvite,oC as cancelSandbox,qC as cancelSandboxUpdate,dl as cancelScheduledChange,ll as cancelSubscription,YC as checkAccessEmail,Hv as childMapByParent,KC as claimComputer,Rm as claimNext,KP as claimPerSeatBilling,bc as claimWarmProjectSession,Fp as classifyPart,wy as classifyPreviewProbeStatus,hf as classifyTurn,gi as clearImpersonationSession,Ly as clearKortixAppViewerCache,Vc as clearModelDefault,rP as clearSessionFresh,ac as closeChangeRequest,ox as closeMilestone,Gv as collectTurnParts,Mb as commentTicket,uc as commitSessionChanges,rT as compactionExpiryAtMs,vf as compareMessagesForDisplay,Tm as completeInFlight,Kp as computeStatusFromPart,yl as configureAutoTopup,sn as configureKortix,al as confirmCheckoutSession,Il as connectEmail,kl as connectSlack,BR as connectionIsFaulted,Sg as connectorConnect,vg as connectorFinalize,Uw as convertPresentationToGoogleSlides,FR as convertRuntimePresentation,Et as copyFile,bl as costExportUrl,QR as countLiveInboxPrompts,qi as createAccount,Wu as createAccountAuditWebhook,Ou as createAccountToken,op as createApp,dp as createAppAccessSession,mp as createAppDeployment,wu as createAssignment,sw as createAuditWebhook,kC as createBackup,ol as createCheckoutSession,va as createConnector,It as createFile,Vl as createGatewayKey,Zl as createGroup,My as createHttpSessionSyncController,GC as createInstance,Sm as createKortix,wi as createKortixPty,As as createKortixSession,cS as createMarketplaceInstallSession,sx as createMilestone,hu as createOAuthClient,NP as createPerSeatCheckout,Ck as createPolicy,cl as createPortalSession,ao as createProject,Kb as createProjectAgent,Lu as createProjectCliToken,co as createProjectRepo,Fo as createProjectResourceGrant,et as createProjectSession,Oc as createProjectTrigger,lu as createRole,Uy as createSSEStream,ZA as createSandbox,ju as createSandboxShare,La as createSandboxTemplate,Dk as createScimToken,ew as createServiceAccountApi,wc as createSessionPrompt,fc as createSessionPublicShare,Am as createSessionQueue,Hk as createSsoGroupMapping,Pb as createTask,Tb as createTicket,hT as createTunnelEventStream,Qi as declineAccountInvite,xC as declineInvite,kw as deleteAccountImmediately,lp as deleteApp,ow as deleteAuditWebhook,SC as deleteBackup,Ca as deleteConnector,gx as deleteCredential,Pi as deleteEnv,_e as deleteFile,Wl as deleteGatewayBudget,wo as deleteGitHubInstallation,tu as deleteGroup,BC as deleteInstance,Zb as deleteKortixProject,cx as deleteMilestone,_u as deleteOAuthClient,ea as deletePersonalProjectSecret,Tk as deletePolicy,Wb as deleteProjectAgent,Xo as deleteProjectProviderOAuth,Lo as deleteProjectResourceGrant,Yo as deleteProjectSecret,Tc as deleteProjectSession,Fc as deleteProjectTrigger,du as deleteRole,Ba as deleteSandboxTemplate,nw as deleteServiceAccountApi,vc as deleteSessionPrompt,Wk as deleteSsoGroupMapping,Nk as deleteSsoProvider,vb as deleteTask,Db as deleteTicket,Ji as describeAccountInvite,na as describeConnectorTool,Oo as detachGroupFromProject,Qg as detectLocalhostUrls,tw as disableServiceAccountApi,El as disconnectEmail,wR as disconnectGitHubApp,vl as disconnectSlack,S_ as discoverConnectionOAuth2,v_ as discoverConnectionOAuth2Resource,Aa as discoverConnectorAuth,rC as discoverLocalSandbox,mR as downloadAccountAudit,Ax as dropClientForUrl,Tx as dropPublicClientForUrl,$m as editQueued,Cm as enqueue,Bb as ensurePmSession,ky as ensurePreviewSessionCookie,P_ as ensureProjectConnectorConnection,gy as ensureSandbox,hc as ensureWarmProjectSession,Zd as env,bs as exchangeCode,Ku as exportAccountAudit,ie as extractGatewayErrorDetails,ot as extractInstanceRoute,Im as failInFlight,li as featureDisabledKey,vA as featureFlags,GP as fetchAccountStateWithToken,Kx as fetchAccountsWithToken,CR as fetchAttachmentPart,ZP as fetchCostExportCsv,gd as fetchKortixAppViewer,Va as fetchProjectArchive,n_ as fetchProjectsForAccountWithToken,bg as files,us as finalizeAppArtifact,iR as finalizeConnectorSetupLink,Rt as findFiles,Bv as findLastTextPart,Tt as findText,Gc as fireProjectTrigger,Fa as fixSandboxWithAgent,pi as formatBillingErrorForUI,uA as formatCost,aA as formatDuration,py as formatOpenCodeRuntimeError,py as formatRuntimeError,pA as formatTokens,Lm as formatTranscript,vm as generateSessionId,Oi as getAccount,Fi as getAccountBranding,xw as getAccountDeletionStatus,Zc as getAccountState,el as getAccountStateMinimal,cy as getActiveInstanceIdFromCookie,Iw as getAdminProviderAnalytics,Cw as getAdminProviderDistribution,jw as getAdminProviderFallback,ww as getAdminRole,kf as getAgentCardLabel,MP as getAgentConfig,zb as getAgentPersona,$C as getAllVersions,Kv as getAnsweredQuestionParts,ap as getApp,up as getAppAccess,yp as getAppDeployment,hp as getAppDeploymentLogs,sS as getApprovalLink,Be as getAuthToken,ni as getAuthTokenWithRetry,fl as getAutoTopupSettings,BP as getAutoTopupSetupStatus,rl as getBillingCreditBreakdown,il as getBillingTierConfigurations,nl as getBillingTransactionsSummary,sl as getBillingUsageHistory,nc as getChangeRequest,rc as getChangeRequestDiff,sc as getChangeRequestMergePreview,Iv as getChildSessionError,Tv as getChildSessionId,Ev as getChildSessionToolParts,be as getClient,le as getClientForUrl,Ea as getConnectStatus,w_ as getConnectionOAuth2Application,I_ as getConnectionOAuth2Status,E_ as getConnectionPolicies,Jr as getConnectorCatalog,ka as getConnectorConfig,_a as getConnectorPolicies,rR as getConnectorSetupLink,YP as getCostSummary,ay as getCurrentInstanceIdFromPathname,TA as getCurrentInstanceIdFromWindow,$i as getCurrentProject,ss as getDefaultAccountState,Mv as getDiagnostics,Pf as getDirectory,Qr as getDiscoverConnector,O_ as getDiscoverIntegration,Rl as getEmailInstallation,Tl as getEmailMode,cw as getEnterpriseDemo,Ct as getFileStatus,Lp as getFileWithDir,_f as getFilename,fy 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,xR as getGitHubAppStatus,yo as getGitHubInstallation,Ow as getGoogleAuthUrl,Yl as getGroup,Cv as getHiddenToolParts,Fd as getImpersonationSession,hC as getInvite,LC as getJustavpsServerTypes,Xb as getKortixProject,Qb as getKortixProjectBySession,Ai as getKortixPtyWebSocketUrl,jC as getLatestSandboxVersion,uR as getMaintenanceConfig,Yx as getManagedGitStatus,ep as getMarketplaceCatalogItem,tp as getMarketplaceCatalogItemFile,Ok as getMfaRequired,nx as getMilestone,Wc as getModelDefaults,yu as getOAuthClient,tR as getOAuthConsentRequest,nd as getOpenCodeConfigInvalidError,Sv as getPartText,Qk as getPatPolicy,Dv as getPermissionForTool,Br as getProject,Vb as getProjectActivity,Qa as getProjectCommit,Ya as getProjectCommitDiff,Nr as getProjectDetail,Za as getProjectFileHistory,oo as getProjectGitToken,Kr as getProjectLlmCatalog,Xx as getProjectLlmCatalogProviders,ps as getProjectModelAccess,Hr as getProjectModelPicker,Yr as getProjectSandboxHealth,Zx as getProjectSandboxProviderTransition,es as getProjectSession,Ic as getProjectSessionConfigState,$c as getProjectSessionScope,gl as getProrationPreview,QA as getProviders,DS as getProxyBaseUrl,Rx as getPublicClientForUrl,XC as getPublicMarketplaceItem,QC as getPublicMarketplaceItemFile,zw as getPublicSessionShare,Vw as getPublicSessionShareMessages,cR as getPublicShareByToken,yR as getPublicTemplate,qv as getQuestionForTool,mk as getReferralCode,hk as getReferralStats,dA as getRetryInfo,gA as getRetryMessage,Cu as getReviewItem,au as getRolePermissions,cu as getRoleUsage,CC as getSSHConnection,YA as getSandbox,eC as getSandboxById,HA as getSandboxPortUrl,HC as getSandboxProvisionStatus,WC as getSandboxProvisionStreamUrl,EC as getSandboxUpdateStatus,id as getSandboxUrl,oR as getSecretSetupLink,Lr as getServerHealth,yx as getServiceLogs,xc as getSessionAudit,lA as getSessionCost,os as getSessionCostRecord,kp as getSessionHealth,cP as getSessionOpenBundle,zk as getSessionPolicy,gc as getSessionPreviewCandidates,_c as getSessionTranscript,Pc as getSessionTranscriptSync,kc as getSessionTurn,Qv as getShellModePart,Al as getSlackChannelFile,Pl as getSlackInstallation,Sl as getSlackManifest,wl as getSlackMode,Lk as getSsoProvider,nm as getStaticFileHealthPath,Cr as getSupabaseAccessToken,ae as getSupabaseAccessTokenWithRetry,bb as getTask,_b as getTaskStatus,dS as getTemplate,Cb as getTicket,jv as getToolInfo,Gm as getTranscriptFilename,cA as getTurnCost,sA as getTurnError,iA as getTurnErrorDetails,oA as getTurnStatus,hl as getUsageRollup,dR as getUserRolesWithToken,ec as getVersionDiff,nA as getWorkingState,gC as grantSandboxProjectAccess,qP as grantSecretToAgent,Lv as groupMessagesIntoTurns,mA as hasDiffs,ES as hasLocalhostUrls,em as hasPreviewTarget,Vv as hasRetryingAssistantTurn,im as heartbeatGapEvent,Cc as holdSessionPrompts,Ts as humanizeToolName,jr as impersonationHeaders,Bk as importSsoProviderFromMetadata,XR as inboxObservationSupersedes,ud as initialWakeEscalationState,gS as installTemplate,mt as invalidateTokenCache,Hi as inviteAccountMember,Io as inviteProjectMember,so as inviteRepoCollaborator,td as isAbortError,Vh as isAdminBypassEnabled,_v as isAgentPart,Vg as isAppRouteUrl,vv as isAttachment,_y as isAttachmentPartRef,ui as isBillingError,Pv as isCompactionPart,on as isConfigured,IC as isDestructivePhase,BS as isExternalUrl,ci as isFeatureDisabledError,Gp as isFilePart,Od as isImpersonationSessionLive,CA as isInstanceDetailPath,iy as isInstanceScopedAppPath,US as isInternalLocalhostUrl,p_ as isInviteSent,tA as isLastUserMessage,Jx as isManagedGithubProject,MA as isOpenCodeConfigInvalidError,wv as isPatchPart,OS as isPreviewUrl,rm as isProxiableLocalhostUrl,Es as isReasoningPart,Cf as isRetryableTurnError,CS as isRuntimeReady,Xt as isSandboxNotReadyError,Mi as isServerReachable,pc as isSessionFresh,xP as isSessionStartError,Rf as isShellMode,kv as isSnapshotPart,cd as isSubdomainPreviewUrl,ke as isTextPart,ge as isToolPart,Rv as isToolPartHidden,Ei as isUnderSandboxRoot,GS as isWebProxyUrl,By 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,vk as listAccountResourceGrants,Jk as listAccountSessions,qu as listAccountTokens,Di as listAccounts,jk as listActions,Rw as listAdminSandboxes,ou as listAgentIdentities,oa as listAllConnections,fp as listAppDeployments,ip as listApps,ku as listAssignments,aw as listAuditEvents,rw as listAuditWebhooks,PC as listBackups,tl as listBillingTransactions,tc as listChangeRequests,ik as listChannelBindings,qb as listColumns,D_ as listConnectSections,M_ as listConnectToolkits,ia as listConnections,jt as listConnectorTools,fa as listConnectors,QP as listCostByProject,ux as listCredentialEvents,lx as listCredentials,Xr as listDiscoverConnectors,q_ as listDiscoverIntegrations,Ia as listDiscoverSections,xi as listEnv,Zu as listFeaturedMarketplaces,Ub as listFields,At as listFiles,Ol as listGatewayLogs,ho as listGitHubInstallations,xo as listGitHubRepositories,_o as listGitHubRepositoryBranches,nu as listGroupMembers,kk as listGroupProjectGrants,Ql as listGroups,Yb as listKortixProjectSessions,Jb as listKortixProjects,ki as listKortixPty,bo as listLinkableGitHubInstallations,Qu as listMarketplaceCatalogItems,np as listMarketplaceSources,Yu as listMarketplaces,wk as listMemberGroups,Sk as listMemberProjectAccess,rx as listMilestoneEvents,tx as listMilestones,fu as listOAuthClients,Go as listPendingApprovals,Eo as listPendingProjectInvites,vu as listPermissions,Ra as listPipedreamApps,Ta as listPipedreamSections,Ak as listPolicies,Co as listProjectAccess,So as listProjectAccessRequests,Nb 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,VC as listPublicMarketplaceItems,JC as listPublicMarketplaces,bk as listReferrals,Au as listReviewItems,iu as listRoles,dC as listSandboxProjectMembers,Eu as listSandboxShares,nC as listSandboxes,Mk as listScimTokens,Zk as listServiceAccountsApi,fx as listServiceTemplates,mx as listServices,$_ as listSessionConnectRequests,xl as listSessionCosts,Sc as listSessionPrompts,mc as listSessionPublicShares,Bo as listSessionsNeedingInput,Kk as listSsoGroupMappings,xb as listTaskEvents,hb as listTasks,Lb as listTemplates,Rb as listTicketEvents,Ab as listTickets,$y as loadHttpSessionHistory,NC as markInstanceError,$t as markSessionFresh,oc as mergeChangeRequest,Ew as migrateAdminSandboxProvider,Ye as mkdir,om as narrowChatEvent,jA as normalizeAppPathname,NS as normalizeExternalInput,Wt as normalizeToolName,ic as openChangeRequest,Cs as openEventStream,fR as openStressTestStream,Te as parseBillingError,SA as parseFlagOverride,Ft as parseLocalhostUrl,ly as parseOpenCodeErrorPayload,Pp as parseProxyHop,Ep as parseSubdomainUrl,LS as parseWebProxyUrl,ex as patchKortixProject,Sa as pipedreamConnect,ga as pipedreamConnectConnection,$a as pipedreamFinalize,ma as pipedreamFinalizeConnection,$ as platformConfig,T_ as pollConnectionOAuth2DeviceAuthorization,Jo as pollProjectProviderOAuth,ql as previewGatewayRoute,Uk as previewMfaRequired,gu as probeEffectivePermission,mu as probeEffectivePermissions,DR as probePreviewPort,nT as projectCompacting,GR as projectSessionConnection,bP as projectSessionStartSeed,YR as projectWorking,lo as provisionProject,Qx as provisionProjectStream,r_ as provisionProjectWithToken,Tp as proxyLocalhostUrl,qS as proxyUrlToInternal,ml as purchaseCredits,k_ as putConnectionOAuth2Application,aC as reactivateSandbox,ul as reactivateSubscription,Je as readBlob,Ve as readFile,za as readProjectFile,Ua as rebuildProjectSnapshot,aa as reconcileConnection,ca as reconcileMemberConnection,bx as reconcileServices,eR as recordPlatformLogout,fk as refreshReferralCode,nt as refreshSession,ls as registerAppArtifact,A_ as registerConnectionOAuth2Client,xx as registerService,Ao as rejectProjectAccessRequest,$v 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,jm as removeQueued,xe as renameFile,tC as renameSandbox,cc as reopenChangeRequest,ax as reopenMilestone,Mm as reorderQueued,Ob as replaceColumns,Fb as replaceFields,Gb as replaceTemplates,_w as requestAccountDeletion,lc as requestChangesOnChangeRequest,u_ as requestProjectAccess,Xu as requestProjectConnector,Ju as requestProjectSecret,Vi as resendAccountInvite,$o as resendPendingProjectInvite,Ni as resetAccountBranding,Cx as resetClient,Dl as resetGatewayRoutingPolicy,xs as resetPassword,Ix as resetPublicClient,DC as resetSandboxUpdateStatus,No as resolveApproval,LP as resolvedPlan,Mt as restartProjectSession,sC as restartSandbox,wC as restoreBackup,Em as retryFailed,Ac as retrySessionPrompt,dx as revealCredential,Xk as revokeAccountSession,Uu as revokeAccountToken,Su as revokeAssignment,ua as revokeConnection,Jl as revokeGatewayKey,jo as revokePendingProjectInvite,To as revokeProjectAccess,Gu as revokeProjectCliToken,mC as revokeSandboxProjectAccess,$u as revokeSandboxShare,qk 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,xk as sendReferralEmails,sT as serverCompactionRevalidateAtMs,hx as serviceAction,_P as sessionStartKey,IA as setActiveInstanceCookie,zh as setAdminBypass,Tw as setAdminProviderDistribution,$w as setAdminProviderFallback,Xc as setAgentScope,$h as setBootstrapAuthToken,jh as setCachedAuthToken,j_ as setConnectionPolicies,ba as setConnectorAuthorizationStrategy,ja as setConnectorCredential,ha as setConnectorCredentialMode,wa as setConnectorName,Pa as setConnectorPolicies,U_ as setConnectorSecretBinding,xa as setConnectorSensitive,da as setDefaultConnection,lw as setEnterpriseDemo,_i as setEnv,Hl as setGatewayBudget,Ml as setGatewayRoutingPolicy,PR as setGitHubAppFromExisting,kR as setGitHubAppPat,Fh as setImpersonationSession,pR as setMaintenanceConfig,$k as setMemberSuperAdmin,Fk as setMfaRequired,zc as setModelDefault,Zo as setPersonalProjectSecret,ds as setProjectModelAccess,CP as setProjectModelEnablement,mo as setProjectOnboardingComplete,t_ as setProjectOnboardingProfile,Da as setProjectPolicies,Wo as setProjectSecretStrategy,Dc as setProjectSessionModel,Mc as setProjectSessionScope,dc as setProjectSessionSharing,Lc as setProjectTriggersActivation,AC as setupSSH,Yp as shellExitCode,Gd as shouldAttachImpersonation,rA as shouldHideResponsePart,xf as shouldShowToolPart,ms as signInWithPassword,hs as signInWithProvider,ws as signInWithSso,vs as signOut,gs as signUp,Wv as sortSessions,Av as splitUserParts,bp as startApp,C_ as startConnectionOAuth2Authorization,R_ as startConnectionOAuth2DeviceAuthorization,sR as startConnectorSetupLink,_R as startGitHubAppManifest,Vo as startProjectProviderOAuth,De as startProjectSession,lR as startSessionWithToken,wb as startTask,xp as stopApp,Dt as stopProjectSession,iC as stopSandbox,Ov as stripAnsi,RA as stripInstancePrefix,ce as stripTrailingSlashes,ZC as submitAccessRequest,gR as submitDemoRequest,nR as submitOAuthConsent,Ru as submitReviewItem,aR as submitSecretSetupLink,Lh as subscribeToImpersonation,Jh as supabaseClient,ya as syncConnectors,HP as syncSubscription,Ex as systemReload,je as toDaemonPath,EA as toInstanceAwarePath,sm as toInternalUrl,St as toSandboxAbsolutePath,ji as toWorkspaceRelative,Is as toolInfo,Qf as toolViewModel,MC as triggerSandboxUpdate,eg as triggersRequest,Nv as turnHasSteps,$b as unassignTicket,te as unwrapError,zu as updateAccountAuditWebhook,Li as updateAccountBranding,Zi as updateAccountMemberRole,Ui as updateAccountName,DP as updateAgentConfig,cp as updateApp,pp as updateAppAccess,iw as updateAuditWebhook,ok as updateChannelBinding,la as updateConnectionCredential,jl as updateEmailPolicy,po as updateExperimentalFeature,uo as updateFeatureFlag,eu as updateGroup,Si as updateKortixPty,ix as updateMilestone,bu as updateOAuthClient,_s as updatePassword,Yk as updatePatPolicy,Rk as updatePolicy,Wr as updateProject,Ro as updateProjectAccess,Hb 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,Vk as updateSessionPolicy,kb as updateTask,e_ as updateTemplateWarmPool,Ib as updateTicket,Eb as updateTicketStatus,ks as updateUserMetadata,Gi as uploadAccountBrandingAsset,gp as uploadAppArtifactArchive,sa as uploadConnectorAttachment,Xe as uploadFile,Cl as uploadSlackChannelFile,ze as uploadTimeoutMsForBytes,px as upsertCredential,Qo as upsertProjectGitCredential,Ho as upsertProjectSecret,Gk as upsertSsoProvider,io as validateProjectManifest,yk as validateReferralCode,to as validateToken,uk as verifyGatewayProvider,ys as verifyOtp,dT as wakeEscalationAttemptSummary,pT as wakeEscalationNote,lT as wakeProgressFingerprint,ZR as workingExpiryAtMs,Qe as writeFile};