@kortix/sdk 0.12.4 → 0.12.5

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 (91) hide show
  1. package/README.md +58 -15
  2. package/dist/browser/session-sync/session-transcript-cache.d.ts +17 -0
  3. package/dist/browser/session-sync/session-transcript-cache.d.ts.map +1 -1
  4. package/dist/browser/session-sync/session-transcript-cache.js +14 -2
  5. package/dist/browser/session-sync/session-transcript-cache.js.map +1 -1
  6. package/dist/browser/stores/sync-store.d.ts +86 -2
  7. package/dist/browser/stores/sync-store.d.ts.map +1 -1
  8. package/dist/browser/stores/sync-store.js +386 -33
  9. package/dist/browser/stores/sync-store.js.map +1 -1
  10. package/dist/core/client/kortix.d.ts +57 -54
  11. package/dist/core/client/kortix.d.ts.map +1 -1
  12. package/dist/core/client/kortix.js +40 -21
  13. package/dist/core/client/kortix.js.map +1 -1
  14. package/dist/core/http/api-client.d.ts +19 -1
  15. package/dist/core/http/api-client.d.ts.map +1 -1
  16. package/dist/core/http/api-client.js +39 -6
  17. package/dist/core/http/api-client.js.map +1 -1
  18. package/dist/core/http/auth.d.ts.map +1 -1
  19. package/dist/core/http/auth.js +6 -4
  20. package/dist/core/http/auth.js.map +1 -1
  21. package/dist/core/http/config.d.ts +4 -0
  22. package/dist/core/http/config.d.ts.map +1 -1
  23. package/dist/core/http/config.js.map +1 -1
  24. package/dist/core/rest/platform-client/host-boundary.js +2 -2
  25. package/dist/core/rest/platform-client/host-boundary.js.map +1 -1
  26. package/dist/core/rest/projects-client/access.d.ts +1 -1
  27. package/dist/core/rest/projects-client/agent-config.d.ts +1 -1
  28. package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
  29. package/dist/core/rest/projects-client/audit.js +1 -1
  30. package/dist/core/rest/projects-client/audit.js.map +1 -1
  31. package/dist/core/rest/projects-client/billing.d.ts +7 -0
  32. package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
  33. package/dist/core/rest/projects-client/billing.js.map +1 -1
  34. package/dist/core/rest/projects-client/channels.d.ts +7 -6
  35. package/dist/core/rest/projects-client/channels.d.ts.map +1 -1
  36. package/dist/core/rest/projects-client/channels.js +12 -2
  37. package/dist/core/rest/projects-client/channels.js.map +1 -1
  38. package/dist/core/rest/projects-client/connectors.d.ts +128 -98
  39. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  40. package/dist/core/rest/projects-client/connectors.js +199 -119
  41. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  42. package/dist/core/rest/projects-client/files.d.ts.map +1 -1
  43. package/dist/core/rest/projects-client/files.js +7 -1
  44. package/dist/core/rest/projects-client/files.js.map +1 -1
  45. package/dist/core/rest/projects-client/policies.js +3 -3
  46. package/dist/core/rest/projects-client/policies.js.map +1 -1
  47. package/dist/core/rest/projects-client/projects.d.ts +46 -0
  48. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  49. package/dist/core/rest/projects-client/projects.js +12 -0
  50. package/dist/core/rest/projects-client/projects.js.map +1 -1
  51. package/dist/core/rest/projects-client/secrets.d.ts +55 -3
  52. package/dist/core/rest/projects-client/secrets.d.ts.map +1 -1
  53. package/dist/core/rest/projects-client/secrets.js +14 -4
  54. package/dist/core/rest/projects-client/secrets.js.map +1 -1
  55. package/dist/core/rest/projects-client/sessions.d.ts +8 -16
  56. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  57. package/dist/core/rest/projects-client/sessions.js +1 -1
  58. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  59. package/dist/core/session/index.d.ts +1 -0
  60. package/dist/core/session/index.d.ts.map +1 -1
  61. package/dist/core/session/index.js +1 -0
  62. package/dist/core/session/index.js.map +1 -1
  63. package/dist/core/session/preview-probe.d.ts +76 -0
  64. package/dist/core/session/preview-probe.d.ts.map +1 -0
  65. package/dist/core/session/preview-probe.js +97 -0
  66. package/dist/core/session/preview-probe.js.map +1 -0
  67. package/dist/core/turns/classify.js +1 -1
  68. package/dist/core/turns/errors.js +1 -1
  69. package/dist/core/turns/errors.js.map +1 -1
  70. package/dist/index.d.ts +1 -1
  71. package/dist/index.js +1 -1
  72. package/dist/kortix.esm.min.js +19 -19
  73. package/dist/kortix.global.js +19 -19
  74. package/dist/platform/auth-core.d.ts +2 -1
  75. package/dist/platform/auth-core.d.ts.map +1 -1
  76. package/dist/platform/auth-core.js +10 -1
  77. package/dist/platform/auth-core.js.map +1 -1
  78. package/dist/react/use-opencode-sessions/messages.d.ts +19 -3
  79. package/dist/react/use-opencode-sessions/messages.d.ts.map +1 -1
  80. package/dist/react/use-opencode-sessions/messages.js +28 -55
  81. package/dist/react/use-opencode-sessions/messages.js.map +1 -1
  82. package/dist/react/use-project-secrets.d.ts +24 -0
  83. package/dist/react/use-project-secrets.d.ts.map +1 -1
  84. package/dist/react/use-session-sync.d.ts +1 -2
  85. package/dist/react/use-session-sync.d.ts.map +1 -1
  86. package/dist/react/use-session-sync.js +17 -40
  87. package/dist/react/use-session-sync.js.map +1 -1
  88. package/dist/react/use-session.d.ts.map +1 -1
  89. package/dist/react/use-session.js +18 -16
  90. package/dist/react/use-session.js.map +1 -1
  91. package/package.json +2 -2
@@ -1,11 +1,11 @@
1
- var Ll={backendUrl:"",getToken:async()=>null},Mt=null,Xe=null;function lg(e){Xe=e}function ug(){return Xe}function Ut(e,t){t?.global!==!1&&(Mt=e)}function $(){return Xe?.()??Mt??Ll}function Ot(){return Mt!==null||Xe?.()!==void 0}var ns=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:g,url:y,...m})=>{let _,w=g??(f=>new Promise(a=>setTimeout(a,f)));return{stream:async function*(){let f=c??3e3,a=0,I=m.signal??new AbortController().signal;for(;!I.aborted;){a++;let v=m.headers instanceof Headers?m.headers:new Headers(m.headers);_!==void 0&&v.set("Last-Event-ID",_);try{let x={redirect:"follow",...m,body:m.serializedBody,headers:v,signal:I},j=new Request(y,x);e&&(j=await e(y,x));let S=await(m.fetch??globalThis.fetch)(j);if(!S.ok)throw new Error(`SSE failed: ${S.status} ${S.statusText}`);if(!S.body)throw new Error("No body in SSE response");let q=S.body.pipeThrough(new TextDecoderStream).getReader(),L="",h=()=>{try{q.cancel()}catch{}};I.addEventListener("abort",h);try{for(;;){let{done:C,value:D}=await q.read();if(C)break;L+=D,L=L.replace(/\r\n/g,`
1
+ var Jl={backendUrl:"",getToken:async()=>null},Ut=null,Qe=null;function yg(e){Qe=e}function hg(){return Qe}function Ot(e,t){t?.global!==!1&&(Ut=e)}function E(){return Qe?.()??Ut??Jl}function Lt(){return Ut!==null||Qe?.()!==void 0}var Yr=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:g,url:f,...m})=>{let x,_=g??(l=>new Promise(h=>setTimeout(h,l)));return{stream:async function*(){let l=c??3e3,h=0,a=m.signal??new AbortController().signal;for(;!a.aborted;){h++;let R=m.headers instanceof Headers?m.headers:new Headers(m.headers);x!==void 0&&R.set("Last-Event-ID",x);try{let T={redirect:"follow",...m,body:m.serializedBody,headers:R,signal:a},C=new Request(f,T);e&&(C=await e(f,T));let I=await(m.fetch??globalThis.fetch)(C);if(!I.ok)throw new Error(`SSE failed: ${I.status} ${I.statusText}`);if(!I.body)throw new Error("No body in SSE response");let S=I.body.pipeThrough(new TextDecoderStream).getReader(),L="",K=()=>{try{S.cancel()}catch{}};a.addEventListener("abort",K);try{for(;;){let{done:y,value:v}=await S.read();if(y)break;L+=v,L=L.replace(/\r\n/g,`
2
2
  `).replace(/\r/g,`
3
- `);let F=L.split(`
3
+ `);let M=L.split(`
4
4
 
5
- `);L=F.pop()??"";for(let J of F){let Q=J.split(`
6
- `),X=[],z;for(let O of Q)if(O.startsWith("data:"))X.push(O.replace(/^data:\s*/,""));else if(O.startsWith("event:"))z=O.replace(/^event:\s*/,"");else if(O.startsWith("id:"))_=O.replace(/^id:\s*/,"");else if(O.startsWith("retry:")){let W=Number.parseInt(O.replace(/^retry:\s*/,""),10);Number.isNaN(W)||(f=W)}let M,K=!1;if(X.length){let O=X.join(`
7
- `);try{M=JSON.parse(O),K=!0}catch{M=O}}K&&(s&&await s(M),r&&(M=await r(M))),n?.({data:M,event:z,id:_,retry:f}),X.length&&(yield M)}}}finally{I.removeEventListener("abort",h),q.releaseLock()}break}catch(x){if(t?.(x),u!==void 0&&a>=u)break;let j=Math.min(f*2**(a-1),p??3e4);await w(j)}}}()}};var Fl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Gl=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Bl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ye=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(g=>encodeURIComponent(g))).join(Gl(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=Fl(r),u=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):he({allowReserved:e,name:n,value:p})).join(c);return r==="label"||r==="matrix"?c+u:u},he=({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)}`},Ze=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,_])=>{g=[...g,m,e?_:encodeURIComponent(_)]});let y=g.join(",");switch(r){case"form":return`${n}=${y}`;case"label":return`.${y}`;case"matrix":return`;${n}=${y}`;default:return y}}let u=Bl(r),p=Object.entries(s).map(([g,y])=>he({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:y})).join(u);return r==="label"||r==="matrix"?u+p:p};var Nl=/\{[^{}]+\}/g,Kl=({path:e,url:t})=>{let n=t,r=t.match(Nl);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(c=!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 g=e[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,Ye({explode:c,name:u,style:p,value:g}));continue}if(typeof g=="object"){n=n.replace(s,Ze({explode:c,name:u,style:p,value:g,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${he({name:u,value:g})}`);continue}let y=encodeURIComponent(p==="label"?`.${g}`:g);n=n.replace(s,y)}return n},rs=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=Kl({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function Lt(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 ss=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 Ft={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var is=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let p=e[c]||t;if(Array.isArray(u)){let g=Ye({allowReserved:p.allowReserved,explode:!0,name:c,style:"form",value:u,...p.array});g&&s.push(g)}else if(typeof u=="object"){let g=Ze({allowReserved:p.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...p.object});g&&s.push(g)}else{let g=he({allowReserved:p.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},os=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"}},Hl=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,as=async({security:e,...t})=>{for(let n of e){if(Hl(t,n.name))continue;let r=await ss(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}}},Gt=e=>rs({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:is(e.querySerializer),url:e.url}),Bt=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=et(e.headers,t.headers),n},zl=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},et=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?zl(n):Object.entries(n);for(let[s,c]of r)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},Ae=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}},cs=()=>({error:new Ae,request:new Ae,response:new Ae}),Wl=is({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Vl={"Content-Type":"application/json"},je=(e={})=>({...Ft,headers:Vl,parseAs:"auto",querySerializer:Wl,...e});var Ee=(e={})=>{let t=Bt(je(),e),n=()=>({...t}),r=y=>(t=Bt(t,y),n()),s=cs(),c=async y=>{let m={...t,...y,fetch:y.fetch??t.fetch??globalThis.fetch,headers:et(t.headers,y.headers),serializedBody:void 0};m.security&&await as({...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 _=Gt(m);return{opts:m,url:_}},u=async y=>{let{opts:m,url:_}=await c(y),w={redirect:"follow",...m,body:Lt(m)},R=new Request(_,w);for(let A of s.request.fns)A&&(R=await A(R,m));let l=m.fetch,f;try{f=await l(R)}catch(A){let S=A;for(let q of s.error.fns)q&&(S=await q(A,void 0,R,m));if(S=S||{},m.throwOnError)throw S;return m.responseStyle==="data"?void 0:{error:S,request:R,response:void 0}}for(let A of s.response.fns)A&&(f=await A(f,R,m));let a={request:R,response:f};if(f.ok){let A=(m.parseAs==="auto"?os(f.headers.get("Content-Type")):m.parseAs)??"json";if(f.status===204||f.headers.get("Content-Length")==="0"){let q;switch(A){case"arrayBuffer":case"blob":case"text":q=await f[A]();break;case"formData":q=new FormData;break;case"stream":q=f.body;break;default:q={};break}return m.responseStyle==="data"?q:{data:q,...a}}let S;switch(A){case"arrayBuffer":case"blob":case"formData":case"text":S=await f[A]();break;case"json":{let q=await f.text();S=q?JSON.parse(q):{};break}case"stream":return m.responseStyle==="data"?f.body:{data:f.body,...a}}return A==="json"&&(m.responseValidator&&await m.responseValidator(S),m.responseTransformer&&(S=await m.responseTransformer(S))),m.responseStyle==="data"?S:{data:S,...a}}let I=await f.text(),v;try{v=JSON.parse(I)}catch{}let x=v??I,j=x;for(let A of s.error.fns)A&&(j=await A(x,f,R,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,...a}},p=y=>m=>u({...m,method:y}),g=y=>async m=>{let{opts:_,url:w}=await c(m);return ns({..._,body:_.body,headers:_.headers,method:y,onRequest:async(R,l)=>{let f=new Request(R,l);for(let a of s.request.fns)a&&(f=await a(f,_));return f},serializedBody:Lt(_),url:w})};return{buildUrl:Gt,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:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:p("TRACE")}};var Jl={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Ql=Object.entries(Jl),ls=(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&&ls(n.args,t);return t},Xl=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},d=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=ls(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),g=p.map||s.key;p.in&&(n[p.in][g]=u)}else n.body=u;else for(let[p,g]of Object.entries(u??{})){let y=r.get(p);if(y)if(y.in){let m=y.map||p;n[y.in][m]=g}else n[y.map]=g;else{let m=Ql.find(([_])=>p.startsWith(_));if(m){let[_,w]=m;n[w][p.slice(_.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[_,w]of Object.entries(s.allowExtra))if(w){n[_][p]=g;break}}}}return Xl(n),n};var us=Ee(je({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??us}},Nt=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)}},Kt=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=d([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}})}},Ht=class extends b{log(t,n){let r=d([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=d([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=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},zt=class extends b{moveSession(t,n){let r=d([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}})}},Wt=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Vt=class extends b{get(t,n){let r=d([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=d([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=d([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}})}},Jt=class extends b{list(t,n){let r=d([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=d([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})}},Qt=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},Xt=class extends b{generateName(t,n){let r=d([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}})}},Yt=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},Zt=class extends b{list(t,n){let r=d([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=d([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=d([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=d([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=d([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=d([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 Yt({client:this.client})}},en=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new zt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Wt({client:this.client})}_console;get console(){return this._console??=new Vt({client:this.client})}_session;get session(){return this._session??=new Jt({client:this.client})}_resource;get resource(){return this._resource??=new Qt({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Xt({client:this.client})}_workspace;get workspace(){return this._workspace??=new Zt({client:this.client})}},tn=class extends b{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=d([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}})}},nn=class extends b{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=d([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 tn({client:this.client})}},rn=class extends b{subscribe(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},sn=class extends b{get(t,n){let r=d([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=d([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=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},on=class extends b{list(t,n){let r=d([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=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},an=class extends b{remove(t,n){let r=d([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=d([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=d([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=d([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}})}},cn=class extends b{text(t,n){let r=d([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=d([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=d([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})}},ln=class extends b{list(t,n){let r=d([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=d([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=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},un=class extends b{dispose(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},pn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},dn=class extends b{raw(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},gn=class extends b{get(t,n){let r=d([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=d([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=d([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=d([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 dn({client:this.client})}},mn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},fn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},yn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},hn=class extends b{remove(t,n){let r=d([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=d([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=d([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=d([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})}},bn=class extends b{status(t,n){let r=d([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=d([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=d([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=d([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 hn({client:this.client})}},xn=class extends b{list(t,n){let r=d([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=d([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=d([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=d([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=d([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})}},Pn=class extends b{shells(t,n){let r=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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})}},_n=class extends b{list(t,n){let r=d([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=d([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=d([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})}},kn=class extends b{list(t,n){let r=d([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=d([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=d([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}})}},wn=class extends b{authorize(t,n){let r=d([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=d([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}})}},Sn=class extends b{list(t,n){let r=d([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=d([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 wn({client:this.client})}},vn=class extends b{list(t,n){let r=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},Cn=class extends b{delete(t,n){let r=d([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=d([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}})}},Rn=class extends b{list(t,n){let r=d([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}})}},Tn=class extends b{start(t,n){let r=d([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=d([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=d([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 Rn({client:this.client})}},In=class extends b{next(t,n){let r=d([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=d([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}})}},An=class extends b{appendPrompt(t,n){let r=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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 In({client:this.client})}},jn=class extends b{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},En=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},$n=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},qn=class extends b{stage(t,n){let r=d([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=d([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=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},Dn=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=d([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}})}},Mn=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=d([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=d([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})}},Un=class extends b{list(t,n){let r=d([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=d([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=d([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=d([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=d([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=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=d([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 qn({client:this.client})}_permission;get permission(){return this._permission??=new Dn({client:this.client})}_question;get question(){return this._question??=new Mn({client:this.client})}},On=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Ln=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Fn=class extends b{key(t,n){let r=d([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=d([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}})}},Gn=class extends b{cancel(t,n){let r=d([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=d([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=d([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}})}},Bn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=d([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 Fn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Gn({client:this.client})}},Nn=class extends b{remove(t,n){let r=d([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=d([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}})}},Kn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Hn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},zn=class extends b{_request;get request(){return this._request??=new Kn({client:this.client})}_saved;get saved(){return this._saved??=new Hn({client:this.client})}},Wn=class extends b{read(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=d([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=d([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})}},Vn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Jn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},Qn=class extends b{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Xn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=d([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=d([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=d([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=d([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=d([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=d([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})}},Yn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Zn=class extends b{_request;get request(){return this._request??=new Yn({client:this.client})}},er=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},tr=class extends b{remove(t,n){let r=d([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=d([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=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},nr=class extends b{_health;get health(){return this._health??=new jn({client:this.client})}_location;get location(){return this._location??=new En({client:this.client})}_agent;get agent(){return this._agent??=new $n({client:this.client})}_session;get session(){return this._session??=new Un({client:this.client})}_model;get model(){return this._model??=new On({client:this.client})}_provider;get provider(){return this._provider??=new Ln({client:this.client})}_integration;get integration(){return this._integration??=new Bn({client:this.client})}_credential;get credential(){return this._credential??=new Nn({client:this.client})}_permission;get permission(){return this._permission??=new zn({client:this.client})}_fs;get fs(){return this._fs??=new Wn({client:this.client})}_command;get command(){return this._command??=new Vn({client:this.client})}_skill;get skill(){return this._skill??=new Jn({client:this.client})}_event;get event(){return this._event??=new Qn({client:this.client})}_pty;get pty(){return this._pty??=new Xn({client:this.client})}_question;get question(){return this._question??=new Zn({client:this.client})}_reference;get reference(){return this._reference??=new er({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new tr({client:this.client})}},tt=class e extends b{static __registry=new Nt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Kt({client:this.client})}_app;get app(){return this._app??=new Ht({client:this.client})}_experimental;get experimental(){return this._experimental??=new en({client:this.client})}_global;get global(){return this._global??=new nn({client:this.client})}_event;get event(){return this._event??=new rn({client:this.client})}_config;get config(){return this._config??=new sn({client:this.client})}_tool;get tool(){return this._tool??=new on({client:this.client})}_worktree;get worktree(){return this._worktree??=new an({client:this.client})}_find;get find(){return this._find??=new cn({client:this.client})}_file;get file(){return this._file??=new ln({client:this.client})}_instance;get instance(){return this._instance??=new un({client:this.client})}_path;get path(){return this._path??=new pn({client:this.client})}_vcs;get vcs(){return this._vcs??=new gn({client:this.client})}_command;get command(){return this._command??=new mn({client:this.client})}_lsp;get lsp(){return this._lsp??=new fn({client:this.client})}_formatter;get formatter(){return this._formatter??=new yn({client:this.client})}_mcp;get mcp(){return this._mcp??=new bn({client:this.client})}_project;get project(){return this._project??=new xn({client:this.client})}_pty;get pty(){return this._pty??=new Pn({client:this.client})}_question;get question(){return this._question??=new _n({client:this.client})}_permission;get permission(){return this._permission??=new kn({client:this.client})}_provider;get provider(){return this._provider??=new Sn({client:this.client})}_session;get session(){return this._session??=new vn({client:this.client})}_part;get part(){return this._part??=new Cn({client:this.client})}_sync;get sync(){return this._sync??=new Tn({client:this.client})}_tui;get tui(){return this._tui??=new An({client:this.client})}_v2;get v2(){return this._v2??=new nr({client:this.client})}};function ds(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let c=e,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||ps(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 ${ps(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function ps(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function Yl(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function Zl(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=Yl(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,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 rr(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=Ee(e);return t.interceptors.request.use(n=>Zl(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(ds),new tt({client:t})}function eu(e){return new Promise(t=>setTimeout(t,e))}async function gs(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(c&&n?.(),s>0&&await eu(s)),u=await e(),u)return u;return u}var tu=3e4;function nu(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function sr(e,t,n=tu){let r=e instanceof Request?e.signal:t?.signal;if(nu(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function ir(e,t,n){let r=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,c)=>{r.set(c,s)}),n&&!r.has("Authorization")&&r.set("Authorization",`Bearer ${n}`),r}function ms(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function or(){return $().getToken()}async function ce(e){return gs(()=>$().getToken(),e,nt)}function nt(){}function Yg(e){}function Zg(e){}async function be(){return or()}async function fs(e){return ce(e)}function ys(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function E(e,t,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},c=await fs();if(!c)return ms();let u=ir(e,t,c),p=s===void 0?sr(e,t):sr(e,t,s),g=await ys(e,t,u,p);if(g.status===401&&r&&c){nt();let y=await fs({attempts:2,baseDelayMs:200});if(y&&y!==c){let m=ir(e,t,y);return ys(e,t,m,p)}}return g}var xe={url:null,sandboxId:null,dbSandboxId:null,version:0},ru=new Set;function hs(e,t=null,n=null){if(!(xe.url===e&&xe.sandboxId===t&&xe.dbSandboxId===n)){xe={url:e,sandboxId:t,dbSandboxId:n,version:xe.version+1};for(let r of ru)r()}}function bs(){return xe.url}function su(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function le(){return su($().backendUrl||"http://localhost:8008/v1")}function xs(){let e=$().sandboxId;return e?`${le()}/p/${e}/8000`:""}function iu(e){return`${le()}/p/${e}/8000`}function rt(e){return iu(e)}function G(){let e=bs();return e||($().billingEnabled??!1?"":xs())}var T=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},$e=class extends T{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},Pe=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)}},qe=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function De(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 Pe(t,{message:r?.message||e.message||"Billing error",...r})}function ou(e){return e instanceof Pe}function au(e){if(!(e instanceof Pe))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function ar(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function cr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Ps(e){let t=cr(e),n=await E(`${t}/env`);if(!n.ok)throw new Error(await ar(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function _s(e,t,n){let r=cr(e),s=await E(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await ar(s,"Failed to save secret"))}async function ks(e,t){let n=cr(e),r=await E(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await ar(r,"Failed to delete secret"))}var cu={list:Ps,set:_s,delete:ks};async function lu(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await E(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function _e(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 st(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Me(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return _e(e)}async function ws(e){let t=Me(e),n=await E(`${t}/kortix/pty`);if(!n.ok)throw new Error(await st(n,"Failed to list terminals"));return n.json()}async function Ss(e,t){let n=Me(e),r=await E(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await st(r,"Failed to create terminal"));return r.json()}async function vs(e,t,n){let r=Me(e),s=await E(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await st(s,"Failed to update terminal"));return s.json()}async function Cs(e,t){let n=Me(e),r=await E(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await st(r,"Failed to remove terminal"))}async function Rs(e,t){let n=Me(t),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),_e(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await be();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var uu={list:ws,create:Ss,update:vs,remove:Cs,webSocketUrl:Rs};async function k(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await E(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!c.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${c.status}`);return p}async function Pm(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 k(e,`/kortix/tasks${r}`)}async function _m(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function km(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function wm(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function Sm(e,t){return k(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function vm(e,t,n){return k(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Cm(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Rm(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function Tm(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Im(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return k(e,`/kortix/tickets${n}`)}async function Am(e,t){return k(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function jm(e,t){return k(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Em(e,t){return k(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function $m(e,t,n){return k(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function qm(e,t,n){return k(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Dm(e,t,n){return k(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Mm(e,t,n){return k(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Um(e,t,n){return k(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Om(e,t){return k(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Lm(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Fm(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Gm(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Bm(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Nm(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Km(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Hm(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function zm(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Wm(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Vm(e,t,n,r){return k(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Jm(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Qm(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Xm(e,t,n=200){return k(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Ym(e){return k(e,"/kortix/projects")}async function Zm(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function ef(e,t){return k(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function tf(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function nf(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function rf(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function sf(e,t,n="all"){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function of(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function af(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function cf(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function lf(e,t,n,r){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function uf(e,t,n,r){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function pf(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function df(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function gf(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function mf(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function ff(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function yf(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function hf(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var pu=1e4,du={retryOnAuthError:!1};function ke(e,t,n){return k(e,t,{signal:AbortSignal.timeout(pu),...n},du)}async function bf(e,t=!1){return(await ke(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function xf(e){return(await ke(e,"/kortix/services/templates")).templates??[]}async function Pf(e,t){return(await ke(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function _f(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return ke(e,s,{method:r?"DELETE":"POST"})}async function kf(e,t){return ke(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function wf(e,t){return ke(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var it=new Map,lr=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function ue(){let e=G();if(!e)throw new lr;return te(e)}function te(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=it.get(e);if(t)return t;if(!Ot())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=rr({baseUrl:e,fetch:E});return it.set(e,n),n}function Af(e){it.delete(e)}function jf(){it.clear()}var ot=new Map;function Ef(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=ot.get(e);if(t)return t;let n=rr({baseUrl:e,fetch});return ot.set(e,n),n}function $f(e){ot.delete(e)}function qf(){ot.clear()}async function gu(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 Df(e){let t=G();if(!t)throw new T("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=e==="full"?"/kortix/refresh":"/global/dispose",r=await E(`${t}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",c=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new T(`System reload failed (${r.status}): ${await gu(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!c)throw new T(`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(g){throw new T(`System reload returned malformed JSON from ${n}: ${g instanceof Error?g.message:String(g)}`,{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 Is(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 T(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function we(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function at(e,t=G()){let n=await E(`${t}${e}`);if(!n.ok)throw new T(await we(n),{status:n.status,response:n});return n.json()}var pr=["/workspace","/tmp","/home","/opt"],mu=pr.filter(e=>e!=="/workspace");function As(e){return pr.some(t=>e===t||e.startsWith(`${t}/`))}function js(e){return As(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function Se(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(mu.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Es=Se;async function ct(e,t=G()){let n=Se(e)||".";return(await at(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function Oe(e,t=G()){let n=Se(e),r=await E(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new T(await we(r),{status:r.status,response:r});return r.json()}async function fu(e,t,n=G()){let r=Se(e),s=await E(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new T(await we(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new T("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function Le(e,t=G()){try{return await fu(e,void 0,t)}catch{}let n=await Oe(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function lt(e=G()){return at("/file/status",e)}async function ut(e,t,n=G()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),at(`/find/file?${r.toString()}`,n)}async function pt(e,t=G()){return(await at(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var Ue=[400,1200],yu=e=>e===408||e===429||e===502||e===503||e===504,Ts=e=>new Promise(t=>setTimeout(t,e));function hu(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var ur=3e4,bu=15*6e4,xu=256;function Pu(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return ur;let t=ur+e/xu;return Math.min(bu,Math.max(ur,Math.round(t)))}async function _u(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 $s(e,t){let n;for(let s=0;s<=Ue.length;s++){let c;try{c=await t(e())}catch(p){if(n=p,hu(p)||s===Ue.length)break;await Ts(Ue[s]);continue}if(c.ok)return c.json();let u=await _u(c);if(n=new T(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!yu(c.status)||s===Ue.length)throw n;await Ts(Ue[s])}if(n instanceof T)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new T(`Upload failed: ${r}`)}function Fe(e,t,n,r=G()){let s=Pu(e.size);return $s(()=>{let c=new FormData,u=(t??"").trim();return u&&c.append("path",u.startsWith("/")?u:`/${u}`),n?c.append("file",e,n):c.append("file",e),c},c=>E(`${r}/file/upload`,{method:"POST",body:c},{timeoutMs:s}))}function ku(e,t,n=G()){return $s(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await be();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function dt(e,t=G()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return Fe(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function gt(e,t,n=G()){return ku(t,await Le(e,n),n)}async function mt(e,t=G()){let n=await E(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new T(`Delete failed (${n.status}): ${await we(n)}`,{status:n.status,response:n});return n.json()}async function ft(e,t=G()){let n=await E(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new T(`Mkdir failed (${n.status}): ${await we(n)}`,{status:n.status,response:n});return n.json()}async function yt(e,t,n=G()){let r=await E(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new T(`Rename failed (${r.status}): ${await we(r)}`,{status:r.status,response:r});return r.json()}async function qs(){return Is(await ue().project.current())}async function dr(){return Is(await ue().global.health())}async function Ds(){try{return(await dr()).healthy===!0}catch{return!1}}var wu={list:ct,read:Oe,readBlob:Le,status:lt,findFiles:ut,findText:pt,upload:Fe,create:dt,copy:gt,remove:mt,mkdir:ft,rename:yt,currentProject:qs,health:dr,isReachable:Ds,toDaemonPath:Se,toSandboxAbsolutePath:js,toWorkspaceRelative:Es};var ne=()=>$().backendUrl||"",vu="feature_not_supported",Cu="model_not_servable",Ru=e=>new Promise(t=>setTimeout(t,e)),Tu=new Set([502,503,504]),Iu=e=>Tu.has(e),Au=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},ju=2,Ms=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),gr=!1;function Vf(e){gr=e}function Jf(){return gr}async function pe(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,p=null,g=!1,y=!1;try{p=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,y=!0,u.abort())},s);let m=await ce(),_=c.body instanceof FormData,w={};if(_||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),gr&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new $e,success:!1};let R=Au(c.method),l=R?ju+1:1,f;for(let v=0;v<l;v++){v>0&&await Ru(250*2**(v-1));let x=v===0?u:new AbortController;v>0&&(p=setTimeout(()=>{y=!0,x.abort()},s));try{f=await fetch(e,{...c,headers:w,signal:x.signal,credentials:c.credentials??"omit"})}catch(A){if(p&&(clearTimeout(p),p=null),Ms(A)||v===l-1)throw A;continue}if(p&&(clearTimeout(p),p=null),!(R&&Iu(f.status)&&v<l-1))break;try{await f.arrayBuffer()}catch{}}if(!f.ok){let v=`HTTP ${f.status}: ${f.statusText}`,x=null;try{x=await f.json(),typeof x.message=="string"?v=x.message:x.error&&typeof x.error=="string"?v=x.error:typeof x.detail=="string"?v=x.detail:typeof x.detail?.message=="string"&&(v=x.detail.message)}catch{}let j=new T(v,{status:f.status,response:f,details:x||void 0,data:x,detail:x?.detail,code:x?.code||x?.error_code||x?.detail?.error_code||f.status.toString()});if(f.status===402&&(j=De(j)),f.status===403&&x?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}f.status===431&&(j=new qe(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 A=f.status===501&&x?.code===vu,S=f.status===409&&x?.code===Cu;return n&&!A&&!S&&$().onError?.(j,r),{error:j,success:!1}}let a,I=f.headers.get("content-type");return I?.includes("application/json")?a=await f.json():I?.includes("text/")?a=await f.text():a=await f.blob(),{data:a,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let _=Ms(m);_&&(g=!0);let w;if(_){if(!y)return{error:new T("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let R=e.replace(ne(),"")||e;w=new T(`Request timed out after ${Math.round(s/1e3)}s: ${R}`,{code:"TIMEOUT",url:e,endpoint:R,timeout:s}),n&&$().onError?.(w,r)}else m instanceof Error?(w=new T(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(w,r)):(w=new T(String(m)),n&&$().onError?.(w,r));return{error:w,success:!1}}}var Qf={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new T(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 T(n.message,{name:n.name||"ApiError",stack:n.stack}):new T(String(n));return $().onError?.(r,t),{error:r,success:!1}}}},i={get:(e,t)=>pe(`${ne()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>pe(`${ne()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>pe(`${ne()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>pe(`${ne()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>pe(`${ne()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],pe(`${ne()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],pe(`${ne()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function o(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function mr(e){return e.replace(/\/v1\/?$/,"")}async function ve(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=mr(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 Us(){return o(await i.get("/accounts"))}async function Os(e){return o(await i.post("/accounts",e))}async function Ls(e){return o(await i.get(`/accounts/${e}`))}async function Fs(e,t){return o(await i.patch(`/accounts/${e}`,{name:t}))}async function Gs(e){return o(await i.get(`/accounts/${e}/members`))}async function Bs(e,t){return o(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Ns(e){return o(await i.get(`/accounts/${e}/invites`))}async function Ks(e,t){return o(await i.delete(`/accounts/${e}/invites/${t}`))}async function Hs(e,t){return o(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function zs(e){return o(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function Ws(e){return o(await i.post(`/account-invites/${e}/accept`,{}))}async function Vs(e){return o(await i.post(`/account-invites/${e}/decline`,{}))}async function Js(e,t){return o(await i.delete(`/accounts/${e}/members/${t}`))}async function Qs(e,t,n){return o(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function Xs(e){return o(await i.post(`/accounts/${e}/leave`,{}))}async function ty(e){return ve(e,"/v1/accounts")}async function Ys(){let e=await i.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function Ce(){return o(await i.get("/projects"))}async function Zs(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/projects${t}`))}async function fr(e,t){return o(await i.get(`/projects/${e}`,t))}async function ei(e,t,n="write"){return o(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function ti(e,t){return o(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function ni(e){return o(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function iy(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function yr(e,t){let n=o(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 hr(e,t){return o(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function br(e,t){return o(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function oy(e,t){return o(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function ri(e){return o(await i.post("/projects",e))}async function si(e){return o(await i.post("/projects/create-repo",e))}async function ii(e,t={}){return o(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function ay(){try{return o(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function xr(e,t){return o(await i.patch(`/projects/${e}`,t))}async function oi(e,t,n){return o(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function ai(e,t){return o(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function cy(e,t){return o(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function ly(e,t){return o(await i.patch(`/projects/${e}/warm-pool`,t))}async function ci(e,t){return o(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function Pr(e){return o(await i.delete(`/projects/${e}`))}async function uy(e,t){return ve(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function py(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=mr(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 li(e){return o(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function ui(e){return o(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function pi(e){return o(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function di(e){return o(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function gi(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)),o(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function mi(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return o(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function fi(e){return o(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function yi(e){return o(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function hi(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),o(await i.delete(`/projects/github/installation?${n.toString()}`))}async function by(e,t){return o(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function bi(e,t){return o(await i.get(`/projects/${e}/access-requests`,t))}async function xi(e,t,n="member"){return o(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function Pi(e,t){return o(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function _i(e){return o(await i.get(`/projects/${e}/access`))}async function ki(e,t,n){return o(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function wi(e,t){return o(await i.delete(`/projects/${e}/access/${t}`))}function xy(e){return"status"in e&&e.status==="invited"}async function Si(e,t,n,r){return o(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function vi(e){return o(await i.get(`/projects/${e}/access/pending-invites`))}async function Ci(e,t){return o(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Ri(e,t){return o(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Ti(e){return o(await i.get(`/projects/${e}/group-grants`))}async function Ii(e,t,n,r){return o(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 Ai(e,t,n,r){return o(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function ji(e,t){return o(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Ei(e){return o(await i.get(`/projects/${e}/resource-grants`))}async function $i(e,t){return o(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 qi(e,t){return o(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Di(e,t){return o(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Mi(e,t){return o(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Ui(e,t,n){return o(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Oi(e){return o(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Li(e,t){return o(await i.post(`/projects/${e}/secrets`,t))}async function Fi(e,t,n){return o(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n}))}async function Gi(e,t,n){return o(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function Bi(e,t,n){return o(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Ni(e,t){return o(await i.put(`/projects/${e}/git-credential`,t))}async function Ki(e,t){return o(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function Hi(e,t,n){return o(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function zi(e,t){return o(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function _r(e){return o(await i.get(`/projects/${e}/connector-profiles`))}var Cy=_r;async function kr(e){return o(await i.get(`/projects/${e}/connector-profiles/all`))}var Ry=kr;async function wr(e,t){return o(await i.post(`/projects/${e}/connector-profiles`,t))}var Ty=wr;async function Sr(e,t){return o(await i.post(`/projects/${e}/connector-profiles/me`,t))}var Iy=Sr;async function vr(e,t,n){return o(await i.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}var Ay=vr;function de(e,t,n){return`/projects/${e}/connector-profiles/${t}/oauth2/${n}`}async function Eu(e,t){return o(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/profile`,{}))}var jy=Eu;async function $u(e,t,n){return o(await i.put(de(e,t,"application"),n))}var Ey=$u;async function qu(e,t){return o(await i.get(de(e,t,"application")))}var $y=qu;async function Du(e,t,n){return o(await i.post(de(e,t,"discover"),n))}var qy=Du;async function Mu(e,t,n){return o(await i.post(de(e,t,"authorize"),n))}var Dy=Mu;async function Uu(e,t,n){return o(await i.post(de(e,t,"device"),n))}var My=Uu;async function Ou(e,t,n){return o(await i.post(de(e,t,`device/${encodeURIComponent(n)}`),{}))}var Uy=Ou;async function Lu(e,t){return o(await i.get(de(e,t,"status")))}var Oy=Lu;async function Cr(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}var Ly=Cr;async function Rr(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}var Fy=Rr;async function Tr(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/default`,{}))}var Gy=Tr;async function Ir(e,t,n={}){return o(await i.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}var By=Ir;async function Ar(e,t){return o(await i.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}var Ny=Ar;async function Wi(e){return o(await i.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function Vi(e){return o(await i.post(`/executor/projects/${e}/connectors/sync`,{}))}async function Ji(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function Qi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function Xi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function Yi(e,t){return o(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Zi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function Ky(e,t){throw new Error("Authorization-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function Hy(e,t,n){throw new Error("Authorization-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function eo(e,t){return o(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function to(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function no(e,t){return o(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function ro(e,t){return o(await i.post(`/executor/projects/${e}/connectors`,t))}async function so(e,t){return o(await i.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function io(e,t){return o(await i.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function oo(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function ao(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function co(e,t){let n=new URLSearchParams({id:t});return o(await i.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function lo(){return o(await i.get("/executor/connect-status"))}async function uo(e,t,n){let r=typeof n=="string"?{value:n}:n;return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function po(e,t){return o(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function go(e){return o(await i.get(`/executor/projects/${e}/policies`))}async function mo(e,t,n){return o(await i.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function fo(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function yo(e){return o(await i.get(`/projects/${e}/snapshots`))}async function jr(e){return o(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function ho(e,t){return o(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function bo(e){return o(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function xo(e,t){return o(await i.post(`/projects/${e}/sandbox-templates`,t))}async function Po(e,t,n){return o(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function _o(e,t){return o(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function ko(e,t){return o(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function wo(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function So(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 o(await i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function vo(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)),o(await i.get(`/projects/${e}/files/search?${r.toString()}`))}async function Co(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),o(await i.get(`/projects/${e}/files/content?${r.toString()}`))}async function Ro(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",c=await ce(),u=`${$().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!p.ok){let g=await p.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function To(e){return o(await i.get(`/projects/${e}/branches`))}async function Io(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 o(await i.get(`/projects/${e}/commits${r}`))}async function Ao(e,t){return o(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function jo(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return o(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Eo(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)),o(await i.get(`/projects/${e}/files/history?${r.toString()}`))}async function $o(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return o(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function qo(e,t){let n=t?`?status=${t}`:"";return o(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Do(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}`))}async function Mo(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function Uo(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Oo(e,t){return o(await i.post(`/projects/${e}/change-requests`,t))}async function Lo(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function Fo(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function Go(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function Bo(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function No(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var Er=new Set;function ht(e){e&&Er.add(e)}function Ko(e){return!!e&&Er.has(e)}function uh(e){e&&Er.delete(e)}async function Ge(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope);let r=n.size>0?`?${n}`:"";return o(await i.get(`/projects/${e}/sessions${r}`))}async function Ho(e,t,n){return o(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function zo(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function Wo(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Vo(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function Jo(e,t,n){return o(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function Be(e,t){let n=o(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||ht(n?.session_id),n}async function Qo(e){let t=o(await i.post(`/projects/${e}/sessions/warm`,{}));return ht(t.session.session_id),t}async function Xo(e,t){let n=o(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return ht(n.session_id),n}async function $r(e,t,n){return o(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function Yo(e,t,n,r){let s=n?`?limit=${n}`:"";return o(await i.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function Zo(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 o(await i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function ea(e,t,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return o(await i.get(`/projects/${e}/sessions/${t}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function ta(e,t,n){return o(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function na(e,t){return o(await i.delete(`/projects/${e}/sessions/${t}`))}async function bt(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function xt(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function ra(e,t){return o(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}async function sa(e,t,n={}){return o(await i.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function ia(e,t){return o(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function oa(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function aa(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function ca(e){return o(await i.get(`/projects/${e}/triggers`))}async function la(e,t){return o(await i.post(`/projects/${e}/triggers`,t))}async function ua(e,t,n){return o(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function pa(e,t){return o(await i.delete(`/projects/${e}/triggers/${t}`))}async function da(e,t){return o(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function ga(e,t){return o(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var re=new Map;function qr(e,t){return`${e}::${t}`}function ma(e,t){re.delete(e),re.set(e,t)}function fa(e,t){let n=qr(e,t),r=re.get(n);return r&&ma(n,r),r}function ya(e,t,n){let r=qr(e,t);if(!re.has(r)&&re.size>=512){let s=re.keys().next().value;s!==void 0&&re.delete(s)}ma(r,n)}function ha(e,t){re.delete(qr(e,t))}function Sh(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 Dr=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 vh(e){return e instanceof Error&&e.name==="SessionStartError"}function Fu(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 Dr(s,{status:n,code:r,terminal:!0}):null}async function Re(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=Fu(s.error);if(p&&!(p.status===404&&Ko(t)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&ya(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:rt(u),sandboxId:u}),c}function Ch(e,t){return["session-start",e,t]}async function ba(e){return o(await i.get(`/projects/${e}/model-defaults`))}async function xa(e,t){return o(await i.put(`/projects/${e}/model-defaults`,t))}async function Pa(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return o(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function $h(e,t){return o(await i.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function ka(e,t,n){let r=Bu(n);return o(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function _a(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Gu(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Bu(e){let t=e.connectors_required?_a(e.connectors_required):void 0,n=e.connectors_personal?_a(e.connectors_personal):void 0;if(t&&n&&!Gu(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 Fh(e,t){let n=o(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?Mr(n.block):null}}async function Gh(e,t,n){let r=Mr(n),s=o(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?Mr(s.block):null}}function wa(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Nu(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Mr(e){let t=e.connectors_required?wa(e.connectors_required):void 0,n=e.connectors_personal?wa(e.connectors_personal):void 0;if(t&&n&&!Nu(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 Sa(e,t){return o(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function va(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function Ca(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}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?va():s.data}async function Ra(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}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?va():s.data}async function Ta(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 o(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function Ia(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 o(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Aa(){return o(await i.get("/billing/credit-breakdown"))}async function ja(e){let t=e!=null?`?days=${e}`:"";return o(await i.get(`/billing/usage-history${t}`))}async function Ea(){return o(await i.get("/billing/tier-configurations"))}async function Hh(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return ve(e,`/v1/billing/account-state${t}`)}async function $a(e){return o(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 qa(e,t){return o(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Da(e,t){return o(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Ma(e,t){return o(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function Ua(e){return o(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function Oa(e,t,n){return o(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function La(e){return o(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function Fa(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),o(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Ga(e){return o(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 Ba(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function Na(e){return o(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function zh(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Wh(e){return o(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 Vh(e){return o(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function Jh(e){return o(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function Ka(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 o(await i.get(`/usage${n?`?${n}`:""}`))}function Ur(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function Pt(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function _t(e){return e.size>0?`?${e}`:""}async function za(e={}){let t=new URLSearchParams;return Ur(t,e),e.ownerId&&t.set("owner_id",e.ownerId),Pt(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)),o(await i.get(`/usage/session-costs${_t(t)}`))}async function Or(e,t={}){let n=new URLSearchParams;return Ur(n,t),o(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${_t(n)}`))}async function tb(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),Pt(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)),o(await i.get(`/usage/cost-by-project${_t(t)}`))}async function nb(e={}){let t=new URLSearchParams;return Ur(t,e),e.sessionId&&t.set("session_id",e.sessionId),Pt(t,e),o(await i.get(`/usage/cost-summary${_t(t)}`))}function Ha(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)}Pt(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 rb(e,t={}){let n=Ha(e==="projects"?"projects":"sessions",t),r=await ce(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let g=await s.text().catch(()=>"");throw new Error(g||`Failed to export CSV (HTTP ${s.status})`)}let c=s.headers.get("x-kortix-row-cap"),u=c!=null?Number(c):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function Wa(e,t){return o(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function ab(e){return Wa("slack",e)}function cb(e){return Wa("teams",e)}async function Va(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function Ja(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Ku={oauth_available:!1,install_url:null};async function Qa(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Ku:t.data}async function Xa(e){return o(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Ya(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 Za(e,t){return o(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function ec(e,t){return o(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 Lr(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Hu={provider:"agentmail",managed_available:!1};async function tc(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?Lr(r.data):null}async function nc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Hu:t.data}async function rc(e,t){let n=o(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Lr(n)}async function sc(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 ic(e,t,n){let r=o(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 Lr(r)}async function oc(e,t){return o(await i.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function lb(e){return o(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function ub(e,t,n){return o(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function ac(e){return o(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function cc(e,t){return o(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function lc(e){return o(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function uc(e,t){return o(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function pc(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 o(await i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function dc(e,t){return o(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function gc(e,t){return o(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function mc(e,t){return o(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function fc(e,t){return o(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function yc(e,t){return o(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function hc(e,t){return o(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function bc(e){return o(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function xc(e,t){return o(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Pc(e,t){return o(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function _c(e){return o(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function kc(e,t){return o(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function wc(e,t){return o(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Sc(e,t,n,r,s){return o(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 mb(e,t){return o(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function vc(e){let t=new FormData;t.append("audio_file",e);let n=await i.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function Pb(){return o(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function _b(){return o(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function kb(e){return o(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function wb(){return o(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function Sb(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return o(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function vb(e){return o(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function P(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 Tb(e){return P(await U(`/accounts/${e}/iam/groups`)).groups}async function Ib(e,t){return P(await U(`/accounts/${e}/iam/groups/${t}`))}async function Ab(e,t){return P(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function jb(e,t,n){return P(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function Eb(e,t){return P(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function $b(e,t){return P(await U(`/accounts/${e}/iam/groups/${t}/members`)).members}async function qb(e,t,n){return P(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function Db(e,t){return P(await U(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function Mb(e,t,n){return P(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function Ub(e,t){return P(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function Ob(e,t){return P(await U(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function Lb(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 P(await U(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function Fb(e,t){return P(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Gb(e,t,n){return P(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function Bb(e,t){return P(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function Nb(e,t){return P(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function Kb(e,t){return P(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function Hb(e){return P(await U(`/accounts/${e}/iam/roles`)).roles}async function zb(e){return P(await U(`/accounts/${e}/iam/agent-identities`)).agents}async function Wb(e,t){return P(await U(`/accounts/${e}/iam/roles/${t}/permissions`))}async function Vb(e){return P(await U(`/accounts/${e}/iam/actions`)).actions}async function Jb(e,t){return P(await U(`/accounts/${e}/iam/roles/${t}/usage`))}async function Qb(e,t){return P(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function Xb(e,t,n){return P(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function Yb(e,t,n){return P(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function Zb(e,t){return P(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function ex(e,t,n){return P(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function tx(e){return P(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function nx(e,t){return P(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function rx(e,t){return P(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function sx(e){return P(await U(`/accounts/${e}/iam/mfa-required`))}async function ix(e){return P(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function ox(e,t){return P(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function ax(e){return P(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function cx(e,t){return P(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function lx(e,t){return P(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function ux(e){return P(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function px(e){return P(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function dx(e,t){return P(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function gx(e,t){return P(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function mx(e){return P(await U(`/accounts/${e}/iam/session-policy`))}async function fx(e,t){return P(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function yx(e){return P(await U(`/accounts/${e}/iam/sessions`)).sessions}async function hx(e,t){return P(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function bx(e){return P(await U(`/accounts/${e}/iam/pat-policy`))}async function xx(e,t){return P(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Px(e){return P(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function _x(e,t){return P(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function kx(e,t){return P(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function wx(e,t){return P(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Sx(e){return P(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function vx(e,t){return P(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function Cx(e,t,n){return P(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Rx(e,t){return P(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Tx(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.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 P(await U(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Ix(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),P(await U(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function Ax(e,t,n){return n.length===0?[]:P(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function jx(e){return P(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function Ex(e,t){return P(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function Mx(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:o(e,"Failed to load account deletion status")}async function Ux(e="User requested deletion"){return o(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function Ox(){return o(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function Lx(){return o(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function Fx(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Kx(){return i.get("/admin/api/provider-distribution").then(e=>o(e))}function Hx(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>o(t))}function zx(e){return i.put("/admin/api/provider-distribution",e).then(t=>o(t))}function Wx(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>o(t))}function Vx(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>o(n))}function Jx(){return i.get("/admin/api/provider-fallback").then(e=>o(e))}function Qx(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>o(t))}async function eP(e){return o(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function tP(e,t){return o(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 Cc(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 o(await i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Rc(e,t){return o(await i.get(`/projects/${e}/review/items/${t}`))}async function Tc(e,t){return o(await i.post(`/projects/${e}/review/items`,t))}async function Ic(e,t,n){return o(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function Ac(e,t){return o(await i.post(`/projects/${e}/review/bulk`,t))}async function jc(e){return o(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Ec(e){return o(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 $c(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 Fr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function qc(e,t=""){return`${le()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Dc(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 Fr(s,t.status)}return r}async function uP(e){return Dc(qc(e))}async function pP(e){return Dc(qc(e,"/messages"))}var Gr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function Mc(e){return`${le()}/public/voice-join/${encodeURIComponent(e)}`}async function Uc(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Gr(s,t.status)}return r}async function mP(e){return Uc(Mc(e))}async function fP(e,t=0){let n=`${Mc(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return Uc(n)}async function Oc(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/accounts/tokens${t}`))}async function Lc(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return o(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Fc(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.delete(`/accounts/tokens/${e}${n}`))}async function Gc(e){return o(await i.get(`/projects/${e}/cli-token`))}async function Bc(e,t){return o(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Nc(e,t){return o(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Kc(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?.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 o(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Hc(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?.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);let r=n.toString();return o(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function zc(e){return o(await i.get(`/accounts/${e}/audit/webhooks`))}async function Wc(e,t){return o(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function Vc(e,t,n){return o(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Jc(e,t){return o(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Qc(e,t){return o(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 Xc(e,t){return o(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function vP(e){return o(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function Yc(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 o(await i.get(`/marketplace/items${n}`))}async function Zc(){return o(await i.get("/marketplace/marketplaces"))}async function el(){return o(await i.get("/marketplace/marketplaces/featured"))}async function tl(e){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function nl(e,t){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function rl(){return o(await i.get("/marketplace/sources"))}async function sl(e){return o(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function il(e){return o(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function IP(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function $P(e){return o(await i.get(`/templates/${encodeURIComponent(e)}`))}async function qP(e,t){return o(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}function OP(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 ol(e,t){let n=(e===void 0?G():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await E(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var se={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var al=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,cl=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,ll=new Set([22,4096,parseInt(se.KORTIX_MASTER,10)]);function zu(e){return cl.test(e)}function kt(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 Wu(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Vu=new Set(["'",'"',"`","<","(","["]),Ju=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Qu(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&&Vu.has(e[t]);)t++;for(;n>t&&Ju.has(e[n-1]);)n--;return e.slice(t,n)}function Xu(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Yu=/^\/proxy\/(\d{1,5})(\/.*)?$/,Zu=/^\/(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 ep(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Zu.test(t.pathname)}catch{return!1}}function wt(e){if(!e)return null;let t=Qu(Wu(e.trim())),n=dl(t);if(n){let r=kt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(se.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(Yu);if(g){let y=parseInt(g[1],10);if(y>=1&&y<=65535)return s=y,c=kt(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let p=kt(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Xu(e);return r&&r!==e?wt(r):null}}function tp(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let c=r.index,u=c+r[0].length;t.some(([g,y])=>c>=g&&u<=y)||t.push([c,u])}return t}function np(e,t){return t.some(([n,r])=>e>=n&&e<r)}function rp(e){let t=[],n=new Set,r=tp(e);al.lastIndex=0;let s;for(;(s=al.exec(e))!==null;){let c=wt(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||ll.has(p)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:p,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:np(s.index,r)}))}return t}function BP(e){return rp(e).length>0}function sp(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function ip(e){return e.sandboxId.trim().length>0}function ge(e,t,n){let r=kt(t);if(!ip(n))return lp(e,r);if(!sp(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${e}${r}`}return`http://p${e}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function NP(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return ge(3211,`/open?path=/workspace/${r}`,t)}function op(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function KP(e){return`http://localhost:3211${op(e)}`}function ap(){return"/health"}function HP(e){return ge(3211,ap(),e)}function zP(e,t){return ge(e,"/",t)}function cp(e){let t=wt(e);return!(!t||ll.has(t.port)||ep(e))}function ul(e,t){if(!e)return e;let n=wt(e);return n?cp(n.originalUrl)?ge(n.port,n.path,t):n.originalUrl:e}function lp(e,t="/"){return`http://localhost:${e}${t}`}var pl=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function dl(e){let t=e.match(cl);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(pl);if(n)try{let r=new URL(e);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function WP(e){try{let t=dl(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function VP(e){return zu(e)||pl.test(e)}function JP(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var Ne="/web-proxy/";function QP(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Ne}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(se.KORTIX_MASTER,10);return`${ge(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function XP(e){try{let t=new URL(e),n=t.pathname.indexOf(Ne);if(n===-1)return null;let s=t.pathname.slice(n+Ne.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],p=s[3]||"/";return`${c}://${u}${p}${t.search}${t.hash}`}catch{return null}}function YP(e){try{return new URL(e).pathname.includes(Ne)}catch{return e.includes(Ne)}}function ZP(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 e_(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 gl="frontend";function St(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${gl}] ${t}`,...n?[n]:[]);try{ue().app.log({service:gl,level:e,message:t,extra:n})}catch{}}var ie={debug:(e,t)=>St("debug",e,t),info:(e,t)=>St("info",e,t),warn:(e,t)=>St("warn",e,t),error:(e,t)=>St("error",e,t)};function up(e){return{type:"heartbeat-gap",gapMs:e}}function pp(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 dp={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},gp=16,mp=8,fp=6e4,yp=5e3,hp=250,bp=1e3,xp=3e4,Pp=5,_p=3e3,kp=3e4,wp=2e4,Sp=2e3,vp=8;function Cp(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function ml(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function Br(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??dp,p=e.connectTimeoutMs??wp,g=e.heartbeatTimeoutMs??fp,y=e.maxConsecutiveHardFailures??vp,m=new AbortController,_=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",_,{once:!0}));let w=u.now(),R=[],l,f=0,a=new Map,I=()=>{if(l&&u.clearTimeout(l),l=void 0,R.length===0)return;let x=R;R=[],a.clear(),f=u.now(),w=u.now();for(let j of x)if(j)try{n(j.event)}catch(A){console.warn("[opencode-events] event handler threw, skipping",A)}},v=()=>{if(l)return;let x=u.now()-f;l=u.setTimeout(I,Math.max(0,gp-x))};return(async()=>{let x=0,j=0;for(;!m.signal.aborted;){let A=!1,S=!1,q,L,h=null,C=u.now(),D=new AbortController,F=ml(m.signal);F.promise.then(()=>D.abort());try{let K=await new Promise((qt,Ie)=>{let V=!1;L=u.setTimeout(()=>{V||(V=!0,ie.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),D.abort(),Ie(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:D.signal,sseDefaultRetryDelay:_p,sseMaxRetryDelay:kp,sseMaxRetryAttempts:1}).then(Y=>{V||(V=!0,u.clearTimeout(L),qt(Y))},Y=>{V||(V=!0,u.clearTimeout(L),Ie(Y))})}),{stream:O}=K;w=u.now();let W=()=>{u.clearTimeout(q),q=u.setTimeout(()=>{ie.warn("SSE heartbeat timeout, forcing reconnect"),D.abort()},g)};W();let Je=u.now(),Ol=O[Symbol.asyncIterator]();for(;!D.signal.aborted;){let qt=Ol.next().then(ee=>({kind:"next",result:ee}),ee=>({kind:"error",error:ee})),Ie=ml(D.signal),V=await Promise.race([qt,Ie.promise.then(()=>({kind:"aborted"}))]);if(Ie.cleanup(),V.kind==="aborted")break;if(V.kind==="error")throw V.error;if(V.result.done)break;A=!0,W();let Y=V.result.value,Qe=Y&&typeof Y=="object"&&"payload"in Y?Y.payload:Y;if(!Qe?.type)continue;let Dt=Cp(Qe);if(Dt){let ee=a.get(Dt);ee!==void 0&&(R[ee]=void 0),a.set(Dt,R.length)}R.push({type:Qe.type,event:Qe}),v(),!(u.now()-Je<mp)&&(Je=u.now(),await new Promise(ee=>u.setTimeout(ee,0)))}S=A}catch(K){if(m.signal.aborted)break;h=K;let O=String(K),W=O.includes("401")||O.includes("403")||O.includes("Unauthorized")||O.includes("Token refresh failed");if(ie.error("SSE event stream error",{error:O,retryCount:x,isAuthError:W}),W)try{nt(),await or(),ie.info("SSE: refreshed auth token after auth error")}catch(Je){ie.error("SSE: failed to refresh auth token",{error:String(Je)})}}finally{u.clearTimeout(q),u.clearTimeout(L),D.abort(),F.cleanup(),I()}if(m.signal.aborted)break;let J=u.now()-C,Q=h?.cause?.status;if(j=!A&&(typeof Q=="number"&&Q>=400||J<Sp)?j+1:0,j>=y){ie.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:j,lastError:String(h)});try{s?.({consecutiveFailures:j,lastError:h})}catch(K){console.warn("[opencode-events] onParked handler threw",K)}break}let z=u.now()-w;z>yp&&r?.(z),S?x=0:(x++,x>1&&ie.warn("SSE event stream reconnecting",{retryCount:x}));let M=S?hp:Math.min(bp*2**Math.min(x-1,Pp),xp);await new Promise(K=>{let O=u.setTimeout(K,M),W=()=>{u.clearTimeout(O),K()};m.signal.addEventListener("abort",W,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",_),l&&u.clearTimeout(l)}}}function Rp(){return ue()}var vt=new Map,Ct=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 Tp(e,t){Ut(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 T(`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 f=$().backendUrl??e.backendUrl,a=80,I=n(f);return I&&(a=I.port?Number(I.port):I.protocol==="https:"?443:80),{sandboxId:l,backendPort:a,apiBaseUrl:f}}let s={list:Us,get:Ls,create:Os,updateName:Fs,leave:Xs,members:Gs,invite:Bs,removeMember:Js,updateMemberRole:Qs,invites:Ns,cancelInvite:Ks,resendInvite:Hs,tokens:{list:Oc,create:Lc,revoke:Fc},audit:{log:Kc,export:Hc,webhooks:{list:zc,create:Wc,update:Vc,remove:Jc}}},c={accountState:Ca,accountStateMinimal:Ra,transactions:Ta,transactionsSummary:Ia,creditBreakdown:Aa,usageHistory:ja,usageRollup:Ka,sessionCosts:{list:za,get:Or},tierConfigurations:Ea,checkout:{createSession:l=>$a(l),confirmSession:(l,f)=>qa(l,f)},subscription:{createPortalSession:(l,f)=>Da(l,f),cancel:(l,f)=>Ma(l,f),reactivate:l=>Ua(l),scheduleDowngrade:(l,f,a)=>Oa(l,f,a),cancelScheduledChange:l=>La(l),prorationPreview:(l,f)=>Fa(l,f)},credits:{purchase:l=>Ga(l),autoTopupSettings:l=>Ba(l),configureAutoTopup:l=>Na(l)}},u={describe:zs,accept:Ws,decline:Vs},p={list:Ce,listForAccount:Zs,get:fr,detail:yr,create:ri,createRepo:si,provision:ii,update:xr,archive:Pr,llmCatalog:hr,modelPicker:br,sandboxHealth:jr,sandboxTemplates:fo,sessions:Ge,createSession:Be},g={linkRepository:li,getInstallation:ui,listInstallations:pi,listLinkableInstallations:di,listRepositories:gi,listRepositoryBranches:mi,linkInstallation:yi,saveInstallation:fi,deleteInstallation:hi},y={list:jc,create:Ec,revoke:$c},m=lo,_={items:l=>Yc(l),item:l=>tl(l),itemFile:(l,f)=>nl(l,f),marketplaces:()=>Zc(),featured:()=>el(),sources:{list:()=>rl(),add:l=>sl(l),remove:l=>il(l)}};function w(l){let f={list:()=>_r(l),listAll:()=>kr(l),reconcile:(...a)=>wr(l,...a),reconcileMember:(...a)=>Sr(l,...a),updateCredential:(...a)=>vr(l,...a),revoke:(...a)=>Cr(l,...a),activate:(...a)=>Rr(l,...a),setDefault:(...a)=>Tr(l,...a),pipedreamConnect:(...a)=>Ir(l,...a),pipedreamFinalize:(...a)=>Ar(l,...a)};return{get:a=>fr(l,a),detail:()=>yr(l),update:a=>xr(l,a),archive:()=>Pr(l),llmCatalog:()=>hr(l),modelPicker:()=>br(l),sandboxHealth:()=>jr(l),onboardingComplete:(...a)=>ci(l,...a),tokens:{list:()=>Gc(l),create:a=>Bc(l,a),revoke:a=>Nc(l,a)},setupLinks:{requestSecret:a=>Qc(l,a),requestConnector:a=>Xc(l,a)},validateManifest:a=>ti(l,a),gitToken:()=>ni(l),secrets:{list:()=>Oi(l),upsert:a=>Li(l,a),setStrategy:(...a)=>Fi(l,...a),remove:a=>Ki(l,a),setPersonal:(...a)=>Hi(l,...a),removePersonal:a=>zi(l,a),setGitCredential:a=>Ni(l,a),startProviderOAuth:(...a)=>Gi(l,...a),pollProviderOAuth:(...a)=>Bi(l,...a)},access:{list:()=>_i(l),invite:(...a)=>Si(l,...a),update:(...a)=>ki(l,...a),revoke:a=>wi(l,a),pendingInvites:()=>vi(l),resendInvite:(...a)=>Ri(l,...a),revokeInvite:(...a)=>Ci(l,...a),requests:()=>bi(l),approveRequest:(...a)=>xi(l,...a),rejectRequest:(...a)=>Pi(l,...a),groupGrants:()=>Ti(l),attachGroupGrant:(...a)=>Ii(l,...a),updateGroupGrant:(...a)=>Ai(l,...a),detachGroupGrant:a=>ji(l,a),resourceGrants:{list:()=>Ei(l),create:a=>$i(l,a),remove:a=>qi(l,a)}},connectors:{list:()=>Wi(l),config:(...a)=>eo(l,...a),create:(...a)=>ro(l,...a),remove:(...a)=>io(l,...a),sync:()=>Vi(l),auth:{discover:(...a)=>so(l,...a)},setName:(...a)=>to(l,...a),setCredentialMode:(...a)=>Ji(l,...a),setAuthorizationStrategy:(...a)=>Qi(l,...a),setCredential:(...a)=>uo(l,...a),setSensitive:(...a)=>Xi(l,...a),authorizations:f,profiles:f,policies:{get:(...a)=>Yi(l,...a),set:(...a)=>Zi(l,...a)},pipedream:{listApps:(...a)=>oo(l,...a),connect:(...a)=>no(l,...a),finalize:(...a)=>po(l,...a)},discover:{list:(...a)=>ao(l,...a),detail:(...a)=>co(l,...a)}},policies:{list:()=>go(l),set:(...a)=>mo(l,...a)},triggers:{list:()=>ca(l),create:(...a)=>la(l,...a),update:(...a)=>ua(l,...a),remove:(...a)=>pa(l,...a),fire:(...a)=>ga(l,...a),setActivation:(...a)=>da(l,...a)},files:{list:a=>So(l,a),read:(a,I)=>Co(l,a,I),search:(...a)=>vo(l,...a),archive:(...a)=>Ro(l,...a),history:(...a)=>Eo(l,...a)},git:{commits:()=>Io(l),commit:a=>Ao(l,a),commitDiff:a=>jo(l,a),branches:()=>To(l),versionDiff:(...a)=>$o(l,...a),inviteCollaborator:(...a)=>ei(l,...a)},changeRequests:{list:()=>qo(l),get:a=>Do(l,a),diff:a=>Mo(l,a),mergePreview:a=>Uo(l,a),open:(...a)=>Oo(l,...a),merge:(...a)=>Lo(l,...a),close:(...a)=>Fo(l,...a),reopen:(...a)=>Go(l,...a),requestChanges:(...a)=>Bo(l,...a)},sessions:{list:a=>Ge(l,a),create:a=>Be(l,a),ensureWarm:()=>Qo(l),claimWarm:a=>Xo(l,a)},review:{list:a=>Cc(l,a),get:a=>Rc(l,a),submit:a=>Tc(l,a),act:(...a)=>Ic(l,...a),bulkAct:a=>Ac(l,a)},approvals:{list:a=>Di(l,a),resolve:(...a)=>Ui(l,...a),sessionsNeedingInput:a=>Mi(l,a)},gateway:{logs:a=>pc(l,a),log:a=>dc(l,a),overview:a=>gc(l,a),series:a=>mc(l,a),breakdown:a=>fc(l,a),sessions:a=>yc(l,a),errors:a=>hc(l,a),budgets:()=>bc(l),setBudget:a=>xc(l,a),deleteBudget:a=>Pc(l,a),keys:()=>_c(l),createKey:a=>kc(l,a),revokeKey:a=>wc(l,a),routing:{get:()=>ac(l),set:a=>cc(l,a),reset:()=>lc(l),preview:a=>uc(l,a)},playground:(a,I,v)=>Sc(l,a,I,v)},channels:{slack:{installation:()=>Va(l),connect:a=>Ja(l,a),mode:()=>Qa(l),manifest:()=>Xa(l),disconnect:()=>Ya(l),getFile:a=>Za(l,a),uploadFile:a=>ec(l,a)},email:{installation:a=>tc(l,a),mode:()=>nc(l),connect:a=>rc(l,a),disconnect:a=>sc(l,a),updatePolicy:(...a)=>ic(l,...a)},voice:{setBotName:a=>oc(l,a)}},updateExperimentalFeature:(...a)=>oi(l,...a),modelDefaults:{get:()=>ba(l),set:a=>xa(l,a),clear:a=>Pa(l,a)},setDefaultAgent:a=>Sa(l,a),sandbox:{list:()=>wo(l),snapshots:()=>yo(l),rebuildSnapshot:a=>ho(l,a),fixWithAgent:()=>bo(l),createTemplate:a=>xo(l,a),updateTemplate:(...a)=>Po(l,...a),removeTemplate:a=>_o(l,a),buildTemplate:a=>ko(l,a),setProvider:a=>ai(l,a)},setAgentScope:(...a)=>ka(l,...a),session:a=>R(l,a)}}function R(l,f){let a=null,I,v,x=null;async function j(){x||(x=$r(l,f,{showErrors:!1}).then(h=>{let C=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",D=C.indexOf("/"),F=D>0&&D<C.length-1?{providerID:C.slice(0,D),modelID:C.slice(D+1)}:void 0,J=h.agent_name?.trim()||void 0;return{model:F,agent:J}}));try{return await x}catch(h){throw x=null,h}}function A(){if(a)return a;let h=fa(l,f);return h&&(a=h),a}async function S(h){let C=A();if(C)return C;let D=h?.readyTimeoutMs??18e4,F=`${l}
8
- ${f}`,J=vt.get(F);if(J)return a=await J,a;let Q=(async()=>{let X=Date.now()+D,z=()=>Math.max(0,X-Date.now()),M=await Re(l,f,Math.min(3e4,z()));for(;Date.now()<X&&(M==null||(M.stage==="provisioning"||M.stage==="starting")&&M.retriable);)await new Promise(W=>setTimeout(W,Math.min(1e3,z()))),M=await Re(l,f,Math.min(3e4,z()));if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new T(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let K=M.sandbox.external_id;if(!K)throw new T("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let O=rt(K);return hs(O,K),{opencodeSessionId:M.opencode_session_id,runtimeUrl:O,sandboxId:K}})();vt.set(F,Q);try{return a=await Q,a}finally{vt.get(F)===Q&&vt.delete(F)}}function q(h){let C=A();if(!C)throw new Ct(h);return C}function L(){a=null,ha(l,f)}return{get:h=>$r(l,f,h),cost:()=>Or(f,{projectId:l}),update:h=>ta(l,f,h),delete:()=>(L(),na(l,f)),start:(...h)=>Re(l,f,...h),restart:()=>(L(),bt(l,f)),stop:()=>(L(),xt(l,f)),configState:()=>ra(l,f),reloadConfig:h=>(L(),sa(l,f,h)),setSharing:h=>Ho(l,f,h),previews:()=>zo(l,f),commit:h=>No(l,f,h),publicShares:{list:()=>Wo(l,f),create:(...h)=>Vo(l,f,...h),revoke:(...h)=>Jo(l,f,...h)},audit:(h,C)=>Yo(l,f,h,C),transcript:h=>Zo(l,f,h),voiceTranscript:h=>ea(l,f,h),ensureReady:S,health:h=>ol(A()?.runtimeUrl??null,h),previewUrl:(h,C="/")=>ge(h,C,r(q("previewUrl").sandboxId)),proxyUrl:h=>ul(h,r(q("proxyUrl").sandboxId)),setModel:h=>{I=h},changeModel:async h=>{let C=await aa(l,f,h);return x=null,C},scope:()=>ia(l,f),rescope:h=>oa(l,f,h),setAgent:h=>{v=h},send:async(h,C)=>{let{opencodeSessionId:D,runtimeUrl:F}=await S(),J=C?.model??I,Q=C?.agent??v,X=J&&Q?{}:await j(),z=J??X.model,M=Q??X.agent;return te(F).session.prompt({sessionID:D,parts:[{type:"text",text:h}],...z?{model:z}:{},...M?{agent:M}:{}})},abort:async()=>{let{opencodeSessionId:h,runtimeUrl:C}=await S();return te(C).session.abort({sessionID:h})},rewind:async h=>{let{opencodeSessionId:C,runtimeUrl:D}=await S();return te(D).session.revert({sessionID:C,messageID:h})},restoreRewind:async()=>{let{opencodeSessionId:h,runtimeUrl:C}=await S();return te(C).session.unrevert({sessionID:h})},stream:async h=>{let{runtimeUrl:C}=await S();return Br({client:te(C),onEvent:h.onEvent,onGapRehydrate:h.onGapRehydrate,signal:h.signal})},get runtime(){return te(q("runtime").runtimeUrl)},files:{list:async h=>ct(h,(await S()).runtimeUrl),read:async h=>Oe(h,(await S()).runtimeUrl),readBlob:async h=>Le(h,(await S()).runtimeUrl),status:async()=>lt((await S()).runtimeUrl),findFiles:async(h,C)=>ut(h,C,(await S()).runtimeUrl),findText:async h=>pt(h,(await S()).runtimeUrl),upload:async(h,C,D)=>Fe(h,C,D,(await S()).runtimeUrl),create:async h=>dt(h,(await S()).runtimeUrl),copy:async(h,C)=>gt(h,C,(await S()).runtimeUrl),remove:async h=>mt(h,(await S()).runtimeUrl),mkdir:async h=>ft(h,(await S()).runtimeUrl),rename:async(h,C)=>yt(h,C,(await S()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:p,project:w,session:R,github:g,billing:c,sandboxShares:y,transcribe:vc,connectStatus:m,marketplace:_,validateToken:Ys,runtime:Rp}}function Ip(){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("")}`}var fl={thinking:!1,toolDetails:!0,assistantMetadata:!0};function Ap(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function jp(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 Ep(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
5
+ `);L=M.pop()??"";for(let z of M){let V=z.split(`
6
+ `),J=[],Q;for(let U of V)if(U.startsWith("data:"))J.push(U.replace(/^data:\s*/,""));else if(U.startsWith("event:"))Q=U.replace(/^event:\s*/,"");else if(U.startsWith("id:"))x=U.replace(/^id:\s*/,"");else if(U.startsWith("retry:")){let H=Number.parseInt(U.replace(/^retry:\s*/,""),10);Number.isNaN(H)||(l=H)}let N,D=!1;if(J.length){let U=J.join(`
7
+ `);try{N=JSON.parse(U),D=!0}catch{N=U}}D&&(s&&await s(N),r&&(N=await r(N))),n?.({data:N,event:Q,id:x,retry:l}),J.length&&(yield N)}}}finally{a.removeEventListener("abort",K),S.releaseLock()}break}catch(T){if(t?.(T),u!==void 0&&h>=u)break;let C=Math.min(l*2**(h-1),p??3e4);await _(C)}}}()}};var Xl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ql=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Yl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ye=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(g=>encodeURIComponent(g))).join(Ql(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=Xl(r),u=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):be({allowReserved:e,name:n,value:p})).join(c);return r==="label"||r==="matrix"?c+u:u},be=({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)}`},Ze=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,x])=>{g=[...g,m,e?x:encodeURIComponent(x)]});let f=g.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let u=Yl(r),p=Object.entries(s).map(([g,f])=>be({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var Zl=/\{[^{}]+\}/g,eu=({path:e,url:t})=>{let n=t,r=t.match(Zl);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(c=!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 g=e[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,Ye({explode:c,name:u,style:p,value:g}));continue}if(typeof g=="object"){n=n.replace(s,Ze({explode:c,name:u,style:p,value:g,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${be({name:u,value:g})}`);continue}let f=encodeURIComponent(p==="label"?`.${g}`:g);n=n.replace(s,f)}return n},Zr=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=eu({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function Ft(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 es=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 Gt={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var ts=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let p=e[c]||t;if(Array.isArray(u)){let g=Ye({allowReserved:p.allowReserved,explode:!0,name:c,style:"form",value:u,...p.array});g&&s.push(g)}else if(typeof u=="object"){let g=Ze({allowReserved:p.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...p.object});g&&s.push(g)}else{let g=be({allowReserved:p.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},ns=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"}},tu=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,rs=async({security:e,...t})=>{for(let n of e){if(tu(t,n.name))continue;let r=await es(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}}},Bt=e=>Zr({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:ts(e.querySerializer),url:e.url}),Kt=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=et(e.headers,t.headers),n},nu=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},et=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?nu(n):Object.entries(n);for(let[s,c]of r)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},je=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}},ss=()=>({error:new je,request:new je,response:new je}),ru=ts({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),su={"Content-Type":"application/json"},Ee=(e={})=>({...Gt,headers:su,parseAs:"auto",querySerializer:ru,...e});var $e=(e={})=>{let t=Kt(Ee(),e),n=()=>({...t}),r=f=>(t=Kt(t,f),n()),s=ss(),c=async f=>{let m={...t,...f,fetch:f.fetch??t.fetch??globalThis.fetch,headers:et(t.headers,f.headers),serializedBody:void 0};m.security&&await rs({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let x=Bt(m);return{opts:m,url:x}},u=async f=>{let{opts:m,url:x}=await c(f),_={redirect:"follow",...m,body:Ft(m)},j=new Request(x,_);for(let k of s.request.fns)k&&(j=await k(j,m));let $=m.fetch,l;try{l=await $(j)}catch(k){let I=k;for(let S of s.error.fns)S&&(I=await S(k,void 0,j,m));if(I=I||{},m.throwOnError)throw I;return m.responseStyle==="data"?void 0:{error:I,request:j,response:void 0}}for(let k of s.response.fns)k&&(l=await k(l,j,m));let h={request:j,response:l};if(l.ok){let k=(m.parseAs==="auto"?ns(l.headers.get("Content-Type")):m.parseAs)??"json";if(l.status===204||l.headers.get("Content-Length")==="0"){let S;switch(k){case"arrayBuffer":case"blob":case"text":S=await l[k]();break;case"formData":S=new FormData;break;case"stream":S=l.body;break;default:S={};break}return m.responseStyle==="data"?S:{data:S,...h}}let I;switch(k){case"arrayBuffer":case"blob":case"formData":case"text":I=await l[k]();break;case"json":{let S=await l.text();I=S?JSON.parse(S):{};break}case"stream":return m.responseStyle==="data"?l.body:{data:l.body,...h}}return k==="json"&&(m.responseValidator&&await m.responseValidator(I),m.responseTransformer&&(I=await m.responseTransformer(I))),m.responseStyle==="data"?I:{data:I,...h}}let a=await l.text(),R;try{R=JSON.parse(a)}catch{}let T=R??a,C=T;for(let k of s.error.fns)k&&(C=await k(T,l,j,m));if(C=C||{},m.throwOnError)throw C;return m.responseStyle==="data"?void 0:{error:C,...h}},p=f=>m=>u({...m,method:f}),g=f=>async m=>{let{opts:x,url:_}=await c(m);return Yr({...x,body:x.body,headers:x.headers,method:f,onRequest:async(j,$)=>{let l=new Request(j,$);for(let h of s.request.fns)h&&(l=await h(l,x));return l},serializedBody:Ft(x),url:_})};return{buildUrl:Bt,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:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:p("TRACE")}};var ou={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},iu=Object.entries(ou),os=(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&&os(n.args,t);return t},au=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},d=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=os(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),g=p.map||s.key;p.in&&(n[p.in][g]=u)}else n.body=u;else for(let[p,g]of Object.entries(u??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=g}else n[f.map]=g;else{let m=iu.find(([x])=>p.startsWith(x));if(m){let[x,_]=m;n[_][p.slice(x.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[x,_]of Object.entries(s.allowExtra))if(_){n[x][p]=g;break}}}}return au(n),n};var is=$e(Ee({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??is}},Nt=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)}},Ht=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=d([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}})}},Wt=class extends b{log(t,n){let r=d([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=d([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=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},zt=class extends b{moveSession(t,n){let r=d([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}})}},Vt=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Jt=class extends b{get(t,n){let r=d([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=d([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=d([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}})}},Xt=class extends b{list(t,n){let r=d([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=d([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})}},Qt=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},Yt=class extends b{generateName(t,n){let r=d([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}})}},Zt=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},en=class extends b{list(t,n){let r=d([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=d([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=d([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=d([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=d([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=d([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 Zt({client:this.client})}},tn=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new zt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Vt({client:this.client})}_console;get console(){return this._console??=new Jt({client:this.client})}_session;get session(){return this._session??=new Xt({client:this.client})}_resource;get resource(){return this._resource??=new Qt({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Yt({client:this.client})}_workspace;get workspace(){return this._workspace??=new en({client:this.client})}},nn=class extends b{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=d([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}})}},rn=class extends b{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=d([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 nn({client:this.client})}},sn=class extends b{subscribe(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},on=class extends b{get(t,n){let r=d([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=d([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=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},an=class extends b{list(t,n){let r=d([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=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},cn=class extends b{remove(t,n){let r=d([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=d([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=d([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=d([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}})}},ln=class extends b{text(t,n){let r=d([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=d([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=d([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})}},un=class extends b{list(t,n){let r=d([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=d([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=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},pn=class extends b{dispose(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},dn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},gn=class extends b{raw(t,n){let r=d([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 b{get(t,n){let r=d([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=d([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=d([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=d([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 gn({client:this.client})}},fn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},yn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},hn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},bn=class extends b{remove(t,n){let r=d([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=d([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=d([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=d([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})}},xn=class extends b{status(t,n){let r=d([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=d([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=d([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=d([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 bn({client:this.client})}},Pn=class extends b{list(t,n){let r=d([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=d([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=d([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=d([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=d([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})}},_n=class extends b{shells(t,n){let r=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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})}},kn=class extends b{list(t,n){let r=d([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=d([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=d([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})}},wn=class extends b{list(t,n){let r=d([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=d([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=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Sn=class extends b{authorize(t,n){let r=d([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=d([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}})}},vn=class extends b{list(t,n){let r=d([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=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new Sn({client:this.client})}},Cn=class extends b{list(t,n){let r=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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})}},Rn=class extends b{delete(t,n){let r=d([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=d([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}})}},Tn=class extends b{list(t,n){let r=d([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}})}},In=class extends b{start(t,n){let r=d([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=d([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=d([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 Tn({client:this.client})}},An=class extends b{next(t,n){let r=d([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=d([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}})}},jn=class extends b{appendPrompt(t,n){let r=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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=d([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 An({client:this.client})}},En=class extends b{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},$n=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},qn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},Dn=class extends b{stage(t,n){let r=d([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=d([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=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},Mn=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=d([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}})}},Un=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=d([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=d([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})}},On=class extends b{list(t,n){let r=d([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=d([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=d([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=d([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=d([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=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=d([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 Dn({client:this.client})}_permission;get permission(){return this._permission??=new Mn({client:this.client})}_question;get question(){return this._question??=new Un({client:this.client})}},Ln=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Fn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Gn=class extends b{key(t,n){let r=d([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=d([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}})}},Bn=class extends b{cancel(t,n){let r=d([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=d([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=d([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}})}},Kn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=d([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 Gn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Bn({client:this.client})}},Nn=class extends b{remove(t,n){let r=d([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=d([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}})}},Hn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Wn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},zn=class extends b{_request;get request(){return this._request??=new Hn({client:this.client})}_saved;get saved(){return this._saved??=new Wn({client:this.client})}},Vn=class extends b{read(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=d([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=d([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},Jn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Xn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},Qn=class extends b{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Yn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=d([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=d([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=d([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=d([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=d([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=d([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})}},Zn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},er=class extends b{_request;get request(){return this._request??=new Zn({client:this.client})}},tr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},nr=class extends b{remove(t,n){let r=d([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=d([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=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},rr=class extends b{_health;get health(){return this._health??=new En({client:this.client})}_location;get location(){return this._location??=new $n({client:this.client})}_agent;get agent(){return this._agent??=new qn({client:this.client})}_session;get session(){return this._session??=new On({client:this.client})}_model;get model(){return this._model??=new Ln({client:this.client})}_provider;get provider(){return this._provider??=new Fn({client:this.client})}_integration;get integration(){return this._integration??=new Kn({client:this.client})}_credential;get credential(){return this._credential??=new Nn({client:this.client})}_permission;get permission(){return this._permission??=new zn({client:this.client})}_fs;get fs(){return this._fs??=new Vn({client:this.client})}_command;get command(){return this._command??=new Jn({client:this.client})}_skill;get skill(){return this._skill??=new Xn({client:this.client})}_event;get event(){return this._event??=new Qn({client:this.client})}_pty;get pty(){return this._pty??=new Yn({client:this.client})}_question;get question(){return this._question??=new er({client:this.client})}_reference;get reference(){return this._reference??=new tr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new nr({client:this.client})}},tt=class e extends b{static __registry=new Nt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Ht({client:this.client})}_app;get app(){return this._app??=new Wt({client:this.client})}_experimental;get experimental(){return this._experimental??=new tn({client:this.client})}_global;get global(){return this._global??=new rn({client:this.client})}_event;get event(){return this._event??=new sn({client:this.client})}_config;get config(){return this._config??=new on({client:this.client})}_tool;get tool(){return this._tool??=new an({client:this.client})}_worktree;get worktree(){return this._worktree??=new cn({client:this.client})}_find;get find(){return this._find??=new ln({client:this.client})}_file;get file(){return this._file??=new un({client:this.client})}_instance;get instance(){return this._instance??=new pn({client:this.client})}_path;get path(){return this._path??=new dn({client:this.client})}_vcs;get vcs(){return this._vcs??=new mn({client:this.client})}_command;get command(){return this._command??=new fn({client:this.client})}_lsp;get lsp(){return this._lsp??=new yn({client:this.client})}_formatter;get formatter(){return this._formatter??=new hn({client:this.client})}_mcp;get mcp(){return this._mcp??=new xn({client:this.client})}_project;get project(){return this._project??=new Pn({client:this.client})}_pty;get pty(){return this._pty??=new _n({client:this.client})}_question;get question(){return this._question??=new kn({client:this.client})}_permission;get permission(){return this._permission??=new wn({client:this.client})}_provider;get provider(){return this._provider??=new vn({client:this.client})}_session;get session(){return this._session??=new Cn({client:this.client})}_part;get part(){return this._part??=new Rn({client:this.client})}_sync;get sync(){return this._sync??=new In({client:this.client})}_tui;get tui(){return this._tui??=new jn({client:this.client})}_v2;get v2(){return this._v2??=new rr({client:this.client})}};function cs(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let c=e,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||as(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 ${as(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function as(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function cu(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function lu(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=cu(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,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=$e(e);return t.interceptors.request.use(n=>lu(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(cs),new tt({client:t})}var uu=new Set(["api","cli","mobile","web"]);function or(e){let t=e?.trim().toLowerCase();return t&&uu.has(t)?t:null}function pu(e){return new Promise(t=>setTimeout(t,e))}async function ls(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(c&&n?.(),s>0&&await pu(s)),u=await e(),u)return u;return u}var du=3e4;function gu(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function ir(e,t,n=du){let r=e instanceof Request?e.signal:t?.signal;if(gu(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 c=or(r);return c&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",c),s}function us(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function cr(){return E().getToken()}async function ce(e){return ls(()=>E().getToken(),e,nt)}function nt(){}function om(e){}function im(e){}async function xe(){return cr()}async function ps(e){return ce(e)}function ds(e,t,n,r){let s=E().fetch??fetch;if(e instanceof Request){let c=new Request(e,{headers:n,...r?{signal:r}:{}});return s(c)}return s(e,{...t,headers:n,...r?{signal:r}:{}})}async function q(e,t,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},c=await ps();if(!c)return us();let u=E().clientSource,p=ar(e,t,c,u),g=s===void 0?ir(e,t):ir(e,t,s),f=await ds(e,t,p,g);if(f.status===401&&r&&c){nt();let m=await ps({attempts:2,baseDelayMs:200});if(m&&m!==c){let x=ar(e,t,m,u);return ds(e,t,x,g)}}return f}var Pe={url:null,sandboxId:null,dbSandboxId:null,version:0},mu=new Set;function gs(e,t=null,n=null){if(!(Pe.url===e&&Pe.sandboxId===t&&Pe.dbSandboxId===n)){Pe={url:e,sandboxId:t,dbSandboxId:n,version:Pe.version+1};for(let r of mu)r()}}function ms(){return Pe.url}function fu(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function le(){return fu(E().backendUrl||"http://localhost:8008/v1")}function fs(){let e=E().sandboxId;return e?`${le()}/p/${e}/8000`:""}function yu(e){return`${le()}/p/${e}/8000`}function rt(e){return yu(e)}function F(){let e=ms();return e||(E().billingEnabled??!1?"":fs())}var A=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},qe=class extends A{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},_e=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)}},De=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function Me(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 _e(t,{message:r?.message||e.message||"Billing error",...r})}function hu(e){return e instanceof _e}function bu(e){if(!(e instanceof _e))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function lr(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function ur(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function ys(e){let t=ur(e),n=await q(`${t}/env`);if(!n.ok)throw new Error(await lr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function hs(e,t,n){let r=ur(e),s=await q(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await lr(s,"Failed to save secret"))}async function bs(e,t){let n=ur(e),r=await q(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await lr(r,"Failed to delete secret"))}var xu={list:ys,set:hs,delete:bs};async function Pu(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await q(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function ke(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 st(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Ue(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ke(e)}async function xs(e){let t=Ue(e),n=await q(`${t}/kortix/pty`);if(!n.ok)throw new Error(await st(n,"Failed to list terminals"));return n.json()}async function Ps(e,t){let n=Ue(e),r=await q(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await st(r,"Failed to create terminal"));return r.json()}async function _s(e,t,n){let r=Ue(e),s=await q(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await st(s,"Failed to update terminal"));return s.json()}async function ks(e,t){let n=Ue(e),r=await q(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await st(r,"Failed to remove terminal"))}async function ws(e,t){let n=Ue(t),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),ke(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await xe();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var _u={list:xs,create:Ps,update:_s,remove:ks,webSocketUrl:ws};async function w(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await q(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!c.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${c.status}`);return p}async function Rm(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 w(e,`/kortix/tasks${r}`)}async function Tm(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function Im(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function Am(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function jm(e,t){return w(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function Em(e,t,n){return w(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function $m(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function qm(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function Dm(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Mm(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return w(e,`/kortix/tickets${n}`)}async function Um(e,t){return w(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Om(e,t){return w(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Lm(e,t){return w(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Fm(e,t,n){return w(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Gm(e,t,n){return w(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Bm(e,t,n){return w(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Km(e,t,n){return w(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Nm(e,t,n){return w(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Hm(e,t){return w(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Wm(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function zm(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Vm(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Jm(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Xm(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Qm(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Ym(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Zm(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function ef(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function tf(e,t,n,r){return w(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function nf(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function rf(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function sf(e,t,n=200){return w(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function of(e){return w(e,"/kortix/projects")}async function af(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function cf(e,t){return w(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function lf(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function uf(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function pf(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function df(e,t,n="all"){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function gf(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function mf(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function ff(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function yf(e,t,n,r){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function hf(e,t,n,r){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function bf(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function xf(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Pf(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function _f(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function kf(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function wf(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function Sf(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var ku=1e4,wu={retryOnAuthError:!1};function we(e,t,n){return w(e,t,{signal:AbortSignal.timeout(ku),...n},wu)}async function vf(e,t=!1){return(await we(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function Cf(e){return(await we(e,"/kortix/services/templates")).templates??[]}async function Rf(e,t){return(await we(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function Tf(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return we(e,s,{method:r?"DELETE":"POST"})}async function If(e,t){return we(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function Af(e,t){return we(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var ot=new Map,pr=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function ue(){let e=F();if(!e)throw new pr;return te(e)}function te(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=ot.get(e);if(t)return t;if(!Lt())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:q});return ot.set(e,n),n}function Uf(e){ot.delete(e)}function Of(){ot.clear()}var it=new Map;function Lf(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=it.get(e);if(t)return t;let n=sr({baseUrl:e,fetch});return it.set(e,n),n}function Ff(e){it.delete(e)}function Gf(){it.clear()}async function Su(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 Bf(e){let t=F();if(!t)throw new A("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=e==="full"?"/kortix/refresh":"/global/dispose",r=await q(`${t}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",c=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new A(`System reload failed (${r.status}): ${await Su(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!c)throw new A(`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(g){throw new A(`System reload returned malformed JSON from ${n}: ${g instanceof Error?g.message:String(g)}`,{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 vs(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 A(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Se(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function at(e,t=F()){let n=await q(`${t}${e}`);if(!n.ok)throw new A(await Se(n),{status:n.status,response:n});return n.json()}var gr=["/workspace","/tmp","/home","/opt"],vu=gr.filter(e=>e!=="/workspace");function Cs(e){return gr.some(t=>e===t||e.startsWith(`${t}/`))}function Rs(e){return Cs(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function ve(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(vu.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Ts=ve;async function ct(e,t=F()){let n=ve(e)||".";return(await at(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function Le(e,t=F()){let n=ve(e),r=await q(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new A(await Se(r),{status:r.status,response:r});return r.json()}async function Cu(e,t,n=F()){let r=ve(e),s=await q(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new A(await Se(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new A("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function Fe(e,t=F()){try{return await Cu(e,void 0,t)}catch{}let n=await Le(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function lt(e=F()){return at("/file/status",e)}async function ut(e,t,n=F()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),at(`/find/file?${r.toString()}`,n)}async function pt(e,t=F()){return(await at(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var Oe=[400,1200],Ru=e=>e===408||e===429||e===502||e===503||e===504,Ss=e=>new Promise(t=>setTimeout(t,e));function Tu(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var dr=3e4,Iu=15*6e4,Au=256;function ju(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return dr;let t=dr+e/Au;return Math.min(Iu,Math.max(dr,Math.round(t)))}async function Eu(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 Is(e,t){let n;for(let s=0;s<=Oe.length;s++){let c;try{c=await t(e())}catch(p){if(n=p,Tu(p)||s===Oe.length)break;await Ss(Oe[s]);continue}if(c.ok)return c.json();let u=await Eu(c);if(n=new A(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!Ru(c.status)||s===Oe.length)throw n;await Ss(Oe[s])}if(n instanceof A)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new A(`Upload failed: ${r}`)}function Ge(e,t,n,r=F()){let s=ju(e.size);return Is(()=>{let c=new FormData,u=(t??"").trim();return u&&c.append("path",u.startsWith("/")?u:`/${u}`),n?c.append("file",e,n):c.append("file",e),c},c=>q(`${r}/file/upload`,{method:"POST",body:c},{timeoutMs:s}))}function $u(e,t,n=F()){return Is(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await xe();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function dt(e,t=F()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return Ge(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function gt(e,t,n=F()){return $u(t,await Fe(e,n),n)}async function mt(e,t=F()){let n=await q(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new A(`Delete failed (${n.status}): ${await Se(n)}`,{status:n.status,response:n});return n.json()}async function ft(e,t=F()){let n=await q(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new A(`Mkdir failed (${n.status}): ${await Se(n)}`,{status:n.status,response:n});return n.json()}async function yt(e,t,n=F()){let r=await q(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new A(`Rename failed (${r.status}): ${await Se(r)}`,{status:r.status,response:r});return r.json()}async function As(){return vs(await ue().project.current())}async function mr(){return vs(await ue().global.health())}async function js(){try{return(await mr()).healthy===!0}catch{return!1}}var qu={list:ct,read:Le,readBlob:Fe,status:lt,findFiles:ut,findText:pt,upload:Ge,create:dt,copy:gt,remove:mt,mkdir:ft,rename:yt,currentProject:As,health:mr,isReachable:js,toDaemonPath:ve,toSandboxAbsolutePath:Rs,toWorkspaceRelative:Ts};var ne=()=>E().backendUrl||"",Mu="feature_not_supported",Uu="model_not_servable",Ou="provision_in_flight",Lu=e=>new Promise(t=>setTimeout(t,e)),Fu=new Set([502,503,504]),Gu=e=>Fu.has(e),Bu=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Ku=2,Es=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),fr=!1;function ny(e){fr=e}function ry(){return fr}async function pe(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,p=null,g=!1,f=!1;try{p=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,f=!0,u.abort())},s);let m=await ce(),x=c.body instanceof FormData,_={};x||(_["Content-Type"]="application/json"),Object.assign(_,c.headers);let j=or(E().clientSource),$=Object.keys(_).some(C=>C.toLowerCase()==="x-kortix-client");if(j&&!$&&(_["X-Kortix-Client"]=j),fr&&(_["x-kortix-admin-bypass"]="1"),m)_.Authorization=`Bearer ${m}`;else return{error:new qe,success:!1};let l=Bu(c.method),h=l?Ku+1:1,a;for(let C=0;C<h;C++){C>0&&await Lu(250*2**(C-1));let k=C===0?u:new AbortController;C>0&&(p=setTimeout(()=>{f=!0,k.abort()},s));try{a=await(E().fetch??fetch)(e,{...c,headers:_,signal:k.signal,credentials:c.credentials??"omit"})}catch(S){if(p&&(clearTimeout(p),p=null),Es(S)||C===h-1)throw S;continue}if(p&&(clearTimeout(p),p=null),!(l&&Gu(a.status)&&C<h-1))break;try{await a.arrayBuffer()}catch{}}if(!a.ok){let C=`HTTP ${a.status}: ${a.statusText}`,k=null;try{k=await a.json(),typeof k.reason=="string"?C=k.reason:typeof k.message=="string"?C=k.message:k.error&&typeof k.error=="string"?C=k.error:typeof k.detail=="string"?C=k.detail:typeof k.detail?.message=="string"&&(C=k.detail.message)}catch{}let I=new A(C,{status:a.status,response:a,details:k||void 0,data:k,detail:k?.detail,code:k?.code||k?.error_code||k?.detail?.error_code||a.status.toString()});if(a.status===402&&(I=Me(I)),a.status===403&&k?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}a.status===431&&(I=new De(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 S=a.status===501&&k?.code===Mu,L=a.status===409&&k?.code===Uu,K=a.status===409&&k?.code===Ou;return n&&!S&&!L&&!K&&E().onError?.(I,r),{error:I,success:!1}}let R,T=a.headers.get("content-type");return T?.includes("application/json")?R=await a.json():T?.includes("text/")?R=await a.text():R=await a.blob(),{data:R,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let x=Es(m);x&&(g=!0);let _;if(x){if(!f)return{error:new A("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let j=e.replace(ne(),"")||e;_=new A(`Request timed out after ${Math.round(s/1e3)}s: ${j}`,{code:"TIMEOUT",url:e,endpoint:j,timeout:s}),n&&E().onError?.(_,r)}else m instanceof Error?(_=new A(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&E().onError?.(_,r)):(_=new A(String(m)),n&&E().onError?.(_,r));return{error:_,success:!1}}}var sy={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new A(r.message||"Database error",{code:r.code,details:r});return E().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new A(n.message,{name:n.name||"ApiError",stack:n.stack}):new A(String(n));return E().onError?.(r,t),{error:r,success:!1}}}},o={get:(e,t)=>pe(`${ne()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>pe(`${ne()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>pe(`${ne()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>pe(`${ne()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>pe(`${ne()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],pe(`${ne()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],pe(`${ne()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function i(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function yr(e){return e.replace(/\/v1\/?$/,"")}async function Ce(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=yr(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 $s(){return i(await o.get("/accounts"))}async function qs(e){return i(await o.post("/accounts",e))}async function Ds(e){return i(await o.get(`/accounts/${e}`))}async function Ms(e,t){return i(await o.patch(`/accounts/${e}`,{name:t}))}async function Us(e){return i(await o.get(`/accounts/${e}/members`))}async function Os(e,t){return i(await o.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Ls(e){return i(await o.get(`/accounts/${e}/invites`))}async function Fs(e,t){return i(await o.delete(`/accounts/${e}/invites/${t}`))}async function Gs(e,t){return i(await o.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function Bs(e){return i(await o.get(`/account-invites/${e}`,{showErrors:!1}))}async function Ks(e){return i(await o.post(`/account-invites/${e}/accept`,{}))}async function Ns(e){return i(await o.post(`/account-invites/${e}/decline`,{}))}async function Hs(e,t){return i(await o.delete(`/accounts/${e}/members/${t}`))}async function Ws(e,t,n){return i(await o.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function zs(e){return i(await o.post(`/accounts/${e}/leave`,{}))}async function ly(e){return Ce(e,"/v1/accounts")}async function Vs(){let e=await o.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function Re(){return i(await o.get("/projects"))}async function Js(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return i(await o.get(`/projects${t}`))}async function hr(e,t){return i(await o.get(`/projects/${e}`,t))}async function Xs(e,t,n="write"){return i(await o.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Qs(e,t){return i(await o.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function Ys(e){return i(await o.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function gy(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function br(e,t){let n=i(await o.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 xr(e,t){return i(await o.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function Pr(e,t){return i(await o.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function my(e,t){return i(await o.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function Zs(e){return i(await o.post("/projects",e))}async function eo(e){return i(await o.post("/projects/create-repo",e))}async function to(e,t={}){return i(await o.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function fy(){try{return i(await o.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function _r(e,t){return i(await o.patch(`/projects/${e}`,t))}async function no(e,t,n){return i(await o.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function ro(e,t){return i(await o.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function yy(e,t){return i(await o.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function hy(e,t){return i(await o.patch(`/projects/${e}/warm-pool`,t))}async function so(e,t){return i(await o.patch(`/projects/${e}/onboarding`,{completed:t}))}async function by(e,t){return i(await o.patch(`/projects/${e}/onboarding`,{profile:t}))}async function kr(e){return i(await o.delete(`/projects/${e}`))}async function xy(e,t){return Ce(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Py(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=yr(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 oo(e){return i(await o.post("/projects/link-repository",e,{showErrors:!1}))}async function io(e){return i(await o.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function ao(e){return i(await o.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function co(e){return i(await o.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function lo(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)),i(await o.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function uo(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return i(await o.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function po(e){return i(await o.post("/projects/github/installation",e,{showErrors:!1}))}async function go(e){return i(await o.post("/projects/github/installations/link",e,{showErrors:!1}))}async function mo(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),i(await o.delete(`/projects/github/installation?${n.toString()}`))}async function Ry(e,t){return i(await o.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function fo(e,t){return i(await o.get(`/projects/${e}/access-requests`,t))}async function yo(e,t,n="member"){return i(await o.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function ho(e,t){return i(await o.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function bo(e){return i(await o.get(`/projects/${e}/access`))}async function xo(e,t,n){return i(await o.put(`/projects/${e}/access/${t}`,{role:n}))}async function Po(e,t){return i(await o.delete(`/projects/${e}/access/${t}`))}function Ty(e){return"status"in e&&e.status==="invited"}async function _o(e,t,n,r){return i(await o.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function ko(e){return i(await o.get(`/projects/${e}/access/pending-invites`))}async function wo(e,t){return i(await o.delete(`/projects/${e}/access/pending-invites/${t}`))}async function So(e,t){return i(await o.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function vo(e){return i(await o.get(`/projects/${e}/group-grants`))}async function Co(e,t,n,r){return i(await o.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function Ro(e,t,n,r){return i(await o.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function To(e,t){return i(await o.delete(`/projects/${e}/group-grants/${t}`))}async function Io(e){return i(await o.get(`/projects/${e}/resource-grants`))}async function Ao(e,t){return i(await o.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function jo(e,t){return i(await o.delete(`/projects/${e}/resource-grants/${t}`))}async function Eo(e,t){return i(await o.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function $o(e,t){return i(await o.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function qo(e,t,n){return i(await o.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Do(e){return i(await o.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Mo(e,t){return i(await o.post(`/projects/${e}/secrets`,t))}async function Uo(e,t,n,r={}){return i(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function Oo(e,t,n){return i(await o.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function Lo(e,t,n){return i(await o.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function Fo(e,t,n){return i(await o.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Go(e,t){return i(await o.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}async function Bo(e,t){return i(await o.put(`/projects/${e}/git-credential`,t))}async function Ko(e,t){return i(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function No(e,t,n){return i(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function Ho(e,t){return i(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}function wr(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function Sr(e){return i(await o.get(wr(e,"catalog"))).connectors??[]}async function ht(e){let t=[];for(let n of await Sr(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 Wo(e,t="",n={}){let r=t.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),c=[],u=[];for(let p of await ht(e)){let g=`${p.tool} ${p.description}`.toLowerCase();!r||g.includes(r)?c.push(p):s.every(f=>g.includes(f))&&u.push(p)}return[...c,...u].slice(0,n.limit??20)}async function zo(e,t){return(await ht(e)).find(n=>n.tool===t)??null}function Nu(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 Vo(e,t,n={}){let{connector:r,action:s}=Nu(t);return i(await o.post(wr(e,"call"),{connector:r,action:s,args:n}))}function Hu(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}`}async function Jo(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 c={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(c["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let u=E().backendUrl.replace(/\/+$/,""),p=wr(e,"attachments"),g=await q(`${u}${p}`,{method:"POST",headers:c,body:t},{timeoutMs:6e4}),f=await g.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!g.ok)throw new A(Hu(m,g.status),{status:g.status,code:String(m&&typeof m=="object"?m.code??g.status:g.status),details:m,response:g,endpoint:p});return m}async function Xo(e){return i(await o.get(`/projects/${e}/connections`))}async function Qo(e){return i(await o.get(`/projects/${e}/connections/all`))}async function Yo(e,t){return i(await o.post(`/projects/${e}/connections`,t))}async function Zo(e,t){return i(await o.post(`/projects/${e}/connections/me`,t))}async function ei(e,t,n){return i(await o.put(`/projects/${e}/connections/${t}/credential`,n))}function de(e,t,n){return`/projects/${e}/connections/${t}/oauth2/${n}`}async function Oy(e,t){return i(await o.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function Ly(e,t,n){return i(await o.put(de(e,t,"application"),n))}async function Fy(e,t){return i(await o.get(de(e,t,"application")))}async function Gy(e,t,n){return i(await o.post(de(e,t,"discover"),n))}async function By(e,t,n){return i(await o.post(de(e,t,"authorize"),n))}async function Ky(e,t,n){return i(await o.post(de(e,t,"device"),n))}async function Ny(e,t,n){return i(await o.post(de(e,t,`device/${encodeURIComponent(n)}`),{}))}async function Hy(e,t){return i(await o.get(de(e,t,"status")))}async function ti(e,t){return i(await o.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function ni(e,t){return i(await o.put(`/projects/${e}/connections/${t}/activate`,{}))}async function ri(e,t){return i(await o.put(`/projects/${e}/connections/${t}/default`,{}))}async function si(e,t,n={}){return i(await o.post(`/projects/${e}/connections/${t}/connect`,n))}async function oi(e,t){return i(await o.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function ii(e){return i(await o.get(`/connectors/projects/${e}/connectors`,{showErrors:!1}))}async function ai(e){return i(await o.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function ci(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function li(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function ui(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function pi(e,t){return i(await o.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function di(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function Wy(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function zy(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function gi(e,t){return i(await o.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function mi(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function fi(e,t){return i(await o.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function yi(e,t){return i(await o.post(`/connectors/projects/${e}/connectors`,t))}async function hi(e,t){return i(await o.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function bi(e,t){return i(await o.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function xi(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return i(await o.get(`/connectors/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function vr(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return i(await o.get(`/connectors/projects/${e}/discover/connectors${s?`?${s}`:""}`))}async function Cr(e,t){let n=new URLSearchParams({id:t});return i(await o.get(`/connectors/projects/${e}/discover/connectors/detail?${n.toString()}`))}var Vy=vr,Jy=Cr;async function Pi(){return i(await o.get("/connectors/connect-status"))}async function _i(e,t,n){let r=typeof n=="string"?{value:n}:n;return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function Xy(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function ki(e,t){return i(await o.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function wi(e){return i(await o.get(`/connectors/projects/${e}/policies`))}async function Si(e,t,n){return i(await o.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function vi(e){return i(await o.get(`/projects/${e}/sandboxes`))}async function Ci(e){return i(await o.get(`/projects/${e}/snapshots`))}async function Rr(e){return i(await o.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Ri(e,t){return i(await o.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Ti(e){return i(await o.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Ii(e,t){return i(await o.post(`/projects/${e}/sandbox-templates`,t))}async function Ai(e,t,n){return i(await o.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function ji(e,t){return i(await o.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Ei(e,t){return i(await o.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function $i(e){return i(await o.get(`/projects/${e}/sandboxes`))}async function qi(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 i(await o.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Di(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)),i(await o.get(`/projects/${e}/files/search?${r.toString()}`))}async function Mi(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),i(await o.get(`/projects/${e}/files/content?${r.toString()}`,{showErrors:!1}))}async function Ui(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",c=await ce(),u=`${E().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!p.ok){let g=await p.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function Oi(e){return i(await o.get(`/projects/${e}/branches`))}async function Li(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 i(await o.get(`/projects/${e}/commits${r}`))}async function Fi(e,t){return i(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Gi(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return i(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Bi(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)),i(await o.get(`/projects/${e}/files/history?${r.toString()}`))}async function Ki(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return i(await o.get(`/projects/${e}/version-diff?${n.toString()}`))}async function Ni(e,t){let n=t?`?status=${t}`:"";return i(await o.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Hi(e,t){return i(await o.get(`/projects/${e}/change-requests/${t}`))}async function Wi(e,t){return i(await o.get(`/projects/${e}/change-requests/${t}/diff`))}async function zi(e,t){return i(await o.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Vi(e,t){return i(await o.post(`/projects/${e}/change-requests`,t))}async function Ji(e,t,n){return i(await o.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function Xi(e,t){return i(await o.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function Qi(e,t){return i(await o.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function Yi(e,t,n){return i(await o.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function Zi(e,t,n){return i(await o.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var Tr=new Set;function bt(e){e&&Tr.add(e)}function ea(e){return!!e&&Tr.has(e)}function fh(e){e&&Tr.delete(e)}async function Be(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope);let r=n.size>0?`?${n}`:"";return i(await o.get(`/projects/${e}/sessions${r}`))}async function ta(e,t,n){return i(await o.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function na(e,t){return i(await o.get(`/projects/${e}/sessions/${t}/previews`))}async function ra(e,t){return i(await o.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function sa(e,t,n){return i(await o.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function oa(e,t,n){return i(await o.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function Ke(e,t){let n=i(await o.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||bt(n?.session_id),n}async function ia(e){let t=i(await o.post(`/projects/${e}/sessions/warm`,{}));return bt(t.session.session_id),t}async function aa(e,t){let n=i(await o.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return bt(n.session_id),n}async function Ir(e,t,n){return i(await o.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function ca(e,t,n,r){let s=n?`?limit=${n}`:"";return i(await o.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function la(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 i(await o.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function ua(e,t,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return i(await o.get(`/projects/${e}/sessions/${t}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function pa(e,t,n){return i(await o.patch(`/projects/${e}/sessions/${t}`,n))}async function da(e,t){return i(await o.delete(`/projects/${e}/sessions/${t}`))}async function xt(e,t){return i(await o.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function Pt(e,t){return i(await o.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function ga(e,t){return i(await o.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}async function ma(e,t,n={}){return i(await o.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function fa(e,t){return i(await o.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function ya(e,t,n){return i(await o.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function ha(e,t,n){return i(await o.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function ba(e){return i(await o.get(`/projects/${e}/triggers`))}async function xa(e,t){return i(await o.post(`/projects/${e}/triggers`,t))}async function Pa(e,t,n){return i(await o.patch(`/projects/${e}/triggers/${t}`,n))}async function _a(e,t){return i(await o.delete(`/projects/${e}/triggers/${t}`))}async function ka(e,t){return i(await o.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function wa(e,t){return i(await o.post(`/projects/${e}/triggers/${t}/fire`,{}))}var re=new Map;function Ar(e,t){return`${e}::${t}`}function Sa(e,t){re.delete(e),re.set(e,t)}function va(e,t){let n=Ar(e,t),r=re.get(n);return r&&Sa(n,r),r}function Ca(e,t,n){let r=Ar(e,t);if(!re.has(r)&&re.size>=512){let s=re.keys().next().value;s!==void 0&&re.delete(s)}Sa(r,n)}function Ra(e,t){re.delete(Ar(e,t))}function Ih(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 jr=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 Ah(e){return e instanceof Error&&e.name==="SessionStartError"}function Wu(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 jr(s,{status:n,code:r,terminal:!0}):null}async function Te(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await o.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=Wu(s.error);if(p&&!(p.status===404&&ea(t)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&Ca(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:rt(u),sandboxId:u}),c}function jh(e,t){return["session-start",e,t]}async function Ta(e){return i(await o.get(`/projects/${e}/model-defaults`))}async function Ia(e,t){return i(await o.put(`/projects/${e}/model-defaults`,t))}async function Aa(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return i(await o.delete(`/projects/${e}/model-defaults?${n}`))}async function Oh(e,t){return i(await o.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function Ea(e,t,n){let r=Vu(n);return i(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function ja(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function zu(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Vu(e){let t=e.connectors_required?ja(e.connectors_required):void 0,n=e.connectors_personal?ja(e.connectors_personal):void 0;if(t&&n&&!zu(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 Hh(e,t){let n=i(await o.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?Er(n.block):null}}async function Wh(e,t,n){let r=Er(n),s=i(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?Er(s.block):null}}function $a(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Ju(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Er(e){let t=e.connectors_required?$a(e.connectors_required):void 0,n=e.connectors_personal?$a(e.connectors_personal):void 0;if(t&&n&&!Ju(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 qa(e,t){return i(await o.put(`/projects/${e}/default-agent`,{agent:t}))}function Da(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function Ma(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Da():s.data}async function Ua(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Da():s.data}async function Oa(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 i(await o.get(`/billing/transactions${n?`?${n}`:""}`))}async function La(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 i(await o.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Fa(){return i(await o.get("/billing/credit-breakdown"))}async function Ga(e){let t=e!=null?`?days=${e}`:"";return i(await o.get(`/billing/usage-history${t}`))}async function Ba(){return i(await o.get("/billing/tier-configurations"))}async function Xh(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Ce(e,`/v1/billing/account-state${t}`)}async function Ka(e){return i(await o.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function Na(e,t){return i(await o.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Ha(e,t){return i(await o.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Wa(e,t){return i(await o.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function za(e){return i(await o.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function Va(e,t,n){return i(await o.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function Ja(e){return i(await o.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function Xa(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),i(await o.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Qa(e){return i(await o.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function Ya(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return i(await o.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function Za(e){return i(await o.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function Qh(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return i(await o.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Yh(e){return i(await o.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 Zh(e){return i(await o.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function eb(e){return i(await o.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function ec(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 i(await o.get(`/usage${n?`?${n}`:""}`))}function $r(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function _t(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function kt(e){return e.size>0?`?${e}`:""}async function nc(e={}){let t=new URLSearchParams;return $r(t,e),e.ownerId&&t.set("owner_id",e.ownerId),_t(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)),i(await o.get(`/usage/session-costs${kt(t)}`))}async function qr(e,t={}){let n=new URLSearchParams;return $r(n,t),i(await o.get(`/usage/session-costs/${encodeURIComponent(e)}${kt(n)}`))}async function ib(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),_t(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)),i(await o.get(`/usage/cost-by-project${kt(t)}`))}async function ab(e={}){let t=new URLSearchParams;return $r(t,e),e.sessionId&&t.set("session_id",e.sessionId),_t(t,e),i(await o.get(`/usage/cost-summary${kt(t)}`))}function tc(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)}_t(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`${E().backendUrl||""}${r}?${n}`}async function cb(e,t={}){let n=tc(e==="projects"?"projects":"sessions",t),r=await ce(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let g=await s.text().catch(()=>"");throw new Error(g||`Failed to export CSV (HTTP ${s.status})`)}let c=s.headers.get("x-kortix-row-cap"),u=c!=null?Number(c):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function rc(e,t){return i(await o.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function db(e){return rc("slack",e)}function gb(e){return rc("teams",e)}async function sc(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function oc(e,t){return i(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Xu={oauth_available:!1,install_url:null};async function ic(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Xu:t.data}async function ac(e){return i(await o.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function cc(e){let t=await o.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function lc(e,t){return i(await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function uc(e,t){return i(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Dr(e){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 Qu={provider:"agentmail",managed_available:!1};async function pc(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Dr(r.data):null}async function dc(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Qu:t.data}async function gc(e,t){let n=i(await o.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Dr(n)}async function mc(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function fc(e,t,n){let r=i(await o.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Dr(r)}async function yc(e,t){return i(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function mb(e){return i(await o.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function fb(e,t,n){return i(await o.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function hc(e){return i(await o.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function bc(e,t){return i(await o.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function xc(e){return i(await o.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Pc(e,t){return i(await o.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function _c(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 i(await o.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function kc(e,t){return i(await o.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function wc(e,t){return i(await o.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Sc(e,t){return i(await o.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function vc(e,t){return i(await o.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Cc(e,t){return i(await o.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Rc(e,t){return i(await o.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Tc(e){return i(await o.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Ic(e,t){return i(await o.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Ac(e,t){return i(await o.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function jc(e){return i(await o.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Ec(e,t){return i(await o.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function $c(e,t){return i(await o.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function qc(e,t,n,r,s){return i(await o.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function xb(e,t){return i(await o.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Dc(e){let t=new FormData;t.append("audio_file",e);let n=await o.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function vb(){return i(await o.get("/referrals/code"),"GET_CODE_FAILED")}async function Cb(){return i(await o.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function Rb(e){return i(await o.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function Tb(){return i(await o.get("/referrals/stats"),"GET_STATS_FAILED")}async function Ib(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return i(await o.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function Ab(e){return i(await o.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function P(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function O(e){return o.get(e,{showErrors:!1})}async function $b(e){return P(await O(`/accounts/${e}/iam/groups`)).groups}async function qb(e,t){return P(await O(`/accounts/${e}/iam/groups/${t}`))}async function Db(e,t){return P(await o.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function Mb(e,t,n){return P(await o.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function Ub(e,t){return P(await o.delete(`/accounts/${e}/iam/groups/${t}`))}async function Ob(e,t){return P(await O(`/accounts/${e}/iam/groups/${t}/members`)).members}async function Lb(e,t,n){return P(await o.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function Fb(e,t){return P(await O(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function Gb(e,t,n){return P(await o.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function Bb(e,t){return P(await O(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function Kb(e,t){return P(await O(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function Nb(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 P(await O(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function Hb(e,t){return P(await o.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Wb(e,t,n){return P(await o.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function zb(e,t){return P(await o.delete(`/accounts/${e}/iam/policies/${t}`))}async function Vb(e,t){return P(await o.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function Jb(e,t){return P(await o.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function Xb(e){return P(await O(`/accounts/${e}/iam/roles`)).roles}async function Qb(e){return P(await O(`/accounts/${e}/iam/agent-identities`)).agents}async function Yb(e,t){return P(await O(`/accounts/${e}/iam/roles/${t}/permissions`))}async function Zb(e){return P(await O(`/accounts/${e}/iam/actions`)).actions}async function ex(e,t){return P(await O(`/accounts/${e}/iam/roles/${t}/usage`))}async function tx(e,t){return P(await o.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function nx(e,t,n){return P(await o.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function rx(e,t,n){return P(await o.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function sx(e,t){return P(await o.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function ox(e,t,n){return P(await o.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function ix(e){return P(await O(`/accounts/${e}/iam/scim/tokens`)).tokens}async function ax(e,t){return P(await o.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function cx(e,t){return P(await o.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function lx(e){return P(await O(`/accounts/${e}/iam/mfa-required`))}async function ux(e){return P(await O(`/accounts/${e}/iam/mfa-required/preview`))}async function px(e,t){return P(await o.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function dx(e){return P(await O(`/accounts/${e}/iam/sso/provider`)).provider}async function gx(e,t){return P(await o.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function mx(e,t){return P(await o.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function fx(e){return P(await o.delete(`/accounts/${e}/iam/sso/provider`))}async function yx(e){return P(await O(`/accounts/${e}/iam/sso/mappings`)).mappings}async function hx(e,t){return P(await o.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function bx(e,t){return P(await o.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function xx(e){return P(await O(`/accounts/${e}/iam/session-policy`))}async function Px(e,t){return P(await o.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function _x(e){return P(await O(`/accounts/${e}/iam/sessions`)).sessions}async function kx(e,t){return P(await o.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function wx(e){return P(await O(`/accounts/${e}/iam/pat-policy`))}async function Sx(e,t){return P(await o.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function vx(e){return P(await O(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function Cx(e,t){return P(await o.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Rx(e,t){return P(await o.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Tx(e,t){return P(await o.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Ix(e){return P(await O(`/accounts/${e}/audit/webhooks`)).webhooks}async function Ax(e,t){return P(await o.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function jx(e,t,n){return P(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Ex(e,t){return P(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function $x(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.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 P(await O(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function qx(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),P(await O(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function Dx(e,t,n){return n.length===0?[]:P(await o.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function Mx(e){return P(await O(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function Ux(e,t){return P(await o.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function Gx(){let e=await o.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:i(e,"Failed to load account deletion status")}async function Bx(e="User requested deletion"){return i(await o.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function Kx(){return i(await o.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function Nx(){return i(await o.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function Hx(){return(await o.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Jx(){return o.get("/admin/api/provider-distribution").then(e=>i(e))}function Xx(e=300){return o.get(`/admin/api/sandboxes?limit=${e}`).then(t=>i(t))}function Qx(e){return o.put("/admin/api/provider-distribution",e).then(t=>i(t))}function Yx(e){return o.get(`/admin/api/provider-analytics?days=${e}`).then(t=>i(t))}function Zx(e,t){return o.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>i(n))}function eP(){return o.get("/admin/api/provider-fallback").then(e=>i(e))}function tP(e){return o.put("/admin/api/provider-fallback",{enabled:e}).then(t=>i(t))}async function oP(e){return i(await o.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function iP(e,t){return i(await o.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:e,sandbox_url:t},{timeout:18e4}),"Failed to upload to Google Slides")}async function Mc(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 i(await o.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Uc(e,t){return i(await o.get(`/projects/${e}/review/items/${t}`))}async function Oc(e,t){return i(await o.post(`/projects/${e}/review/items`,t))}async function Lc(e,t,n){return i(await o.post(`/projects/${e}/review/items/${t}/act`,n))}async function Fc(e,t){return i(await o.post(`/projects/${e}/review/bulk`,t))}async function Gc(e){return i(await o.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Bc(e){return i(await o.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function Kc(e,t){let n=await o.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Mr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Nc(e,t=""){return`${le()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Hc(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 Mr(s,t.status)}return r}async function fP(e){return Hc(Nc(e))}async function yP(e){return Hc(Nc(e,"/messages"))}var Ur=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function Wc(e){return`${le()}/public/voice-join/${encodeURIComponent(e)}`}async function zc(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 Ur(s,t.status)}return r}async function xP(e){return zc(Wc(e))}async function PP(e,t=0){let n=`${Wc(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return zc(n)}async function Vc(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return i(await o.get(`/accounts/tokens${t}`))}async function Jc(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return i(await o.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Xc(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return i(await o.delete(`/accounts/tokens/${e}${n}`))}async function Qc(e){return i(await o.get(`/projects/${e}/cli-token`))}async function Yc(e,t){return i(await o.post(`/projects/${e}/cli-token`,t??{}))}async function Zc(e,t){return i(await o.delete(`/projects/${e}/cli-token/${t}`))}async function el(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?.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 i(await o.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function tl(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?.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);let r=n.toString();return i(await o.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function nl(e){return i(await o.get(`/accounts/${e}/audit/webhooks`))}async function rl(e,t){return i(await o.post(`/accounts/${e}/audit/webhooks`,t))}async function sl(e,t,n){return i(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function ol(e,t){return i(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function il(e,t){return i(await o.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function al(e,t){return i(await o.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function AP(e){return i(await o.get(`/approval-links/${e}`),"Failed to load approval")}async function cl(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 i(await o.get(`/marketplace/items${n}`))}async function ll(){return i(await o.get("/marketplace/marketplaces"))}async function ul(){return i(await o.get("/marketplace/marketplaces/featured"))}async function pl(e){return i(await o.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function dl(e,t){return i(await o.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function gl(){return i(await o.get("/marketplace/sources"))}async function ml(e){return i(await o.post("/marketplace/sources",e),"Failed to add marketplace source")}async function fl(e){return i(await o.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function qP(e,t){return i(await o.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function OP(e){return i(await o.get(`/templates/${encodeURIComponent(e)}`))}async function LP(e,t){return i(await o.post(`/templates/${encodeURIComponent(e)}/install`,t))}function KP(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 yl(e,t){let n=(e===void 0?F():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await q(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var se={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var hl=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,bl=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,xl=new Set([22,4096,parseInt(se.KORTIX_MASTER,10)]);function Yu(e){return bl.test(e)}function wt(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 Zu(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var ep=new Set(["'",'"',"`","<","(","["]),tp=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function np(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&&ep.has(e[t]);)t++;for(;n>t&&tp.has(e[n-1]);)n--;return e.slice(t,n)}function rp(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var sp=/^\/proxy\/(\d{1,5})(\/.*)?$/,op=/^\/(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 ip(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:op.test(t.pathname)}catch{return!1}}function St(e){if(!e)return null;let t=np(Zu(e.trim())),n=kl(t);if(n){let r=wt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(se.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(sp);if(g){let f=parseInt(g[1],10);if(f>=1&&f<=65535)return s=f,c=wt(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let p=wt(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=rp(e);return r&&r!==e?St(r):null}}function ap(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let c=r.index,u=c+r[0].length;t.some(([g,f])=>c>=g&&u<=f)||t.push([c,u])}return t}function cp(e,t){return t.some(([n,r])=>e>=n&&e<r)}function lp(e){let t=[],n=new Set,r=ap(e);hl.lastIndex=0;let s;for(;(s=hl.exec(e))!==null;){let c=St(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||xl.has(p)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:p,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:cp(s.index,r)}))}return t}function zP(e){return lp(e).length>0}function up(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function pp(e){return e.sandboxId.trim().length>0}function ge(e,t,n){let r=wt(t);if(!pp(n))return fp(e,r);if(!up(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${e}${r}`}return`http://p${e}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function VP(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return ge(3211,`/open?path=/workspace/${r}`,t)}function dp(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function JP(e){return`http://localhost:3211${dp(e)}`}function gp(){return"/health"}function XP(e){return ge(3211,gp(),e)}function QP(e,t){return ge(e,"/",t)}function mp(e){let t=St(e);return!(!t||xl.has(t.port)||ip(e))}function Pl(e,t){if(!e)return e;let n=St(e);return n?mp(n.originalUrl)?ge(n.port,n.path,t):n.originalUrl:e}function fp(e,t="/"){return`http://localhost:${e}${t}`}var _l=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function kl(e){let t=e.match(bl);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(_l);if(n)try{let r=new URL(e);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function YP(e){try{let t=kl(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function ZP(e){return Yu(e)||_l.test(e)}function e_(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var Ne="/web-proxy/";function t_(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Ne}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(se.KORTIX_MASTER,10);return`${ge(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function n_(e){try{let t=new URL(e),n=t.pathname.indexOf(Ne);if(n===-1)return null;let s=t.pathname.slice(n+Ne.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],p=s[3]||"/";return`${c}://${u}${p}${t.search}${t.hash}`}catch{return null}}function r_(e){try{return new URL(e).pathname.includes(Ne)}catch{return e.includes(Ne)}}function s_(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 o_(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 wl="frontend";function vt(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${wl}] ${t}`,...n?[n]:[]);try{ue().app.log({service:wl,level:e,message:t,extra:n})}catch{}}var oe={debug:(e,t)=>vt("debug",e,t),info:(e,t)=>vt("info",e,t),warn:(e,t)=>vt("warn",e,t),error:(e,t)=>vt("error",e,t)};function yp(e){return{type:"heartbeat-gap",gapMs:e}}function hp(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 bp={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},xp=16,Pp=8,_p=6e4,kp=5e3,wp=250,Sp=1e3,vp=3e4,Cp=5,Rp=3e3,Tp=3e4,Ip=2e4,Ap=2e3,jp=8;function Ep(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Sl(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function Or(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??bp,p=e.connectTimeoutMs??Ip,g=e.heartbeatTimeoutMs??_p,f=e.maxConsecutiveHardFailures??jp,m=new AbortController,x=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",x,{once:!0}));let _=u.now(),j=[],$,l=0,h=new Map,a=()=>{if($&&u.clearTimeout($),$=void 0,j.length===0)return;let T=j;j=[],h.clear(),l=u.now(),_=u.now();for(let C of T)if(C)try{n(C.event)}catch(k){console.warn("[opencode-events] event handler threw, skipping",k)}},R=()=>{if($)return;let T=u.now()-l;$=u.setTimeout(a,Math.max(0,xp-T))};return(async()=>{let T=0,C=0;for(;!m.signal.aborted;){let k=!1,I=!1,S,L,K=null,y=u.now(),v=new AbortController,M=Sl(m.signal);M.promise.then(()=>v.abort());try{let D=await new Promise((Dt,Ae)=>{let X=!1;L=u.setTimeout(()=>{X||(X=!0,oe.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),v.abort(),Ae(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:v.signal,sseDefaultRetryDelay:Rp,sseMaxRetryDelay:Tp,sseMaxRetryAttempts:1}).then(Y=>{X||(X=!0,u.clearTimeout(L),Dt(Y))},Y=>{X||(X=!0,u.clearTimeout(L),Ae(Y))})}),{stream:U}=D;_=u.now();let H=()=>{u.clearTimeout(S),S=u.setTimeout(()=>{oe.warn("SSE heartbeat timeout, forcing reconnect"),v.abort()},g)};H();let he=u.now(),Vl=U[Symbol.asyncIterator]();for(;!v.signal.aborted;){let Dt=Vl.next().then(ee=>({kind:"next",result:ee}),ee=>({kind:"error",error:ee})),Ae=Sl(v.signal),X=await Promise.race([Dt,Ae.promise.then(()=>({kind:"aborted"}))]);if(Ae.cleanup(),X.kind==="aborted")break;if(X.kind==="error")throw X.error;if(X.result.done)break;k=!0,H();let Y=X.result.value,Xe=Y&&typeof Y=="object"&&"payload"in Y?Y.payload:Y;if(!Xe?.type)continue;let Mt=Ep(Xe);if(Mt){let ee=h.get(Mt);ee!==void 0&&(j[ee]=void 0),h.set(Mt,j.length)}j.push({type:Xe.type,event:Xe}),R(),!(u.now()-he<Pp)&&(he=u.now(),await new Promise(ee=>u.setTimeout(ee,0)))}I=k}catch(D){if(m.signal.aborted)break;K=D;let U=String(D),H=U.includes("401")||U.includes("403")||U.includes("Unauthorized")||U.includes("Token refresh failed");if(oe.error("SSE event stream error",{error:U,retryCount:T,isAuthError:H}),H)try{nt(),await cr(),oe.info("SSE: refreshed auth token after auth error")}catch(he){oe.error("SSE: failed to refresh auth token",{error:String(he)})}}finally{u.clearTimeout(S),u.clearTimeout(L),v.abort(),M.cleanup(),a()}if(m.signal.aborted)break;let z=u.now()-y,V=K?.cause?.status;if(C=!k&&(typeof V=="number"&&V>=400||z<Ap)?C+1:0,C>=f){oe.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:C,lastError:String(K)});try{s?.({consecutiveFailures:C,lastError:K})}catch(D){console.warn("[opencode-events] onParked handler threw",D)}break}let Q=u.now()-_;Q>kp&&r?.(Q),I?T=0:(T++,T>1&&oe.warn("SSE event stream reconnecting",{retryCount:T}));let N=I?wp:Math.min(Sp*2**Math.min(T-1,Cp),vp);await new Promise(D=>{let U=u.setTimeout(D,N),H=()=>{u.clearTimeout(U),D()};m.signal.addEventListener("abort",H,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",x),$&&u.clearTimeout($)}}}function $p(){return ue()}var Ct=new Map,Rt=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 qp(e,t){Ot(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 A(`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 h=E().backendUrl??e.backendUrl,a=80,R=n(h);return R&&(a=R.port?Number(R.port):R.protocol==="https:"?443:80),{sandboxId:l,backendPort:a,apiBaseUrl:h}}let s={list:$s,get:Ds,create:qs,updateName:Ms,leave:zs,members:Us,invite:Os,removeMember:Hs,updateMemberRole:Ws,invites:Ls,cancelInvite:Fs,resendInvite:Gs,tokens:{list:Vc,create:Jc,revoke:Xc},audit:{log:el,export:tl,webhooks:{list:nl,create:rl,update:sl,remove:ol}}},c={accountState:Ma,accountStateMinimal:Ua,transactions:Oa,transactionsSummary:La,creditBreakdown:Fa,usageHistory:Ga,usageRollup:ec,sessionCosts:{list:nc,get:qr},tierConfigurations:Ba,checkout:{createSession:l=>Ka(l),confirmSession:(l,h)=>Na(l,h)},subscription:{createPortalSession:(l,h)=>Ha(l,h),cancel:(l,h)=>Wa(l,h),reactivate:l=>za(l),scheduleDowngrade:(l,h,a)=>Va(l,h,a),cancelScheduledChange:l=>Ja(l),prorationPreview:(l,h)=>Xa(l,h)},credits:{purchase:l=>Qa(l),autoTopupSettings:l=>Ya(l),configureAutoTopup:l=>Za(l)}},u={describe:Bs,accept:Ks,decline:Ns},p={list:Re,listForAccount:Js,get:hr,detail:br,create:Zs,createRepo:eo,provision:to,update:_r,archive:kr,llmCatalog:xr,modelPicker:Pr,sandboxHealth:Rr,sandboxTemplates:vi,sessions:Be,createSession:Ke},g={linkRepository:oo,getInstallation:io,listInstallations:ao,listLinkableInstallations:co,listRepositories:lo,listRepositoryBranches:uo,linkInstallation:go,saveInstallation:po,deleteInstallation:mo},f={list:Gc,create:Bc,revoke:Kc},m=Pi,x={items:l=>cl(l),item:l=>pl(l),itemFile:(l,h)=>dl(l,h),marketplaces:()=>ll(),featured:()=>ul(),sources:{list:()=>gl(),add:l=>ml(l),remove:l=>fl(l)}};function _(l){return{catalog:()=>Sr(l),tools:()=>ht(l),search:(...h)=>Wo(l,...h),describe:(...h)=>zo(l,...h),call:(...h)=>Vo(l,...h),uploadAttachment:(...h)=>Jo(l,...h)}}function j(l){let h={list:()=>Xo(l),listAll:()=>Qo(l),reconcile:(...a)=>Yo(l,...a),reconcileMember:(...a)=>Zo(l,...a),updateCredential:(...a)=>ei(l,...a),revoke:(...a)=>ti(l,...a),activate:(...a)=>ni(l,...a),setDefault:(...a)=>ri(l,...a),pipedreamConnect:(...a)=>si(l,...a),pipedreamFinalize:(...a)=>oi(l,...a)};return{get:a=>hr(l,a),detail:()=>br(l),update:a=>_r(l,a),archive:()=>kr(l),llmCatalog:()=>xr(l),modelPicker:()=>Pr(l),sandboxHealth:()=>Rr(l),onboardingComplete:(...a)=>so(l,...a),tokens:{list:()=>Qc(l),create:a=>Yc(l,a),revoke:a=>Zc(l,a)},setupLinks:{requestSecret:a=>il(l,a),requestConnector:a=>al(l,a)},validateManifest:a=>Qs(l,a),gitToken:()=>Ys(l),secrets:{list:()=>Do(l),upsert:a=>Mo(l,a),setStrategy:(...a)=>Uo(l,...a),broker:(...a)=>Oo(l,...a),remove:a=>Ko(l,a),setPersonal:(...a)=>No(l,...a),removePersonal:a=>Ho(l,a),setGitCredential:a=>Bo(l,a),startProviderOAuth:(...a)=>Lo(l,...a),pollProviderOAuth:(...a)=>Fo(l,...a),removeProviderOAuth:a=>Go(l,a)},access:{list:()=>bo(l),invite:(...a)=>_o(l,...a),update:(...a)=>xo(l,...a),revoke:a=>Po(l,a),pendingInvites:()=>ko(l),resendInvite:(...a)=>So(l,...a),revokeInvite:(...a)=>wo(l,...a),requests:()=>fo(l),approveRequest:(...a)=>yo(l,...a),rejectRequest:(...a)=>ho(l,...a),groupGrants:()=>vo(l),attachGroupGrant:(...a)=>Co(l,...a),updateGroupGrant:(...a)=>Ro(l,...a),detachGroupGrant:a=>To(l,a),resourceGrants:{list:()=>Io(l),create:a=>Ao(l,a),remove:a=>jo(l,a)}},connectors:{..._(l),list:()=>ii(l),config:(...a)=>gi(l,...a),create:(...a)=>yi(l,...a),remove:(...a)=>bi(l,...a),sync:()=>ai(l),auth:{discover:(...a)=>hi(l,...a)},setName:(...a)=>mi(l,...a),setCredentialMode:(...a)=>ci(l,...a),setAuthorizationStrategy:(...a)=>li(l,...a),setCredential:(...a)=>_i(l,...a),setSensitive:(...a)=>ui(l,...a),connections:h,policies:{get:(...a)=>pi(l,...a),set:(...a)=>di(l,...a)},pipedream:{listApps:(...a)=>xi(l,...a),connect:(...a)=>fi(l,...a),finalize:(...a)=>ki(l,...a)},discover:{list:(...a)=>vr(l,...a),detail:(...a)=>Cr(l,...a)}},policies:{list:()=>wi(l),set:(...a)=>Si(l,...a)},triggers:{list:()=>ba(l),create:(...a)=>xa(l,...a),update:(...a)=>Pa(l,...a),remove:(...a)=>_a(l,...a),fire:(...a)=>wa(l,...a),setActivation:(...a)=>ka(l,...a)},files:{list:a=>qi(l,a),read:(a,R)=>Mi(l,a,R),search:(...a)=>Di(l,...a),archive:(...a)=>Ui(l,...a),history:(...a)=>Bi(l,...a)},git:{commits:()=>Li(l),commit:a=>Fi(l,a),commitDiff:a=>Gi(l,a),branches:()=>Oi(l),versionDiff:(...a)=>Ki(l,...a),inviteCollaborator:(...a)=>Xs(l,...a)},changeRequests:{list:()=>Ni(l),get:a=>Hi(l,a),diff:a=>Wi(l,a),mergePreview:a=>zi(l,a),open:(...a)=>Vi(l,...a),merge:(...a)=>Ji(l,...a),close:(...a)=>Xi(l,...a),reopen:(...a)=>Qi(l,...a),requestChanges:(...a)=>Yi(l,...a)},sessions:{list:a=>Be(l,a),create:a=>Ke(l,a),ensureWarm:()=>ia(l),claimWarm:a=>aa(l,a)},review:{list:a=>Mc(l,a),get:a=>Uc(l,a),submit:a=>Oc(l,a),act:(...a)=>Lc(l,...a),bulkAct:a=>Fc(l,a)},approvals:{list:a=>Eo(l,a),resolve:(...a)=>qo(l,...a),sessionsNeedingInput:a=>$o(l,a)},gateway:{logs:a=>_c(l,a),log:a=>kc(l,a),overview:a=>wc(l,a),series:a=>Sc(l,a),breakdown:a=>vc(l,a),sessions:a=>Cc(l,a),errors:a=>Rc(l,a),budgets:()=>Tc(l),setBudget:a=>Ic(l,a),deleteBudget:a=>Ac(l,a),keys:()=>jc(l),createKey:a=>Ec(l,a),revokeKey:a=>$c(l,a),routing:{get:()=>hc(l),set:a=>bc(l,a),reset:()=>xc(l),preview:a=>Pc(l,a)},playground:(a,R,T)=>qc(l,a,R,T)},channels:{slack:{installation:()=>sc(l),connect:a=>oc(l,a),mode:()=>ic(l),manifest:()=>ac(l),disconnect:()=>cc(l),getFile:a=>lc(l,a),uploadFile:a=>uc(l,a)},email:{installation:a=>pc(l,a),mode:()=>dc(l),connect:a=>gc(l,a),disconnect:a=>mc(l,a),updatePolicy:(...a)=>fc(l,...a)},voice:{setBotName:a=>yc(l,a)}},updateExperimentalFeature:(...a)=>no(l,...a),modelDefaults:{get:()=>Ta(l),set:a=>Ia(l,a),clear:a=>Aa(l,a)},setDefaultAgent:a=>qa(l,a),sandbox:{list:()=>$i(l),snapshots:()=>Ci(l),rebuildSnapshot:a=>Ri(l,a),fixWithAgent:()=>Ti(l),createTemplate:a=>Ii(l,a),updateTemplate:(...a)=>Ai(l,...a),removeTemplate:a=>ji(l,a),buildTemplate:a=>Ei(l,a),setProvider:a=>ro(l,a)},setAgentScope:(...a)=>Ea(l,...a),session:a=>$(l,a)}}function $(l,h){let a=null,R,T,C=null;async function k(){C||(C=Ir(l,h,{showErrors:!1}).then(y=>{let v=typeof y.metadata?.opencode_model=="string"?y.metadata.opencode_model.trim():"",M=v.indexOf("/"),z=M>0&&M<v.length-1?{providerID:v.slice(0,M),modelID:v.slice(M+1)}:void 0,V=y.agent_name?.trim()||void 0;return{model:z,agent:V}}));try{return await C}catch(y){throw C=null,y}}function I(){if(a)return a;let y=va(l,h);return y&&(a=y),a}async function S(y){let v=I();if(v)return v;let M=y?.readyTimeoutMs??18e4,z=`${l}
8
+ ${h}`,V=Ct.get(z);if(V)return a=await V,a;let J=(async()=>{let Q=Date.now()+M,N=()=>Math.max(0,Q-Date.now()),D=await Te(l,h,Math.min(3e4,N()));for(;Date.now()<Q&&(D==null||(D.stage==="provisioning"||D.stage==="starting")&&D.retriable);)await new Promise(he=>setTimeout(he,Math.min(1e3,N()))),D=await Te(l,h,Math.min(3e4,N()));if(!D||D.stage!=="ready"||!D.sandbox||!D.opencode_session_id)throw new A(`Session runtime not ready (stage: ${D?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let U=D.sandbox.external_id;if(!U)throw new A("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let H=rt(U);return gs(H,U),{opencodeSessionId:D.opencode_session_id,runtimeUrl:H,sandboxId:U}})();Ct.set(z,J);try{return a=await J,a}finally{Ct.get(z)===J&&Ct.delete(z)}}function L(y){let v=I();if(!v)throw new Rt(y);return v}function K(){a=null,Ra(l,h)}return{get:y=>Ir(l,h,y),cost:()=>qr(h,{projectId:l}),update:y=>pa(l,h,y),delete:()=>(K(),da(l,h)),start:(...y)=>Te(l,h,...y),restart:()=>(K(),xt(l,h)),stop:()=>(K(),Pt(l,h)),configState:()=>ga(l,h),reloadConfig:y=>(K(),ma(l,h,y)),setSharing:y=>ta(l,h,y),previews:()=>na(l,h),commit:y=>Zi(l,h,y),publicShares:{list:()=>ra(l,h),create:(...y)=>sa(l,h,...y),revoke:(...y)=>oa(l,h,...y)},audit:(y,v)=>ca(l,h,y,v),transcript:y=>la(l,h,y),voiceTranscript:y=>ua(l,h,y),ensureReady:S,health:y=>yl(I()?.runtimeUrl??null,y),previewUrl:(y,v="/")=>ge(y,v,r(L("previewUrl").sandboxId)),proxyUrl:y=>Pl(y,r(L("proxyUrl").sandboxId)),setModel:y=>{R=y},changeModel:async y=>{let v=await ha(l,h,y);return C=null,v},scope:()=>fa(l,h),rescope:y=>ya(l,h,y),setAgent:y=>{T=y},send:async(y,v)=>{let{opencodeSessionId:M,runtimeUrl:z}=await S(),V=v?.model??R,J=v?.agent??T,Q=V&&J?{}:await k(),N=V??Q.model,D=J??Q.agent;return te(z).session.prompt({sessionID:M,parts:[{type:"text",text:y}],...N?{model:N}:{},...D?{agent:D}:{}})},abort:async()=>{let{opencodeSessionId:y,runtimeUrl:v}=await S();return te(v).session.abort({sessionID:y})},rewind:async y=>{let{opencodeSessionId:v,runtimeUrl:M}=await S();return te(M).session.revert({sessionID:v,messageID:y})},restoreRewind:async()=>{let{opencodeSessionId:y,runtimeUrl:v}=await S();return te(v).session.unrevert({sessionID:y})},stream:async y=>{let{runtimeUrl:v}=await S();return Or({client:te(v),onEvent:y.onEvent,onGapRehydrate:y.onGapRehydrate,signal:y.signal})},get runtime(){return te(L("runtime").runtimeUrl)},files:{list:async y=>ct(y,(await S()).runtimeUrl),read:async y=>Le(y,(await S()).runtimeUrl),readBlob:async y=>Fe(y,(await S()).runtimeUrl),status:async()=>lt((await S()).runtimeUrl),findFiles:async(y,v)=>ut(y,v,(await S()).runtimeUrl),findText:async y=>pt(y,(await S()).runtimeUrl),upload:async(y,v,M)=>Ge(y,v,M,(await S()).runtimeUrl),create:async y=>dt(y,(await S()).runtimeUrl),copy:async(y,v)=>gt(y,v,(await S()).runtimeUrl),remove:async y=>mt(y,(await S()).runtimeUrl),mkdir:async y=>ft(y,(await S()).runtimeUrl),rename:async(y,v)=>yt(y,v,(await S()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:p,connectors:_(),project:j,session:$,github:g,billing:c,sandboxShares:f,transcribe:Dc,connectStatus:m,marketplace:x,validateToken:Vs,runtime:$p}}function Dp(){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("")}`}var vl={thinking:!1,toolDetails:!0,assistantMetadata:!0};function Mp(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Up(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 Op(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
9
9
 
10
10
  `;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
11
11
  >
@@ -38,15 +38,15 @@ ${s}
38
38
  ${e.state.error}
39
39
  \`\`\`
40
40
  `),n+=`
41
- `,n}return""}function $p(e,t){if(!t)return`## Assistant
41
+ `,n}return""}function Lp(e,t){if(!t)return`## Assistant
42
42
 
43
- `;let n=e.agent?Ap(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=jp(e.time.completed-e.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
43
+ `;let n=e.agent?Mp(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=Up(e.time.completed-e.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
44
44
 
45
45
  `:`## ${n}
46
46
 
47
- `}function qp(e,t,n){let r="";e.role==="user"?r+=`## User
47
+ `}function Fp(e,t,n){let r="";e.role==="user"?r+=`## User
48
48
 
49
- `:r+=$p(e,n.assistantMetadata);for(let s of t)r+=Ep(s,n);return r}function Dp(e,t,n=fl){let r=`# ${e.title||"Untitled Session"}
49
+ `:r+=Lp(e,n.assistantMetadata);for(let s of t)r+=Op(s,n);return r}function Gp(e,t,n=vl){let r=`# ${e.title||"Untitled Session"}
50
50
 
51
51
  `;r+=`**Session ID:** \`${e.id}\`
52
52
  `,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
@@ -54,14 +54,14 @@ ${e.state.error}
54
54
 
55
55
  `,r+=`---
56
56
 
57
- `;for(let s of t)r+=qp(s.info,s.parts,n),r+=`---
57
+ `;for(let s of t)r+=Fp(s.info,s.parts,n),r+=`---
58
58
 
59
- `;return r}function Mp(e,t){return`session-${e}.md`}function Z(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return Ke(r)||t}catch{return t}}return Ke(n)||t}catch{return Up(t)??t}}return typeof e=="object"?Ke(e)||"An error occurred":String(e)}function hl(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Up(e){let t=hl(e);if(t)try{return Ke(JSON.parse(t))}catch{return}}function Ke(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 Nr(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function yl(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||Ke(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function me(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,p=Nr(u)??Nr(hl(u));return p!==void 0?me(p):void 0}if(typeof e!="object")return;let t=e,n=yl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=yl(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Nr(s.responseBody);if(u!==void 0){let p=me(u);if(p)return p}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let p=me(u);if(p)return p}}}var Op={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"}},Lp=[{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 Fp(e){return e.replace(/^oc[-_]/,"")}function Rt(e){return Fp(e).replace(/-/g,"_")}function Kr(e){return Rt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Hr(e){let t=Rt(e),n=Op[t];if(n)return n;for(let{prefix:r,category:s}of Lp)if(t.startsWith(r))return{label:Kr(e),category:s};return{label:Kr(e),category:"other"}}var Gp=256*1024;function Bp(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Np(e){if(e===void 0)return{};if(e.length>Gp)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Kp(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?Z(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function Hp(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=Np(r),u=Bp(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let g=Kp(s);g&&(u="error",p=g)}return{name:e,title:n||Hr(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:p}}function zp(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Wp(e){return{kind:"reasoning",id:e.id,text:e.text}}function Vp(e){return{kind:"tool",id:e.id,tool:Hp(e.tool,e.state)}}function Jp(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 Qp(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Xp(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Yp(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Zp(e){return{kind:"agent",id:e.id,name:e.name}}function ed(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Z(e.error),createdAt:e.time.created}}function td(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function nd(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function rd(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function bl(e){switch(e.type){case"text":return zp(e);case"reasoning":return Wp(e);case"tool":return Vp(e);case"file":return Jp(e);case"subtask":return Qp(e);case"patch":return Xp(e);case"snapshot":return Yp(e);case"agent":return Zp(e);case"retry":return ed(e);case"compaction":return td(e);case"step-start":return nd(e);case"step-finish":return rd(e);default:return{kind:"unknown",raw:e}}}function sd(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=me(e);return{name:t,message:n?.message||Z(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function id(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function od(e){let t=e.parts.map(bl),n=e.info.role==="assistant"?e.info.error:void 0,r=sd(n),s=!r&&!t.some(id);return{parts:t,error:r,isEmpty:s}}function fe(e){return e.type==="text"}function zr(e){return e.type==="reasoning"}function oe(e){return e.type==="tool"}function ad(e){return e.type==="file"}function R_(e){return e.type==="agent"}function T_(e){return e.type==="compaction"}function I_(e){return e.type==="snapshot"}function A_(e){return e.type==="patch"}function j_(e){if(fe(e)||zr(e))return e.text}function cd(e){if(!ad(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function E_(e){let t=[],n=[];for(let r of e)cd(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function $_(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function q_(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var ld=new Set(["todoread","context_info"]);function ud(e){return!ld.has(e.tool)}function D_(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=e.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function M_(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return Z(n.error)}}function U_(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)oe(r)&&ud(r)&&t.push(r);return t}function O_(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:pd(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:dd(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:gd(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:xl(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:xl(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 pd(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function xl(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 dd(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function L_(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 He(e,t=120){if(typeof e!="string")return"";let n=e.split(`
60
- `).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function gd(e){let t=He(e.description);if(t)return t;let n=He(e.title,80);if(n)return n;let r=He(e.message);if(r)return r;let s=He(e.prompt);if(s)return s;let c=He(e.agent_id,40);return c?`Agent ${c}`:"Worker task"}function F_(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function G_(e,t){return e.find(n=>n.tool?.callID===t)}function B_(e,t){return e.find(n=>n.tool?.callID===t)}var md=/\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 N_(e){return e?e.replace(md,""):""}function z_(e){let t=[],n=new Map;for(let s of e)if(s.info.role==="user"){if(n.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};t.push(c),n.set(s.info.id,c)}let r=null;for(let s of e){if(s.info.role==="user"){r=n.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let c=s.info;if(c.parentID){let p=n.get(c.parentID);if(p){p.assistantMessages.push(s);continue}}if(r){r.assistantMessages.push(s);continue}if(t.length>0){t[0].assistantMessages.unshift(s);continue}let u={userMessage:s,assistantMessages:[]};t.push(u)}return t}function W_(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function V_(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(fe(n)&&n.text?.trim())return n}}function J_(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Q_(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let c of s.parts){if(!oe(c))continue;let u=c,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:c,message:s})}return r}function X_(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 Y_(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,c=r.time.updated??r.time.created,u=s>t,p=c>t;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:c-s}}function fd(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(...fd(e,s));return r}function yd(e){let t=e.userMessage.parts;if(t.length===0||!t.every(c=>fe(c)&&c.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return oe(s)&&s.tool==="bash"}function tk(e){if(yd(e))return e.assistantMessages[0].parts[0]}function ik(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 ok(e,t){return!t||!e?!1:e.type!=="idle"}function ak(e,t){return!e&&!!t}function ck(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Z(n.error)}}function lk(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return me(n.error)}}function Pl(e){if(e){if(oe(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${e.tool}...`}if(zr(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(fe(e))return"Gathering thoughts..."}}function uk(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=oe(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 g=p.parts.length-1;g>=0;g--){let y=Pl(p.parts[g]);if(y)return y}}return"Delegating to agent..."}let c=Pl(r);if(c)return c}return"Considering next steps..."}function pk(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 _l=1.2;function kl(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,c=e.cache?.write??0,u=Math.max(0,n-s-c),g=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,_)=>_.contextThreshold-m.contextThreshold)[0]??t,y=u/1e6*g.inputPer1M;return y+=r/1e6*g.outputPer1M,s>0&&(y+=s/1e6*(g.cacheReadPer1M??g.inputPer1M)),c>0&&(y+=c/1e6*(g.cacheWritePer1M??g.inputPer1M)),y}function wl(e,t,n,r){let s=e.cost||0;if(s>0)return s;if(!r||!t||!n)return 0;let c=r(t,n);return c?kl(e.tokens,c):0}function Sl(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function dk(e,t){let n=0,r=0,s=0,c=0,u=0,p=0,g=!1;for(let{part:y,message:m}of e)if(y.type==="step-finish"){g=!0;let _=y,{providerID:w,modelID:R}=Sl(m.info);n+=wl(_,w,R,t),r+=_.tokens?.input||0,s+=_.tokens?.output||0,c+=_.tokens?.reasoning||0,u+=_.tokens?.cache?.read||0,p+=_.tokens?.cache?.write||0}if(!g)for(let{message:y}of e){if(y.info.role!=="assistant")continue;let m=y.info,_=vl(m,t);if(_<=0)continue;g=!0,n+=_;let w=m.tokens;w&&(r+=w.input??0,s+=w.output??0,c+=w.reasoning??0,u+=w.cache?.read??0,p+=w.cache?.write??0)}if(g)return{cost:n*_l,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:p}}}function vl(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?kl({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function gk(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=Sl(s),p=0,g=!1;for(let y of r.parts)y.type==="step-finish"&&(g=!0,p+=wl(y,c,u,t));g||(p+=vl(s,t)),n+=p}return n*_l}function mk(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function fk(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function yk(e){if(!e||e.type!=="retry")return;let t=e;return{attempt:t.attempt,message:t.message.length>60?`${t.message.slice(0,60)}...`:t.message,next:t.next}}function hk(e){if(!(!e||e.type!=="retry"))return Z(e.message)}function bk(e){return(e.info.summary?.diffs?.length??0)>0}var hd=4e3;function ze(e,t=hd){return e.length>t?`${e.slice(0,t)}
61
- \u2026`:e}function Cl(e){if(e!==void 0)try{return ze(JSON.stringify(e,null,2))}catch{return}}function B(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function Te(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function bd(e){let t=B(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Te(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(c=>{let u=Te(c)??{};return{title:B(u.title)??"",url:B(u.url,u.link)??"",snippet:B(u.snippet,u.description,u.source)}});return{kind:"web-search",query:B(n.query)??t,results:s.length>0?s:void 0,answer:B(n.answer)}}var xd=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function Pd(e,t,n){let r="",s=0;for(;;){let c=e.indexOf(t,s);if(c===-1)return r+e.slice(s);let u=e.indexOf(n,c+t.length);if(u===-1)return r+e.slice(s);r+=e.slice(s,c),s=u+n.length}}var _d=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function kd(e){let t=-1;for(let n of _d){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var wd=/\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 Sd(e){return e.replace(wd,"")}function vd(e){let t=B(e.input?.command)??"",n=e.output??"",r=n.match(xd),s=r?Number(r[1]):void 0,u=Sd(kd(Pd(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:u||void 0,exitCode:s}}function Vr(e){return B(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function Cd(e){let t=e.status==="error"?e.error:e.output&&ze(e.output)||void 0;return{kind:"file-read",path:Vr(e),preview:t}}function Rd(e){let t=B(e.input?.content),n=e.status==="error"?e.error:ze(t??e.output??"")||void 0;return{kind:"file-write",path:Vr(e),preview:n}}var Td=256*1024;function Id(e,t){if(e.length+t.length>Td)return;let n=e.split(`
59
+ `;return r}function Bp(e,t){return`session-${e}.md`}function Z(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return He(r)||t}catch{return t}}return He(n)||t}catch{return Kp(t)??t}}return typeof e=="object"?He(e)||"An error occurred":String(e)}function Rl(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Kp(e){let t=Rl(e);if(t)try{return He(JSON.parse(t))}catch{return}}function He(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 Lr(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Cl(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||He(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function me(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,p=Lr(u)??Lr(Rl(u));return p!==void 0?me(p):void 0}if(typeof e!="object")return;let t=e,n=Cl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Cl(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Lr(s.responseBody);if(u!==void 0){let p=me(u);if(p)return p}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let p=me(u);if(p)return p}}}var Np={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"}},Hp=[{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 Wp(e){return e.replace(/^oc[-_]/,"")}function Tt(e){return Wp(e).replace(/-/g,"_")}function Fr(e){return Tt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Gr(e){let t=Tt(e),n=Np[t];if(n)return n;for(let{prefix:r,category:s}of Hp)if(t.startsWith(r))return{label:Fr(e),category:s};return{label:Fr(e),category:"other"}}var zp=256*1024;function Vp(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Jp(e){if(e===void 0)return{};if(e.length>zp)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Xp(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?Z(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function Qp(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=Jp(r),u=Vp(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let g=Xp(s);g&&(u="error",p=g)}return{name:e,title:n||Gr(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:p}}function Yp(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Zp(e){return{kind:"reasoning",id:e.id,text:e.text}}function ed(e){return{kind:"tool",id:e.id,tool:Qp(e.tool,e.state)}}function td(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 nd(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function rd(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function sd(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function od(e){return{kind:"agent",id:e.id,name:e.name}}function id(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Z(e.error),createdAt:e.time.created}}function ad(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function cd(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function ld(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Tl(e){switch(e.type){case"text":return Yp(e);case"reasoning":return Zp(e);case"tool":return ed(e);case"file":return td(e);case"subtask":return nd(e);case"patch":return rd(e);case"snapshot":return sd(e);case"agent":return od(e);case"retry":return id(e);case"compaction":return ad(e);case"step-start":return cd(e);case"step-finish":return ld(e);default:return{kind:"unknown",raw:e}}}function ud(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=me(e);return{name:t,message:n?.message||Z(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function pd(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function dd(e){let t=e.parts.map(Tl),n=e.info.role==="assistant"?e.info.error:void 0,r=ud(n),s=!r&&!t.some(pd);return{parts:t,error:r,isEmpty:s}}function fe(e){return e.type==="text"}function Br(e){return e.type==="reasoning"}function ie(e){return e.type==="tool"}function gd(e){return e.type==="file"}function E_(e){return e.type==="agent"}function $_(e){return e.type==="compaction"}function q_(e){return e.type==="snapshot"}function D_(e){return e.type==="patch"}function M_(e){if(fe(e)||Br(e))return e.text}function md(e){if(!gd(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function U_(e){let t=[],n=[];for(let r of e)md(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function O_(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function L_(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var fd=new Set(["todoread","context_info"]);function yd(e){return!fd.has(e.tool)}function F_(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=e.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function G_(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return Z(n.error)}}function B_(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ie(r)&&yd(r)&&t.push(r);return t}function K_(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:hd(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:bd(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:xd(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:Il(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Il(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 hd(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Il(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 bd(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function N_(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 We(e,t=120){if(typeof e!="string")return"";let n=e.split(`
60
+ `).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function xd(e){let t=We(e.description);if(t)return t;let n=We(e.title,80);if(n)return n;let r=We(e.message);if(r)return r;let s=We(e.prompt);if(s)return s;let c=We(e.agent_id,40);return c?`Agent ${c}`:"Worker task"}function H_(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function W_(e,t){return e.find(n=>n.tool?.callID===t)}function z_(e,t){return e.find(n=>n.tool?.callID===t)}var Pd=/\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 V_(e){return e?e.replace(Pd,""):""}function Q_(e){let t=[],n=new Map;for(let s of e)if(s.info.role==="user"){if(n.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};t.push(c),n.set(s.info.id,c)}let r=null;for(let s of e){if(s.info.role==="user"){r=n.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let c=s.info;if(c.parentID){let p=n.get(c.parentID);if(p){p.assistantMessages.push(s);continue}}if(r){r.assistantMessages.push(s);continue}if(t.length>0){t[0].assistantMessages.unshift(s);continue}let u={userMessage:s,assistantMessages:[]};t.push(u)}return t}function Y_(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function Z_(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(fe(n)&&n.text?.trim())return n}}function ek(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function tk(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let c of s.parts){if(!ie(c))continue;let u=c,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:c,message:s})}return r}function nk(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 rk(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,c=r.time.updated??r.time.created,u=s>t,p=c>t;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:c-s}}function _d(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(..._d(e,s));return r}function kd(e){let t=e.userMessage.parts;if(t.length===0||!t.every(c=>fe(c)&&c.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return ie(s)&&s.tool==="bash"}function ik(e){if(kd(e))return e.assistantMessages[0].parts[0]}function uk(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 pk(e,t){return!t||!e?!1:e.type!=="idle"}function dk(e,t){return!e&&!!t}function gk(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Z(n.error)}}function mk(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return me(n.error)}}function Al(e){if(e){if(ie(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${e.tool}...`}if(Br(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(fe(e))return"Gathering thoughts..."}}function fk(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=ie(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 g=p.parts.length-1;g>=0;g--){let f=Al(p.parts[g]);if(f)return f}}return"Delegating to agent..."}let c=Al(r);if(c)return c}return"Considering next steps..."}function yk(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 jl=1.2;function El(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,c=e.cache?.write??0,u=Math.max(0,n-s-c),g=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,x)=>x.contextThreshold-m.contextThreshold)[0]??t,f=u/1e6*g.inputPer1M;return f+=r/1e6*g.outputPer1M,s>0&&(f+=s/1e6*(g.cacheReadPer1M??g.inputPer1M)),c>0&&(f+=c/1e6*(g.cacheWritePer1M??g.inputPer1M)),f}function $l(e,t,n,r){let s=e.cost||0;if(s>0)return s;if(!r||!t||!n)return 0;let c=r(t,n);return c?El(e.tokens,c):0}function ql(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function hk(e,t){let n=0,r=0,s=0,c=0,u=0,p=0,g=!1;for(let{part:f,message:m}of e)if(f.type==="step-finish"){g=!0;let x=f,{providerID:_,modelID:j}=ql(m.info);n+=$l(x,_,j,t),r+=x.tokens?.input||0,s+=x.tokens?.output||0,c+=x.tokens?.reasoning||0,u+=x.tokens?.cache?.read||0,p+=x.tokens?.cache?.write||0}if(!g)for(let{message:f}of e){if(f.info.role!=="assistant")continue;let m=f.info,x=Dl(m,t);if(x<=0)continue;g=!0,n+=x;let _=m.tokens;_&&(r+=_.input??0,s+=_.output??0,c+=_.reasoning??0,u+=_.cache?.read??0,p+=_.cache?.write??0)}if(g)return{cost:n*jl,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:p}}}function Dl(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?El({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function bk(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=ql(s),p=0,g=!1;for(let f of r.parts)f.type==="step-finish"&&(g=!0,p+=$l(f,c,u,t));g||(p+=Dl(s,t)),n+=p}return n*jl}function xk(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function Pk(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function _k(e){if(!e||e.type!=="retry")return;let t=e;return{attempt:t.attempt,message:t.message.length>60?`${t.message.slice(0,60)}...`:t.message,next:t.next}}function kk(e){if(!(!e||e.type!=="retry"))return Z(e.message)}function wk(e){return(e.info.summary?.diffs?.length??0)>0}var wd=4e3;function ze(e,t=wd){return e.length>t?`${e.slice(0,t)}
61
+ \u2026`:e}function Ml(e){if(e!==void 0)try{return ze(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 Ie(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function Sd(e){let t=G(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Ie(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(c=>{let u=Ie(c)??{};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 vd=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function Cd(e,t,n){let r="",s=0;for(;;){let c=e.indexOf(t,s);if(c===-1)return r+e.slice(s);let u=e.indexOf(n,c+t.length);if(u===-1)return r+e.slice(s);r+=e.slice(s,c),s=u+n.length}}var Rd=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Td(e){let t=-1;for(let n of Rd){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var Id=/\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 Ad(e){return e.replace(Id,"")}function jd(e){let t=G(e.input?.command)??"",n=e.output??"",r=n.match(vd),s=r?Number(r[1]):void 0,u=Ad(Td(Cd(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:u||void 0,exitCode:s}}function Nr(e){return G(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function Ed(e){let t=e.status==="error"?e.error:e.output&&ze(e.output)||void 0;return{kind:"file-read",path:Nr(e),preview:t}}function $d(e){let t=G(e.input?.content),n=e.status==="error"?e.error:ze(t??e.output??"")||void 0;return{kind:"file-write",path:Nr(e),preview:n}}var qd=256*1024;function Dd(e,t){if(e.length+t.length>qd)return;let n=e.split(`
62
62
  `),r=t.split(`
63
- `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let c=n.length,u=r.length;for(;c>s&&u>s&&n[c-1]===r[u-1];)c--,u--;let p=[];for(let g=0;g<s;g++)p.push({type:"unchanged",text:n[g]});for(let g=s;g<c;g++)p.push({type:"removed",text:n[g]});for(let g=s;g<u;g++)p.push({type:"added",text:r[g]});for(let g=c;g<n.length;g++)p.push({type:"unchanged",text:n[g]});return p}function Ad(e){let t=B(e.input?.oldString),n=B(e.input?.newString),r=t!==void 0&&n!==void 0?Id(t,n):void 0;return{kind:"file-edit",path:Vr(e),diff:r}}var Tl=/^Found\s+(\d+)\s+match/i,jd=/^(\/[^:]+?):\s*/,Rl=/Line\s+(\d+):/g;function Ed(e){let t=e.trim(),n=t.match(Tl),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let c of r.split(/\n\n+/)){let u=c.trim();if(!u)continue;let p=u.match(jd);if(!p)continue;let g=p[1],y=u.slice(p[0].length),m=[],_;for(Rl.lastIndex=0;(_=Rl.exec(y))!==null;)m.push({line:Number(_[1]),contentStart:_.index+_[0].length,headerStart:_.index});for(let w=0;w<m.length;w++){let R=w+1<m.length?m[w+1].headerStart:y.length,l=y.slice(m[w].contentStart,R).trim();s.push({path:g,line:m[w].line,content:l.endsWith(";")?l.slice(0,-1):l})}}return s}function $d(e){return e.trim().split(`
64
- `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function qd(e){let t=B(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=Tl.test(e.output.trim())?Ed(e.output):$d(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Dd(e){let t=B(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=B(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function Wr(e){let t=Te(e)??{};return{content:B(t.content)??"",status:B(t.status)??"pending",priority:B(t.priority)}}function Md(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Wr)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Wr)};let n=Te(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Wr)}:{kind:"todo",items:[]}}function Ud(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Te(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=Te(p),y=g&&B(g.label);return y?[{label:y,description:g?B(g.description):void 0}]:[]});return{question:B(s.question)??"",header:B(s.header),options:u}})}}function Od(e){let n=e.input&&Object.keys(e.input).length>0?Cl(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?ze(e.outputParsed):Cl(e.outputParsed):e.outputText!==void 0?r=ze(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Ld(e){switch(Rt(e.name)){case"web_search":case"websearch":case"image_search":return bd(e);case"bash":return vd(e);case"read":return Cd(e);case"write":return Rd(e);case"edit":case"morph_edit":return Ad(e);case"grep":case"glob":return qd(e);case"task":return Dd(e);case"todowrite":return Md(e);case"question":case"ask":return Ud(e);default:return Od(e)}}function Tt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Fd(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 vk(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 Jr(e,t,n){return e!==void 0?e:Fd(Tt(t),n)}var Ck={get disableMobileAdvertising(){return Jr($().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Jr($().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Jr($().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var It="kortix-active-instance",Gd=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Bd(e){return Gd.some(t=>e===t||e.startsWith(`${t}/`))}function We(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 Tk(e){let t=We(e);return!!t&&t.innerPath===""}function Ik(e){let t=We(e);return!t||!t.innerPath?e:t.innerPath}function Nd(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=We(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return Bd(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function Kd(e){return e?We(e)?.instanceId??null:null}function Ak(){return typeof window>"u"?null:Kd(window.location.pathname)||Hd()}function Hd(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${It}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function jk(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${It}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${It}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${It}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Ek(e,t){return t?Nd(t,e):e}function $k(e){let t=We(e);return t?t.innerPath||"/dashboard":e}function Il(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 zd(e){let t=Il(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 Al(e){let t=zd(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function Dk(e){return Al(e)!==null}function Wd(e){let t=Al(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),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:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:Il(e)||"The sandbox is running, but OpenCode returned an error."}}function H(){let e=Tt("BACKEND_URL")||$().backendUrl;return e||"http://localhost:8008/v1"}function Ve(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=Ve(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return Ve(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var jl=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function El(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function Vd(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 Qr(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?`${H()}/p/${n.external_id}/${se.KORTIX_MASTER}`:""),status:Vd(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 Xr(){let e=await Ce(),t=[];for(let n of e){let r=await Ge(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Qr(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return c!==0?c:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function ye(e){let t=await Xr();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 At(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await E(`${H()}${e}`,{...t,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new T(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=De(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function $l(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`${H()}/p/${e.external_id}/${se.KORTIX_MASTER}`}function zk(e,t){return e.external_id?`${H()}/p/${e.external_id}/${t}`:null}async function Yk(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Jd(e){let t=await ye();if(t)return{sandbox:t.sandbox,created:!1};let r=(await Ce())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Be(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await Re(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Qr(r,s,c),created:!0}}async function Zk(){return(await ye().catch(()=>null))?.sandbox??null}async function ew(e){return{sandbox:(await Jd(e)).sandbox}}async function tw(e){let t=Ve(e);return t?(await ye(t).catch(()=>null))?.sandbox??null:null}async function nw(e,t){throw await ye(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function rw(e){let t=Ve(e);return(await Xr().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function sw(){if(typeof window>"u")return null;let e=H(),t=Array.from(new Set([e,...jl]));for(let n of t)try{let r=await fetch(El(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 iw(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await ye(e);if(!t)throw new Error("Project session sandbox not found");await bt(t.project.project_id,t.session.session_id)}async function ow(e){if(!e)throw new Error("No sandbox selected to stop");let t=await ye(e);if(!t)throw new Error("Project session sandbox not found");await xt(t.project.project_id,t.session.session_id)}async function aw(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function cw(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function gw(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function mw(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function fw(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function yw(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function hw(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function bw(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function xw(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Pw(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Yr(e,t,n){let r=$l(e),s=await E(`${_e(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function _w(e,t){return Yr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function kw(e,t,n,r="member"){await Yr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function ww(e,t,n){await Yr(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Sw(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Rw(e){let t=await At(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function Tw(e){let t=await At(`/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 Iw(e){let t=await At(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function jw(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Ew(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function $w(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function qw(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Mw(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Uw(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Qd=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Fw(e){return Qd.includes(e)}async function Gw(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 Bw(e){let t=e?`?channel=${e}`:"",n=await fetch(`${H()}/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 Xd(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Xd(e){let t=e?`?channel=${e}`:"",n=await fetch(`${H()}/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 Nw(){let e=await fetch(`${H()}/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 Kw(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Hw(e){}async function zw(e){}async function Qw(e){return{serverTypes:[],location:e||"hel1"}}async function Xw(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function Yw(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function Zw(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function eS(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function tS(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function nS(e,t){return`${H()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var ae=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function jt(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Zr(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 Et(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function $t(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(`${jt(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Zr(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),c=await Et(s);if(!s.ok)throw new ae($t(s,c),s.status,c);return c}function Yd(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 sS(e,t){return N(`/marketplace/items${Yd(t)}`,e)}function iS(e){return N("/marketplace/marketplaces",e)}function oS(e,t){return N(`/marketplace/items/${encodeURIComponent(e)}`,t)}function aS(e,t,n){return N(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function cS(e,t){return N("/access/check-email",t,{method:"POST",body:{email:e}})}function lS(e,t){return N("/access/request-access",t,{method:"POST",body:e})}function uS(e){return N("/auth/logout",e,{method:"POST",body:{}})}function pS(e,t){return N(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function dS(e,t){return N("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function gS(e,t){return N(`/setup-links/connector/${encodeURIComponent(e)}`,t)}function mS(e,t){return N(`/setup-links/connector/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function fS(e,t){return N(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function yS(e,t,n){return N(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function hS(e,t){return N(`/p/public-share/${encodeURIComponent(e)}`,t)}function bS(e,t,n){return N(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function xS(e){return N("/system/maintenance",e)}function PS(e,t){return N("/system/maintenance",t,{method:"PUT",body:e})}function _S(e){return N("/user-roles",e)}function kS(e,t){return N("/system/demo-request",t,{method:"POST",body:e})}async function wS(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.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);let s=await fetch(`${jt(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Zr(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let c=await Et(s);throw new ae($t(s,c),s.status,c)}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")}}async function SS(e,t){let n=await fetch(`${jt(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Zr(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await Et(n);throw new ae($t(n,r),n.status,r)}if(!n.body)throw new ae("No response body",n.status,null);return n.body}var Zd=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function eg(e,t){return Zd.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${jt(e)}/`):null}async function vS(e,t,n){let r=eg(e,t);if(!r)throw new ae("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),c=await Et(s);if(!s.ok)throw new ae($t(s,c),s.status,c);return c}async function TS(){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 IS(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 AS(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},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function jS(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 ES(){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}function ql(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 tg(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let c=new Set;if(t)try{c.add(new URL(t).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(n.origin)}catch{return!1}}function Dl(e,t){return tg(e,t)?(t?ql(t):null)??ql(e):null}function qS(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function DS(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function LS(e,t={}){let n=Dl(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}}function es(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function GS(e,t){return`${es(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function BS(e,t){return`${es(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function ng(e,t){return`${es(e)}/presentation/convert-to-${t}`}async function NS(e,t,n,r){let s=ng(t,e),c=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),g=!1;for(;;){let y=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=y.headers.get("content-type")||"";if(y.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let l=await y.blob();if(l.size===0)throw new Error("Downloaded file is empty");return l}if(y.status===202){if(g||(g=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((l,f)=>{let a=setTimeout(l,c);r?.signal?.addEventListener("abort",()=>{clearTimeout(a),f(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let w=await y.text().catch(()=>""),R=y.statusText;try{let l=JSON.parse(w);R=String(l.error||l.detail||l.message||R)}catch{w&&(R=w)}throw new Error(`Failed to download ${e.toUpperCase()}: ${R} (HTTP ${y.status})`)}}function Ul(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let c=new URLSearchParams({limit:String(r)});s&&c.set("before",s);let u=await e.getToken?.(),p=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function rg(e){return ig(Ul(e))}function sg(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=Ul(e),s=async c=>{let u=await e.getToken?.(),p=await t(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new ts({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function ig(e){let t=new Map,n=new Set,r;do{let s=await e({limit:50,...r?{before:r}:{}});for(let c of s.messages)t.set(c.info.id,c);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...t.values()].sort((s,c)=>s.info.id.localeCompare(c.info.id))}var og={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Ml=500,ts=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??og,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=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"?"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"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0}),this.setBusy(!0)}observePromptStatus(t){if(this.promptObservationPhase!=="idle"){if(t.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.setBusy(!1)}setBusy(t){if(!t){this.stopLivenessTimer();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.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t),r=await this.loadCompleteTurn(n,"tail",t);if(this.destroyed)return;this.containsNewPromptReply(r.messages)&&this.observePromptActivity(),this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t)}async loadCompleteTurn(t,n,r,s){let c=[...t.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),g=t.nextCursor;for(let y of t.messages)y.info.role==="user"&&u.add(y.info.id);for(;g&&c.some(y=>y.info.role==="assistant"&&!!y.info.parentID&&!u.has(y.info.parentID));){if(p.has(g))throw new Error(`Session history cursor repeated: ${g}`);p.add(g);let y=await this.loadPage(n,r,g);c.unshift(...y.messages);for(let m of y.messages)m.info.role==="user"&&u.add(m.info.id);g=y.nextCursor}return{messages:c,nextCursor:g}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.reconcile("poll"),await this.reconcileStatus(),this.lastActivityAt=this.scheduler.now())}containsNewPromptReply(t){if(this.promptObservationPhase==="idle")return!1;let n=new Set(t.filter(r=>r.info.role==="user"&&!this.knownUserMessageIds.has(r.info.id)).map(r=>r.info.id));return n.size===0?!1:t.some(r=>r.info.role==="assistant"&&!!r.info.parentID&&n.has(r.info.parentID))}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let t=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.stopLivenessTimer())};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(t,Ml):setTimeout(t,Ml)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder&&n.isPromptObservedBusy===this.snapshot.isPromptObservedBusy)){this.snapshot=n;for(let r of this.listeners)r()}}};function ag(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function cg(e){let{url:t,token:n,method:r="GET",body:s,onEvent:c,onOpen:u,onError:p,signal:g}=e,y=new Map,m=null,_=!1;function w(I,v){c?.(I,v);let x=y.get(I);if(x)for(let j of x)try{j(v)}catch{}}async function R(){if(_)return;m=new AbortController;let I=g?AbortSignal.any([m.signal,g]):m.signal;try{let v={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(v["Content-Type"]="application/json");let x=await fetch(t,{method:r,headers:v,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:I,credentials:"include"});if(!x.ok)throw new Error(`SSE connection failed: ${x.status} ${x.statusText}`);if(!x.body)throw new Error("SSE response has no body");u?.();let j=x.body.getReader(),A=new TextDecoder,S="",q="message",L="";for(;!_;){let{done:h,value:C}=await j.read();if(h)break;S+=A.decode(C,{stream:!0});let D=S.split(`
65
- `);S=D.pop()||"";for(let F of D)F===""?L&&(w(q,L.trimEnd()),q="message",L=""):F.startsWith("event: ")?q=F.slice(7).trim():F.startsWith("data: ")?L+=(L?`
66
- `:"")+F.slice(6):F.startsWith("data:")&&(L+=(L?`
67
- `:"")+F.slice(5))}}catch(v){if(_||v instanceof DOMException&&v.name==="AbortError")return;p?.(v instanceof Error?v:new Error(String(v)))}}function l(){_=!0,m?.abort(),m=null,y.clear()}function f(I,v){let x=y.get(I)??new Set;x.add(v),y.set(I,x)}function a(I,v){y.get(I)?.delete(v)}return{connect:R,close:l,addEventListener:f,removeEventListener:a}}function zS(e,t){return cg({...t,url:ag(e)})}export{It as ACTIVE_INSTANCE_COOKIE,T as ApiError,$e as AuthError,Pe as BillingError,_l as COST_MARKUP,fl as DEFAULT_TRANSCRIPT_OPTIONS,Qd as DESTRUCTIVE_PHASES,vu as FEATURE_NOT_SUPPORTED_CODE,ae as HostBoundaryError,Gd as INSTANCE_SCOPED_ROUTES,Cu as MODEL_NOT_SERVABLE_CODE,Fr as PublicSessionShareError,Gr as PublicVoiceJoinError,qe as RequestTooLargeError,lr as RuntimeNotReadyError,pr as SANDBOX_FS_ROOTS,se as SANDBOX_PORTS,Ct as SessionNotReadyError,Dr as SessionStartError,ug as __getConfigResolver,lg as __setConfigResolver,Ws as acceptAccountInvite,Tw as acceptInvite,Ic as actReviewItem,Fy as activateConnectionProfile,Rr as activateConnectorAuthorization,qb as addGroupMembers,sl as addMarketplaceSource,mw as addSandboxMember,fd as allDescendantIds,DS as appendPreviewToken,xi as approveProjectAccessRequest,Rm as approveTask,Pr as archiveProject,Dm as assignTicket,Ii as attachGroupToProject,E as authenticatedFetch,i as backendApi,ab as bindSlackIdentity,cb as bindTeamsIdentity,Nd as buildInstancePath,BS as buildPresentationTemplateImageUrl,GS as buildPresentationTemplatePdfUrl,Dl as buildPreviewAuthEndpoint,eg as buildPublicTemplateUrl,ng as buildRuntimePresentationConversionUrl,ko as buildSandboxTemplate,HP as buildStaticFileHealthPreviewUrl,KP as buildStaticFileLocalUrl,NP as buildStaticFilePreviewUrl,op as buildStaticFileServicePath,ag as buildTunnelEventStreamUrl,QP as buildWebProxyUrl,Ac as bulkActReviewItems,Nb as bulkDeletePolicies,Kb as bulkImportPolicies,Ox as cancelAccountDeletion,Ks as cancelAccountInvite,aw as cancelSandbox,zw as cancelSandboxUpdate,La as cancelScheduledChange,Ma as cancelSubscription,cS as checkAccessEmail,X_ as childMapByParent,eS as claimComputer,Vh as claimPerSeatBilling,Xo as claimWarmProjectSession,bl as classifyPart,od as classifyTurn,Pa as clearModelDefault,uh as clearSessionFresh,Fo as closeChangeRequest,uf as closeMilestone,W_ as collectTurnParts,Um as commentTicket,No as commitSessionChanges,Pl as computeStatusFromPart,Na as configureAutoTopup,Ut as configureKortix,qa as confirmCheckoutSession,rc as connectEmail,Ja as connectSlack,tP as convertPresentationToGoogleSlides,NS as convertRuntimePresentation,gt as copyFile,Ha as costExportUrl,Os as createAccount,Wc as createAccountAuditWebhook,Lc as createAccountToken,vx as createAuditWebhook,Ew as createBackup,$a as createCheckoutSession,ro as createConnector,dt as createFile,kc as createGatewayKey,Ab as createGroup,sg as createHttpSessionSyncController,Xw as createInstance,Tp as createKortix,Ss as createKortixPty,IP as createMarketplaceInstallSession,cf as createMilestone,Wh as createPerSeatCheckout,Fb as createPolicy,Da as createPortalSession,ri as createProject,Wm as createProjectAgent,Bc as createProjectCliToken,si as createProjectRepo,$i as createProjectResourceGrant,Be as createProjectSession,la as createProjectTrigger,Qb as createRole,cg as createSSEStream,ew as createSandbox,Ec as createSandboxShare,xo as createSandboxTemplate,nx as createScimToken,_x as createServiceAccountApi,Vo as createSessionPublicShare,dx as createSsoGroupMapping,Sm as createTask,Em as createTicket,zS as createTunnelEventStream,Vs as declineAccountInvite,Iw as declineInvite,Lx as deleteAccountImmediately,Rx as deleteAuditWebhook,qw as deleteBackup,io as deleteConnector,hf as deleteCredential,ks as deleteEnv,mt as deleteFile,Pc as deleteGatewayBudget,hi as deleteGitHubInstallation,Eb as deleteGroup,Yw as deleteInstance,nf as deleteKortixProject,df as deleteMilestone,zi as deletePersonalProjectSecret,Bb as deletePolicy,Jm as deleteProjectAgent,qi as deleteProjectResourceGrant,Ki as deleteProjectSecret,na as deleteProjectSession,pa as deleteProjectTrigger,Zb as deleteRole,_o as deleteSandboxTemplate,wx as deleteServiceAccountApi,gx as deleteSsoGroupMapping,ux as deleteSsoProvider,Tm as deleteTask,Om as deleteTicket,zs as describeAccountInvite,ji as detachGroupFromProject,rp as detectLocalhostUrls,kx as disableServiceAccountApi,sc as disconnectEmail,ES as disconnectGitHubApp,Ya as disconnectSlack,qy as discoverConnectionProfileOAuth2,so as discoverConnectorAuth,Du as discoverConnectorAuthorizationOAuth2,sw as discoverLocalSandbox,wS as downloadAccountAudit,Af as dropClientForUrl,$f as dropPublicClientForUrl,Hm as ensurePmSession,LS as ensurePreviewSessionCookie,Eu as ensureProjectConnectorAuthorization,jy as ensureProjectConnectorProfile,Jd as ensureSandbox,Qo as ensureWarmProjectSession,cu as env,Hc as exportAccountAudit,me as extractGatewayErrorDetails,We as extractInstanceRoute,Ck as featureFlags,Hh as fetchAccountStateWithToken,ty as fetchAccountsWithToken,rb as fetchCostExportCsv,Ro as fetchProjectArchive,uy as fetchProjectsForAccountWithToken,wu as files,ut as findFiles,V_ as findLastTextPart,pt as findText,ga as fireProjectTrigger,bo as fixSandboxWithAgent,au as formatBillingErrorForUI,mk as formatCost,pk as formatDuration,Wd as formatOpenCodeRuntimeError,Wd as formatRuntimeError,fk as formatTokens,Dp as formatTranscript,Ip as generateSessionId,Ls as getAccount,Mx as getAccountDeletionStatus,Ca as getAccountState,Ra as getAccountStateMinimal,Hd as getActiveInstanceIdFromCookie,Wx as getAdminProviderAnalytics,Kx as getAdminProviderDistribution,Jx as getAdminProviderFallback,Fx as getAdminRole,gd as getAgentCardLabel,Fh as getAgentConfig,Qm as getAgentPersona,Nw as getAllVersions,Q_ as getAnsweredQuestionParts,vP as getApprovalLink,be as getAuthToken,fs as getAuthTokenWithRetry,Ba as getAutoTopupSettings,zh as getAutoTopupSetupStatus,Aa as getBillingCreditBreakdown,Ea as getBillingTierConfigurations,Ia as getBillingTransactionsSummary,ja as getBillingUsageHistory,Do as getChangeRequest,Mo as getChangeRequestDiff,Uo as getChangeRequestMergePreview,M_ as getChildSessionError,D_ as getChildSessionId,U_ as getChildSessionToolParts,ue as getClient,te as getClientForUrl,lo as getConnectStatus,Ky as getConnectionPolicies,$y as getConnectionProfileOAuth2Application,Oy as getConnectionProfileOAuth2Status,qu as getConnectorAuthorizationOAuth2Application,Lu as getConnectorAuthorizationOAuth2Status,eo as getConnectorConfig,Yi as getConnectorPolicies,gS as getConnectorSetupLink,nb as getCostSummary,Kd as getCurrentInstanceIdFromPathname,Ak as getCurrentInstanceIdFromWindow,qs as getCurrentProject,va as getDefaultAccountState,F_ as getDiagnostics,dd as getDirectory,co as getDiscoverIntegration,tc as getEmailInstallation,nc as getEmailMode,jx as getEnterpriseDemo,lt as getFileStatus,xl as getFileWithDir,pd as getFilename,Xd as getFullChangelog,fc as getGatewayBreakdown,bc as getGatewayBudgets,hc as getGatewayErrors,_c as getGatewayKeys,dc as getGatewayLog,gc as getGatewayOverview,ac as getGatewayRoutingPolicy,mc as getGatewaySeries,yc as getGatewaySessions,TS as getGitHubAppStatus,ui as getGitHubInstallation,eP as getGoogleAuthUrl,Ib as getGroup,$_ as getHiddenToolParts,Rw as getInvite,Qw as getJustavpsServerTypes,Zm as getKortixProject,ef as getKortixProjectBySession,Rs as getKortixPtyWebSocketUrl,Bw as getLatestSandboxVersion,xS as getMaintenanceConfig,ay as getManagedGitStatus,tl as getMarketplaceCatalogItem,nl as getMarketplaceCatalogItemFile,sx as getMfaRequired,of as getMilestone,ba as getModelDefaults,pS as getOAuthConsentRequest,Al as getOpenCodeConfigInvalidError,j_ as getPartText,bx as getPatPolicy,G_ as getPermissionForTool,fr as getProject,Xm as getProjectActivity,Ao as getProjectCommit,jo as getProjectCommitDiff,yr as getProjectDetail,Eo as getProjectFileHistory,ni as getProjectGitToken,hr as getProjectLlmCatalog,oy as getProjectLlmCatalogProviders,br as getProjectModelPicker,jr as getProjectSandboxHealth,cy as getProjectSandboxProviderTransition,$r as getProjectSession,ra as getProjectSessionConfigState,ia as getProjectSessionScope,Fa as getProrationPreview,Yk as getProviders,zP as getProxyBaseUrl,Ef as getPublicClientForUrl,oS as getPublicMarketplaceItem,aS as getPublicMarketplaceItemFile,uP as getPublicSessionShare,pP as getPublicSessionShareMessages,hS as getPublicShareByToken,vS as getPublicTemplate,mP as getPublicVoiceJoin,fP as getPublicVoiceTranscript,B_ as getQuestionForTool,Pb as getReferralCode,wb as getReferralStats,yk as getRetryInfo,hk as getRetryMessage,Rc as getReviewItem,Wb as getRolePermissions,Jb as getRoleUsage,Uw as getSSHConnection,Zk as getSandbox,tw as getSandboxById,xw as getSandboxMemberScopes,zk as getSandboxPortUrl,tS as getSandboxProvisionStatus,nS as getSandboxProvisionStreamUrl,Gw as getSandboxUpdateStatus,$l as getSandboxUrl,fS as getSecretSetupLink,dr as getServerHealth,Pf as getServiceLogs,Yo as getSessionAudit,gk as getSessionCost,Or as getSessionCostRecord,ol as getSessionHealth,mx as getSessionPolicy,zo as getSessionPreviewCandidates,Zo as getSessionTranscript,tk as getShellModePart,Za as getSlackChannelFile,Va as getSlackInstallation,Xa as getSlackManifest,Qa as getSlackMode,ax as getSsoProvider,ap as getStaticFileHealthPath,or as getSupabaseAccessToken,ce as getSupabaseAccessTokenWithRetry,_m as getTask,wm as getTaskStatus,$P as getTemplate,Am as getTicket,O_ as getToolInfo,Mp as getTranscriptFilename,dk as getTurnCost,ck as getTurnError,lk as getTurnErrorDetails,uk as getTurnStatus,Ka as getUsageRollup,_S as getUserRolesWithToken,$o as getVersionDiff,bw as getViewerSandboxScopes,ea as getVoiceTranscript,ok as getWorkingState,kw as grantSandboxProjectAccess,z_ as groupMessagesIntoTurns,bk as hasDiffs,BP as hasLocalhostUrls,ip as hasPreviewTarget,up as heartbeatGapEvent,Kr as humanizeToolName,lx as importSsoProviderFromMetadata,qP as installTemplate,nt as invalidateTokenCache,Bs as inviteAccountMember,Si as inviteProjectMember,ei as inviteRepoCollaborator,Jf as isAdminBypassEnabled,R_ as isAgentPart,ep as isAppRouteUrl,cd as isAttachment,ou as isBillingError,T_ as isCompactionPart,Ot as isConfigured,Fw as isDestructivePhase,ZP as isExternalUrl,ad as isFilePart,Tk as isInstanceDetailPath,Bd as isInstanceScopedAppPath,JP as isInternalLocalhostUrl,xy as isInviteSent,ik as isLastUserMessage,iy as isManagedGithubProject,Dk as isOpenCodeConfigInvalidError,A_ as isPatchPart,VP as isPreviewUrl,cp as isProxiableLocalhostUrl,zr as isReasoningPart,OP as isRuntimeReady,Ds as isServerReachable,Ko as isSessionFresh,vh as isSessionStartError,yd as isShellMode,I_ as isSnapshotPart,qS as isSubdomainPreviewUrl,fe as isTextPart,oe as isToolPart,q_ as isToolPartHidden,As as isUnderSandboxRoot,YP as isWebProxyUrl,uu as kortixPty,Xs as leaveAccount,yi as linkGitHubInstallation,li as linkRepository,Kc as listAccountAudit,zc as listAccountAuditWebhooks,Ns as listAccountInvites,Gs as listAccountMembers,yx as listAccountSessions,Oc as listAccountTokens,Us as listAccounts,Vb as listActions,Hx as listAdminSandboxes,zb as listAgentIdentities,Ry as listAllConnectionProfiles,kr as listAllConnectorAuthorizations,Tx as listAuditEvents,Sx as listAuditWebhooks,jw as listBackups,Ta as listBillingTransactions,qo as listChangeRequests,lb as listChannelBindings,Lm as listColumns,Cy as listConnectionProfiles,_r as listConnectorAuthorizations,Wi as listConnectors,tb as listCostByProject,mf as listCredentialEvents,gf as listCredentials,ao as listDiscoverIntegrations,Ps as listEnv,el as listFeaturedMarketplaces,Gm as listFields,ct as listFiles,pc as listGatewayLogs,pi as listGitHubInstallations,gi as listGitHubRepositories,mi as listGitHubRepositoryBranches,$b as listGroupMembers,Db as listGroupProjectGrants,Tb as listGroups,tf as listKortixProjectSessions,Ym as listKortixProjects,ws as listKortixPty,di as listLinkableGitHubInstallations,Yc as listMarketplaceCatalogItems,rl as listMarketplaceSources,Zc as listMarketplaces,Ub as listMemberGroups,Ob as listMemberProjectAccess,af as listMilestoneEvents,sf as listMilestones,Di as listPendingApprovals,vi as listPendingProjectInvites,oo as listPipedreamApps,Lb as listPolicies,_i as listProjectAccess,bi as listProjectAccessRequests,zm as listProjectAgents,To as listProjectBranches,Gc as listProjectCliTokens,Io as listProjectCommits,So as listProjectFiles,Ti as listProjectGroupGrants,go as listProjectPolicies,Ei as listProjectResourceGrants,fo as listProjectSandboxTemplates,wo as listProjectSandboxes,Oi as listProjectSecrets,Ge as listProjectSessions,yo as listProjectSnapshots,ca as listProjectTriggers,Ce as listProjects,Zs as listProjectsForAccount,sS as listPublicMarketplaceItems,iS as listPublicMarketplaces,Sb as listReferrals,Cc as listReviewItems,Hb as listRoles,gw as listSandboxMembers,_w as listSandboxProjectMembers,jc as listSandboxShares,rw as listSandboxes,tx as listScimTokens,Px as listServiceAccountsApi,xf as listServiceTemplates,bf as listServices,za as listSessionCosts,Wo as listSessionPublicShares,Mi as listSessionsNeedingInput,px as listSsoGroupMappings,km as listTaskEvents,Pm as listTasks,Nm as listTemplates,jm as listTicketEvents,Im as listTickets,rg as loadHttpSessionHistory,Zw as markInstanceError,ht as markSessionFresh,Lo as mergeChangeRequest,Vx as migrateAdminSandboxProvider,ft as mkdir,pp as narrowChatEvent,$k as normalizeAppPathname,e_ as normalizeExternalInput,Rt as normalizeToolName,Oo as openChangeRequest,Br as openEventStream,SS as openStressTestStream,De as parseBillingError,vk as parseFlagOverride,wt as parseLocalhostUrl,zd as parseOpenCodeErrorPayload,dl as parseSubdomainUrl,XP as parseWebProxyUrl,rf as patchKortixProject,no as pipedreamConnect,By as pipedreamConnectConnectionProfile,Ir as pipedreamConnectConnectorAuthorization,po as pipedreamFinalize,Ny as pipedreamFinalizeConnectionProfile,Ar as pipedreamFinalizeConnectorAuthorization,$ as platformConfig,Uy as pollConnectionProfileOAuth2DeviceAuthorization,Ou as pollConnectorAuthorizationOAuth2DeviceAuthorization,Bi as pollProjectProviderOAuth,uc as previewGatewayRoute,ix as previewMfaRequired,Ix as probeEffectivePermission,Ax as probeEffectivePermissions,Sh as projectSessionStartSeed,ii as provisionProject,py as provisionProjectWithToken,ul as proxyLocalhostUrl,WP as proxyUrlToInternal,Ga as purchaseCredits,Ey as putConnectionProfileOAuth2Application,$u as putConnectorAuthorizationOAuth2Application,cw as reactivateSandbox,Ua as reactivateSubscription,Le as readBlob,Oe as readFile,Co as readProjectFile,ho as rebuildProjectSnapshot,Ty as reconcileConnectionProfile,wr as reconcileConnectorAuthorization,Iy as reconcileMemberConnectionProfile,Sr as reconcileMemberConnectorAuthorization,kf as reconcileServices,uS as recordPlatformLogout,_b as refreshReferralCode,wf as registerService,Pi as rejectProjectAccessRequest,L_ as relativizePath,sa as reloadProjectSessionConfig,Jc as removeAccountAuditWebhook,Js as removeAccountMember,Mb as removeGroupMember,Cs as removeKortixPty,il as removeMarketplaceSource,fw as removeSandboxMember,yt as renameFile,nw as renameSandbox,Go as reopenChangeRequest,pf as reopenMilestone,Fm as replaceColumns,Bm as replaceFields,Km as replaceTemplates,Ux as requestAccountDeletion,Bo as requestChangesOnChangeRequest,by as requestProjectAccess,Xc as requestProjectConnector,Qc as requestProjectSecret,Hs as resendAccountInvite,Ri as resendPendingProjectInvite,jf as resetClient,lc as resetGatewayRoutingPolicy,qf as resetPublicClient,Hw as resetSandboxUpdateStatus,Ui as resolveApproval,bt as restartProjectSession,iw as restartSandbox,$w as restoreBackup,yf as revealCredential,hx as revokeAccountSession,Fc as revokeAccountToken,Ly as revokeConnectionProfile,Cr as revokeConnectorAuthorization,wc as revokeGatewayKey,Ci as revokePendingProjectInvite,wi as revokeProjectAccess,Nc as revokeProjectCliToken,Sw as revokeSandboxInvite,ww as revokeSandboxProjectAccess,$c as revokeSandboxShare,rx as revokeScimToken,Jo as revokeSessionPublicShare,ge as rewriteLocalhostUrl,Sc as runGatewayPlayground,fi as saveGitHubInstallation,Oa as scheduleDowngrade,vo as searchProjectFiles,vb as sendReferralEmails,_f as serviceAction,Ch as sessionStartKey,jk as setActiveInstanceCookie,Vf as setAdminBypass,zx as setAdminProviderDistribution,Qx as setAdminProviderFallback,ka as setAgentScope,Zg as setBootstrapAuthToken,Yg as setCachedAuthToken,Hy as setConnectionPolicies,Qi as setConnectorAuthorizationStrategy,uo as setConnectorCredential,Ji as setConnectorCredentialMode,to as setConnectorName,Zi as setConnectorPolicies,Xi as setConnectorSensitive,Gy as setDefaultConnectionProfile,Tr as setDefaultConnectorAuthorization,Ex as setEnterpriseDemo,_s as setEnv,xc as setGatewayBudget,cc as setGatewayRoutingPolicy,AS as setGitHubAppFromExisting,jS as setGitHubAppPat,PS as setMaintenanceConfig,oc as setMeetBotName,ex as setMemberSuperAdmin,ox as setMfaRequired,xa as setModelDefault,Hi as setPersonalProjectSecret,$h as setProjectModelEnablement,ci as setProjectOnboardingComplete,mo as setProjectPolicies,Fi as setProjectSecretStrategy,aa as setProjectSessionModel,oa as setProjectSessionScope,Ho as setProjectSessionSharing,da as setProjectTriggersActivation,Mw as setupSSH,ak as shouldHideResponsePart,ud as shouldShowToolPart,Y_ as sortSessions,E_ as splitUserParts,Dy as startConnectionProfileOAuth2Authorization,My as startConnectionProfileOAuth2DeviceAuthorization,Mu as startConnectorAuthorizationOAuth2Authorization,Uu as startConnectorAuthorizationOAuth2DeviceAuthorization,mS as startConnectorSetupLink,IS as startGitHubAppManifest,Gi as startProjectProviderOAuth,Re as startProjectSession,bS as startSessionWithToken,Cm as startTask,xt as stopProjectSession,ow as stopSandbox,N_ as stripAnsi,Ik as stripInstancePrefix,_e as stripTrailingSlashes,lS as submitAccessRequest,kS as submitDemoRequest,dS as submitOAuthConsent,Tc as submitReviewItem,yS as submitSecretSetupLink,Qf as supabaseClient,Vi as syncConnectors,Jh as syncSubscription,Df as systemReload,Se as toDaemonPath,Ek as toInstanceAwarePath,lp as toInternalUrl,js as toSandboxAbsolutePath,Es as toWorkspaceRelative,Hr as toolInfo,Ld as toolViewModel,vc as transcribeAudio,Kw as triggerSandboxUpdate,lu as triggersRequest,J_ as turnHasSteps,Mm as unassignTicket,Z as unwrapError,Vc as updateAccountAuditWebhook,Qs as updateAccountMemberRole,Fs as updateAccountName,Gh as updateAgentConfig,Cx as updateAuditWebhook,ub as updateChannelBinding,Ay as updateConnectionProfileCredential,vr as updateConnectorAuthorizationCredential,ic as updateEmailPolicy,oi as updateExperimentalFeature,jb as updateGroup,vs as updateKortixPty,lf as updateMilestone,xx as updatePatPolicy,Gb as updatePolicy,xr as updateProject,ki as updateProjectAccess,Vm as updateProjectAgent,Sa as updateProjectDefaultAgent,Ai as updateProjectGroupGrant,ai as updateProjectSandboxProvider,ta as updateProjectSession,ua as updateProjectTrigger,Xb as updateRole,Yb as updateRolePermissions,yw as updateSandboxMemberRole,Pw as updateSandboxMemberScope,hw as updateSandboxMemberSpendCap,Po as updateSandboxTemplate,fx as updateSessionPolicy,vm as updateTask,ly as updateTemplateWarmPool,$m as updateTicket,qm as updateTicketStatus,Fe as uploadFile,ec as uploadSlackChannelFile,ff as upsertCredential,Ni as upsertProjectGitCredential,Li as upsertProjectSecret,cx as upsertSsoProvider,ti as validateProjectManifest,kb as validateReferralCode,Ys as validateToken,mb as verifyGatewayProvider};
63
+ `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let c=n.length,u=r.length;for(;c>s&&u>s&&n[c-1]===r[u-1];)c--,u--;let p=[];for(let g=0;g<s;g++)p.push({type:"unchanged",text:n[g]});for(let g=s;g<c;g++)p.push({type:"removed",text:n[g]});for(let g=s;g<u;g++)p.push({type:"added",text:r[g]});for(let g=c;g<n.length;g++)p.push({type:"unchanged",text:n[g]});return p}function Md(e){let t=G(e.input?.oldString),n=G(e.input?.newString),r=t!==void 0&&n!==void 0?Dd(t,n):void 0;return{kind:"file-edit",path:Nr(e),diff:r}}var Ol=/^Found\s+(\d+)\s+match/i,Ud=/^(\/[^:]+?):\s*/,Ul=/Line\s+(\d+):/g;function Od(e){let t=e.trim(),n=t.match(Ol),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let c of r.split(/\n\n+/)){let u=c.trim();if(!u)continue;let p=u.match(Ud);if(!p)continue;let g=p[1],f=u.slice(p[0].length),m=[],x;for(Ul.lastIndex=0;(x=Ul.exec(f))!==null;)m.push({line:Number(x[1]),contentStart:x.index+x[0].length,headerStart:x.index});for(let _=0;_<m.length;_++){let j=_+1<m.length?m[_+1].headerStart:f.length,$=f.slice(m[_].contentStart,j).trim();s.push({path:g,line:m[_].line,content:$.endsWith(";")?$.slice(0,-1):$})}}return s}function Ld(e){return e.trim().split(`
64
+ `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Fd(e){let t=G(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=Ol.test(e.output.trim())?Od(e.output):Ld(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Gd(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 Kr(e){let t=Ie(e)??{};return{content:G(t.content)??"",status:G(t.status)??"pending",priority:G(t.priority)}}function Bd(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Kr)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Kr)};let n=Ie(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Kr)}:{kind:"todo",items:[]}}function Kd(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Ie(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=Ie(p),f=g&&G(g.label);return f?[{label:f,description:g?G(g.description):void 0}]:[]});return{question:G(s.question)??"",header:G(s.header),options:u}})}}function Nd(e){let n=e.input&&Object.keys(e.input).length>0?Ml(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?ze(e.outputParsed):Ml(e.outputParsed):e.outputText!==void 0?r=ze(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Hd(e){switch(Tt(e.name)){case"web_search":case"websearch":case"image_search":return Sd(e);case"bash":return jd(e);case"read":return Ed(e);case"write":return $d(e);case"edit":case"morph_edit":return Md(e);case"grep":case"glob":return Fd(e);case"task":return Gd(e);case"todowrite":return Bd(e);case"question":case"ask":return Kd(e);default:return Nd(e)}}function It(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Wd(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 Ak(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 Hr(e,t,n){return e!==void 0?e:Wd(It(t),n)}var jk={get disableMobileAdvertising(){return Hr(E().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Hr(E().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Hr(E().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var At="kortix-active-instance",zd=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Vd(e){return zd.some(t=>e===t||e.startsWith(`${t}/`))}function Ve(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 $k(e){let t=Ve(e);return!!t&&t.innerPath===""}function qk(e){let t=Ve(e);return!t||!t.innerPath?e:t.innerPath}function Jd(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=Ve(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return Vd(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function Xd(e){return e?Ve(e)?.instanceId??null:null}function Dk(){return typeof window>"u"?null:Xd(window.location.pathname)||Qd()}function Qd(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${At}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function Mk(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${At}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${At}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${At}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Uk(e,t){return t?Jd(t,e):e}function Ok(e){let t=Ve(e);return t?t.innerPath||"/dashboard":e}function Ll(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 Yd(e){let t=Ll(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 Fl(e){let t=Yd(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function Fk(e){return Fl(e)!==null}function Zd(e){let t=Fl(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),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:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:Ll(e)||"The sandbox is running, but OpenCode returned an error."}}function W(){let e=It("BACKEND_URL")||E().backendUrl;return e||"http://localhost:8008/v1"}function Je(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=Je(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return Je(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var Gl=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Bl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function eg(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 Wr(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?`${W()}/p/${n.external_id}/${se.KORTIX_MASTER}`:""),status:eg(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 zr(){let e=await Re(),t=[];for(let n of e){let r=await Be(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Wr(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return c!==0?c:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function ye(e){let t=await zr();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 jt(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await q(`${W()}${e}`,{...t,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new A(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=Me(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function Kl(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`${W()}/p/${e.external_id}/${se.KORTIX_MASTER}`}function Qk(e,t){return e.external_id?`${W()}/p/${e.external_id}/${t}`:null}async function rw(){let e=await o.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function tg(e){let t=await ye();if(t)return{sandbox:t.sandbox,created:!1};let r=(await Re())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Ke(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await Te(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Wr(r,s,c),created:!0}}async function sw(){return(await ye().catch(()=>null))?.sandbox??null}async function ow(e){return{sandbox:(await tg(e)).sandbox}}async function iw(e){let t=Je(e);return t?(await ye(t).catch(()=>null))?.sandbox??null:null}async function aw(e,t){throw await ye(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function cw(e){let t=Je(e);return(await zr().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function lw(){if(typeof window>"u")return null;let e=W(),t=Array.from(new Set([e,...Gl]));for(let n of t)try{let r=await fetch(Bl(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 uw(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await ye(e);if(!t)throw new Error("Project session sandbox not found");await xt(t.project.project_id,t.session.session_id)}async function pw(e){if(!e)throw new Error("No sandbox selected to stop");let t=await ye(e);if(!t)throw new Error("Project session sandbox not found");await Pt(t.project.project_id,t.session.session_id)}async function dw(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function gw(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function bw(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function xw(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function Pw(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function _w(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function kw(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function ww(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Sw(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function vw(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Vr(e,t,n){let r=Kl(e),s=await q(`${ke(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function Cw(e,t){return Vr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function Rw(e,t,n,r="member"){await Vr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function Tw(e,t,n){await Vr(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Iw(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Ew(e){let t=await jt(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function $w(e){let t=await jt(`/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 qw(e){let t=await jt(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function Mw(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Uw(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Ow(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Lw(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Gw(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Bw(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var ng=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Hw(e){return ng.includes(e)}async function Ww(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 zw(e){let t=e?`?channel=${e}`:"",n=await fetch(`${W()}/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 rg(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function rg(e){let t=e?`?channel=${e}`:"",n=await fetch(`${W()}/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 Vw(){let e=await fetch(`${W()}/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 Jw(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Xw(e){}async function Qw(e){}async function tS(e){return{serverTypes:[],location:e||"hel1"}}async function nS(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function rS(e){let t=await o.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function sS(e,t){await o.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function oS(){let e=await o.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function iS(e){let t=await o.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function aS(e,t){return`${W()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var ae=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Et(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Jr(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 $t(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function qt(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 B(e,t,n){let r=n?.body!==void 0,s=await fetch(`${Et(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Jr(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),c=await $t(s);if(!s.ok)throw new ae(qt(s,c),s.status,c);return c}function sg(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 lS(e,t){return B(`/marketplace/items${sg(t)}`,e)}function uS(e){return B("/marketplace/marketplaces",e)}function pS(e,t){return B(`/marketplace/items/${encodeURIComponent(e)}`,t)}function dS(e,t,n){return B(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function gS(e,t){return B("/access/check-email",t,{method:"POST",body:{email:e}})}function mS(e,t){return B("/access/request-access",t,{method:"POST",body:e})}function fS(e){return B("/auth/logout",e,{method:"POST",body:{}})}function yS(e,t){return B(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function hS(e,t){return B("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function bS(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function xS(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function PS(e,t){return B(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function _S(e,t,n){return B(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function kS(e,t){return B(`/p/public-share/${encodeURIComponent(e)}`,t)}function wS(e,t,n){return B(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function SS(e){return B("/system/maintenance",e)}function vS(e,t){return B("/system/maintenance",t,{method:"PUT",body:e})}function CS(e){return B("/user-roles",e)}function RS(e,t){return B("/system/demo-request",t,{method:"POST",body:e})}async function TS(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.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);let s=await fetch(`${Et(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Jr(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let c=await $t(s);throw new ae(qt(s,c),s.status,c)}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")}}async function IS(e,t){let n=await fetch(`${Et(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Jr(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await $t(n);throw new ae(qt(n,r),n.status,r)}if(!n.body)throw new ae("No response body",n.status,null);return n.body}var og=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ig(e,t){return og.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${Et(e)}/`):null}async function AS(e,t,n){let r=ig(e,t);if(!r)throw new ae("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),c=await $t(s);if(!s.ok)throw new ae(qt(s,c),s.status,c);return c}async function $S(){let e=await o.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function qS(e={}){let t=await o.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function DS(e){let t=await o.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function MS(e){let t=await o.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function US(){let e=await o.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function Nl(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 ag(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let c=new Set;if(t)try{c.add(new URL(t).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(n.origin)}catch{return!1}}function Hl(e,t){return ag(e,t)?(t?Nl(t):null)??Nl(e):null}function LS(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function FS(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function NS(e,t={}){let n=Hl(e,t.serverUrl);if(!n)return!1;let r=await xe();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}}var WS=3e3;function cg(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 zS(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 c=await fetch(e,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return cg(c.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function Xr(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function JS(e,t){return`${Xr(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function XS(e,t){return`${Xr(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function lg(e,t){return`${Xr(e)}/presentation/convert-to-${t}`}async function QS(e,t,n,r){let s=lg(t,e),c=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),g=!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 $=await f.blob();if($.size===0)throw new Error("Downloaded file is empty");return $}if(f.status===202){if(g||(g=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise(($,l)=>{let h=setTimeout($,c);r?.signal?.addEventListener("abort",()=>{clearTimeout(h),l(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let _=await f.text().catch(()=>""),j=f.statusText;try{let $=JSON.parse(_);j=String($.error||$.detail||$.message||j)}catch{_&&(j=_)}throw new Error(`Failed to download ${e.toUpperCase()}: ${j} (HTTP ${f.status})`)}}function zl(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let c=new URLSearchParams({limit:String(r)});s&&c.set("before",s);let u=await e.getToken?.(),p=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function ug(e){return dg(zl(e))}function pg(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=zl(e),s=async c=>{let u=await e.getToken?.(),p=await t(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new Qr({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function dg(e){let t=new Map,n=new Set,r;do{let s=await e({limit:50,...r?{before:r}:{}});for(let c of s.messages)t.set(c.info.id,c);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...t.values()].sort((s,c)=>s.info.id.localeCompare(c.info.id))}var gg={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Wl=500,Qr=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??gg,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=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"?"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"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0}),this.setBusy(!0)}observePromptStatus(t){if(this.promptObservationPhase!=="idle"){if(t.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.setBusy(!1)}setBusy(t){if(!t){this.stopLivenessTimer();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.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t),r=await this.loadCompleteTurn(n,"tail",t);if(this.destroyed)return;this.containsNewPromptReply(r.messages)&&this.observePromptActivity(),this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t)}async loadCompleteTurn(t,n,r,s){let c=[...t.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),g=t.nextCursor;for(let f of t.messages)f.info.role==="user"&&u.add(f.info.id);for(;g&&c.some(f=>f.info.role==="assistant"&&!!f.info.parentID&&!u.has(f.info.parentID));){if(p.has(g))throw new Error(`Session history cursor repeated: ${g}`);p.add(g);let f=await this.loadPage(n,r,g);c.unshift(...f.messages);for(let m of f.messages)m.info.role==="user"&&u.add(m.info.id);g=f.nextCursor}return{messages:c,nextCursor:g}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.reconcile("poll"),await this.reconcileStatus(),this.lastActivityAt=this.scheduler.now())}containsNewPromptReply(t){if(this.promptObservationPhase==="idle")return!1;let n=new Set(t.filter(r=>r.info.role==="user"&&!this.knownUserMessageIds.has(r.info.id)).map(r=>r.info.id));return n.size===0?!1:t.some(r=>r.info.role==="assistant"&&!!r.info.parentID&&n.has(r.info.parentID))}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let t=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.stopLivenessTimer())};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(t,Wl):setTimeout(t,Wl)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder&&n.isPromptObservedBusy===this.snapshot.isPromptObservedBusy)){this.snapshot=n;for(let r of this.listeners)r()}}};function mg(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function fg(e){let{url:t,token:n,method:r="GET",body:s,onEvent:c,onOpen:u,onError:p,signal:g}=e,f=new Map,m=null,x=!1;function _(a,R){c?.(a,R);let T=f.get(a);if(T)for(let C of T)try{C(R)}catch{}}async function j(){if(x)return;m=new AbortController;let a=g?AbortSignal.any([m.signal,g]):m.signal;try{let R={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(R["Content-Type"]="application/json");let T=await fetch(t,{method:r,headers:R,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:a,credentials:"include"});if(!T.ok)throw new Error(`SSE connection failed: ${T.status} ${T.statusText}`);if(!T.body)throw new Error("SSE response has no body");u?.();let C=T.body.getReader(),k=new TextDecoder,I="",S="message",L="";for(;!x;){let{done:K,value:y}=await C.read();if(K)break;I+=k.decode(y,{stream:!0});let v=I.split(`
65
+ `);I=v.pop()||"";for(let M of v)M===""?L&&(_(S,L.trimEnd()),S="message",L=""):M.startsWith("event: ")?S=M.slice(7).trim():M.startsWith("data: ")?L+=(L?`
66
+ `:"")+M.slice(6):M.startsWith("data:")&&(L+=(L?`
67
+ `:"")+M.slice(5))}}catch(R){if(x||R instanceof DOMException&&R.name==="AbortError")return;p?.(R instanceof Error?R:new Error(String(R)))}}function $(){x=!0,m?.abort(),m=null,f.clear()}function l(a,R){let T=f.get(a)??new Set;T.add(R),f.set(a,T)}function h(a,R){f.get(a)?.delete(R)}return{connect:j,close:$,addEventListener:l,removeEventListener:h}}function ev(e,t){return fg({...t,url:mg(e)})}export{At as ACTIVE_INSTANCE_COOKIE,A as ApiError,qe as AuthError,_e as BillingError,jl as COST_MARKUP,vl as DEFAULT_TRANSCRIPT_OPTIONS,ng as DESTRUCTIVE_PHASES,Mu as FEATURE_NOT_SUPPORTED_CODE,ae as HostBoundaryError,zd as INSTANCE_SCOPED_ROUTES,Uu as MODEL_NOT_SERVABLE_CODE,WS as PREVIEW_PROBE_TIMEOUT_MS,Ou as PROVISION_IN_FLIGHT_CODE,Mr as PublicSessionShareError,Ur as PublicVoiceJoinError,De as RequestTooLargeError,pr as RuntimeNotReadyError,gr as SANDBOX_FS_ROOTS,se as SANDBOX_PORTS,Rt as SessionNotReadyError,jr as SessionStartError,hg as __getConfigResolver,yg as __setConfigResolver,Ks as acceptAccountInvite,$w as acceptInvite,Lc as actReviewItem,ni as activateConnection,Lb as addGroupMembers,ml as addMarketplaceSource,xw as addSandboxMember,_d as allDescendantIds,FS as appendPreviewToken,yo as approveProjectAccessRequest,qm as approveTask,kr as archiveProject,Bm as assignTicket,Co as attachGroupToProject,q as authenticatedFetch,o as backendApi,db as bindSlackIdentity,gb as bindTeamsIdentity,Oo as brokerProjectSecretRequest,Jd as buildInstancePath,XS as buildPresentationTemplateImageUrl,JS as buildPresentationTemplatePdfUrl,Hl as buildPreviewAuthEndpoint,ig as buildPublicTemplateUrl,lg as buildRuntimePresentationConversionUrl,Ei as buildSandboxTemplate,XP as buildStaticFileHealthPreviewUrl,JP as buildStaticFileLocalUrl,VP as buildStaticFilePreviewUrl,dp as buildStaticFileServicePath,mg as buildTunnelEventStreamUrl,t_ as buildWebProxyUrl,Fc as bulkActReviewItems,Vb as bulkDeletePolicies,Jb as bulkImportPolicies,Vo as callConnector,Kx as cancelAccountDeletion,Fs as cancelAccountInvite,dw as cancelSandbox,Qw as cancelSandboxUpdate,Ja as cancelScheduledChange,Wa as cancelSubscription,gS as checkAccessEmail,nk as childMapByParent,oS as claimComputer,Zh as claimPerSeatBilling,aa as claimWarmProjectSession,Tl as classifyPart,cg as classifyPreviewProbeStatus,dd as classifyTurn,Aa as clearModelDefault,fh as clearSessionFresh,Xi as closeChangeRequest,hf as closeMilestone,Y_ as collectTurnParts,Nm as commentTicket,Zi as commitSessionChanges,Al as computeStatusFromPart,Za as configureAutoTopup,Ot as configureKortix,Na as confirmCheckoutSession,gc as connectEmail,oc as connectSlack,iP as convertPresentationToGoogleSlides,QS as convertRuntimePresentation,gt as copyFile,tc as costExportUrl,qs as createAccount,rl as createAccountAuditWebhook,Jc as createAccountToken,Ax as createAuditWebhook,Uw as createBackup,Ka as createCheckoutSession,yi as createConnector,dt as createFile,Ec as createGatewayKey,Db as createGroup,pg as createHttpSessionSyncController,nS as createInstance,qp as createKortix,Ps as createKortixPty,qP as createMarketplaceInstallSession,ff as createMilestone,Yh as createPerSeatCheckout,Hb as createPolicy,Ha as createPortalSession,Zs as createProject,ef as createProjectAgent,Yc as createProjectCliToken,eo as createProjectRepo,Ao as createProjectResourceGrant,Ke as createProjectSession,xa as createProjectTrigger,tx as createRole,fg as createSSEStream,ow as createSandbox,Bc as createSandboxShare,Ii as createSandboxTemplate,ax as createScimToken,Cx as createServiceAccountApi,sa as createSessionPublicShare,hx as createSsoGroupMapping,jm as createTask,Lm as createTicket,ev as createTunnelEventStream,Ns as declineAccountInvite,qw as declineInvite,Nx as deleteAccountImmediately,Ex as deleteAuditWebhook,Lw as deleteBackup,bi as deleteConnector,Sf as deleteCredential,bs as deleteEnv,mt as deleteFile,Ac as deleteGatewayBudget,mo as deleteGitHubInstallation,Ub as deleteGroup,rS as deleteInstance,uf as deleteKortixProject,xf as deleteMilestone,Ho as deletePersonalProjectSecret,zb as deletePolicy,nf as deleteProjectAgent,Go as deleteProjectProviderOAuth,jo as deleteProjectResourceGrant,Ko as deleteProjectSecret,da as deleteProjectSession,_a as deleteProjectTrigger,sx as deleteRole,ji as deleteSandboxTemplate,Tx as deleteServiceAccountApi,bx as deleteSsoGroupMapping,fx as deleteSsoProvider,Dm as deleteTask,Hm as deleteTicket,Bs as describeAccountInvite,zo as describeConnectorTool,To as detachGroupFromProject,lp as detectLocalhostUrls,Rx as disableServiceAccountApi,mc as disconnectEmail,US as disconnectGitHubApp,cc as disconnectSlack,Gy as discoverConnectionOAuth2,hi as discoverConnectorAuth,lw as discoverLocalSandbox,TS as downloadAccountAudit,Uf as dropClientForUrl,Ff as dropPublicClientForUrl,Ym as ensurePmSession,NS as ensurePreviewSessionCookie,Oy as ensureProjectConnectorConnection,tg as ensureSandbox,ia as ensureWarmProjectSession,xu as env,tl as exportAccountAudit,me as extractGatewayErrorDetails,Ve as extractInstanceRoute,jk as featureFlags,Xh as fetchAccountStateWithToken,ly as fetchAccountsWithToken,cb as fetchCostExportCsv,Ui as fetchProjectArchive,xy as fetchProjectsForAccountWithToken,qu as files,ut as findFiles,Z_ as findLastTextPart,pt as findText,wa as fireProjectTrigger,Ti as fixSandboxWithAgent,bu as formatBillingErrorForUI,xk as formatCost,yk as formatDuration,Zd as formatOpenCodeRuntimeError,Zd as formatRuntimeError,Pk as formatTokens,Gp as formatTranscript,Dp as generateSessionId,Ds as getAccount,Gx as getAccountDeletionStatus,Ma as getAccountState,Ua as getAccountStateMinimal,Qd as getActiveInstanceIdFromCookie,Yx as getAdminProviderAnalytics,Jx as getAdminProviderDistribution,eP as getAdminProviderFallback,Hx as getAdminRole,xd as getAgentCardLabel,Hh as getAgentConfig,rf as getAgentPersona,Vw as getAllVersions,tk as getAnsweredQuestionParts,AP as getApprovalLink,xe as getAuthToken,ps as getAuthTokenWithRetry,Ya as getAutoTopupSettings,Qh as getAutoTopupSetupStatus,Fa as getBillingCreditBreakdown,Ba as getBillingTierConfigurations,La as getBillingTransactionsSummary,Ga as getBillingUsageHistory,Hi as getChangeRequest,Wi as getChangeRequestDiff,zi as getChangeRequestMergePreview,G_ as getChildSessionError,F_ as getChildSessionId,B_ as getChildSessionToolParts,ue as getClient,te as getClientForUrl,Pi as getConnectStatus,Fy as getConnectionOAuth2Application,Hy as getConnectionOAuth2Status,Wy as getConnectionPolicies,Sr as getConnectorCatalog,gi as getConnectorConfig,pi as getConnectorPolicies,bS as getConnectorSetupLink,ab as getCostSummary,Xd as getCurrentInstanceIdFromPathname,Dk as getCurrentInstanceIdFromWindow,As as getCurrentProject,Da as getDefaultAccountState,H_ as getDiagnostics,bd as getDirectory,Cr as getDiscoverConnector,Jy as getDiscoverIntegration,pc as getEmailInstallation,dc as getEmailMode,Mx as getEnterpriseDemo,lt as getFileStatus,Il as getFileWithDir,hd as getFilename,rg as getFullChangelog,vc as getGatewayBreakdown,Tc as getGatewayBudgets,Rc as getGatewayErrors,jc as getGatewayKeys,kc as getGatewayLog,wc as getGatewayOverview,hc as getGatewayRoutingPolicy,Sc as getGatewaySeries,Cc as getGatewaySessions,$S as getGitHubAppStatus,io as getGitHubInstallation,oP as getGoogleAuthUrl,qb as getGroup,O_ as getHiddenToolParts,Ew as getInvite,tS as getJustavpsServerTypes,af as getKortixProject,cf as getKortixProjectBySession,ws as getKortixPtyWebSocketUrl,zw as getLatestSandboxVersion,SS as getMaintenanceConfig,fy as getManagedGitStatus,pl as getMarketplaceCatalogItem,dl as getMarketplaceCatalogItemFile,lx as getMfaRequired,gf as getMilestone,Ta as getModelDefaults,yS as getOAuthConsentRequest,Fl as getOpenCodeConfigInvalidError,M_ as getPartText,wx as getPatPolicy,W_ as getPermissionForTool,hr as getProject,sf as getProjectActivity,Fi as getProjectCommit,Gi as getProjectCommitDiff,br as getProjectDetail,Bi as getProjectFileHistory,Ys as getProjectGitToken,xr as getProjectLlmCatalog,my as getProjectLlmCatalogProviders,Pr as getProjectModelPicker,Rr as getProjectSandboxHealth,yy as getProjectSandboxProviderTransition,Ir as getProjectSession,ga as getProjectSessionConfigState,fa as getProjectSessionScope,Xa as getProrationPreview,rw as getProviders,QP as getProxyBaseUrl,Lf as getPublicClientForUrl,pS as getPublicMarketplaceItem,dS as getPublicMarketplaceItemFile,fP as getPublicSessionShare,yP as getPublicSessionShareMessages,kS as getPublicShareByToken,AS as getPublicTemplate,xP as getPublicVoiceJoin,PP as getPublicVoiceTranscript,z_ as getQuestionForTool,vb as getReferralCode,Tb as getReferralStats,_k as getRetryInfo,kk as getRetryMessage,Uc as getReviewItem,Yb as getRolePermissions,ex as getRoleUsage,Bw as getSSHConnection,sw as getSandbox,iw as getSandboxById,Sw as getSandboxMemberScopes,Qk as getSandboxPortUrl,iS as getSandboxProvisionStatus,aS as getSandboxProvisionStreamUrl,Ww as getSandboxUpdateStatus,Kl as getSandboxUrl,PS as getSecretSetupLink,mr as getServerHealth,Rf as getServiceLogs,ca as getSessionAudit,bk as getSessionCost,qr as getSessionCostRecord,yl as getSessionHealth,xx as getSessionPolicy,na as getSessionPreviewCandidates,la as getSessionTranscript,ik as getShellModePart,lc as getSlackChannelFile,sc as getSlackInstallation,ac as getSlackManifest,ic as getSlackMode,dx as getSsoProvider,gp as getStaticFileHealthPath,cr as getSupabaseAccessToken,ce as getSupabaseAccessTokenWithRetry,Tm as getTask,Am as getTaskStatus,OP as getTemplate,Um as getTicket,K_ as getToolInfo,Bp as getTranscriptFilename,hk as getTurnCost,gk as getTurnError,mk as getTurnErrorDetails,fk as getTurnStatus,ec as getUsageRollup,CS as getUserRolesWithToken,Ki as getVersionDiff,ww as getViewerSandboxScopes,ua as getVoiceTranscript,pk as getWorkingState,Rw as grantSandboxProjectAccess,Q_ as groupMessagesIntoTurns,wk as hasDiffs,zP as hasLocalhostUrls,pp as hasPreviewTarget,yp as heartbeatGapEvent,Fr as humanizeToolName,mx as importSsoProviderFromMetadata,LP as installTemplate,nt as invalidateTokenCache,Os as inviteAccountMember,_o as inviteProjectMember,Xs as inviteRepoCollaborator,ry as isAdminBypassEnabled,E_ as isAgentPart,ip as isAppRouteUrl,md as isAttachment,hu as isBillingError,$_ as isCompactionPart,Lt as isConfigured,Hw as isDestructivePhase,s_ as isExternalUrl,gd as isFilePart,$k as isInstanceDetailPath,Vd as isInstanceScopedAppPath,e_ as isInternalLocalhostUrl,Ty as isInviteSent,uk as isLastUserMessage,gy as isManagedGithubProject,Fk as isOpenCodeConfigInvalidError,D_ as isPatchPart,ZP as isPreviewUrl,mp as isProxiableLocalhostUrl,Br as isReasoningPart,KP as isRuntimeReady,js as isServerReachable,ea as isSessionFresh,Ah as isSessionStartError,kd as isShellMode,q_ as isSnapshotPart,LS as isSubdomainPreviewUrl,fe as isTextPart,ie as isToolPart,L_ as isToolPartHidden,Cs as isUnderSandboxRoot,r_ as isWebProxyUrl,_u as kortixPty,zs as leaveAccount,go as linkGitHubInstallation,oo as linkRepository,el as listAccountAudit,nl as listAccountAuditWebhooks,Ls as listAccountInvites,Us as listAccountMembers,_x as listAccountSessions,Vc as listAccountTokens,$s as listAccounts,Zb as listActions,Xx as listAdminSandboxes,Qb as listAgentIdentities,Qo as listAllConnections,$x as listAuditEvents,Ix as listAuditWebhooks,Mw as listBackups,Oa as listBillingTransactions,Ni as listChangeRequests,mb as listChannelBindings,Wm as listColumns,Xo as listConnections,ht as listConnectorTools,ii as listConnectors,ib as listCostByProject,_f as listCredentialEvents,Pf as listCredentials,vr as listDiscoverConnectors,Vy as listDiscoverIntegrations,ys as listEnv,ul as listFeaturedMarketplaces,Vm as listFields,ct as listFiles,_c as listGatewayLogs,ao as listGitHubInstallations,lo as listGitHubRepositories,uo as listGitHubRepositoryBranches,Ob as listGroupMembers,Fb as listGroupProjectGrants,$b as listGroups,lf as listKortixProjectSessions,of as listKortixProjects,xs as listKortixPty,co as listLinkableGitHubInstallations,cl as listMarketplaceCatalogItems,gl as listMarketplaceSources,ll as listMarketplaces,Bb as listMemberGroups,Kb as listMemberProjectAccess,mf as listMilestoneEvents,df as listMilestones,Eo as listPendingApprovals,ko as listPendingProjectInvites,xi as listPipedreamApps,Nb as listPolicies,bo as listProjectAccess,fo as listProjectAccessRequests,Zm as listProjectAgents,Oi as listProjectBranches,Qc as listProjectCliTokens,Li as listProjectCommits,qi as listProjectFiles,vo as listProjectGroupGrants,wi as listProjectPolicies,Io as listProjectResourceGrants,vi as listProjectSandboxTemplates,$i as listProjectSandboxes,Do as listProjectSecrets,Be as listProjectSessions,Ci as listProjectSnapshots,ba as listProjectTriggers,Re as listProjects,Js as listProjectsForAccount,lS as listPublicMarketplaceItems,uS as listPublicMarketplaces,Ib as listReferrals,Mc as listReviewItems,Xb as listRoles,bw as listSandboxMembers,Cw as listSandboxProjectMembers,Gc as listSandboxShares,cw as listSandboxes,ix as listScimTokens,vx as listServiceAccountsApi,Cf as listServiceTemplates,vf as listServices,nc as listSessionCosts,ra as listSessionPublicShares,$o as listSessionsNeedingInput,yx as listSsoGroupMappings,Im as listTaskEvents,Rm as listTasks,Xm as listTemplates,Om as listTicketEvents,Mm as listTickets,ug as loadHttpSessionHistory,sS as markInstanceError,bt as markSessionFresh,Ji as mergeChangeRequest,Zx as migrateAdminSandboxProvider,ft as mkdir,hp as narrowChatEvent,Ok as normalizeAppPathname,o_ as normalizeExternalInput,Tt as normalizeToolName,Vi as openChangeRequest,Or as openEventStream,IS as openStressTestStream,Me as parseBillingError,Ak as parseFlagOverride,St as parseLocalhostUrl,Yd as parseOpenCodeErrorPayload,kl as parseSubdomainUrl,n_ as parseWebProxyUrl,pf as patchKortixProject,fi as pipedreamConnect,si as pipedreamConnectConnection,ki as pipedreamFinalize,oi as pipedreamFinalizeConnection,E as platformConfig,Ny as pollConnectionOAuth2DeviceAuthorization,Fo as pollProjectProviderOAuth,Pc as previewGatewayRoute,ux as previewMfaRequired,qx as probeEffectivePermission,Dx as probeEffectivePermissions,zS as probePreviewPort,Ih as projectSessionStartSeed,to as provisionProject,Py as provisionProjectWithToken,Pl as proxyLocalhostUrl,YP as proxyUrlToInternal,Qa as purchaseCredits,Ly as putConnectionOAuth2Application,gw as reactivateSandbox,za as reactivateSubscription,Fe as readBlob,Le as readFile,Mi as readProjectFile,Ri as rebuildProjectSnapshot,Yo as reconcileConnection,Zo as reconcileMemberConnection,If as reconcileServices,fS as recordPlatformLogout,Cb as refreshReferralCode,Af as registerService,ho as rejectProjectAccessRequest,N_ as relativizePath,ma as reloadProjectSessionConfig,ol as removeAccountAuditWebhook,Hs as removeAccountMember,Gb as removeGroupMember,ks as removeKortixPty,fl as removeMarketplaceSource,Pw as removeSandboxMember,yt as renameFile,aw as renameSandbox,Qi as reopenChangeRequest,bf as reopenMilestone,zm as replaceColumns,Jm as replaceFields,Qm as replaceTemplates,Bx as requestAccountDeletion,Yi as requestChangesOnChangeRequest,Ry as requestProjectAccess,al as requestProjectConnector,il as requestProjectSecret,Gs as resendAccountInvite,So as resendPendingProjectInvite,Of as resetClient,xc as resetGatewayRoutingPolicy,Gf as resetPublicClient,Xw as resetSandboxUpdateStatus,qo as resolveApproval,xt as restartProjectSession,uw as restartSandbox,Ow as restoreBackup,wf as revealCredential,kx as revokeAccountSession,Xc as revokeAccountToken,ti as revokeConnection,$c as revokeGatewayKey,wo as revokePendingProjectInvite,Po as revokeProjectAccess,Zc as revokeProjectCliToken,Iw as revokeSandboxInvite,Tw as revokeSandboxProjectAccess,Kc as revokeSandboxShare,cx as revokeScimToken,oa as revokeSessionPublicShare,ge as rewriteLocalhostUrl,qc as runGatewayPlayground,po as saveGitHubInstallation,Va as scheduleDowngrade,Wo as searchConnectorTools,Di as searchProjectFiles,Ab as sendReferralEmails,Tf as serviceAction,jh as sessionStartKey,Mk as setActiveInstanceCookie,ny as setAdminBypass,Qx as setAdminProviderDistribution,tP as setAdminProviderFallback,Ea as setAgentScope,im as setBootstrapAuthToken,om as setCachedAuthToken,zy as setConnectionPolicies,li as setConnectorAuthorizationStrategy,_i as setConnectorCredential,ci as setConnectorCredentialMode,mi as setConnectorName,di as setConnectorPolicies,Xy as setConnectorSecretBinding,ui as setConnectorSensitive,ri as setDefaultConnection,Ux as setEnterpriseDemo,hs as setEnv,Ic as setGatewayBudget,bc as setGatewayRoutingPolicy,DS as setGitHubAppFromExisting,MS as setGitHubAppPat,vS as setMaintenanceConfig,yc as setMeetBotName,ox as setMemberSuperAdmin,px as setMfaRequired,Ia as setModelDefault,No as setPersonalProjectSecret,Oh as setProjectModelEnablement,so as setProjectOnboardingComplete,by as setProjectOnboardingProfile,Si as setProjectPolicies,Uo as setProjectSecretStrategy,ha as setProjectSessionModel,ya as setProjectSessionScope,ta as setProjectSessionSharing,ka as setProjectTriggersActivation,Gw as setupSSH,dk as shouldHideResponsePart,yd as shouldShowToolPart,rk as sortSessions,U_ as splitUserParts,By as startConnectionOAuth2Authorization,Ky as startConnectionOAuth2DeviceAuthorization,xS as startConnectorSetupLink,qS as startGitHubAppManifest,Lo as startProjectProviderOAuth,Te as startProjectSession,wS as startSessionWithToken,$m as startTask,Pt as stopProjectSession,pw as stopSandbox,V_ as stripAnsi,qk as stripInstancePrefix,ke as stripTrailingSlashes,mS as submitAccessRequest,RS as submitDemoRequest,hS as submitOAuthConsent,Oc as submitReviewItem,_S as submitSecretSetupLink,sy as supabaseClient,ai as syncConnectors,eb as syncSubscription,Bf as systemReload,ve as toDaemonPath,Uk as toInstanceAwarePath,fp as toInternalUrl,Rs as toSandboxAbsolutePath,Ts as toWorkspaceRelative,Gr as toolInfo,Hd as toolViewModel,Dc as transcribeAudio,Jw as triggerSandboxUpdate,Pu as triggersRequest,ek as turnHasSteps,Km as unassignTicket,Z as unwrapError,sl as updateAccountAuditWebhook,Ws as updateAccountMemberRole,Ms as updateAccountName,Wh as updateAgentConfig,jx as updateAuditWebhook,fb as updateChannelBinding,ei as updateConnectionCredential,fc as updateEmailPolicy,no as updateExperimentalFeature,Mb as updateGroup,_s as updateKortixPty,yf as updateMilestone,Sx as updatePatPolicy,Wb as updatePolicy,_r as updateProject,xo as updateProjectAccess,tf as updateProjectAgent,qa as updateProjectDefaultAgent,Ro as updateProjectGroupGrant,ro as updateProjectSandboxProvider,pa as updateProjectSession,Pa as updateProjectTrigger,nx as updateRole,rx as updateRolePermissions,_w as updateSandboxMemberRole,vw as updateSandboxMemberScope,kw as updateSandboxMemberSpendCap,Ai as updateSandboxTemplate,Px as updateSessionPolicy,Em as updateTask,hy as updateTemplateWarmPool,Fm as updateTicket,Gm as updateTicketStatus,Jo as uploadConnectorAttachment,Ge as uploadFile,uc as uploadSlackChannelFile,kf as upsertCredential,Bo as upsertProjectGitCredential,Mo as upsertProjectSecret,gx as upsertSsoProvider,Qs as validateProjectManifest,Rb as validateReferralCode,Vs as validateToken,xb as verifyGatewayProvider};