@kortix/sdk 0.12.6 → 0.12.8

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 (112) hide show
  1. package/README.md +16 -1
  2. package/dist/browser/stores/sync-store/stream-cache.d.ts +29 -0
  3. package/dist/browser/stores/sync-store/stream-cache.d.ts.map +1 -1
  4. package/dist/browser/stores/sync-store/stream-cache.js +127 -18
  5. package/dist/browser/stores/sync-store/stream-cache.js.map +1 -1
  6. package/dist/core/client/kortix.d.ts +28 -13
  7. package/dist/core/client/kortix.d.ts.map +1 -1
  8. package/dist/core/client/kortix.js +13 -1
  9. package/dist/core/client/kortix.js.map +1 -1
  10. package/dist/core/http/api/errors.d.ts +26 -0
  11. package/dist/core/http/api/errors.d.ts.map +1 -1
  12. package/dist/core/http/api/errors.js +44 -0
  13. package/dist/core/http/api/errors.js.map +1 -1
  14. package/dist/core/http/api-client.d.ts +37 -1
  15. package/dist/core/http/api-client.d.ts.map +1 -1
  16. package/dist/core/http/api-client.js +61 -1
  17. package/dist/core/http/api-client.js.map +1 -1
  18. package/dist/core/http/impersonation.d.ts +58 -0
  19. package/dist/core/http/impersonation.d.ts.map +1 -0
  20. package/dist/core/http/impersonation.js +174 -0
  21. package/dist/core/http/impersonation.js.map +1 -0
  22. package/dist/core/http/opencode-errors.d.ts.map +1 -1
  23. package/dist/core/http/opencode-errors.js +19 -0
  24. package/dist/core/http/opencode-errors.js.map +1 -1
  25. package/dist/core/rest/platform-client/host-boundary.d.ts +17 -0
  26. package/dist/core/rest/platform-client/host-boundary.d.ts.map +1 -1
  27. package/dist/core/rest/platform-client/host-boundary.js +21 -0
  28. package/dist/core/rest/platform-client/host-boundary.js.map +1 -1
  29. package/dist/core/rest/projects-client/agent-config.d.ts +21 -0
  30. package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
  31. package/dist/core/rest/projects-client/agent-config.js +14 -0
  32. package/dist/core/rest/projects-client/agent-config.js.map +1 -1
  33. package/dist/core/rest/projects-client/audit.d.ts +39 -2
  34. package/dist/core/rest/projects-client/audit.d.ts.map +1 -1
  35. package/dist/core/rest/projects-client/audit.js +46 -2
  36. package/dist/core/rest/projects-client/audit.js.map +1 -1
  37. package/dist/core/rest/projects-client/billing.d.ts +70 -0
  38. package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
  39. package/dist/core/rest/projects-client/billing.js +50 -0
  40. package/dist/core/rest/projects-client/billing.js.map +1 -1
  41. package/dist/core/rest/projects-client/connectors.d.ts +87 -7
  42. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  43. package/dist/core/rest/projects-client/connectors.js +43 -6
  44. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  45. package/dist/core/rest/projects-client/iam.d.ts +3 -1
  46. package/dist/core/rest/projects-client/iam.d.ts.map +1 -1
  47. package/dist/core/rest/projects-client/iam.js +2 -0
  48. package/dist/core/rest/projects-client/iam.js.map +1 -1
  49. package/dist/core/rest/projects-client/projects.d.ts +136 -15
  50. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  51. package/dist/core/rest/projects-client/projects.js +180 -5
  52. package/dist/core/rest/projects-client/projects.js.map +1 -1
  53. package/dist/core/rest/projects-client/sessions.d.ts +77 -7
  54. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  55. package/dist/core/rest/projects-client/sessions.js +91 -7
  56. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  57. package/dist/core/turns/classify.d.ts +5 -2
  58. package/dist/core/turns/classify.d.ts.map +1 -1
  59. package/dist/core/turns/classify.js +1 -0
  60. package/dist/core/turns/classify.js.map +1 -1
  61. package/dist/core/turns/errors.d.ts +11 -0
  62. package/dist/core/turns/errors.d.ts.map +1 -1
  63. package/dist/core/turns/errors.js +49 -2
  64. package/dist/core/turns/errors.js.map +1 -1
  65. package/dist/core/turns/state.d.ts +1 -1
  66. package/dist/core/turns/state.d.ts.map +1 -1
  67. package/dist/core/turns/state.js +3 -1
  68. package/dist/core/turns/state.js.map +1 -1
  69. package/dist/core/turns/types.d.ts +3 -0
  70. package/dist/core/turns/types.d.ts.map +1 -1
  71. package/dist/core/turns/view-model.d.ts +15 -0
  72. package/dist/core/turns/view-model.d.ts.map +1 -1
  73. package/dist/core/turns/view-model.js +19 -2
  74. package/dist/core/turns/view-model.js.map +1 -1
  75. package/dist/index.d.ts +3 -2
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +3 -2
  78. package/dist/index.js.map +1 -1
  79. package/dist/kortix.esm.min.js +43 -31
  80. package/dist/kortix.global.js +43 -31
  81. package/dist/react/index.d.ts +2 -0
  82. package/dist/react/index.d.ts.map +1 -1
  83. package/dist/react/index.js +2 -0
  84. package/dist/react/index.js.map +1 -1
  85. package/dist/react/use-admin-accounts.d.ts +121 -0
  86. package/dist/react/use-admin-accounts.d.ts.map +1 -1
  87. package/dist/react/use-admin-accounts.js +92 -0
  88. package/dist/react/use-admin-accounts.js.map +1 -1
  89. package/dist/react/use-feature-flag.d.ts +23 -0
  90. package/dist/react/use-feature-flag.d.ts.map +1 -0
  91. package/dist/react/use-feature-flag.js +32 -0
  92. package/dist/react/use-feature-flag.js.map +1 -0
  93. package/dist/react/use-impersonation.d.ts +54 -0
  94. package/dist/react/use-impersonation.d.ts.map +1 -0
  95. package/dist/react/use-impersonation.js +91 -0
  96. package/dist/react/use-impersonation.js.map +1 -0
  97. package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
  98. package/dist/react/use-opencode-events/handle-event.js +8 -2
  99. package/dist/react/use-opencode-events/handle-event.js.map +1 -1
  100. package/dist/react/use-opencode-events/helpers.d.ts +17 -0
  101. package/dist/react/use-opencode-events/helpers.d.ts.map +1 -1
  102. package/dist/react/use-opencode-events/helpers.js +58 -1
  103. package/dist/react/use-opencode-events/helpers.js.map +1 -1
  104. package/dist/react/use-session-phase.d.ts +23 -0
  105. package/dist/react/use-session-phase.d.ts.map +1 -0
  106. package/dist/react/use-session-phase.js +23 -0
  107. package/dist/react/use-session-phase.js.map +1 -0
  108. package/dist/react/use-session.d.ts +117 -1
  109. package/dist/react/use-session.d.ts.map +1 -1
  110. package/dist/react/use-session.js +222 -21
  111. package/dist/react/use-session.js.map +1 -1
  112. package/package.json +2 -2
@@ -1,19 +1,31 @@
1
- var mu={backendUrl:"",getToken:async()=>null},Ut=null,Qe=null;function Lg(e){Qe=e}function Fg(){return Qe}function Ot(e,t){t?.global!==!1&&(Ut=e)}function E(){return Qe?.()??Ut??mu}function Lt(){return Ut!==null||Qe?.()!==void 0}var es=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:g,url:f,...m})=>{let x,k=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},v=new Request(f,T);e&&(v=await e(f,T));let j=await(m.fetch??globalThis.fetch)(v);if(!j.ok)throw new Error(`SSE failed: ${j.status} ${j.statusText}`);if(!j.body)throw new Error("No body in SSE response");let w=j.body.pipeThrough(new TextDecoderStream).getReader(),L="",K=()=>{try{w.cancel()}catch{}};a.addEventListener("abort",K);try{for(;;){let{done:y,value:C}=await w.read();if(y)break;L+=C,L=L.replace(/\r\n/g,`
1
+ var qu={backendUrl:"",getToken:async()=>null},Gt=null,Ye=null;function fm(t){Ye=t}function ym(){return Ye}function Bt(t,e){e?.global!==!1&&(Gt=t)}function $(){return Ye?.()??Gt??qu}function Kt(){return Gt!==null||Ye?.()!==void 0}var cs=({onRequest:t,onSseError:e,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 A=m.headers instanceof Headers?m.headers:new Headers(m.headers);_!==void 0&&A.set("Last-Event-ID",_);try{let j={redirect:"follow",...m,body:m.serializedBody,headers:A,signal:a},v=new Request(f,j);t&&(v=await t(f,j));let E=await(m.fetch??globalThis.fetch)(v);if(!E.ok)throw new Error(`SSE failed: ${E.status} ${E.statusText}`);if(!E.body)throw new Error("No body in SSE response");let w=E.body.pipeThrough(new TextDecoderStream).getReader(),F="",K=()=>{try{w.cancel()}catch{}};a.addEventListener("abort",K);try{for(;;){let{done:y,value:C}=await w.read();if(y)break;F+=C,F=F.replace(/\r\n/g,`
2
2
  `).replace(/\r/g,`
3
- `);let M=L.split(`
3
+ `);let M=F.split(`
4
4
 
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 N=Number.parseInt(U.replace(/^retry:\s*/,""),10);Number.isNaN(N)||(l=N)}let H,D=!1;if(J.length){let U=J.join(`
7
- `);try{H=JSON.parse(U),D=!0}catch{H=U}}D&&(s&&await s(H),r&&(H=await r(H))),n?.({data:H,event:Q,id:x,retry:l}),J.length&&(yield H)}}}finally{a.removeEventListener("abort",K),w.releaseLock()}break}catch(T){if(t?.(T),u!==void 0&&h>=u)break;let v=Math.min(l*2**(h-1),p??3e4);await k(v)}}}()}};var fu=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},yu=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},hu=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(yu(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=fu(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=hu(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 bu=/\{[^{}]+\}/g,xu=({path:e,url:t})=>{let n=t,r=t.match(bu);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},ts=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=xu({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 ns=async(e,t)=>{let n=typeof t=="function"?await t(e):t;if(n)return e.scheme==="bearer"?`Bearer ${n}`:e.scheme==="basic"?`Basic ${btoa(n)}`:n};var Gt={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var rs=({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("&")},ss=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"}},_u=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,is=async({security:e,...t})=>{for(let n of e){if(_u(t,n.name))continue;let r=await ns(n,t.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":t.query||(t.query={}),t.query[s]=r;break;case"cookie":t.headers.append("Cookie",`${s}=${r}`);break;default:t.headers.set(s,r);break}}},Bt=e=>ts({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:rs(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},Pu=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?Pu(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}},os=()=>({error:new je,request:new je,response:new je}),ku=rs({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),wu={"Content-Type":"application/json"},Ee=(e={})=>({...Gt,headers:wu,parseAs:"auto",querySerializer:ku,...e});var $e=(e={})=>{let t=Kt(Ee(),e),n=()=>({...t}),r=f=>(t=Kt(t,f),n()),s=os(),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 is({...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),k={redirect:"follow",...m,body:Ft(m)},I=new Request(x,k);for(let P of s.request.fns)P&&(I=await P(I,m));let $=m.fetch,l;try{l=await $(I)}catch(P){let j=P;for(let w of s.error.fns)w&&(j=await w(P,void 0,I,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,request:I,response:void 0}}for(let P of s.response.fns)P&&(l=await P(l,I,m));let h={request:I,response:l};if(l.ok){let P=(m.parseAs==="auto"?ss(l.headers.get("Content-Type")):m.parseAs)??"json";if(l.status===204||l.headers.get("Content-Length")==="0"){let w;switch(P){case"arrayBuffer":case"blob":case"text":w=await l[P]();break;case"formData":w=new FormData;break;case"stream":w=l.body;break;default:w={};break}return m.responseStyle==="data"?w:{data:w,...h}}let j;switch(P){case"arrayBuffer":case"blob":case"formData":case"text":j=await l[P]();break;case"json":{let w=await l.text();j=w?JSON.parse(w):{};break}case"stream":return m.responseStyle==="data"?l.body:{data:l.body,...h}}return P==="json"&&(m.responseValidator&&await m.responseValidator(j),m.responseTransformer&&(j=await m.responseTransformer(j))),m.responseStyle==="data"?j:{data:j,...h}}let a=await l.text(),R;try{R=JSON.parse(a)}catch{}let T=R??a,v=T;for(let P of s.error.fns)P&&(v=await P(T,l,I,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...h}},p=f=>m=>u({...m,method:f}),g=f=>async m=>{let{opts:x,url:k}=await c(m);return es({...x,body:x.body,headers:x.headers,method:f,onRequest:async(I,$)=>{let l=new Request(I,$);for(let h of s.request.fns)h&&(l=await h(l,x));return l},serializedBody:Ft(x),url:k})};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 Su={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},vu=Object.entries(Su),as=(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&&as(n.args,t);return t},Cu=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=as(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=vu.find(([x])=>p.startsWith(x));if(m){let[x,k]=m;n[k][p.slice(x.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[x,k]of Object.entries(s.allowExtra))if(k){n[x][p]=g;break}}}}return Cu(n),n};var cs=$e(Ee({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??cs}},Ht=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)}},Nt=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})}},_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:"/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})}},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}})}},An=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})}},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}})}},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 In({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})}},Hn=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}})}},Nn=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 Nn({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 Hn({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 Ht;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Nt({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 _n({client:this.client})}_pty;get pty(){return this._pty??=new Pn({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 An({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 us(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||ls(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 ${ls(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function ls(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function Ru(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function Tu(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=Ru(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=>Tu(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(us),new tt({client:t})}var Au=new Set(["api","cli","mobile","web"]);function ir(e){let t=e?.trim().toLowerCase();return t&&Au.has(t)?t:null}function Iu(e){return new Promise(t=>setTimeout(t,e))}async function ps(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 Iu(s)),u=await e(),u)return u;return u}var ju=3e4;function Eu(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function or(e,t,n=ju){let r=e instanceof Request?e.signal:t?.signal;if(Eu(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=ir(r);return c&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",c),s}function ds(){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 ps(()=>E().getToken(),e,nt)}function nt(){}function Tm(e){}function Am(e){}async function xe(){return cr()}async function gs(e){return ce(e)}function ms(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 gs();if(!c)return ds();let u=E().clientSource,p=ar(e,t,c,u),g=s===void 0?or(e,t):or(e,t,s),f=await ms(e,t,p,g);if(f.status===401&&r&&c){nt();let m=await gs({attempts:2,baseDelayMs:200});if(m&&m!==c){let x=ar(e,t,m,u);return ms(e,t,x,g)}}return f}var _e={url:null,sandboxId:null,dbSandboxId:null,version:0},$u=new Set;function fs(e,t=null,n=null){if(!(_e.url===e&&_e.sandboxId===t&&_e.dbSandboxId===n)){_e={url:e,sandboxId:t,dbSandboxId:n,version:_e.version+1};for(let r of $u)r()}}function ys(){return _e.url}function qu(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function le(){return qu(E().backendUrl||"http://localhost:8008/v1")}function hs(){let e=E().sandboxId;return e?`${le()}/p/${e}/8000`:""}function Du(e){return`${le()}/p/${e}/8000`}function rt(e){return Du(e)}function F(){let e=ys();return e||(E().billingEnabled??!1?"":hs())}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"}},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)}},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 Pe(t,{message:r?.message||e.message||"Billing error",...r})}function Mu(e){return e instanceof Pe}function Uu(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 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 bs(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 xs(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 _s(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 Ou={list:bs,set:xs,delete:_s};async function Lu(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 Ps(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 ks(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 ws(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 Ss(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 vs(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 Fu={list:Ps,create:ks,update:ws,remove:Ss,webSocketUrl:vs};async function S(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 Xm(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 S(e,`/kortix/tasks${r}`)}async function Qm(e,t){return S(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function Ym(e,t){return S(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function Zm(e,t){return S(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function ef(e,t){return S(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function tf(e,t,n){return S(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function nf(e,t){return S(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function rf(e,t){return S(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function sf(e,t){return S(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function of(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return S(e,`/kortix/tickets${n}`)}async function af(e,t){return S(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function cf(e,t){return S(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function lf(e,t){return S(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function uf(e,t,n){return S(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function pf(e,t,n){return S(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function df(e,t,n){return S(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function gf(e,t,n){return S(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function mf(e,t,n){return S(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function ff(e,t){return S(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function yf(e,t){return S(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function hf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function bf(e,t){return S(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function xf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function _f(e,t){return S(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Pf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function kf(e,t){return S(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function wf(e,t){return S(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Sf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function vf(e,t,n,r){return S(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Cf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Rf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Tf(e,t,n=200){return S(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Af(e){return S(e,"/kortix/projects")}async function If(e,t){return S(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function jf(e,t){return S(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Ef(e,t){return S(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function $f(e,t){return S(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function qf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Df(e,t,n="all"){return S(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function Mf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function Uf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function Of(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function Lf(e,t,n,r){return S(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Ff(e,t,n,r){return S(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function Gf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function Bf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Kf(e,t){return S(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function Hf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function Nf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function Wf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function zf(e,t,n){return S(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var Gu=1e4,Bu={retryOnAuthError:!1};function we(e,t,n){return S(e,t,{signal:AbortSignal.timeout(Gu),...n},Bu)}async function Vf(e,t=!1){return(await we(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function Jf(e){return(await we(e,"/kortix/services/templates")).templates??[]}async function Xf(e,t){return(await we(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function Qf(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 Yf(e,t){return we(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function Zf(e,t){return we(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var it=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=it.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 it.set(e,n),n}function oy(e){it.delete(e)}function ay(){it.clear()}var ot=new Map;function cy(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=ot.get(e);if(t)return t;let n=sr({baseUrl:e,fetch});return ot.set(e,n),n}function ly(e){ot.delete(e)}function uy(){ot.clear()}async function Ku(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 py(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 Ku(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 Rs(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"],Hu=gr.filter(e=>e!=="/workspace");function Ts(e){return gr.some(t=>e===t||e.startsWith(`${t}/`))}function As(e){return Ts(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(Hu.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Is=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 Nu(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 Nu(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],Wu=e=>e===408||e===429||e===502||e===503||e===504,Cs=e=>new Promise(t=>setTimeout(t,e));function zu(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var dr=3e4,Vu=15*6e4,Ju=256;function Xu(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return dr;let t=dr+e/Ju;return Math.min(Vu,Math.max(dr,Math.round(t)))}async function Qu(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 js(e,t){let n;for(let s=0;s<=Oe.length;s++){let c;try{c=await t(e())}catch(p){if(n=p,zu(p)||s===Oe.length)break;await Cs(Oe[s]);continue}if(c.ok)return c.json();let u=await Qu(c);if(n=new A(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!Wu(c.status)||s===Oe.length)throw n;await Cs(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=Xu(e.size);return js(()=>{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 Yu(e,t,n=F()){return js(()=>{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 Yu(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 Es(){return Rs(await ue().project.current())}async function mr(){return Rs(await ue().global.health())}async function $s(){try{return(await mr()).healthy===!0}catch{return!1}}var Zu={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:Es,health:mr,isReachable:$s,toDaemonPath:ve,toSandboxAbsolutePath:As,toWorkspaceRelative:Is};var ne=()=>E().backendUrl||"",tp="feature_not_supported",np="model_not_servable",rp="provision_in_flight",Ds="request_deadline",sp=/^Request exceeded the \d+s server processing deadline$/,ip=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===Ds||sp.test(n),op=e=>new Promise(t=>setTimeout(t,e)),ap=new Set([502,503,504]),cp=e=>ap.has(e),lp=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},up=2,qs=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),fr=!1;function vy(e){fr=e}function Cy(){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,k={};x||(k["Content-Type"]="application/json"),Object.assign(k,c.headers);let I=ir(E().clientSource),$=Object.keys(k).some(v=>v.toLowerCase()==="x-kortix-client");if(I&&!$&&(k["X-Kortix-Client"]=I),fr&&(k["x-kortix-admin-bypass"]="1"),m)k.Authorization=`Bearer ${m}`;else return{error:new qe,success:!1};let l=lp(c.method),h=l?up+1:1,a;for(let v=0;v<h;v++){v>0&&await op(250*2**(v-1));let P=v===0?u:new AbortController;v>0&&(p=setTimeout(()=>{f=!0,P.abort()},s));try{a=await(E().fetch??fetch)(e,{...c,headers:k,signal:P.signal,credentials:c.credentials??"omit"})}catch(w){if(p&&(clearTimeout(p),p=null),qs(w)||v===h-1)throw w;continue}if(p&&(clearTimeout(p),p=null),!(l&&cp(a.status)&&v<h-1))break;try{await a.arrayBuffer()}catch{}}if(!a.ok){let v=`HTTP ${a.status}: ${a.statusText}`,P=null;try{P=await a.json(),typeof P.reason=="string"?v=P.reason:typeof P.message=="string"?v=P.message:P.error&&typeof P.error=="string"?v=P.error:typeof P.detail=="string"?v=P.detail:typeof P.detail?.message=="string"&&(v=P.detail.message)}catch{}let j=ip(a.status,P,v),w=new A(v,{status:a.status,response:a,details:P||void 0,data:P,detail:P?.detail,code:j?Ds:P?.code||P?.error_code||P?.detail?.error_code||a.status.toString()});if(a.status===402&&(w=Me(w)),a.status===403&&P?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}a.status===431&&(w=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 L=a.status===501&&P?.code===tp,K=a.status===409&&P?.code===np,y=a.status===409&&P?.code===rp;return n&&!L&&!K&&!y&&!j&&E().onError?.(w,r),{error:w,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=qs(m);x&&(g=!0);let k;if(x){if(!f)return{error:new A("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let I=e.replace(ne(),"")||e;k=new A(`Request timed out after ${Math.round(s/1e3)}s: ${I}`,{code:"TIMEOUT",url:e,endpoint:I,timeout:s})}else m instanceof Error?(k=new A(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&E().onError?.(k,r)):(k=new A(String(m)),n&&E().onError?.(k,r));return{error:k,success:!1}}}var Ry={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}}}},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 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 Ms(){return o(await i.get("/accounts"))}async function Us(e){return o(await i.post("/accounts",e))}async function Os(e){return o(await i.get(`/accounts/${e}`))}async function Ls(e,t){return o(await i.patch(`/accounts/${e}`,{name:t}))}async function Fs(e){return o(await i.get(`/accounts/${e}/members`))}async function Gs(e,t){return o(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Bs(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 Ns(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 zs(e){return o(await i.post(`/account-invites/${e}/decline`,{}))}async function Vs(e,t){return o(await i.delete(`/accounts/${e}/members/${t}`))}async function Js(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 Ey(e){return Ce(e,"/v1/accounts")}async function Qs(){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 Re(){return o(await i.get("/projects"))}async function Ys(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/projects${t}`))}async function hr(e,t){return o(await i.get(`/projects/${e}`,t))}async function Zs(e,t,n="write"){return o(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function ei(e,t){return o(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function ti(e){return o(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function My(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function br(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 xr(e,t){return o(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function _r(e,t){return o(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Uy(e,t){return o(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function ni(e){return o(await i.post("/projects",e))}async function ri(e){return o(await i.post("/projects/create-repo",e))}async function si(e,t={}){return o(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function Oy(){try{return o(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Pr(e,t){return o(await i.patch(`/projects/${e}`,t))}async function ii(e,t,n){return o(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function oi(e,t){return o(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Ly(e,t){return o(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function Fy(e,t){return o(await i.patch(`/projects/${e}/warm-pool`,t))}async function ai(e,t){return o(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function Gy(e,t){return o(await i.patch(`/projects/${e}/onboarding`,{profile:t}))}async function kr(e){return o(await i.delete(`/projects/${e}`))}async function By(e,t){return Ce(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Ky(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 ci(e){return o(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function li(e){return o(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function ui(e){return o(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function pi(e){return o(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function di(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 gi(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 mi(e){return o(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function fi(e){return o(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function yi(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 Xy(e,t){return o(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function hi(e,t){return o(await i.get(`/projects/${e}/access-requests`,t))}async function bi(e,t,n="member"){return o(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function xi(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 Pi(e,t,n){return o(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function ki(e,t){return o(await i.delete(`/projects/${e}/access/${t}`))}function Qy(e){return"status"in e&&e.status==="invited"}async function wi(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 Si(e){return o(await i.get(`/projects/${e}/access/pending-invites`))}async function vi(e,t){return o(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Ci(e,t){return o(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Ri(e){return o(await i.get(`/projects/${e}/group-grants`))}async function Ti(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 Ii(e,t){return o(await i.delete(`/projects/${e}/group-grants/${t}`))}async function ji(e){return o(await i.get(`/projects/${e}/resource-grants`))}async function Ei(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 $i(e,t){return o(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function qi(e,t){return o(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Di(e,t){return o(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Mi(e,t,n){return o(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Ui(e){return o(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Oi(e,t){return o(await i.post(`/projects/${e}/secrets`,t))}async function Li(e,t,n,r={}){return o(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function Fi(e,t,n){return o(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,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 Ki(e,t){return o(await i.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}async function Hi(e,t){return o(await i.put(`/projects/${e}/git-credential`,t))}async function Ni(e,t){return o(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function Wi(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`))}function wr(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function Sr(e){return o(await i.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 Vi(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 Ji(e,t){return(await ht(e)).find(n=>n.tool===t)??null}function pp(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 Xi(e,t,n={}){let{connector:r,action:s}=pp(t);return o(await i.post(wr(e,"call"),{connector:r,action:s,args:n}))}function dp(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 Qi(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(dp(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 Yi(e){return o(await i.get(`/projects/${e}/connections`))}async function Zi(e){return o(await i.get(`/projects/${e}/connections/all`))}async function eo(e,t){return o(await i.post(`/projects/${e}/connections`,t))}async function to(e,t){return o(await i.post(`/projects/${e}/connections/me`,t))}async function no(e,t,n){return o(await i.put(`/projects/${e}/connections/${t}/credential`,n))}function de(e,t,n){return`/projects/${e}/connections/${t}/oauth2/${n}`}async function ah(e,t){return o(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function ch(e,t,n){return o(await i.put(de(e,t,"application"),n))}async function lh(e,t){return o(await i.get(de(e,t,"application")))}async function uh(e,t,n){return o(await i.post(de(e,t,"discover"),n))}async function ph(e,t,n){return o(await i.post(de(e,t,"authorize"),n))}async function dh(e,t,n){return o(await i.post(de(e,t,"device"),n))}async function gh(e,t,n){return o(await i.post(de(e,t,`device/${encodeURIComponent(n)}`),{}))}async function mh(e,t){return o(await i.get(de(e,t,"status")))}async function ro(e,t){return o(await i.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function so(e,t){return o(await i.put(`/projects/${e}/connections/${t}/activate`,{}))}async function io(e,t){return o(await i.put(`/projects/${e}/connections/${t}/default`,{}))}async function oo(e,t,n={}){return o(await i.post(`/projects/${e}/connections/${t}/connect`,n))}async function ao(e,t){return o(await i.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function co(e){return o(await i.get(`/connectors/projects/${e}/connectors`,{showErrors:!1}))}async function lo(e){return o(await i.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function uo(e,t,n){return o(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function po(e,t,n){return o(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function go(e,t,n){return o(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function mo(e,t){return o(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function fo(e,t,n){return o(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function fh(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function yh(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function yo(e,t){return o(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function ho(e,t,n){return o(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function bo(e,t){return o(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function xo(e,t){return o(await i.post(`/connectors/projects/${e}/connectors`,t))}async function _o(e,t){return o(await i.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function Po(e,t){return o(await i.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function ko(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(`/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 o(await i.get(`/connectors/projects/${e}/discover/connectors${s?`?${s}`:""}`))}async function Cr(e,t){let n=new URLSearchParams({id:t});return o(await i.get(`/connectors/projects/${e}/discover/connectors/detail?${n.toString()}`))}var hh=vr,bh=Cr;async function wo(){return o(await i.get("/connectors/connect-status"))}async function So(e,t,n){let r=typeof n=="string"?{value:n}:n;return o(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function xh(e,t,n){return o(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function vo(e,t){return o(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function Co(e){return o(await i.get(`/connectors/projects/${e}/policies`))}async function Ro(e,t,n){return o(await i.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function To(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function Ao(e){return o(await i.get(`/projects/${e}/snapshots`))}async function Rr(e){return o(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Io(e,t){return o(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function jo(e){return o(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Eo(e,t){return o(await i.post(`/projects/${e}/sandbox-templates`,t))}async function $o(e,t,n){return o(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function qo(e,t){return o(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Do(e,t){return o(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Mo(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function Uo(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 Oo(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 Lo(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()}`,{showErrors:!1}))}async function Fo(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 Go(e){return o(await i.get(`/projects/${e}/branches`))}async function Bo(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 Ko(e,t){return o(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Ho(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 No(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 Wo(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 zo(e,t){let n=t?`?status=${t}`:"";return o(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Vo(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}`))}async function Jo(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function Xo(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Qo(e,t){return o(await i.post(`/projects/${e}/change-requests`,t))}async function Yo(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function Zo(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function ea(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function ta(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function na(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var Tr=new Set;function bt(e){e&&Tr.add(e)}function ra(e){return!!e&&Tr.has(e)}function Oh(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 o(await i.get(`/projects/${e}/sessions${r}`))}async function sa(e,t,n){return o(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function ia(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function oa(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function aa(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function ca(e,t,n){return o(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function Ke(e,t){let n=o(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||bt(n?.session_id),n}async function la(e){let t=o(await i.post(`/projects/${e}/sessions/warm`,{}));return bt(t.session.session_id),t}async function ua(e,t){let n=o(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return bt(n.session_id),n}async function Ar(e,t,n){return o(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function pa(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 da(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 ga(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 ma(e,t,n){return o(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function fa(e,t){return o(await i.delete(`/projects/${e}/sessions/${t}`))}async function xt(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function _t(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function ya(e,t){return o(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}async function ha(e,t,n={}){return o(await i.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function ba(e,t){return o(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function xa(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function _a(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function Pa(e){return o(await i.get(`/projects/${e}/triggers`))}async function ka(e,t){return o(await i.post(`/projects/${e}/triggers`,t))}async function wa(e,t,n){return o(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function Sa(e,t){return o(await i.delete(`/projects/${e}/triggers/${t}`))}async function va(e,t){return o(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Ca(e,t){return o(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var re=new Map;function Ir(e,t){return`${e}::${t}`}function Ra(e,t){re.delete(e),re.set(e,t)}function Ta(e,t){let n=Ir(e,t),r=re.get(n);return r&&Ra(n,r),r}function Aa(e,t,n){let r=Ir(e,t);if(!re.has(r)&&re.size>=512){let s=re.keys().next().value;s!==void 0&&re.delete(s)}Ra(r,n)}function Ia(e,t){re.delete(Ir(e,t))}function Yh(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 Zh(e){return e instanceof Error&&e.name==="SessionStartError"}function gp(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 i.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=gp(s.error);if(p&&!(p.status===404&&ra(t)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&Aa(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:rt(u),sandboxId:u}),c}function eb(e,t){return["session-start",e,t]}async function ja(e){return o(await i.get(`/projects/${e}/model-defaults`))}async function Ea(e,t){return o(await i.put(`/projects/${e}/model-defaults`,t))}async function $a(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 ab(e,t){return o(await i.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function Da(e,t,n){let r=fp(n);return o(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function qa(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function mp(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function fp(e){let t=e.connectors_required?qa(e.connectors_required):void 0,n=e.connectors_personal?qa(e.connectors_personal):void 0;if(t&&n&&!mp(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 mb(e,t){let n=o(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?Er(n.block):null}}async function fb(e,t,n){let r=Er(n),s=o(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?Er(s.block):null}}function Ma(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function yp(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?Ma(e.connectors_required):void 0,n=e.connectors_personal?Ma(e.connectors_personal):void 0;if(t&&n&&!yp(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 Ua(e,t){return o(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function Oa(){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 La(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?Oa():s.data}async function Fa(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?Oa():s.data}async function Ga(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 Ba(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 Ka(){return o(await i.get("/billing/credit-breakdown"))}async function Ha(e){let t=e!=null?`?days=${e}`:"";return o(await i.get(`/billing/usage-history${t}`))}async function Na(){return o(await i.get("/billing/tier-configurations"))}async function xb(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Ce(e,`/v1/billing/account-state${t}`)}async function Wa(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 za(e,t){return o(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Va(e,t){return o(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Ja(e,t){return o(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function Xa(e){return o(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function Qa(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 Ya(e){return o(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function Za(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 ec(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 tc(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 nc(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 _b(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 Pb(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 kb(e){return o(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function wb(e){return o(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function rc(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 $r(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 kt(e){return e.size>0?`?${e}`:""}async function ic(e={}){let t=new URLSearchParams;return $r(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${kt(t)}`))}async function qr(e,t={}){let n=new URLSearchParams;return $r(n,t),o(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${kt(n)}`))}async function Ab(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${kt(t)}`))}async function Ib(e={}){let t=new URLSearchParams;return $r(t,e),e.sessionId&&t.set("session_id",e.sessionId),Pt(t,e),o(await i.get(`/usage/cost-summary${kt(t)}`))}function sc(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`${E().backendUrl||""}${r}?${n}`}async function jb(e,t={}){let n=sc(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 oc(e,t){return o(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function Db(e){return oc("slack",e)}function Mb(e){return oc("teams",e)}async function ac(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function cc(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var hp={oauth_available:!1,install_url:null};async function lc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?hp:t.data}async function uc(e){return o(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function pc(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 dc(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 gc(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 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 bp={provider:"agentmail",managed_available:!1};async function mc(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?Dr(r.data):null}async function fc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?bp:t.data}async function yc(e,t){let n=o(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Dr(n)}async function hc(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 bc(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 Dr(r)}async function xc(e,t){return o(await i.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function Ub(e){return o(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Ob(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 _c(e){return o(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Pc(e,t){return o(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function kc(e){return o(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function wc(e,t){return o(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Sc(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 vc(e,t){return o(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Cc(e,t){return o(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Rc(e,t){return o(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Tc(e,t){return o(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ac(e,t){return o(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ic(e,t){return o(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function jc(e){return o(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Ec(e,t){return o(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function $c(e,t){return o(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function qc(e){return o(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Dc(e,t){return o(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Mc(e,t){return o(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Uc(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 Bb(e,t){return o(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Oc(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 Vb(){return o(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function Jb(){return o(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function Xb(e){return o(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function Qb(){return o(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function Yb(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 Zb(e){return o(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function _(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function O(e){return i.get(e,{showErrors:!1})}async function nx(e){return _(await O(`/accounts/${e}/iam/groups`)).groups}async function rx(e,t){return _(await O(`/accounts/${e}/iam/groups/${t}`))}async function sx(e,t){return _(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function ix(e,t,n){return _(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function ox(e,t){return _(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function ax(e,t){return _(await O(`/accounts/${e}/iam/groups/${t}/members`)).members}async function cx(e,t,n){return _(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function lx(e,t){return _(await O(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function ux(e,t,n){return _(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function px(e,t){return _(await O(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function dx(e,t){return _(await O(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function gx(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 _(await O(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function mx(e,t){return _(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function fx(e,t,n){return _(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function yx(e,t){return _(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function hx(e,t){return _(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function bx(e,t){return _(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function xx(e){return _(await O(`/accounts/${e}/iam/roles`)).roles}async function _x(e){return _(await O(`/accounts/${e}/iam/agent-identities`)).agents}async function Px(e,t){return _(await O(`/accounts/${e}/iam/roles/${t}/permissions`))}async function kx(e){return _(await O(`/accounts/${e}/iam/actions`)).actions}async function wx(e,t){return _(await O(`/accounts/${e}/iam/roles/${t}/usage`))}async function Sx(e,t){return _(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function vx(e,t,n){return _(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function Cx(e,t,n){return _(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function Rx(e,t){return _(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function Tx(e,t,n){return _(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function Ax(e){return _(await O(`/accounts/${e}/iam/scim/tokens`)).tokens}async function Ix(e,t){return _(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function jx(e,t){return _(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function Ex(e){return _(await O(`/accounts/${e}/iam/mfa-required`))}async function $x(e){return _(await O(`/accounts/${e}/iam/mfa-required/preview`))}async function qx(e,t){return _(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function Dx(e){return _(await O(`/accounts/${e}/iam/sso/provider`)).provider}async function Mx(e,t){return _(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Ux(e,t){return _(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function Ox(e){return _(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function Lx(e){return _(await O(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Fx(e,t){return _(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function Gx(e,t){return _(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Bx(e){return _(await O(`/accounts/${e}/iam/session-policy`))}async function Kx(e,t){return _(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Hx(e){return _(await O(`/accounts/${e}/iam/sessions`)).sessions}async function Nx(e,t){return _(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function Wx(e){return _(await O(`/accounts/${e}/iam/pat-policy`))}async function zx(e,t){return _(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Vx(e){return _(await O(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function Jx(e,t){return _(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Xx(e,t){return _(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Qx(e,t){return _(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Yx(e){return _(await O(`/accounts/${e}/audit/webhooks`)).webhooks}async function Zx(e,t){return _(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function e_(e,t,n){return _(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function t_(e,t){return _(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function n_(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 _(await O(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function r_(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),_(await O(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function s_(e,t,n){return n.length===0?[]:_(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function i_(e){return _(await O(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function o_(e,t){return _(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function u_(){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 p_(e="User requested deletion"){return o(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function d_(){return o(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function g_(){return o(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function m_(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function b_(){return i.get("/admin/api/provider-distribution").then(e=>o(e))}function x_(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>o(t))}function __(e){return i.put("/admin/api/provider-distribution",e).then(t=>o(t))}function P_(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>o(t))}function k_(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>o(n))}function w_(){return i.get("/admin/api/provider-fallback").then(e=>o(e))}function S_(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>o(t))}async function T_(e){return o(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function A_(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 Lc(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 Fc(e,t){return o(await i.get(`/projects/${e}/review/items/${t}`))}async function Gc(e,t){return o(await i.post(`/projects/${e}/review/items`,t))}async function Bc(e,t,n){return o(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function Kc(e,t){return o(await i.post(`/projects/${e}/review/bulk`,t))}async function Hc(e){return o(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Nc(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 Wc(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 Mr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function zc(e,t=""){return`${le()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Vc(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 O_(e){return Vc(zc(e))}async function L_(e){return Vc(zc(e,"/messages"))}var Ur=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function Jc(e){return`${le()}/public/voice-join/${encodeURIComponent(e)}`}async function Xc(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 B_(e){return Xc(Jc(e))}async function K_(e,t=0){let n=`${Jc(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return Xc(n)}async function Qc(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/accounts/tokens${t}`))}async function Yc(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 Zc(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.delete(`/accounts/tokens/${e}${n}`))}async function el(e){return o(await i.get(`/projects/${e}/cli-token`))}async function tl(e,t){return o(await i.post(`/projects/${e}/cli-token`,t??{}))}async function nl(e,t){return o(await i.delete(`/projects/${e}/cli-token/${t}`))}async function rl(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 sl(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 il(e){return o(await i.get(`/accounts/${e}/audit/webhooks`))}async function ol(e,t){return o(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function al(e,t,n){return o(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function cl(e,t){return o(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function ll(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 ul(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 Z_(e){return o(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function pl(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 dl(){return o(await i.get("/marketplace/marketplaces"))}async function gl(){return o(await i.get("/marketplace/marketplaces/featured"))}async function ml(e){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function fl(e,t){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function yl(){return o(await i.get("/marketplace/sources"))}async function hl(e){return o(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function bl(e){return o(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function rP(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function aP(e){return o(await i.get(`/templates/${encodeURIComponent(e)}`))}async function cP(e,t){return o(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}async function xl(e){return o(await i.get(`/projects/${e}/apps`),"Failed to list Apps").apps}async function _l(e,t){return o(await i.post(`/projects/${e}/apps`,t),"Failed to create App")}async function Pl(e,t){return o(await i.get(`/projects/${e}/apps/${t}`),"Failed to load App")}async function kl(e,t,n){return o(await i.patch(`/projects/${e}/apps/${t}`,n),"Failed to update App")}async function wl(e,t){return o(await i.delete(`/projects/${e}/apps/${t}`),"Failed to delete App")}async function Sl(e,t){return o(await i.get(`/projects/${e}/apps/${t}/access`),"Failed to load App access policy")}async function vl(e,t,n){return o(await i.patch(`/projects/${e}/apps/${t}/access`,n),"Failed to update App access policy")}async function Cl(e,t){return o(await i.post(`/projects/${e}/apps/${t}/access-session`,{}),"Failed to create App access session")}async function Or(e,t){return o(await i.post(`/projects/${e}/apps/artifacts`,t),"Failed to register App artifact")}async function Lr(e,t,n){return o(await i.post(`/projects/${e}/apps/artifacts/${t}/finalize`,n),"Failed to finalize App artifact")}async function xp(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function _p(e){let t=Uint8Array.from(e),n=await globalThis.crypto.subtle.digest("SHA-256",t.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function Rl(e,t,n={}){let r=await xp(t),s=n.mediaType??"application/gzip",c=await Or(e,{kind:"archive",media_type:s});if(!c.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>c.upload.max_bytes)throw new Error(`App artifact exceeds ${c.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let u=await fetch(c.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!u.ok){let p=await u.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${u.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),Lr(e,c.artifact.artifact_id,{sha256:await _p(r),size_bytes:r.byteLength})}async function Tl(e,t,n){return o(await i.post(`/projects/${e}/apps/${t}/deployments`,n),"Failed to create App deployment")}async function Al(e,t){return o(await i.get(`/projects/${e}/apps/${t}/deployments`),"Failed to list App deployments").deployments}async function Il(e,t,n){return o(await i.get(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to load App deployment")}async function jl(e,t,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let c=s.size?`?${s.toString()}`:"";return o(await i.get(`/projects/${e}/apps/${t}/deployments/${n}/logs${c}`),"Failed to load App logs")}async function El(e,t){return o(await i.post(`/projects/${e}/apps/${t}/start`,{}),"Failed to start App")}async function $l(e,t){return o(await i.post(`/projects/${e}/apps/${t}/stop`,{}),"Failed to stop App")}async function ql(e,t,n){return o(await i.post(`/projects/${e}/apps/${t}/rollback`,{deployment_id:n}),"Failed to roll back App")}function fP(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 Dl(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 Ml=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Ul=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Ol=new Set([22,4096,parseInt(se.KORTIX_MASTER,10)]);function Pp(e){return Ul.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 kp(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var wp=new Set(["'",'"',"`","<","(","["]),Sp=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function vp(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&&wp.has(e[t]);)t++;for(;n>t&&Sp.has(e[n-1]);)n--;return e.slice(t,n)}function Cp(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Rp=/^\/proxy\/(\d{1,5})(\/.*)?$/,Tp=/^\/(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 Ap(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Tp.test(t.pathname)}catch{return!1}}function St(e){if(!e)return null;let t=vp(kp(e.trim())),n=Gl(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(Rp);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=Cp(e);return r&&r!==e?St(r):null}}function Ip(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 jp(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Ep(e){let t=[],n=new Set,r=Ip(e);Ml.lastIndex=0;let s;for(;(s=Ml.exec(e))!==null;){let c=St(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||Ol.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:jp(s.index,r)}))}return t}function xP(e){return Ep(e).length>0}function $p(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function qp(e){return e.sandboxId.trim().length>0}function ge(e,t,n){let r=wt(t);if(!qp(n))return Op(e,r);if(!$p(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 _P(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 PP(e){return`http://localhost:3211${Dp(e)}`}function Mp(){return"/health"}function kP(e){return ge(3211,Mp(),e)}function wP(e,t){return ge(e,"/",t)}function Up(e){let t=St(e);return!(!t||Ol.has(t.port)||Ap(e))}function Ll(e,t){if(!e)return e;let n=St(e);return n?Up(n.originalUrl)?ge(n.port,n.path,t):n.originalUrl:e}function Op(e,t="/"){return`http://localhost:${e}${t}`}var Fl=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Gl(e){let t=e.match(Ul);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(Fl);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 SP(e){try{let t=Gl(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function vP(e){return Pp(e)||Fl.test(e)}function CP(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var He="/web-proxy/";function RP(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${He}${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 TP(e){try{let t=new URL(e),n=t.pathname.indexOf(He);if(n===-1)return null;let s=t.pathname.slice(n+He.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 AP(e){try{return new URL(e).pathname.includes(He)}catch{return e.includes(He)}}function IP(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 jP(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 Bl="frontend";function vt(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Bl}] ${t}`,...n?[n]:[]);try{ue().app.log({service:Bl,level:e,message:t,extra:n})}catch{}}var ie={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 Lp(e){return{type:"heartbeat-gap",gapMs:e}}function Fp(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 Gp={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Bp=16,Kp=8,Hp=6e4,Np=5e3,Wp=250,zp=1e3,Vp=3e4,Jp=5,Xp=3e3,Qp=3e4,Yp=2e4,Zp=2e3,ed=8;function td(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Kl(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 Fr(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??Gp,p=e.connectTimeoutMs??Yp,g=e.heartbeatTimeoutMs??Hp,f=e.maxConsecutiveHardFailures??ed,m=new AbortController,x=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",x,{once:!0}));let k=u.now(),I=[],$,l=0,h=new Map,a=()=>{if($&&u.clearTimeout($),$=void 0,I.length===0)return;let T=I;I=[],h.clear(),l=u.now(),k=u.now();for(let v of T)if(v)try{n(v.event)}catch(P){console.warn("[opencode-events] event handler threw, skipping",P)}},R=()=>{if($)return;let T=u.now()-l;$=u.setTimeout(a,Math.max(0,Bp-T))};return(async()=>{let T=0,v=0;for(;!m.signal.aborted;){let P=!1,j=!1,w,L,K=null,y=u.now(),C=new AbortController,M=Kl(m.signal);M.promise.then(()=>C.abort());try{let D=await new Promise((Dt,Ie)=>{let X=!1;L=u.setTimeout(()=>{X||(X=!0,ie.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),C.abort(),Ie(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:C.signal,sseDefaultRetryDelay:Xp,sseMaxRetryDelay:Qp,sseMaxRetryAttempts:1}).then(Y=>{X||(X=!0,u.clearTimeout(L),Dt(Y))},Y=>{X||(X=!0,u.clearTimeout(L),Ie(Y))})}),{stream:U}=D;k=u.now();let N=()=>{u.clearTimeout(w),w=u.setTimeout(()=>{ie.warn("SSE heartbeat timeout, forcing reconnect"),C.abort()},g)};N();let he=u.now(),gu=U[Symbol.asyncIterator]();for(;!C.signal.aborted;){let Dt=gu.next().then(ee=>({kind:"next",result:ee}),ee=>({kind:"error",error:ee})),Ie=Kl(C.signal),X=await Promise.race([Dt,Ie.promise.then(()=>({kind:"aborted"}))]);if(Ie.cleanup(),X.kind==="aborted")break;if(X.kind==="error")throw X.error;if(X.result.done)break;P=!0,N();let Y=X.result.value,Xe=Y&&typeof Y=="object"&&"payload"in Y?Y.payload:Y;if(!Xe?.type)continue;let Mt=td(Xe);if(Mt){let ee=h.get(Mt);ee!==void 0&&(I[ee]=void 0),h.set(Mt,I.length)}I.push({type:Xe.type,event:Xe}),R(),!(u.now()-he<Kp)&&(he=u.now(),await new Promise(ee=>u.setTimeout(ee,0)))}j=P}catch(D){if(m.signal.aborted)break;K=D;let U=String(D),N=U.includes("401")||U.includes("403")||U.includes("Unauthorized")||U.includes("Token refresh failed");if(ie.error("SSE event stream error",{error:U,retryCount:T,isAuthError:N}),N)try{nt(),await cr(),ie.info("SSE: refreshed auth token after auth error")}catch(he){ie.error("SSE: failed to refresh auth token",{error:String(he)})}}finally{u.clearTimeout(w),u.clearTimeout(L),C.abort(),M.cleanup(),a()}if(m.signal.aborted)break;let z=u.now()-y,V=K?.cause?.status;if(v=!P&&(typeof V=="number"&&V>=400||z<Zp)?v+1:0,v>=f){ie.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(K)});try{s?.({consecutiveFailures:v,lastError:K})}catch(D){console.warn("[opencode-events] onParked handler threw",D)}break}let Q=u.now()-k;Q>Np&&r?.(Q),j?T=0:(T++,T>1&&ie.warn("SSE event stream reconnecting",{retryCount:T}));let H=j?Wp:Math.min(zp*2**Math.min(T-1,Jp),Vp);await new Promise(D=>{let U=u.setTimeout(D,H),N=()=>{u.clearTimeout(U),D()};m.signal.addEventListener("abort",N,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",x),$&&u.clearTimeout($)}}}function nd(){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 rd(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:Ms,get:Os,create:Us,updateName:Ls,leave:Xs,members:Fs,invite:Gs,removeMember:Vs,updateMemberRole:Js,invites:Bs,cancelInvite:Ks,resendInvite:Hs,tokens:{list:Qc,create:Yc,revoke:Zc},audit:{log:rl,export:sl,webhooks:{list:il,create:ol,update:al,remove:cl}}},c={accountState:La,accountStateMinimal:Fa,transactions:Ga,transactionsSummary:Ba,creditBreakdown:Ka,usageHistory:Ha,usageRollup:rc,sessionCosts:{list:ic,get:qr},tierConfigurations:Na,checkout:{createSession:l=>Wa(l),confirmSession:(l,h)=>za(l,h)},subscription:{createPortalSession:(l,h)=>Va(l,h),cancel:(l,h)=>Ja(l,h),reactivate:l=>Xa(l),scheduleDowngrade:(l,h,a)=>Qa(l,h,a),cancelScheduledChange:l=>Ya(l),prorationPreview:(l,h)=>Za(l,h)},credits:{purchase:l=>ec(l),autoTopupSettings:l=>tc(l),configureAutoTopup:l=>nc(l)}},u={describe:Ns,accept:Ws,decline:zs},p={list:Re,listForAccount:Ys,get:hr,detail:br,create:ni,createRepo:ri,provision:si,update:Pr,archive:kr,llmCatalog:xr,modelPicker:_r,sandboxHealth:Rr,sandboxTemplates:To,sessions:Be,createSession:Ke},g={linkRepository:ci,getInstallation:li,listInstallations:ui,listLinkableInstallations:pi,listRepositories:di,listRepositoryBranches:gi,linkInstallation:fi,saveInstallation:mi,deleteInstallation:yi},f={list:Hc,create:Nc,revoke:Wc},m=wo,x={items:l=>pl(l),item:l=>ml(l),itemFile:(l,h)=>fl(l,h),marketplaces:()=>dl(),featured:()=>gl(),sources:{list:()=>yl(),add:l=>hl(l),remove:l=>bl(l)}};function k(l){return{catalog:()=>Sr(l),tools:()=>ht(l),search:(...h)=>Vi(l,...h),describe:(...h)=>Ji(l,...h),call:(...h)=>Xi(l,...h),uploadAttachment:(...h)=>Qi(l,...h)}}function I(l){let h={list:()=>Yi(l),listAll:()=>Zi(l),reconcile:(...a)=>eo(l,...a),reconcileMember:(...a)=>to(l,...a),updateCredential:(...a)=>no(l,...a),revoke:(...a)=>ro(l,...a),activate:(...a)=>so(l,...a),setDefault:(...a)=>io(l,...a),pipedreamConnect:(...a)=>oo(l,...a),pipedreamFinalize:(...a)=>ao(l,...a)};return{get:a=>hr(l,a),detail:()=>br(l),update:a=>Pr(l,a),archive:()=>kr(l),llmCatalog:()=>xr(l),modelPicker:()=>_r(l),sandboxHealth:()=>Rr(l),onboardingComplete:(...a)=>ai(l,...a),apps:{list:()=>xl(l),create:a=>_l(l,a),get:a=>Pl(l,a),update:(...a)=>kl(l,...a),access:{get:(...a)=>Sl(l,...a),update:(...a)=>vl(l,...a),session:(...a)=>Cl(l,...a)},remove:a=>wl(l,a),artifacts:{register:a=>Or(l,a),uploadArchive:(...a)=>Rl(l,...a),finalize:(...a)=>Lr(l,...a)},deployments:{create:(...a)=>Tl(l,...a),list:a=>Al(l,a),get:(...a)=>Il(l,...a),logs:(...a)=>jl(l,...a)},start:a=>El(l,a),stop:a=>$l(l,a),rollback:(...a)=>ql(l,...a)},tokens:{list:()=>el(l),create:a=>tl(l,a),revoke:a=>nl(l,a)},setupLinks:{requestSecret:a=>ll(l,a),requestConnector:a=>ul(l,a)},validateManifest:a=>ei(l,a),gitToken:()=>ti(l),secrets:{list:()=>Ui(l),upsert:a=>Oi(l,a),setStrategy:(...a)=>Li(l,...a),broker:(...a)=>Fi(l,...a),remove:a=>Ni(l,a),setPersonal:(...a)=>Wi(l,...a),removePersonal:a=>zi(l,a),setGitCredential:a=>Hi(l,a),startProviderOAuth:(...a)=>Gi(l,...a),pollProviderOAuth:(...a)=>Bi(l,...a),removeProviderOAuth:a=>Ki(l,a)},access:{list:()=>_i(l),invite:(...a)=>wi(l,...a),update:(...a)=>Pi(l,...a),revoke:a=>ki(l,a),pendingInvites:()=>Si(l),resendInvite:(...a)=>Ci(l,...a),revokeInvite:(...a)=>vi(l,...a),requests:()=>hi(l),approveRequest:(...a)=>bi(l,...a),rejectRequest:(...a)=>xi(l,...a),groupGrants:()=>Ri(l),attachGroupGrant:(...a)=>Ti(l,...a),updateGroupGrant:(...a)=>Ai(l,...a),detachGroupGrant:a=>Ii(l,a),resourceGrants:{list:()=>ji(l),create:a=>Ei(l,a),remove:a=>$i(l,a)}},connectors:{...k(l),list:()=>co(l),config:(...a)=>yo(l,...a),create:(...a)=>xo(l,...a),remove:(...a)=>Po(l,...a),sync:()=>lo(l),auth:{discover:(...a)=>_o(l,...a)},setName:(...a)=>ho(l,...a),setCredentialMode:(...a)=>uo(l,...a),setAuthorizationStrategy:(...a)=>po(l,...a),setCredential:(...a)=>So(l,...a),setSensitive:(...a)=>go(l,...a),connections:h,policies:{get:(...a)=>mo(l,...a),set:(...a)=>fo(l,...a)},pipedream:{listApps:(...a)=>ko(l,...a),connect:(...a)=>bo(l,...a),finalize:(...a)=>vo(l,...a)},discover:{list:(...a)=>vr(l,...a),detail:(...a)=>Cr(l,...a)}},policies:{list:()=>Co(l),set:(...a)=>Ro(l,...a)},triggers:{list:()=>Pa(l),create:(...a)=>ka(l,...a),update:(...a)=>wa(l,...a),remove:(...a)=>Sa(l,...a),fire:(...a)=>Ca(l,...a),setActivation:(...a)=>va(l,...a)},files:{list:a=>Uo(l,a),read:(a,R)=>Lo(l,a,R),search:(...a)=>Oo(l,...a),archive:(...a)=>Fo(l,...a),history:(...a)=>No(l,...a)},git:{commits:()=>Bo(l),commit:a=>Ko(l,a),commitDiff:a=>Ho(l,a),branches:()=>Go(l),versionDiff:(...a)=>Wo(l,...a),inviteCollaborator:(...a)=>Zs(l,...a)},changeRequests:{list:()=>zo(l),get:a=>Vo(l,a),diff:a=>Jo(l,a),mergePreview:a=>Xo(l,a),open:(...a)=>Qo(l,...a),merge:(...a)=>Yo(l,...a),close:(...a)=>Zo(l,...a),reopen:(...a)=>ea(l,...a),requestChanges:(...a)=>ta(l,...a)},sessions:{list:a=>Be(l,a),create:a=>Ke(l,a),ensureWarm:()=>la(l),claimWarm:a=>ua(l,a)},review:{list:a=>Lc(l,a),get:a=>Fc(l,a),submit:a=>Gc(l,a),act:(...a)=>Bc(l,...a),bulkAct:a=>Kc(l,a)},approvals:{list:a=>qi(l,a),resolve:(...a)=>Mi(l,...a),sessionsNeedingInput:a=>Di(l,a)},gateway:{logs:a=>Sc(l,a),log:a=>vc(l,a),overview:a=>Cc(l,a),series:a=>Rc(l,a),breakdown:a=>Tc(l,a),sessions:a=>Ac(l,a),errors:a=>Ic(l,a),budgets:()=>jc(l),setBudget:a=>Ec(l,a),deleteBudget:a=>$c(l,a),keys:()=>qc(l),createKey:a=>Dc(l,a),revokeKey:a=>Mc(l,a),routing:{get:()=>_c(l),set:a=>Pc(l,a),reset:()=>kc(l),preview:a=>wc(l,a)},playground:(a,R,T)=>Uc(l,a,R,T)},channels:{slack:{installation:()=>ac(l),connect:a=>cc(l,a),mode:()=>lc(l),manifest:()=>uc(l),disconnect:()=>pc(l),getFile:a=>dc(l,a),uploadFile:a=>gc(l,a)},email:{installation:a=>mc(l,a),mode:()=>fc(l),connect:a=>yc(l,a),disconnect:a=>hc(l,a),updatePolicy:(...a)=>bc(l,...a)},voice:{setBotName:a=>xc(l,a)}},updateExperimentalFeature:(...a)=>ii(l,...a),modelDefaults:{get:()=>ja(l),set:a=>Ea(l,a),clear:a=>$a(l,a)},setDefaultAgent:a=>Ua(l,a),sandbox:{list:()=>Mo(l),snapshots:()=>Ao(l),rebuildSnapshot:a=>Io(l,a),fixWithAgent:()=>jo(l),createTemplate:a=>Eo(l,a),updateTemplate:(...a)=>$o(l,...a),removeTemplate:a=>qo(l,a),buildTemplate:a=>Do(l,a),setProvider:a=>oi(l,a)},setAgentScope:(...a)=>Da(l,...a),session:a=>$(l,a)}}function $(l,h){let a=null,R,T,v=null;async function P(){v||(v=Ar(l,h,{showErrors:!1}).then(y=>{let C=typeof y.metadata?.opencode_model=="string"?y.metadata.opencode_model.trim():"",M=C.indexOf("/"),z=M>0&&M<C.length-1?{providerID:C.slice(0,M),modelID:C.slice(M+1)}:void 0,V=y.agent_name?.trim()||void 0;return{model:z,agent:V}}));try{return await v}catch(y){throw v=null,y}}function j(){if(a)return a;let y=Ta(l,h);return y&&(a=y),a}async function w(y){let C=j();if(C)return C;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,H=()=>Math.max(0,Q-Date.now()),D=await Te(l,h,Math.min(3e4,H()));for(;Date.now()<Q&&(D==null||(D.stage==="provisioning"||D.stage==="starting")&&D.retriable);)await new Promise(he=>setTimeout(he,Math.min(1e3,H()))),D=await Te(l,h,Math.min(3e4,H()));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 N=rt(U);return fs(N,U),{opencodeSessionId:D.opencode_session_id,runtimeUrl:N,sandboxId:U}})();Ct.set(z,J);try{return a=await J,a}finally{Ct.get(z)===J&&Ct.delete(z)}}function L(y){let C=j();if(!C)throw new Rt(y);return C}function K(){a=null,Ia(l,h)}return{get:y=>Ar(l,h,y),cost:()=>qr(h,{projectId:l}),update:y=>ma(l,h,y),delete:()=>(K(),fa(l,h)),start:(...y)=>Te(l,h,...y),restart:()=>(K(),xt(l,h)),stop:()=>(K(),_t(l,h)),configState:()=>ya(l,h),reloadConfig:y=>(K(),ha(l,h,y)),setSharing:y=>sa(l,h,y),previews:()=>ia(l,h),commit:y=>na(l,h,y),publicShares:{list:()=>oa(l,h),create:(...y)=>aa(l,h,...y),revoke:(...y)=>ca(l,h,...y)},audit:(y,C)=>pa(l,h,y,C),transcript:y=>da(l,h,y),voiceTranscript:y=>ga(l,h,y),ensureReady:w,health:y=>Dl(j()?.runtimeUrl??null,y),previewUrl:(y,C="/")=>ge(y,C,r(L("previewUrl").sandboxId)),proxyUrl:y=>Ll(y,r(L("proxyUrl").sandboxId)),setModel:y=>{R=y},changeModel:async y=>{let C=await _a(l,h,y);return v=null,C},scope:()=>ba(l,h),rescope:y=>xa(l,h,y),setAgent:y=>{T=y},send:async(y,C)=>{let{opencodeSessionId:M,runtimeUrl:z}=await w(),V=C?.model??R,J=C?.agent??T,Q=V&&J?{}:await P(),H=V??Q.model,D=J??Q.agent;return te(z).session.prompt({sessionID:M,parts:[{type:"text",text:y}],...H?{model:H}:{},...D?{agent:D}:{}})},abort:async()=>{let{opencodeSessionId:y,runtimeUrl:C}=await w();return te(C).session.abort({sessionID:y})},rewind:async y=>{let{opencodeSessionId:C,runtimeUrl:M}=await w();return te(M).session.revert({sessionID:C,messageID:y})},restoreRewind:async()=>{let{opencodeSessionId:y,runtimeUrl:C}=await w();return te(C).session.unrevert({sessionID:y})},stream:async y=>{let{runtimeUrl:C}=await w();return Fr({client:te(C),onEvent:y.onEvent,onGapRehydrate:y.onGapRehydrate,signal:y.signal})},get runtime(){return te(L("runtime").runtimeUrl)},files:{list:async y=>ct(y,(await w()).runtimeUrl),read:async y=>Le(y,(await w()).runtimeUrl),readBlob:async y=>Fe(y,(await w()).runtimeUrl),status:async()=>lt((await w()).runtimeUrl),findFiles:async(y,C)=>ut(y,C,(await w()).runtimeUrl),findText:async y=>pt(y,(await w()).runtimeUrl),upload:async(y,C,M)=>Ge(y,C,M,(await w()).runtimeUrl),create:async y=>dt(y,(await w()).runtimeUrl),copy:async(y,C)=>gt(y,C,(await w()).runtimeUrl),remove:async y=>mt(y,(await w()).runtimeUrl),mkdir:async y=>ft(y,(await w()).runtimeUrl),rename:async(y,C)=>yt(y,C,(await w()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:p,connectors:k(),project:I,session:$,github:g,billing:c,sandboxShares:f,transcribe:Oc,connectStatus:m,marketplace:x,validateToken:Qs,runtime:nd}}function sd(){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 Hl={thinking:!1,toolDetails:!0,assistantMetadata:!0};function id(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function od(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 ad(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
5
+ `);F=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:"))_=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:_,retry:l}),J.length&&(yield N)}}}finally{a.removeEventListener("abort",K),w.releaseLock()}break}catch(j){if(e?.(j),u!==void 0&&h>=u)break;let v=Math.min(l*2**(h-1),p??3e4);await x(v)}}}()}};var Du=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Mu=t=>{switch(t){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Uu=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ze=({allowReserved:t,explode:e,name:n,style:r,value:s})=>{if(!e){let p=(t?s:s.map(g=>encodeURIComponent(g))).join(Mu(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=Du(r),u=s.map(p=>r==="label"||r==="simple"?t?p:encodeURIComponent(p):_e({allowReserved:t,name:n,value:p})).join(c);return r==="label"||r==="matrix"?c+u:u},_e=({allowReserved:t,name:e,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`${e}=${t?n:encodeURIComponent(n)}`},et=({allowReserved:t,explode:e,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!e){let g=[];Object.entries(s).forEach(([m,_])=>{g=[...g,m,t?_:encodeURIComponent(_)]});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=Uu(r),p=Object.entries(s).map(([g,f])=>_e({allowReserved:t,name:r==="deepObject"?`${n}[${g}]`:g,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var Ou=/\{[^{}]+\}/g,Fu=({path:t,url:e})=>{let n=e,r=e.match(Ou);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=t[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,Ze({explode:c,name:u,style:p,value:g}));continue}if(typeof g=="object"){n=n.replace(s,et({explode:c,name:u,style:p,value:g,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${_e({name:u,value:g})}`);continue}let f=encodeURIComponent(p==="label"?`.${g}`:g);n=n.replace(s,f)}return n},ls=({baseUrl:t,path:e,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(t??"")+c;e&&(u=Fu({path:e,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function Nt(t){let e=t.body!==void 0;if(e&&t.bodySerializer)return"serializedBody"in t?t.serializedBody!==void 0&&t.serializedBody!==""?t.serializedBody:null:t.body!==""?t.body:null;if(e)return t.body}var us=async(t,e)=>{let n=typeof e=="function"?await e(t):e;if(n)return t.scheme==="bearer"?`Bearer ${n}`:t.scheme==="basic"?`Basic ${btoa(n)}`:n};var Ht={bodySerializer:t=>JSON.stringify(t,(e,n)=>typeof n=="bigint"?n.toString():n)};var ps=({parameters:t={},...e}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let p=t[c]||e;if(Array.isArray(u)){let g=Ze({allowReserved:p.allowReserved,explode:!0,name:c,style:"form",value:u,...p.array});g&&s.push(g)}else if(typeof u=="object"){let g=et({allowReserved:p.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...p.object});g&&s.push(g)}else{let g=_e({allowReserved:p.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},ds=t=>{if(!t)return"stream";let e=t.split(";")[0]?.trim();if(e){if(e.startsWith("application/json")||e.endsWith("+json"))return"json";if(e==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>e.startsWith(n)))return"blob";if(e.startsWith("text/"))return"text"}},Lu=(t,e)=>e?!!(t.headers.has(e)||t.query?.[e]||t.headers.get("Cookie")?.includes(`${e}=`)):!1,gs=async({security:t,...e})=>{for(let n of t){if(Lu(e,n.name))continue;let r=await us(n,e.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":e.query||(e.query={}),e.query[s]=r;break;case"cookie":e.headers.append("Cookie",`${s}=${r}`);break;default:e.headers.set(s,r);break}}},Wt=t=>ls({baseUrl:t.baseUrl,path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:ps(t.querySerializer),url:t.url}),zt=(t,e)=>{let n={...t,...e};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=tt(t.headers,e.headers),n},Gu=t=>{let e=[];return t.forEach((n,r)=>{e.push([r,n])}),e},tt=(...t)=>{let e=new Headers;for(let n of t){if(!n)continue;let r=n instanceof Headers?Gu(n):Object.entries(n);for(let[s,c]of r)if(c===null)e.delete(s);else if(Array.isArray(c))for(let u of c)e.append(s,u);else c!==void 0&&e.set(s,typeof c=="object"?JSON.stringify(c):c)}return e},De=class{fns=[];clear(){this.fns=[]}eject(e){let n=this.getInterceptorIndex(e);this.fns[n]&&(this.fns[n]=null)}exists(e){let n=this.getInterceptorIndex(e);return!!this.fns[n]}getInterceptorIndex(e){return typeof e=="number"?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,n){let r=this.getInterceptorIndex(e);return this.fns[r]?(this.fns[r]=n,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},ms=()=>({error:new De,request:new De,response:new De}),Bu=ps({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Ku={"Content-Type":"application/json"},Me=(t={})=>({...Ht,headers:Ku,parseAs:"auto",querySerializer:Bu,...t});var Ue=(t={})=>{let e=zt(Me(),t),n=()=>({...e}),r=f=>(e=zt(e,f),n()),s=ms(),c=async f=>{let m={...e,...f,fetch:f.fetch??e.fetch??globalThis.fetch,headers:tt(e.headers,f.headers),serializedBody:void 0};m.security&&await gs({...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 _=Wt(m);return{opts:m,url:_}},u=async f=>{let{opts:m,url:_}=await c(f),x={redirect:"follow",...m,body:Nt(m)},I=new Request(_,x);for(let k of s.request.fns)k&&(I=await k(I,m));let T=m.fetch,l;try{l=await T(I)}catch(k){let E=k;for(let w of s.error.fns)w&&(E=await w(k,void 0,I,m));if(E=E||{},m.throwOnError)throw E;return m.responseStyle==="data"?void 0:{error:E,request:I,response:void 0}}for(let k of s.response.fns)k&&(l=await k(l,I,m));let h={request:I,response:l};if(l.ok){let k=(m.parseAs==="auto"?ds(l.headers.get("Content-Type")):m.parseAs)??"json";if(l.status===204||l.headers.get("Content-Length")==="0"){let w;switch(k){case"arrayBuffer":case"blob":case"text":w=await l[k]();break;case"formData":w=new FormData;break;case"stream":w=l.body;break;default:w={};break}return m.responseStyle==="data"?w:{data:w,...h}}let E;switch(k){case"arrayBuffer":case"blob":case"formData":case"text":E=await l[k]();break;case"json":{let w=await l.text();E=w?JSON.parse(w):{};break}case"stream":return m.responseStyle==="data"?l.body:{data:l.body,...h}}return k==="json"&&(m.responseValidator&&await m.responseValidator(E),m.responseTransformer&&(E=await m.responseTransformer(E))),m.responseStyle==="data"?E:{data:E,...h}}let a=await l.text(),A;try{A=JSON.parse(a)}catch{}let j=A??a,v=j;for(let k of s.error.fns)k&&(v=await k(j,l,I,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...h}},p=f=>m=>u({...m,method:f}),g=f=>async m=>{let{opts:_,url:x}=await c(m);return cs({..._,body:_.body,headers:_.headers,method:f,onRequest:async(I,T)=>{let l=new Request(I,T);for(let h of s.request.fns)h&&(l=await h(l,_));return l},serializedBody:Nt(_),url:x})};return{buildUrl:Wt,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 Nu={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Hu=Object.entries(Nu),fs=(t,e)=>{e||(e=new Map);for(let n of t)"in"in n?n.key&&e.set(n.key,{in:n.in,map:n.map}):"key"in n?e.set(n.key,{map:n.map}):n.args&&fs(n.args,e);return e},Wu=t=>{for(let[e,n]of Object.entries(t))n&&typeof n=="object"&&!Object.keys(n).length&&delete t[e]},d=(t,e)=>{let n={body:{},headers:{},path:{},query:{}},r=fs(e),s;for(let[c,u]of t.entries())if(e[c]&&(s=e[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=Hu.find(([_])=>p.startsWith(_));if(m){let[_,x]=m;n[x][p.slice(_.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[_,x]of Object.entries(s.allowExtra))if(x){n[_][p]=g;break}}}}return Wu(n),n};var ys=Ue(Me({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(e){this.client=e?.client??ys}},Vt=class{defaultKey="default";instances=new Map;get(e){let n=this.instances.get(e??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(e,n){this.instances.set(n??this.defaultKey,e)}},Jt=class extends b{remove(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(e,n){let r=d([e],[{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}})}},Xt=class extends b{log(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Qt=class extends b{moveSession(e,n){let r=d([e],[{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}})}},Yt=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Zt=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(e,n){let r=d([e],[{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}})}},en=class extends b{list(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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})}},tn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},nn=class extends b{generateName(e,n){let r=d([e],[{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}})}},rn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},sn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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 rn({client:this.client})}},on=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new Qt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Yt({client:this.client})}_console;get console(){return this._console??=new Zt({client:this.client})}_session;get session(){return this._session??=new en({client:this.client})}_resource;get resource(){return this._resource??=new tn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new nn({client:this.client})}_workspace;get workspace(){return this._workspace??=new sn({client:this.client})}},an=class extends b{get(e){return(e?.client??this.client).get({url:"/global/config",...e})}update(e,n){let r=d([e],[{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}})}},cn=class extends b{health(e){return(e?.client??this.client).get({url:"/global/health",...e})}event(e){return(e?.client??this.client).sse.get({url:"/global/event",...e})}dispose(e){return(e?.client??this.client).post({url:"/global/dispose",...e})}upgrade(e,n){let r=d([e],[{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 an({client:this.client})}},ln=class extends b{subscribe(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},un=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},pn=class extends b{list(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},dn=class extends b{remove(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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}})}},gn=class extends b{text(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},mn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},fn=class extends b{dispose(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},yn=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},hn=class extends b{raw(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},bn=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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 hn({client:this.client})}},xn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},_n=class extends b{status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Pn=class extends b{status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},kn=class extends b{remove(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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})}},wn=class extends b{status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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 kn({client:this.client})}},Sn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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})}},vn=class extends b{shells(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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})}},Cn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},Rn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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}})}},Tn=class extends b{authorize(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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}})}},An=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(e,n){let r=d([e],[{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 Tn({client:this.client})}},In=class extends b{list(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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})}},jn=class extends b{delete(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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}})}},En=class extends b{list(e,n){let r=d([e],[{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}})}},$n=class extends b{start(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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 En({client:this.client})}},qn=class extends b{next(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Dn=class extends b{appendPrompt(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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 qn({client:this.client})}},Mn=class extends b{get(e){return(e?.client??this.client).get({url:"/api/health",...e})}},Un=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},On=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},Fn=class extends b{stage(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},Ln=class extends b{list(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(e,n){let r=d([e],[{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}})}},Gn=class extends b{list(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},Bn=class extends b{list(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(e,n){let r=d([e],[{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 Fn({client:this.client})}_permission;get permission(){return this._permission??=new Ln({client:this.client})}_question;get question(){return this._question??=new Gn({client:this.client})}},Kn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Nn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Hn=class extends b{key(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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}})}},Wn=class extends b{cancel(e,n){let r=d([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(e,n){let r=d([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(e,n){let r=d([e],[{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}})}},zn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(e,n){let r=d([e],[{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 Hn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Wn({client:this.client})}},Vn=class extends b{remove(e,n){let r=d([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(e,n){let r=d([e],[{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}})}},Jn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Xn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(e,n){let r=d([e],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Qn=class extends b{_request;get request(){return this._request??=new Jn({client:this.client})}_saved;get saved(){return this._saved??=new Xn({client:this.client})}},Yn=class extends b{read(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(e,n){let r=d([e],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(e,n){let r=d([e],[{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})}},Zn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},er=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},tr=class extends b{subscribe(e){return(e?.client??this.client).sse.get({url:"/api/event",...e})}},nr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=d([e],[{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})}},rr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},sr=class extends b{_request;get request(){return this._request??=new rr({client:this.client})}},ir=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},or=class extends b{remove(e,n){let r=d([e],[{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(e,n){let r=d([e],[{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(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},ar=class extends b{_health;get health(){return this._health??=new Mn({client:this.client})}_location;get location(){return this._location??=new Un({client:this.client})}_agent;get agent(){return this._agent??=new On({client:this.client})}_session;get session(){return this._session??=new Bn({client:this.client})}_model;get model(){return this._model??=new Kn({client:this.client})}_provider;get provider(){return this._provider??=new Nn({client:this.client})}_integration;get integration(){return this._integration??=new zn({client:this.client})}_credential;get credential(){return this._credential??=new Vn({client:this.client})}_permission;get permission(){return this._permission??=new Qn({client:this.client})}_fs;get fs(){return this._fs??=new Yn({client:this.client})}_command;get command(){return this._command??=new Zn({client:this.client})}_skill;get skill(){return this._skill??=new er({client:this.client})}_event;get event(){return this._event??=new tr({client:this.client})}_pty;get pty(){return this._pty??=new nr({client:this.client})}_question;get question(){return this._question??=new sr({client:this.client})}_reference;get reference(){return this._reference??=new ir({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new or({client:this.client})}},nt=class t extends b{static __registry=new Vt;constructor(e){super(e),t.__registry.set(this,e?.key)}_auth;get auth(){return this._auth??=new Jt({client:this.client})}_app;get app(){return this._app??=new Xt({client:this.client})}_experimental;get experimental(){return this._experimental??=new on({client:this.client})}_global;get global(){return this._global??=new cn({client:this.client})}_event;get event(){return this._event??=new ln({client:this.client})}_config;get config(){return this._config??=new un({client:this.client})}_tool;get tool(){return this._tool??=new pn({client:this.client})}_worktree;get worktree(){return this._worktree??=new dn({client:this.client})}_find;get find(){return this._find??=new gn({client:this.client})}_file;get file(){return this._file??=new mn({client:this.client})}_instance;get instance(){return this._instance??=new fn({client:this.client})}_path;get path(){return this._path??=new yn({client:this.client})}_vcs;get vcs(){return this._vcs??=new bn({client:this.client})}_command;get command(){return this._command??=new xn({client:this.client})}_lsp;get lsp(){return this._lsp??=new _n({client:this.client})}_formatter;get formatter(){return this._formatter??=new Pn({client:this.client})}_mcp;get mcp(){return this._mcp??=new wn({client:this.client})}_project;get project(){return this._project??=new Sn({client:this.client})}_pty;get pty(){return this._pty??=new vn({client:this.client})}_question;get question(){return this._question??=new Cn({client:this.client})}_permission;get permission(){return this._permission??=new Rn({client:this.client})}_provider;get provider(){return this._provider??=new An({client:this.client})}_session;get session(){return this._session??=new In({client:this.client})}_part;get part(){return this._part??=new jn({client:this.client})}_sync;get sync(){return this._sync??=new $n({client:this.client})}_tui;get tui(){return this._tui??=new Dn({client:this.client})}_v2;get v2(){return this._v2??=new ar({client:this.client})}};function bs(t,e,n,r){if(!r?.throwOnError||t instanceof Error)return t;if(typeof t=="object"&&t!==null&&Object.keys(t).length>0){let c=t,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||hs(n,e);return new Error(u,{cause:{body:t,status:e?.status}})}if(typeof t=="string"&&t.length>0)return new Error(t,{cause:{body:t,status:e?.status}});let s=e?"(empty response body)":"network error (no response)";return new Error(`opencode server ${hs(n,e)}: ${s}`,{cause:{body:t,status:e?.status}})}function hs(t,e){let n=t?.method??"?",r=t?.url??"?",s=e?.status,c=e?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function zu(t,e,n){if(t)return e&&(t===e||n&&t===n(e))?e:t}function Vu(t,e){if(t.method!=="GET"&&t.method!=="HEAD")return t;let n=new URL(t.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=zu(t.headers.get(c),u==="directory"?e.directory:e.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 t;let s=new Request(n,t);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function cr(t){t?.fetch||(t={...t,fetch:r=>(r.timeout=!1,fetch(r))}),t?.directory&&(t.headers={...t.headers,"x-opencode-directory":encodeURIComponent(t.directory)}),t?.experimental_workspaceID&&(t.headers={...t.headers,"x-opencode-workspace":t.experimental_workspaceID});let e=Ue(t);return e.interceptors.request.use(n=>Vu(n,{directory:t?.directory,workspace:t?.experimental_workspaceID})),e.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}),e.interceptors.error.use(bs),new nt({client:e})}var Ju=new Set(["api","cli","mobile","web"]);function rt(t){let e=t?.trim().toLowerCase();return e&&Ju.has(e)?e:null}function Xu(t){return new Promise(e=>setTimeout(e,t))}async function xs(t,e,n){let r=Math.max(1,e?.attempts??1),s=e?.baseDelayMs??0,c=e?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(c&&n?.(),s>0&&await Xu(s)),u=await t(),u)return u;return u}var Qu=3e4;function Yu(t){return(t instanceof Request?t.url:String(t)).includes("/global/event")}function lr(t,e,n=Qu){let r=t instanceof Request?t.signal:e?.signal;if(Yu(t))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function ur(t,e,n,r){let s=new Headers(t instanceof Request?t.headers:void 0);e?.headers&&new Headers(e.headers).forEach((u,p)=>{s.set(p,u)}),n&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${n}`);let c=rt(r);return c&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",c),s}function _s(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function pr(){return $().getToken()}async function ne(t){return xs(()=>$().getToken(),t,st)}function st(){}function sf(t){}function of(t){}async function Pe(){return pr()}async function Ps(t){return ne(t)}function ks(t,e,n,r){let s=$().fetch??fetch;if(t instanceof Request){let c=new Request(t,{headers:n,...r?{signal:r}:{}});return s(c)}return s(t,{...e,headers:n,...r?{signal:r}:{}})}async function q(t,e,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},c=await Ps();if(!c)return _s();let u=$().clientSource,p=ur(t,e,c,u),g=s===void 0?lr(t,e):lr(t,e,s),f=await ks(t,e,p,g);if(f.status===401&&r&&c){st();let m=await Ps({attempts:2,baseDelayMs:200});if(m&&m!==c){let _=ur(t,e,m,u);return ks(t,e,_,g)}}return f}var ke={url:null,sandboxId:null,dbSandboxId:null,version:0},Zu=new Set;function ws(t,e=null,n=null){if(!(ke.url===t&&ke.sandboxId===e&&ke.dbSandboxId===n)){ke={url:t,sandboxId:e,dbSandboxId:n,version:ke.version+1};for(let r of Zu)r()}}function Ss(){return ke.url}function ep(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function ue(){return ep($().backendUrl||"http://localhost:8008/v1")}function vs(){let t=$().sandboxId;return t?`${ue()}/p/${t}/8000`:""}function tp(t){return`${ue()}/p/${t}/8000`}function it(t){return tp(t)}function L(){let t=Ss();return t||($().billingEnabled??!1?"":vs())}var R=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(e,n={}){super(e),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 e=="string"?e:e==null?"":String(e);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},we=class extends R{constructor(e="Not authenticated"){super(e,{code:"NO_SESSION"}),this.name="AuthError"}},pe=class t extends Error{status;detail;constructor(e,n,r){super(r||n.message||`Billing Error: ${e}`),this.name="BillingError",this.status=e,this.detail=n,Object.setPrototypeOf(this,t.prototype)}},Se=class t extends Error{status;detail;constructor(e=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=e,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,t.prototype)}},dr="feature_disabled";function Cs(t){if(!(t instanceof R)||t.status!==403||t.code!==dr)return null;let e=t.details??t.data;return e&&typeof e=="object"?e:{}}function Rs(t){let e=Cs(t);return e?(typeof e.feature=="string"&&!t.feature&&(t.feature=e.feature),!0):!1}function Ts(t){let e=Cs(t);if(!e)return null;let n=t.feature;return typeof n=="string"?n:typeof e.feature=="string"?e.feature:null}function ve(t){let e=t.response?.status||t.status;if(e!==402)return t;let n=t.response?.data||t.data||t.detail||{},r=n?.detail||n;return new pe(e,{message:r?.message||t.message||"Billing error",...r})}function As(t){return t instanceof pe}function Is(t){if(!(t instanceof pe))return null;let e=t.detail?.message?.toLowerCase()||"";return e.includes("credit")||e.includes("balance")||e.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:t.detail?.message||"Please upgrade to continue."}}async function gr(t,e){return(await t.json().catch(()=>({})))?.error||t.statusText||e}function mr(t){if(!t)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return t}async function js(t){let e=mr(t),n=await q(`${e}/env`);if(!n.ok)throw new Error(await gr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Es(t,e,n){let r=mr(t),s=await q(`${r}/env/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await gr(s,"Failed to save secret"))}async function $s(t,e){let n=mr(t),r=await q(`${n}/env/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await gr(r,"Failed to delete secret"))}var np={list:js,set:Es,delete:$s};async function rp(t,e,n){let r=t;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await q(`${r}/kortix/triggers${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function Ce(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return e===t.length?t:t.slice(0,e)}async function ot(t,e){let n=await t.json().catch(()=>({}));return n?.error||n?.message||t.statusText||e}function Oe(t){if(!t)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return Ce(t)}async function qs(t){let e=Oe(t),n=await q(`${e}/kortix/pty`);if(!n.ok)throw new Error(await ot(n,"Failed to list terminals"));return n.json()}async function Ds(t,e){let n=Oe(t),r=await q(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e??{})});if(!r.ok)throw new Error(await ot(r,"Failed to create terminal"));return r.json()}async function Ms(t,e,n){let r=Oe(t),s=await q(`${r}/kortix/pty/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await ot(s,"Failed to update terminal"));return s.json()}async function Us(t,e){let n=Oe(t),r=await q(`${n}/kortix/pty/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await ot(r,"Failed to remove terminal"))}async function Os(t,e){let n=Oe(e),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:"),Ce(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(t)}/connect`,c=await Pe();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var sp={list:qs,create:Ds,update:Ms,remove:Us,webSocketUrl:Os};async function S(t,e,n,r){let s=t;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await q(`${s}${e}`,{...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 Rf(t,e={}){let n=new URLSearchParams;e.projectId&&n.set("project_id",e.projectId),e.status&&n.set("status",e.status);let r=n.toString()?`?${n}`:"";return S(t,`/kortix/tasks${r}`)}async function Tf(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`)}async function Af(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/events`)}async function If(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/status`)}async function jf(t,e){return S(t,"/kortix/tasks",{method:"POST",body:JSON.stringify(e)})}async function Ef(t,e,n){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function $f(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/start`,{method:"POST"})}async function qf(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/approve`,{method:"POST"})}async function Df(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Mf(t,e){let n=e?`?project_id=${encodeURIComponent(e)}`:"";return S(t,`/kortix/tickets${n}`)}async function Uf(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`)}async function Of(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/events`)}async function Ff(t,e){return S(t,"/kortix/tickets",{method:"POST",body:JSON.stringify(e)})}async function Lf(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Gf(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Bf(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Kf(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Nf(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Hf(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Wf(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/columns`)}async function zf(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Vf(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/fields`)}async function Jf(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Xf(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/templates`)}async function Qf(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Yf(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/pm-session`,{method:"POST"})}async function Zf(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents`)}async function ey(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function ty(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function ny(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function ry(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}/persona`)}async function sy(t,e,n=200){return S(t,`/kortix/projects/${encodeURIComponent(e)}/activity?limit=${n}`)}async function iy(t){return S(t,"/kortix/projects")}async function oy(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}`)}async function ay(t,e){return S(t,`/kortix/projects/by-session/${encodeURIComponent(e)}`)}async function cy(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/sessions`)}async function ly(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"DELETE"})}async function uy(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function py(t,e,n="all"){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones?status=${n}`)}async function dy(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`)}async function gy(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/events`)}async function my(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function fy(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function yy(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function hy(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function by(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function xy(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`)}async function _y(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}/events`)}async function Py(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function ky(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`)}async function wy(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var ip=1e4,op={retryOnAuthError:!1};function Re(t,e,n){return S(t,e,{signal:AbortSignal.timeout(ip),...n},op)}async function Sy(t,e=!1){return(await Re(t,`/kortix/services${e?"?all=true":""}`)).services??[]}async function vy(t){return(await Re(t,"/kortix/services/templates")).templates??[]}async function Cy(t,e){return(await Re(t,`/kortix/services/${encodeURIComponent(e)}/logs`)).logs??[]}async function Ry(t,e,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(e)}`:`/kortix/services/${encodeURIComponent(e)}/${n}`;return Re(t,s,{method:r?"DELETE":"POST"})}async function Ty(t,e){return Re(t,`/kortix/services/reconcile${e?"?reload=true":""}`,{method:"POST"})}async function Ay(t,e){return Re(t,"/kortix/services/register",{method:"POST",body:JSON.stringify(e)})}var at=new Map,fr=class extends Error{constructor(e="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(e),this.name="RuntimeNotReadyError"}};function de(){let t=L();if(!t)throw new fr;return re(t)}function re(t){if(!t)throw new Error("[opencode-sdk] getClientForUrl called without a url");let e=at.get(t);if(e)return e;if(!Kt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=cr({baseUrl:t,fetch:q});return at.set(t,n),n}function My(t){at.delete(t)}function Uy(){at.clear()}var ct=new Map;function Oy(t){if(!t)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let e=ct.get(t);if(e)return e;let n=cr({baseUrl:t,fetch});return ct.set(t,n),n}function Fy(t){ct.delete(t)}function Ly(){ct.clear()}async function ap(t){let e=await t.text().catch(()=>"");try{let n=JSON.parse(e);return n?.error||n?.message||e||t.statusText||`HTTP ${t.status}`}catch{return e||t.statusText||`HTTP ${t.status}`}}async function Gy(t){let e=L();if(!e)throw new R("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=t==="full"?"/kortix/refresh":"/global/dispose",r=await q(`${e}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",c=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new R(`System reload failed (${r.status}): ${await ap(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!c)throw new R(`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 R(`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:t,steps:p?[t==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:p?[]:[`the sandbox did not confirm the reload (${n})`]}}function Ls(t){if(t.error){let e=t.error,n=e?.data?.message||e?.message||(typeof e?.error=="string"?e.error:null)||"SDK request failed";throw new R(n,{status:e?.response?.status??e?.status,response:e?.response,details:e})}return t.data}async function Te(t){let e=await t.text().catch(()=>""),n=null;try{n=JSON.parse(e)}catch{}return n?.error||e||t.statusText||`HTTP ${t.status}`}async function lt(t,e=L()){let n=await q(`${e}${t}`);if(!n.ok)throw new R(await Te(n),{status:n.status,response:n});return n.json()}var hr=["/workspace","/tmp","/home","/opt"],cp=hr.filter(t=>t!=="/workspace");function Gs(t){return hr.some(e=>t===e||t.startsWith(`${e}/`))}function Bs(t){return Gs(t)?t:`/workspace/${t.replace(/^\/+/,"")}`}function Ae(t){let e=t||"";if(e==="/workspace"||e==="/workspace/")return"";if(e.startsWith("/workspace/"))e=e.slice(11);else if(cp.some(n=>e===n||e.startsWith(`${n}/`)))return e;for(;e.startsWith("/");)e=e.slice(1);return e}var Ks=Ae;async function ut(t,e=L()){let n=Ae(t)||".";return(await lt(`/file?path=${encodeURIComponent(n)}`,e)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function Le(t,e=L()){let n=Ae(t),r=await q(`${e}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new R(await Te(r),{status:r.status,response:r});return r.json()}async function lp(t,e,n=L()){let r=Ae(t),s=await q(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new R(await Te(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new R("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return e&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:e}):c}async function Ge(t,e=L()){try{return await lp(t,void 0,e)}catch{}let n=await Le(t,e);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 pt(t=L()){return lt("/file/status",t)}async function dt(t,e,n=L()){let r=new URLSearchParams({query:t});return e?.type&&r.set("type",e.type),e?.limit&&r.set("limit",String(e.limit)),lt(`/find/file?${r.toString()}`,n)}async function gt(t,e=L()){return(await lt(`/find?pattern=${encodeURIComponent(t)}`,e)).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 Fe=[400,1200],up=t=>t===408||t===429||t===502||t===503||t===504,Fs=t=>new Promise(e=>setTimeout(e,t));function pp(t){let e=t?.name;return e==="TimeoutError"||e==="AbortError"}var yr=3e4,dp=15*6e4,gp=256;function mp(t){if(typeof t!="number"||!Number.isFinite(t)||t<=0)return yr;let e=yr+t/gp;return Math.min(dp,Math.max(yr,Math.round(e)))}async function fp(t){let e=await t.text().catch(()=>""),n=null;try{n=e?JSON.parse(e):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(t.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(e)?t.status===502||/bad gateway/i.test(e)?"Bad gateway while reaching the sandbox upload service. Please retry.":t.statusText||`HTTP ${t.status}`:e.replace(/\s+/g," ").trim().slice(0,500)||t.statusText||`HTTP ${t.status}`}async function Ns(t,e){let n;for(let s=0;s<=Fe.length;s++){let c;try{c=await e(t())}catch(p){if(n=p,pp(p)||s===Fe.length)break;await Fs(Fe[s]);continue}if(c.ok)return c.json();let u=await fp(c);if(n=new R(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!up(c.status)||s===Fe.length)throw n;await Fs(Fe[s])}if(n instanceof R)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new R(`Upload failed: ${r}`)}function Be(t,e,n,r=L()){let s=mp(t.size);return Ns(()=>{let c=new FormData,u=(e??"").trim();return u&&c.append("path",u.startsWith("/")?u:`/${u}`),n?c.append("file",t,n):c.append("file",t),c},c=>q(`${r}/file/upload`,{method:"POST",body:c},{timeoutMs:s}))}function yp(t,e,n=L()){return Ns(()=>{let r=new FormData;return r.append(t,e,t.split("/").pop()||"file"),r},async r=>{let s={},c=await Pe();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function mt(t,e=L()){let n=t.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return Be(new File([" "],c,{type:"application/octet-stream"}),u,void 0,e)}async function ft(t,e,n=L()){return yp(e,await Ge(t,n),n)}async function yt(t,e=L()){let n=await q(`${e}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new R(`Delete failed (${n.status}): ${await Te(n)}`,{status:n.status,response:n});return n.json()}async function ht(t,e=L()){let n=await q(`${e}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new R(`Mkdir failed (${n.status}): ${await Te(n)}`,{status:n.status,response:n});return n.json()}async function bt(t,e,n=L()){let r=await q(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:t,to:e})});if(!r.ok)throw new R(`Rename failed (${r.status}): ${await Te(r)}`,{status:r.status,response:r});return r.json()}async function Hs(){return Ls(await de().project.current())}async function br(){return Ls(await de().global.health())}async function Ws(){try{return(await br()).healthy===!0}catch{return!1}}var hp={list:ut,read:Le,readBlob:Ge,status:pt,findFiles:dt,findText:gt,upload:Be,create:mt,copy:ft,remove:yt,mkdir:ht,rename:bt,currentProject:Hs,health:br,isReachable:Ws,toDaemonPath:Ae,toSandboxAbsolutePath:Bs,toWorkspaceRelative:Ks};var xp="X-Kortix-Impersonate",_r="kortix.impersonation",ge=null,xt=!1,xr=new Set;function Pr(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function _p(t,e=Date.now()){if(!t||!t.grantId||!t.accountId)return!1;let n=Date.parse(t.expiresAt);return Number.isFinite(n)&&n>e}function Pp(t){if(!t)return null;try{let e=JSON.parse(t);return typeof e?.grantId!="string"||typeof e?.accountId!="string"?null:{grantId:e.grantId,accountId:e.accountId,accountName:typeof e.accountName=="string"?e.accountName:null,expiresAt:typeof e.expiresAt=="string"?e.expiresAt:""}}catch{return null}}function zs(){for(let t of xr)try{t()}catch{}}function kp(){return xt||(xt=!0,ge=Pp(Pr()?.getItem(_r)??null)),ge&&!_p(ge)?(Vs(),null):ge}function Qy(t){if(xt=!0,!t){Vs();return}ge=t;try{Pr()?.setItem(_r,JSON.stringify(t))}catch{}zs()}function Vs(){xt=!0;let t=ge!==null;ge=null;try{Pr()?.removeItem(_r)}catch{}t&&zs()}function Yy(t){return xr.add(t),()=>{xr.delete(t)}}var wp=/(^|\/)admin\/(api|analytics)(\/|$)/;function Sp(t){let e=t;if(/^https?:\/\//.test(t))try{e=new URL(t).pathname}catch{e=t}return!wp.test(e)}function kr(t){if(t!==void 0&&!Sp(t))return{};let e=kp();return e?{[xp]:e.grantId}:{}}var ee=()=>$().backendUrl||"",vp="feature_not_supported",Cp="model_not_servable",Rp="provision_in_flight",Xs="request_deadline",Tp=/^Request exceeded the \d+s server processing deadline$/,Ap=(t,e,n)=>t!==503?!1:(typeof e=="object"&&e!==null&&"code"in e?e.code:void 0)===Xs||Tp.test(n),Ip=t=>new Promise(e=>setTimeout(e,t)),jp=new Set([502,503,504]),Ep=t=>jp.has(t),$p=t=>{let e=(t??"GET").toUpperCase();return e==="GET"||e==="HEAD"},qp=2,Js=t=>t?.name==="AbortError"||t?.name==="AbortSignal"||t instanceof Error&&t.message.includes("aborted"),_t=!1;function ih(t){_t=t}function oh(){return _t}async function me(t,e={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=e,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 ne(),_=c.body instanceof FormData,x={};_||(x["Content-Type"]="application/json"),Object.assign(x,c.headers);let I=rt($().clientSource),T=Object.keys(x).some(v=>v.toLowerCase()==="x-kortix-client");if(I&&!T&&(x["X-Kortix-Client"]=I),_t&&(x["x-kortix-admin-bypass"]="1"),Object.assign(x,kr(t)),m)x.Authorization=`Bearer ${m}`;else return{error:new we,success:!1};let l=$p(c.method),h=l?qp+1:1,a;for(let v=0;v<h;v++){v>0&&await Ip(250*2**(v-1));let k=v===0?u:new AbortController;v>0&&(p=setTimeout(()=>{f=!0,k.abort()},s));try{a=await($().fetch??fetch)(t,{...c,headers:x,signal:k.signal,credentials:c.credentials??"omit"})}catch(w){if(p&&(clearTimeout(p),p=null),Js(w)||v===h-1)throw w;continue}if(p&&(clearTimeout(p),p=null),!(l&&Ep(a.status)&&v<h-1))break;try{await a.arrayBuffer()}catch{}}if(!a.ok){let v=`HTTP ${a.status}: ${a.statusText}`,k=null;try{k=await a.json(),typeof k.reason=="string"?v=k.reason:typeof k.message=="string"?v=k.message:k.error&&typeof k.error=="string"?v=k.error:typeof k.detail=="string"?v=k.detail:typeof k.detail?.message=="string"&&(v=k.detail.message)}catch{}let E=Ap(a.status,k,v),w=new R(v,{status:a.status,response:a,details:k||void 0,data:k,detail:k?.detail,code:E?Xs:k?.code||k?.error_code||k?.detail?.error_code||a.status.toString()});if(a.status===402&&(w=ve(w)),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&&(w=new Se(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let F=a.status===501&&k?.code===vp,K=a.status===409&&k?.code===Cp,y=a.status===409&&k?.code===Rp;return n&&!F&&!K&&!y&&!E&&$().onError?.(w,r),{error:w,success:!1}}let A,j=a.headers.get("content-type");return j?.includes("application/json")?A=await a.json():j?.includes("text/")?A=await a.text():A=await a.blob(),{data:A,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let _=Js(m);_&&(g=!0);let x;if(_){if(!f)return{error:new R("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let I=t.replace(ee(),"")||t;x=new R(`Request timed out after ${Math.round(s/1e3)}s: ${I}`,{code:"TIMEOUT",url:t,endpoint:I,timeout:s})}else m instanceof Error?(x=new R(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(x,r)):(x=new R(String(m)),n&&$().onError?.(x,r));return{error:x,success:!1}}}var ah={async execute(t,e){try{let{data:n,error:r}=await t();if(r){let s=new R(r.message||"Database error",{code:r.code,details:r});return $().onError?.(s,e),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new R(n.message,{name:n.name||"ApiError",stack:n.stack}):new R(String(n));return $().onError?.(r,e),{error:r,success:!1}}}};async function Dp(t,e,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,c=await ne(),u={Accept:"text/event-stream","Content-Type":"application/json"},p=rt($().clientSource);p&&(u["X-Kortix-Client"]=p),_t&&(u["x-kortix-admin-bypass"]="1"),Object.assign(u,kr(t)),c&&(u.Authorization=`Bearer ${c}`);let g=new AbortController,f=setTimeout(()=>g.abort(),r);try{return await s(`${ee()}${t}`,{method:"POST",headers:u,body:JSON.stringify(e),signal:g.signal,credentials:"omit"})}finally{clearTimeout(f)}}var i={get:(t,e)=>me(`${ee()}${t}`,{...e,method:"GET"}),post:(t,e,n)=>me(`${ee()}${t}`,{...n,method:"POST",body:e?JSON.stringify(e):void 0}),put:(t,e,n)=>me(`${ee()}${t}`,{...n,method:"PUT",body:e?JSON.stringify(e):void 0}),patch:(t,e,n)=>me(`${ee()}${t}`,{...n,method:"PATCH",body:e?JSON.stringify(e):void 0}),delete:(t,e)=>me(`${ee()}${t}`,{...e,method:"DELETE"}),upload:(t,e,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],me(`${ee()}${t}`,{...s,method:"POST",body:e,headers:c})},uploadPut:(t,e,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],me(`${ee()}${t}`,{...s,method:"PUT",body:e,headers:c})},postStream:Dp};function o(t,e="Project request failed"){if(!t.success||t.data===void 0)throw t.error??new Error(e);return t.data}function wr(t){return t.replace(/\/v1\/?$/,"")}async function Ie(t,e){if(!t.backendUrl||!t.accessToken)return null;let n=wr(t.backendUrl);try{let r=await fetch(`${n}${e}`,{headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(t.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function Qs(){return o(await i.get("/accounts"))}async function Ys(t){return o(await i.post("/accounts",t))}async function Zs(t){return o(await i.get(`/accounts/${t}`))}async function ei(t,e){return o(await i.patch(`/accounts/${t}`,{name:e}))}async function ti(t){return o(await i.get(`/accounts/${t}/members`))}async function ni(t,e){return o(await i.post(`/accounts/${t}/members`,e,{showErrors:!1}))}async function ri(t){return o(await i.get(`/accounts/${t}/invites`))}async function si(t,e){return o(await i.delete(`/accounts/${t}/invites/${e}`))}async function ii(t,e){return o(await i.post(`/accounts/${t}/invites/${e}/resend`,{}))}async function oi(t){return o(await i.get(`/account-invites/${t}`,{showErrors:!1}))}async function ai(t){return o(await i.post(`/account-invites/${t}/accept`,{}))}async function ci(t){return o(await i.post(`/account-invites/${t}/decline`,{}))}async function li(t,e){return o(await i.delete(`/accounts/${t}/members/${e}`))}async function ui(t,e,n){return o(await i.patch(`/accounts/${t}/members/${e}`,{role:n}))}async function pi(t){return o(await i.post(`/accounts/${t}/leave`,{}))}async function gh(t){return Ie(t,"/v1/accounts")}async function di(){let t=await i.get("/accounts/me",{showErrors:!1});return!t.success||!t.data?{valid:!1,error:t.error}:{valid:!0,identity:t.data}}var hh=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","voice","llm_gateway","review_center","meta_agent","apps"];async function je(){return o(await i.get("/projects"))}async function mi(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/projects${e}`))}async function Sr(t,e){return o(await i.get(`/projects/${t}`,e))}async function fi(t,e,n="write"){return o(await i.post(`/projects/${t}/git/collaborators`,{github_username:e,permission:n}))}async function yi(t,e){return o(await i.post(`/projects/${t}/manifest/validate`,{raw:e}),"Failed to validate manifest")}async function hi(t){return o(await i.post(`/projects/${t}/git-token`,{}),"Failed to mint git token")}function bh(t){let e=t.metadata?.git;return e?.provider==="github"&&e?.managed===!0}async function vr(t,e){let n=o(await i.get(`/projects/${t}/detail`,{showErrors:!1,...e}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Cr(t,e){return o(await i.get(`/projects/${t}/llm-catalog`,{showErrors:!1,...e}))}async function Rr(t,e){return o(await i.get(`/projects/${t}/model-picker`,{showErrors:!1,...e}))}async function xh(t,e){return o(await i.get(`/projects/${t}/llm-catalog/providers`,{showErrors:!1,...e}))}async function bi(t){return o(await i.post("/projects",t))}async function xi(t){return o(await i.post("/projects/create-repo",t))}async function _i(t,e={}){return o(await i.post("/projects/provision",{seed_starter:!0,...t},{timeout:12e4,...e}))}var gi=200;function Mp(t){let e=t.split(`
8
+ `).filter(r=>r.startsWith("data:")).map(r=>r.slice(5).replace(/^ /,""));if(e.length===0)return null;let n=e.join(`
9
+ `);try{return JSON.parse(n)}catch(r){let s=n.length>gi?`${n.slice(0,gi)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function _h(t,e,n={}){let r=await i.postStream("/projects/provision-stream",{seed_starter:!0,...t},n);if(!r.ok){let g=await r.json().catch(()=>null);throw new R(g?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:g?.code})}let s=r.body?.getReader();if(!s)throw new Error("Provision stream is unavailable on this runtime (no response body)");let c=new TextDecoder,u="",p=null;try{for(;;){let{done:g,value:f}=await s.read();if(g)break;u+=c.decode(f,{stream:!0});let m=u.indexOf(`
9
10
 
10
- `;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
11
+ `);for(;m!==-1;){let _=u.slice(0,m);u=u.slice(m+2),m=u.indexOf(`
12
+
13
+ `);let x=Mp(_);if(x){if(e(x),x.type==="error")throw new R(x.error,{status:x.status,code:x.code});x.type==="done"&&(p=x.project)}}}}finally{s.cancel().catch(()=>{})}if(!p)throw new Error("Provision stream ended without a result");return p}async function Ph(){try{return o(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Tr(t,e){return o(await i.patch(`/projects/${t}`,e))}async function Pi(t,e,n){return o(await i.patch(`/projects/${t}/features`,{feature:e,enabled:n}))}async function ki(t,e,n){return o(await i.patch(`/projects/${t}/experimental`,{feature:e,enabled:n}))}async function wi(t,e){return o(await i.patch(`/projects/${t}/sandbox-provider`,{provider:e}))}async function kh(t,e){return o(await i.get(`/projects/${t}/sandbox-provider/transition`,{showErrors:!1,...e}))}async function wh(t,e){return o(await i.patch(`/projects/${t}/warm-pool`,e))}async function Si(t,e){return o(await i.patch(`/projects/${t}/onboarding`,{completed:e}))}async function Sh(t,e){return o(await i.patch(`/projects/${t}/onboarding`,{profile:e}))}async function Ar(t){return o(await i.delete(`/projects/${t}`))}async function vh(t,e){return Ie(t,`/v1/projects?account_id=${encodeURIComponent(e)}`)}async function Ch(t,e){if(!t.backendUrl||!t.accessToken)return{ok:!1,limitReached:!1};let n=wr(t.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...e}),signal:AbortSignal.timeout(t.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 vi(t){return o(await i.post("/projects/link-repository",t,{showErrors:!1}))}async function Ci(t){return o(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Ri(t){return o(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Ti(t){return o(await i.post("/projects/github/installations/linkable",t,{showErrors:!1}))}async function Ai(t,e,n){let r=new URLSearchParams({account_id:t});e&&r.set("installation_id",e);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 Ii(t,e,n){let r=new URLSearchParams({account_id:t,installation_id:e,repo_full_name:n});return o(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function ji(t){return o(await i.post("/projects/github/installation",t,{showErrors:!1}))}async function Ei(t){return o(await i.post("/projects/github/installations/link",t,{showErrors:!1}))}async function $i(t,e){let n=new URLSearchParams({account_id:t});return e&&n.set("installation_id",e),o(await i.delete(`/projects/github/installation?${n.toString()}`))}async function $h(t,e){return o(await i.post(`/projects/${t}/access-requests`,{message:e?.trim()||void 0},{showErrors:!1}))}async function qi(t,e){return o(await i.get(`/projects/${t}/access-requests`,e))}async function Di(t,e,n="member"){return o(await i.post(`/projects/${t}/access-requests/${e}/approve`,{role:n}))}async function Mi(t,e){return o(await i.post(`/projects/${t}/access-requests/${e}/reject`,{}))}async function Ui(t){return o(await i.get(`/projects/${t}/access`))}async function Oi(t,e,n){return o(await i.put(`/projects/${t}/access/${e}`,{role:n}))}async function Fi(t,e){return o(await i.delete(`/projects/${t}/access/${e}`))}function qh(t){return"status"in t&&t.status==="invited"}async function Li(t,e,n,r){return o(await i.post(`/projects/${t}/access/invite`,{email:e,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Gi(t){return o(await i.get(`/projects/${t}/access/pending-invites`))}async function Bi(t,e){return o(await i.delete(`/projects/${t}/access/pending-invites/${e}`))}async function Ki(t,e){return o(await i.post(`/projects/${t}/access/pending-invites/${e}/resend`))}async function Ni(t){return o(await i.get(`/projects/${t}/group-grants`))}async function Hi(t,e,n,r){return o(await i.post(`/projects/${t}/group-grants`,r===void 0?{group_id:e,role:n}:{group_id:e,role:n,expires_at:r}))}async function Wi(t,e,n,r){return o(await i.patch(`/projects/${t}/group-grants/${e}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function zi(t,e){return o(await i.delete(`/projects/${t}/group-grants/${e}`))}async function Vi(t){return o(await i.get(`/projects/${t}/resource-grants`))}async function Ji(t,e){return o(await i.post(`/projects/${t}/resource-grants`,{resource_type:e.resourceType,resource_id:e.resourceId,principal_type:e.principalType,principal_id:e.principalId,...e.expiresAt!==void 0?{expires_at:e.expiresAt}:{}}))}async function Xi(t,e){return o(await i.delete(`/projects/${t}/resource-grants/${e}`))}async function Qi(t,e){return o(await i.get(`/projects/${t}/approvals`,{showErrors:e?.showErrors}))}async function Yi(t,e){return o(await i.get(`/projects/${t}/approvals/needs-input`,{showErrors:e?.showErrors}))}async function Zi(t,e,n){return o(await i.post(`/projects/${t}/approvals/${e}`,{decision:n}))}async function eo(t){return o(await i.get(`/projects/${t}/secrets`,{showErrors:!1}))}async function to(t,e){return o(await i.post(`/projects/${t}/secrets`,e))}async function no(t,e,n,r={}){return o(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/strategy`,{strategy:n,...r}))}async function ro(t,e,n){return o(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/broker`,n))}async function so(t,e,n){return o(await i.post(`/projects/${t}/oauth/${e}/start`,{sharing:n?.sharing}))}async function io(t,e,n){return o(await i.post(`/projects/${t}/oauth/${e}/poll`,{flow_id:n}))}async function oo(t,e){return o(await i.delete(`/projects/${t}/oauth/${encodeURIComponent(e)}`))}async function ao(t,e){return o(await i.put(`/projects/${t}/git-credential`,e))}async function co(t,e){return o(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}`))}async function lo(t,e,n){return o(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`,n))}async function uo(t,e){return o(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`))}function Ir(t,e){return t?`/connectors/projects/${encodeURIComponent(t)}/${e}`:`/connectors/${e}`}async function jr(t){return o(await i.get(Ir(t,"catalog"))).connectors??[]}async function Pt(t){let e=[];for(let n of await jr(t))for(let r of n.actions)e.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return e}async function po(t,e="",n={}){let r=e.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),c=[],u=[];for(let p of await Pt(t)){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 go(t,e){return(await Pt(t)).find(n=>n.tool===e)??null}function Up(t){let e=t.indexOf("."),n=e<0?"":t.slice(0,e).trim(),r=e<0?"":t.slice(e+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}async function mo(t,e,n={}){let{connector:r,action:s}=Up(e);return o(await i.post(Ir(t,"call"),{connector:r,action:s,args:n}))}function Op(t,e){if(t&&typeof t=="object"){let n=t;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${e}`}function Fp(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e-=1;return e===t.length?t:t.slice(0,e)}async function fo(t,e,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=Fp($().backendUrl),p=Ir(t,"attachments"),g=await q(`${u}${p}`,{method:"POST",headers:c,body:e},{timeoutMs:6e4}),f=await g.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!g.ok)throw new R(Op(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 yo(t){return o(await i.get(`/projects/${t}/connections`))}async function ho(t){return o(await i.get(`/projects/${t}/connections/all`))}async function bo(t,e){return o(await i.post(`/projects/${t}/connections`,e))}async function xo(t,e){return o(await i.post(`/projects/${t}/connections/me`,e))}async function _o(t,e,n){return o(await i.put(`/projects/${t}/connections/${e}/credential`,n))}function fe(t,e,n){return`/projects/${t}/connections/${e}/oauth2/${n}`}async function Nh(t,e){return o(await i.post(`/projects/${t}/connectors/${encodeURIComponent(e)}/oauth2/connection`,{}))}async function Hh(t,e,n){return o(await i.put(fe(t,e,"application"),n))}async function Wh(t,e){return o(await i.get(fe(t,e,"application")))}async function zh(t,e,n){return o(await i.post(fe(t,e,"discover"),n))}async function Vh(t,e,n){return o(await i.post(fe(t,e,"authorize"),n))}async function Jh(t,e,n){return o(await i.post(fe(t,e,"device"),n))}async function Xh(t,e,n){return o(await i.post(fe(t,e,`device/${encodeURIComponent(n)}`),{}))}async function Qh(t,e){return o(await i.get(fe(t,e,"status")))}async function Po(t,e){return o(await i.put(`/projects/${t}/connections/${e}/revoke`,{}))}async function ko(t,e){return o(await i.put(`/projects/${t}/connections/${e}/activate`,{}))}async function wo(t,e){return o(await i.put(`/projects/${t}/connections/${e}/default`,{}))}async function So(t,e,n={}){return o(await i.post(`/projects/${t}/connections/${e}/connect`,n))}async function vo(t,e){return o(await i.post(`/projects/${t}/connections/${e}/connect/finalize`,{}))}async function Co(t){return o(await i.get(`/connectors/projects/${t}/connectors`,{showErrors:!1}))}async function Ro(t){return o(await i.post(`/connectors/projects/${t}/connectors/sync`,{}))}async function To(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential-mode`,{mode:n}))}async function Ao(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/authorization-strategy`,{authorization_strategy:n}))}async function Io(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/sensitive`,{sensitive:n}))}async function jo(t,e){return o(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`))}async function Eo(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`,{policies:n}))}async function Yh(t,e){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function Zh(t,e,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function $o(t,e){return o(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/config`))}async function qo(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/name`,{name:n}))}async function Do(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect`,{}))}async function Mo(t,e){return o(await i.post(`/connectors/projects/${t}/connectors`,e))}async function Uo(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/auth-discovery`,e))}async function Oo(t,e){return o(await i.delete(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}`))}async function Fo(t,e,n){let r=typeof e=="string"||e===void 0?{...e?{q:e}:{},...n?{cursor:n}:{}}:e,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let c=s.toString();return o(await i.get(`/connectors/projects/${t}/pipedream/apps${c?`?${c}`:""}`))}async function Lo(t,e){let n=new URLSearchParams;e?.perCategory&&n.set("perCategory",String(e.perCategory)),e?.maxCategories&&n.set("maxCategories",String(e.maxCategories));let r=n.toString();return o(await i.get(`/connectors/projects/${t}/pipedream/sections${r?`?${r}`:""}`))}async function Er(t,e,n){let r=new URLSearchParams;e&&r.set("q",e),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/connectors/projects/${t}/discover/connectors${s?`?${s}`:""}`))}async function $r(t,e){let n=new URLSearchParams({id:e});return o(await i.get(`/connectors/projects/${t}/discover/connectors/detail?${n.toString()}`))}var eb=Er,tb=$r;async function Go(){return o(await i.get("/connectors/connect-status"))}async function Bo(t,e,n){let r=typeof n=="string"?{value:n}:n;return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential`,r))}async function nb(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/secret-binding`,{secret_identifier:n}))}async function Ko(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect/finalize`,{}))}async function No(t){return o(await i.get(`/connectors/projects/${t}/policies`))}async function Ho(t,e,n){return o(await i.put(`/connectors/projects/${t}/policies`,{policies:e,defaultMode:n}))}async function Wo(t){return o(await i.get(`/projects/${t}/sandboxes`))}async function zo(t){return o(await i.get(`/projects/${t}/snapshots`))}async function qr(t){return o(await i.get(`/projects/${t}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Vo(t,e){return o(await i.post(`/projects/${t}/snapshots/rebuild`,e?{slug:e}:{}))}async function Jo(t){return o(await i.post(`/projects/${t}/snapshots/fix-with-agent`,{}))}async function Xo(t,e){return o(await i.post(`/projects/${t}/sandbox-templates`,e))}async function Qo(t,e,n){return o(await i.patch(`/projects/${t}/sandbox-templates/${e}`,n))}async function Yo(t,e){return o(await i.delete(`/projects/${t}/sandbox-templates/${e}`))}async function Zo(t,e){return o(await i.post(`/projects/${t}/sandbox-templates/${e}/build`,{}))}async function ea(t){return o(await i.get(`/projects/${t}/sandboxes`))}async function ta(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path);let r=n.toString()?`?${n.toString()}`:"";return o(await i.get(`/projects/${t}/files${r}`,{showErrors:!1}))}async function na(t,e,n){let r=new URLSearchParams({q:e});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/${t}/files/search?${r.toString()}`))}async function ra(t,e,n){let r=new URLSearchParams({path:e});return n&&r.set("ref",n),o(await i.get(`/projects/${t}/files/content?${r.toString()}`,{showErrors:!1}))}async function sa(t,e,n){let r=new URLSearchParams;e&&r.set("ref",e),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",c=await ne(),u=`${$().backendUrl||""}/projects/${t}/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 ia(t){return o(await i.get(`/projects/${t}/branches`))}async function oa(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path),e?.limit!=null&&n.set("limit",String(e.limit)),e?.skip!=null&&n.set("skip",String(e.skip));let r=n.toString()?`?${n.toString()}`:"";return o(await i.get(`/projects/${t}/commits${r}`))}async function aa(t,e){return o(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}`))}async function ca(t,e,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return o(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}/diff${s}`))}async function la(t,e,n){let r=new URLSearchParams({path:e});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/${t}/files/history?${r.toString()}`))}async function ua(t,e){let n=new URLSearchParams({from:e.from,into:e.into});return o(await i.get(`/projects/${t}/version-diff?${n.toString()}`))}async function pa(t,e){let n=e?`?status=${e}`:"";return o(await i.get(`/projects/${t}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function da(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}`))}async function ga(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}/diff`))}async function ma(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}/merge-preview`))}async function fa(t,e){return o(await i.post(`/projects/${t}/change-requests`,e))}async function ya(t,e,n){return o(await i.post(`/projects/${t}/change-requests/${e}/merge`,n??{},{showErrors:!1}))}async function ha(t,e){return o(await i.post(`/projects/${t}/change-requests/${e}/close`,{}))}async function ba(t,e){return o(await i.post(`/projects/${t}/change-requests/${e}/reopen`,{}))}async function xa(t,e,n){return o(await i.post(`/projects/${t}/change-requests/${e}/request-changes`,{feedback:n}))}async function _a(t,e,n){return o(await i.post(`/projects/${t}/sessions/${e}/commit-push`,n??{}))}var Dr=new Set;function kt(t){t&&Dr.add(t)}function Pa(t){return!!t&&Dr.has(t)}function Pb(t){t&&Dr.delete(t)}async function Ke(t,e){let n=new URLSearchParams;e?.scope&&e.scope!=="visible"&&n.set("scope",e.scope);let r=n.size>0?`?${n}`:"";return o(await i.get(`/projects/${t}/sessions${r}`))}async function ka(t,e,n){return o(await i.put(`/projects/${t}/sessions/${e}/sharing`,n))}async function wa(t,e){return o(await i.get(`/projects/${t}/sessions/${e}/previews`))}async function Sa(t,e){return o(await i.get(`/projects/${t}/sessions/${e}/public-shares`,{showErrors:!1}))}async function va(t,e,n){return o(await i.post(`/projects/${t}/sessions/${e}/public-shares`,n))}async function Ca(t,e,n){return o(await i.delete(`/projects/${t}/sessions/${e}/public-shares/${n}`))}async function Ne(t,e){let n=o(await i.post(`/projects/${t}/sessions`,e??{}));return e?.initial_prompt||kt(n?.session_id),n}async function Ra(t){let e=o(await i.post(`/projects/${t}/sessions/warm`,{}));return kt(e.session.session_id),e}async function Ta(t,e){let n=o(await i.post(`/projects/${t}/sessions/warm/claim`,e,{showErrors:!1}));return kt(n.session_id),n}async function Mr(t,e,n){return o(await i.get(`/projects/${t}/sessions/${e}`,{showErrors:n?.showErrors}))}async function Aa(t,e,n,r){let s=new URLSearchParams;n&&s.set("limit",String(n)),r?.cursor&&s.set("cursor",r.cursor),r?.includeEvents!=null&&s.set("include_events",String(r.includeEvents));let c=s.toString();return o(await i.get(`/projects/${t}/sessions/${e}/audit${c?`?${c}`:""}`,{showErrors:r?.showErrors}))}async function Ia(t,e,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/${t}/sessions/${e}/transcript${s?`?${s}`:""}`))}async function ja(t,e,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/${t}/sessions/${e}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function Ea(t,e,n){return o(await i.patch(`/projects/${t}/sessions/${e}`,n))}async function $a(t,e){return o(await i.delete(`/projects/${t}/sessions/${e}`))}async function wt(t,e){return o(await i.post(`/projects/${t}/sessions/${e}/restart`,{}))}async function St(t,e){return o(await i.post(`/projects/${t}/sessions/${e}/stop`,{}))}async function qa(t,e){return o(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/config`,{showErrors:!1}))}function Lp(t){let e=t.split(`
14
+ `).filter(n=>n.startsWith("data:")).map(n=>n.slice(5).replace(/^ /,""));if(e.length===0)return null;try{return JSON.parse(e.join(`
15
+ `))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function Da(t,e,n={}){return o(await i.post(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload`,n,{showErrors:!1}))}async function Ma(t,e,n,r,s={}){let c=await i.postStream(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload-stream`,n,s);if(!c.ok){let m=await c.json().catch(()=>null);throw new R(m?.error||`Reload failed: HTTP ${c.status}`,{status:c.status,code:m?.code,data:m})}let u=c.body?.getReader();if(!u)throw new Error("Reload stream is unavailable on this runtime (no response body)");let p=new TextDecoder,g="",f=null;try{for(;;){let{done:m,value:_}=await u.read();if(m)break;g+=p.decode(_,{stream:!0});let x=g.indexOf(`
16
+
17
+ `);for(;x!==-1;){let I=g.slice(0,x);g=g.slice(x+2),x=g.indexOf(`
18
+
19
+ `);let T=Lp(I);if(T){if(r(T),T.type==="error")throw new R(T.error,{status:T.status,code:T.code,data:{reason:T.reason}});T.type==="done"&&(f=T.result)}}}}finally{u.cancel().catch(()=>{})}if(!f)throw new Error("Reload stream ended without a result");return f}async function Ua(t,e){return o(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`))}async function Oa(t,e,n){return o(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`,n))}async function Fa(t,e,n){return o(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/model`,{opencode_model:n}))}async function La(t){return o(await i.get(`/projects/${t}/triggers`))}async function Ga(t,e){return o(await i.post(`/projects/${t}/triggers`,e))}async function Ba(t,e,n){return o(await i.patch(`/projects/${t}/triggers/${e}`,n))}async function Ka(t,e){return o(await i.delete(`/projects/${t}/triggers/${e}`))}async function Na(t,e){return o(await i.patch(`/projects/${t}/triggers/activation`,{paused:e}))}async function Ha(t,e){return o(await i.post(`/projects/${t}/triggers/${e}/fire`,{}))}var se=new Map;function Ur(t,e){return`${t}::${e}`}function Wa(t,e){se.delete(t),se.set(t,e)}function za(t,e){let n=Ur(t,e),r=se.get(n);return r&&Wa(n,r),r}function Va(t,e,n){let r=Ur(t,e);if(!se.has(r)&&se.size>=512){let s=se.keys().next().value;s!==void 0&&se.delete(s)}Wa(r,n)}function Ja(t,e){se.delete(Ur(t,e))}function Db(t){if(t.status!=="running"||!t.sandbox_id||!t.sandbox_provider||!t.sandbox_url||!t.opencode_session_id)return null;let e=t.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return e?{stage:"ready",agent_name:t.agent_name??"default",retriable:!0,sandbox:{sandbox_id:t.sandbox_id,session_id:t.session_id,project_id:t.project_id,account_id:t.account_id,provider:t.sandbox_provider,external_id:e,base_url:t.sandbox_url,status:"active",config:{},metadata:t.metadata,last_used_at:t.updated_at,created_at:t.created_at,updated_at:t.updated_at},opencode_session_id:t.opencode_session_id,runtime_url:t.sandbox_url}:null}var Or=class extends Error{status;code;terminal;constructor(e,n){super(e),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function Mb(t){return t instanceof Error&&t.name==="SessionStartError"}function Gp(t){let e=t,n=e?.status,r=e?.code??e?.details?.code??e?.details?.error,s=e?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Or(s,{status:n,code:r,terminal:!0}):null}async function Ee(t,e,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${t}/sessions/${e}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=Gp(s.error);if(p&&!(p.status===404&&Pa(e)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&Va(t,e,{opencodeSessionId:c.opencode_session_id,runtimeUrl:it(u),sandboxId:u}),c}function Ub(t,e){return["session-start",t,e]}async function Xa(t){return o(await i.get(`/projects/${t}/model-defaults`))}async function Qa(t,e){return o(await i.put(`/projects/${t}/model-defaults`,e))}async function Ya(t,e){let n=new URLSearchParams({scope:e.scope,...e.agentName?{agentName:e.agentName}:{}}).toString();return o(await i.delete(`/projects/${t}/model-defaults?${n}`))}async function Nb(t,e){return o(await i.put(`/projects/${t}/model-enablement`,{modelOverrides:e}))}async function ec(t,e,n){let r=Kp(n);return o(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/scope`,r))}function Za(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function Bp(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function Kp(t){let e=t.connectors_required?Za(t.connectors_required):void 0,n=t.connectors_personal?Za(t.connectors_personal):void 0;if(e&&n&&!Bp(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function Qb(t,e){let n=o(await i.get(`/projects/${t}/agents/${encodeURIComponent(e)}/config`));return{...n,block:n.block?Fr(n.block):null}}async function Yb(t,e,n){let r=Fr(n),s=o(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/config`,r));return{...s,block:s.block?Fr(s.block):null}}function tc(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function Np(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function Fr(t){let e=t.connectors_required?tc(t.connectors_required):void 0,n=t.connectors_personal?tc(t.connectors_personal):void 0;if(e&&n&&!Np(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function Zb(t,e,n){return o(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/grant`,{agent:n}))}async function nc(t,e){return o(await i.put(`/projects/${t}/default-agent`,{agent:e}))}function Lr(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}function Hp(t){let e=t.trim().toLowerCase();return e===""||e==="free"||e==="none"?"free":e==="enterprise"?"enterprise":"team"}function rx(t){let e=t?.plan;if(e)return{family:e.family,label:e.label,sublabel:e.sublabel??null,isGrandfathered:e.is_grandfathered===!0};let n=t??Lr(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:Hp(r),label:s,sublabel:null,isGrandfathered:!1}}async function rc(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.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?Lr():s.data}async function sc(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.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?Lr():s.data}async function ic(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.limit!=null&&e.set("limit",String(t.limit)),t?.offset!=null&&e.set("offset",String(t.offset)),t?.typeFilter&&e.set("type_filter",Array.isArray(t.typeFilter)?t.typeFilter.join(","):t.typeFilter);let n=e.toString();return o(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function oc(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.days!=null&&e.set("days",String(t.days));let n=e.toString();return o(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function ac(){return o(await i.get("/billing/credit-breakdown"))}async function cc(t){let e=t!=null?`?days=${t}`:"";return o(await i.get(`/billing/usage-history${e}`))}async function lc(){return o(await i.get("/billing/tier-configurations"))}async function sx(t){let e=t.accountId?`?account_id=${encodeURIComponent(t.accountId)}`:"";return Ie(t,`/v1/billing/account-state${e}`)}async function uc(t){return o(await i.post("/billing/create-checkout-session",{account_id:t.accountId,tier_key:t.tierKey,success_url:t.successUrl,cancel_url:t.cancelUrl,commitment_type:t.commitmentType,locale:t.locale,server_type:t.serverType,location:t.location}),"Failed to create checkout session")}async function pc(t,e){return o(await i.post("/billing/confirm-checkout-session",{account_id:e,session_id:t}),"Failed to confirm checkout session")}async function dc(t,e){return o(await i.post("/billing/create-portal-session",{account_id:e,return_url:t}),"Failed to create portal session")}async function gc(t,e){return o(await i.post("/billing/cancel-subscription",{account_id:e,feedback:t}),"Failed to cancel subscription")}async function mc(t){return o(await i.post("/billing/reactivate-subscription",{account_id:t}),"Failed to reactivate subscription")}async function fc(t,e,n){return o(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:t,commitment_type:e}),"Failed to schedule downgrade")}async function yc(t){return o(await i.post("/billing/cancel-scheduled-change",{account_id:t}),"Failed to cancel scheduled change")}async function hc(t,e){let n=new URLSearchParams({new_price_id:t});return e&&n.set("account_id",e),o(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function bc(t){return o(await i.post("/billing/purchase-credits",{amount:t.amount,account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl}),"Failed to purchase credits")}async function xc(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/billing/auto-topup/settings${e}`),"Failed to load auto-topup settings")}async function _c(t){return o(await i.post("/billing/auto-topup/configure",{account_id:t.accountId,enabled:t.enabled,threshold:t.threshold,amount:t.amount}),"Failed to configure auto-topup")}async function ix(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/billing/auto-topup/setup-status${e}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function ox(t){return o(await i.post("/billing/create-per-seat-checkout",{account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl,locale:t.locale}),"Failed to create per-seat checkout")}async function ax(t){return o(await i.post("/billing/claim-per-seat",{account_id:t}),"Failed to switch to per-seat billing")}async function cx(t){return o(await i.post("/billing/sync-subscription",{account_id:t}),"Failed to sync subscription")}async function Pc(t={}){let e=new URLSearchParams;t.start&&e.set("start",t.start),t.end&&e.set("end",t.end),(t.groupBy==="model"||t.groupBy==="provider"||t.groupBy==="day")&&e.set("group_by",t.groupBy),t.accountId&&e.set("account_id",t.accountId);let n=e.toString();return o(await i.get(`/usage${n?`?${n}`:""}`))}function Gr(t,e){e.accountId&&t.set("account_id",e.accountId),e.projectId&&t.set("project_id",e.projectId)}function vt(t,e){e.from&&t.set("from",e.from),e.to&&t.set("to",e.to)}function Ct(t){return t.size>0?`?${t}`:""}async function wc(t={}){let e=new URLSearchParams;return Gr(e,t),t.ownerId&&e.set("owner_id",t.ownerId),vt(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),o(await i.get(`/usage/session-costs${Ct(e)}`))}async function Br(t,e={}){let n=new URLSearchParams;return Gr(n,e),o(await i.get(`/usage/session-costs/${encodeURIComponent(t)}${Ct(n)}`))}async function mx(t={}){let e=new URLSearchParams;return t.accountId&&e.set("account_id",t.accountId),vt(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),o(await i.get(`/usage/cost-by-project${Ct(e)}`))}async function fx(t={}){let e=new URLSearchParams;return Gr(e,t),t.sessionId&&e.set("session_id",t.sessionId),vt(e,t),o(await i.get(`/usage/cost-summary${Ct(e)}`))}function kc(t,e={}){let n=new URLSearchParams;if(e.accountId&&n.set("account_id",e.accountId),t==="sessions"){let s=e;s.projectId&&n.set("project_id",s.projectId),s.ownerId&&n.set("owner_id",s.ownerId)}vt(n,e),e.sort&&n.set("sort",e.sort),n.set("format","csv");let r=t==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${$().backendUrl||""}${r}?${n}`}async function yx(t,e={}){let n=kc(t==="projects"?"projects":"sessions",e),r=await ne(),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 Sc(t,e){return o(await i.post(`/channels/${t}/identity/bind`,{token:e}),"Failed to connect your account")}function _x(t){return Sc("slack",t)}function Px(t){return Sc("teams",t)}async function vc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});return e.success?e.data??null:null}async function Cc(t,e){return o(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/connect`,e,{showErrors:!1}),"Failed to connect")}var Wp={oauth_available:!1,install_url:null};async function Rc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/mode`,{showErrors:!1});return!e.success||!e.data?Wp:e.data}async function Tc(t){return o(await i.get(`/webhooks/slack/${encodeURIComponent(t)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Ac(t){let e=await i.delete(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});if(!e.success)throw new Error(e.error?.message??"Failed to disconnect")}async function Ic(t,e){return o(await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/file?url=${encodeURIComponent(e)}`,{showErrors:!1}),"Failed to download Slack file")}async function jc(t,e){return o(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/file/upload`,{channel:e.channel,filename:e.filename,content_base64:e.contentBase64,comment:e.comment,thread_ts:e.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Kr(t){let e=t.connectionId??t.connection_id??null,n=t.connectorSlug??t.connector_slug??t.connectionSlug??t.connection_slug??"kortix_email";return{...t,connectionId:e,connectorSlug:n}}var zp={provider:"agentmail",managed_available:!1};async function Ec(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Kr(r.data):null}async function $c(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/mode`,{showErrors:!1});return!e.success||!e.data?zp:e.data}async function qc(t,e){let n=o(await i.post(`/projects/${encodeURIComponent(t)}/channels/email/connect`,e,{showErrors:!1}),"Failed to connect email");return Kr(n)}async function Dc(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.delete(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function Mc(t,e,n){let r=o(await i.patch(`/projects/${encodeURIComponent(t)}/channels/email/installation`,{connector_slug:e??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Kr(r)}async function Uc(t,e){return o(await i.put(`/projects/${encodeURIComponent(t)}/channels/meet/name`,{name:e},{showErrors:!1}),"Failed to save name")}async function kx(t){return o(await i.get(`/projects/${encodeURIComponent(t)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function wx(t,e,n){return o(await i.patch(`/projects/${encodeURIComponent(t)}/channels/bindings/${encodeURIComponent(e)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Oc(t){return o(await i.get(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Fc(t,e){return o(await i.put(`/projects/${t}/gateway/routing-policy`,e),"Gateway routing policy request failed")}async function Lc(t){return o(await i.delete(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Gc(t,e){return o(await i.post(`/projects/${t}/gateway/routing-policy/preview`,e),"Gateway route preview failed")}async function Bc(t,e){let n=new URLSearchParams;e?.limit&&n.set("limit",String(e.limit)),e?.offset&&n.set("offset",String(e.offset)),e?.ok!==void 0&&n.set("ok",String(e.ok));let r=n.toString();return o(await i.get(`/projects/${t}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Kc(t,e){return o(await i.get(`/projects/${t}/gateway/logs/${e}`),"Gateway request failed")}async function Nc(t,e){return o(await i.get(`/projects/${t}/gateway/overview${e?`?days=${e}`:""}`),"Gateway request failed")}async function Hc(t,e){return o(await i.get(`/projects/${t}/gateway/series${e?`?days=${e}`:""}`),"Gateway request failed")}async function Wc(t,e){return o(await i.get(`/projects/${t}/gateway/breakdown${e?`?days=${e}`:""}`),"Gateway request failed")}async function zc(t,e){return o(await i.get(`/projects/${t}/gateway/sessions${e?`?days=${e}`:""}`),"Gateway request failed")}async function Vc(t,e){return o(await i.get(`/projects/${t}/gateway/errors${e?`?days=${e}`:""}`),"Gateway request failed")}async function Jc(t){return o(await i.get(`/projects/${t}/gateway/budgets`),"Gateway request failed")}async function Xc(t,e){return o(await i.put(`/projects/${t}/gateway/budgets`,e),"Gateway request failed")}async function Qc(t,e){return o(await i.delete(`/projects/${t}/gateway/budgets/${e}`),"Gateway request failed")}async function Yc(t){return o(await i.get(`/projects/${t}/gateway/keys`),"Gateway request failed")}async function Zc(t,e){return o(await i.post(`/projects/${t}/gateway/keys`,{name:e}),"Gateway request failed")}async function el(t,e){return o(await i.delete(`/projects/${t}/gateway/keys/${e}`),"Gateway request failed")}async function tl(t,e,n,r,s){return o(await i.post(`/projects/${t}/gateway/playground`,{prompt:e,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function Rx(t,e){return o(await i.post(`/projects/${t}/gateway/providers/${encodeURIComponent(e)}/verify`,{}),"Gateway provider verification failed")}async function nl(t){let e=new FormData;e.append("audio_file",t);let n=await i.upload("/transcription",e,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function $x(){return o(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function qx(){return o(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function Dx(t){return o(await i.post("/referrals/validate",{referral_code:t}),"VALIDATE_CODE_FAILED")}async function Mx(){return o(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function Ux(t={}){let e=new URLSearchParams({limit:String(t.limit??50),offset:String(t.offset??0)});return o(await i.get(`/referrals/list?${e}`),"GET_REFERRALS_FAILED")}async function Ox(t){return o(await i.post("/referrals/email",{emails:t}),"SEND_EMAILS_FAILED")}function P(t){if(!t.success||t.data===void 0)throw t.error||new Error("Unexpected empty response");return t.data}function O(t){return i.get(t,{showErrors:!1})}async function Gx(t){return P(await O(`/accounts/${t}/iam/groups`)).groups}async function Bx(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}`))}async function Kx(t,e){return P(await i.post(`/accounts/${t}/iam/groups`,e,{showErrors:!1}))}async function Nx(t,e,n){return P(await i.patch(`/accounts/${t}/iam/groups/${e}`,n))}async function Hx(t,e){return P(await i.delete(`/accounts/${t}/iam/groups/${e}`))}async function Wx(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/members`)).members}async function zx(t,e,n){return P(await i.post(`/accounts/${t}/iam/groups/${e}/members`,{userIds:n}))}async function Vx(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/project-grants`)).grants}async function Jx(t,e,n){return P(await i.delete(`/accounts/${t}/iam/groups/${e}/members/${n}`))}async function Xx(t,e){return P(await O(`/accounts/${t}/iam/members/${e}/groups`)).groups}async function Qx(t,e){return P(await O(`/accounts/${t}/iam/members/${e}/project-access`)).projects}async function Yx(t,e={}){let n=new URLSearchParams;e.principalType&&n.set("principalType",e.principalType),e.principalId&&n.set("principalId",e.principalId),e.scopeType&&n.set("scopeType",e.scopeType),e.scopeId!==void 0&&n.set("scopeId",e.scopeId===null?"null":e.scopeId);let r=n.toString();return P(await O(`/accounts/${t}/iam/policies${r?`?${r}`:""}`)).policies}async function Zx(t,e){return P(await i.post(`/accounts/${t}/iam/policies`,e,{showErrors:!1}))}async function e_(t,e,n){return P(await i.patch(`/accounts/${t}/iam/policies/${e}`,n,{showErrors:!1}))}async function t_(t,e){return P(await i.delete(`/accounts/${t}/iam/policies/${e}`))}async function n_(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-delete`,{policy_ids:e},{showErrors:!1}))}async function r_(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-import`,{policies:e},{showErrors:!1}))}async function s_(t){return P(await O(`/accounts/${t}/iam/roles`)).roles}async function i_(t){return P(await O(`/accounts/${t}/iam/agent-identities`)).agents}async function o_(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/permissions`))}async function a_(t){return P(await O(`/accounts/${t}/iam/actions`)).actions}async function c_(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/usage`))}async function l_(t,e){return P(await i.post(`/accounts/${t}/iam/roles`,e,{showErrors:!1}))}async function u_(t,e,n){return P(await i.patch(`/accounts/${t}/iam/roles/${e}`,n,{showErrors:!1}))}async function p_(t,e,n){return P(await i.put(`/accounts/${t}/iam/roles/${e}/permissions`,{actions:n},{showErrors:!1}))}async function d_(t,e){return P(await i.delete(`/accounts/${t}/iam/roles/${e}`,{showErrors:!1}))}async function g_(t,e,n){return P(await i.patch(`/accounts/${t}/iam/members/${e}/super-admin`,{isSuperAdmin:n}))}async function m_(t){return P(await O(`/accounts/${t}/iam/scim/tokens`)).tokens}async function f_(t,e){return P(await i.post(`/accounts/${t}/iam/scim/tokens`,e,{showErrors:!1}))}async function y_(t,e){return P(await i.delete(`/accounts/${t}/iam/scim/tokens/${e}`))}async function h_(t){return P(await O(`/accounts/${t}/iam/mfa-required`))}async function b_(t){return P(await O(`/accounts/${t}/iam/mfa-required/preview`))}async function x_(t,e){return P(await i.patch(`/accounts/${t}/iam/mfa-required`,{enabled:e},{showErrors:!1}))}async function __(t){return P(await O(`/accounts/${t}/iam/sso/provider`)).provider}async function P_(t,e){return P(await i.put(`/accounts/${t}/iam/sso/provider`,e,{showErrors:!1})).provider}async function k_(t,e){return P(await i.post(`/accounts/${t}/iam/sso/provider/from-metadata`,e,{showErrors:!1})).provider}async function w_(t){return P(await i.delete(`/accounts/${t}/iam/sso/provider`))}async function S_(t){return P(await O(`/accounts/${t}/iam/sso/mappings`)).mappings}async function v_(t,e){return P(await i.post(`/accounts/${t}/iam/sso/mappings`,e,{showErrors:!1}))}async function C_(t,e){return P(await i.delete(`/accounts/${t}/iam/sso/mappings/${e}`))}async function R_(t){return P(await O(`/accounts/${t}/iam/session-policy`))}async function T_(t,e){return P(await i.patch(`/accounts/${t}/iam/session-policy`,e,{showErrors:!1}))}async function A_(t){return P(await O(`/accounts/${t}/iam/sessions`)).sessions}async function I_(t,e){return P(await i.post(`/accounts/${t}/iam/sessions/${e}/revoke`,{},{showErrors:!1}))}async function j_(t){return P(await O(`/accounts/${t}/iam/pat-policy`))}async function E_(t,e){return P(await i.patch(`/accounts/${t}/iam/pat-policy`,e,{showErrors:!1}))}async function $_(t){return P(await O(`/accounts/${t}/iam/service-accounts`)).service_accounts}async function q_(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts`,e,{showErrors:!1}))}async function D_(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts/${e}/disable`,{},{showErrors:!1}))}async function M_(t,e){return P(await i.delete(`/accounts/${t}/iam/service-accounts/${e}`))}async function U_(t){return P(await O(`/accounts/${t}/audit/webhooks`)).webhooks}async function O_(t,e){return P(await i.post(`/accounts/${t}/audit/webhooks`,e,{showErrors:!1}))}async function F_(t,e,n){return P(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function L_(t,e){return P(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function G_(t,e={}){let n=new URLSearchParams;e.action&&n.set("action",e.action),e.actor&&n.set("actor",e.actor),e.project_id&&n.set("project_id",e.project_id),e.session_id&&n.set("session_id",e.session_id),e.actor_type&&n.set("actor_type",e.actor_type),e.source&&n.set("source",e.source),e.phase&&n.set("phase",e.phase),e.outcome&&n.set("outcome",e.outcome),e.request_id&&n.set("request_id",e.request_id),e.correlation_id&&n.set("correlation_id",e.correlation_id),e.resource_type&&n.set("resource_type",e.resource_type),e.since&&n.set("since",e.since),e.until&&n.set("until",e.until),e.q&&n.set("q",e.q),e.cursor&&n.set("cursor",e.cursor),e.limit&&n.set("limit",String(e.limit));let r=n.toString();return P(await O(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function B_(t,e,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/${t}/iam/members/${e}/effective?${r.toString()}`))}async function K_(t,e,n){return n.length===0?[]:P(await i.post(`/accounts/${t}/iam/members/${e}/effective:batch`,{probes:n})).results}async function N_(t){return P(await O(`/accounts/${t}/iam/enterprise-demo`)).enabled}async function H_(t,e){return P(await i.put(`/accounts/${t}/iam/enterprise-demo`,{enabled:e})).enabled}async function J_(){let t=await i.get("/account/deletion-status",{showErrors:!1});return t.error?.status===404?null:o(t,"Failed to load account deletion status")}async function X_(t="User requested deletion"){return o(await i.post("/account/request-deletion",{reason:t},{showErrors:!1}),"Failed to request account deletion")}async function Q_(){return o(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function Y_(){return o(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function Z_(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function rP(){return i.get("/admin/api/provider-distribution").then(t=>o(t))}function sP(t=300){return i.get(`/admin/api/sandboxes?limit=${t}`).then(e=>o(e))}function iP(t){return i.put("/admin/api/provider-distribution",t).then(e=>o(e))}function oP(t){return i.get(`/admin/api/provider-analytics?days=${t}`).then(e=>o(e))}function aP(t,e){return i.post(`/admin/api/sandboxes/${encodeURIComponent(t)}/migrate`,{targetProvider:e}).then(n=>o(n))}function cP(){return i.get("/admin/api/provider-fallback").then(t=>o(t))}function lP(t){return i.put("/admin/api/provider-fallback",{enabled:t}).then(e=>o(e))}async function gP(t){return o(await i.get(`/google/auth-url?return_url=${encodeURIComponent(t)}`),"Failed to get Google auth URL")}async function mP(t,e){return o(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:t,sandbox_url:e},{timeout:18e4}),"Failed to upload to Google Slides")}async function rl(t,e){let n=new URLSearchParams;e?.segment&&n.set("segment",e.segment),e?.kind&&n.set("kind",e.kind);let r=n.toString();return o(await i.get(`/projects/${t}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function sl(t,e){return o(await i.get(`/projects/${t}/review/items/${e}`))}async function il(t,e){return o(await i.post(`/projects/${t}/review/items`,e))}async function ol(t,e,n){return o(await i.post(`/projects/${t}/review/items/${e}/act`,n))}async function al(t,e){return o(await i.post(`/projects/${t}/review/bulk`,e))}async function cl(t){return o(await i.get(`/p/share?sandbox_id=${encodeURIComponent(t)}`),"Failed to load public links").shares??[]}async function ll(t){return o(await i.post("/p/share",{sandbox_id:t.sandboxId,port:t.port,ttl:t.ttl,label:t.label}),"Failed to generate public URL")}async function ul(t,e){let n=await i.delete(`/p/share/${encodeURIComponent(e)}?sandbox_id=${encodeURIComponent(t)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Nr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function pl(t,e=""){return`${ue()}/public/session-shares/${encodeURIComponent(t)}${e}`}async function dl(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new Nr(s,e.status)}return r}async function wP(t){return dl(pl(t))}async function SP(t){return dl(pl(t,"/messages"))}var Hr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function gl(t){return`${ue()}/public/voice-join/${encodeURIComponent(t)}`}async function ml(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new Hr(s,e.status)}return r}async function RP(t){return ml(gl(t))}async function TP(t,e=0){let n=`${gl(t)}/transcript?cursor=${encodeURIComponent(String(e))}`;return ml(n)}async function fl(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/accounts/tokens${e}`))}async function yl(t){let{accountId:e,expiresAt:n,projectId:r,name:s}=t;return o(await i.post("/accounts/tokens",{name:s,...e?{account_id:e}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function hl(t,e){let n=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.delete(`/accounts/tokens/${t}${n}`))}async function bl(t){return o(await i.get(`/projects/${t}/cli-token`))}async function xl(t,e){return o(await i.post(`/projects/${t}/cli-token`,e??{}))}async function _l(t,e){return o(await i.delete(`/projects/${t}/cli-token/${e}`))}async function Pl(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return o(await i.get(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function kl(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return o(await i.get(`/projects/${t}/audit${r?`?${r}`:""}`))}async function wl(t,e){let n=new URLSearchParams;e?.format&&n.set("format",e.format),e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return o(await i.get(`/accounts/${t}/audit/export${r?`?${r}`:""}`))}async function Sl(t){return o(await i.get(`/accounts/${t}/audit/webhooks`))}async function vl(t,e){return o(await i.post(`/accounts/${t}/audit/webhooks`,e))}async function Cl(t,e,n){return o(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function Rl(t,e){return o(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function Tl(t,e){return o(await i.post(`/projects/${t}/secret-requests`,{names:e.names,labels:e.labels,descriptions:e.descriptions,scope:e.scope,expires_in_minutes:e.expiresInMinutes}),"Failed to mint secret-entry link")}async function Al(t,e){return o(await i.post(`/projects/${t}/connect-requests`,{slug:e.slug,expires_in_minutes:e.expiresInMinutes}),"Failed to mint connect link")}async function OP(t){return o(await i.get(`/approval-links/${t}`),"Failed to load approval")}async function Il(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString()?`?${e.toString()}`:"";return o(await i.get(`/marketplace/items${n}`))}async function jl(){return o(await i.get("/marketplace/marketplaces"))}async function El(){return o(await i.get("/marketplace/marketplaces/featured"))}async function $l(t){return o(await i.get(`/marketplace/items/${encodeURIComponent(t)}`),"Item not found")}async function ql(t,e){return o(await i.get(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`),"File not found")}async function Dl(){return o(await i.get("/marketplace/sources"))}async function Ml(t){return o(await i.post("/marketplace/sources",t),"Failed to add marketplace source")}async function Ul(t){return o(await i.delete(`/marketplace/sources/${encodeURIComponent(t)}`),"Failed to remove marketplace source")}async function BP(t,e){return o(await i.post(`/projects/${encodeURIComponent(t)}/marketplace/install-session`,{id:e}),"Failed to start marketplace install session")}async function WP(t){return o(await i.get(`/templates/${encodeURIComponent(t)}`))}async function zP(t,e){return o(await i.post(`/templates/${encodeURIComponent(t)}/install`,e))}async function Ol(t){return o(await i.get(`/projects/${t}/apps`),"Failed to list Apps").apps}async function Fl(t,e){return o(await i.post(`/projects/${t}/apps`,e),"Failed to create App")}async function Ll(t,e){return o(await i.get(`/projects/${t}/apps/${e}`),"Failed to load App")}async function Gl(t,e,n){return o(await i.patch(`/projects/${t}/apps/${e}`,n),"Failed to update App")}async function Bl(t,e){return o(await i.delete(`/projects/${t}/apps/${e}`),"Failed to delete App")}async function Kl(t,e){return o(await i.get(`/projects/${t}/apps/${e}/access`),"Failed to load App access policy")}async function Nl(t,e,n){return o(await i.patch(`/projects/${t}/apps/${e}/access`,n),"Failed to update App access policy")}async function Hl(t,e){return o(await i.post(`/projects/${t}/apps/${e}/access-session`,{}),"Failed to create App access session")}async function Wr(t,e){return o(await i.post(`/projects/${t}/apps/artifacts`,e),"Failed to register App artifact")}async function zr(t,e,n){return o(await i.post(`/projects/${t}/apps/artifacts/${e}/finalize`,n),"Failed to finalize App artifact")}async function Vp(t){return t instanceof Uint8Array?t:new Uint8Array(await t.arrayBuffer())}async function Jp(t){let e=Uint8Array.from(t),n=await globalThis.crypto.subtle.digest("SHA-256",e.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function Wl(t,e,n={}){let r=await Vp(e),s=n.mediaType??"application/gzip",c=await Wr(t,{kind:"archive",media_type:s});if(!c.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>c.upload.max_bytes)throw new Error(`App artifact exceeds ${c.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let u=await fetch(c.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!u.ok){let p=await u.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${u.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),zr(t,c.artifact.artifact_id,{sha256:await Jp(r),size_bytes:r.byteLength})}async function zl(t,e,n){return o(await i.post(`/projects/${t}/apps/${e}/deployments`,n),"Failed to create App deployment")}async function Vl(t,e){return o(await i.get(`/projects/${t}/apps/${e}/deployments`),"Failed to list App deployments").deployments}async function Jl(t,e,n){return o(await i.get(`/projects/${t}/apps/${e}/deployments/${n}`),"Failed to load App deployment")}async function Xl(t,e,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let c=s.size?`?${s.toString()}`:"";return o(await i.get(`/projects/${t}/apps/${e}/deployments/${n}/logs${c}`),"Failed to load App logs")}async function Ql(t,e){return o(await i.post(`/projects/${t}/apps/${e}/start`,{}),"Failed to start App")}async function Yl(t,e){return o(await i.post(`/projects/${t}/apps/${e}/stop`,{}),"Failed to stop App")}async function Zl(t,e,n){return o(await i.post(`/projects/${t}/apps/${e}/rollback`,{deployment_id:n}),"Failed to roll back App")}function ek(t){return t?t.runtimeReady!==void 0?t.runtimeReady===!0:t.opencode!==void 0?t.opencode==="ok"||t.opencode===!0:t.status!=="starting"&&t.status!=="down"&&t.status!=="error":!1}async function eu(t,e){let n=(t===void 0?L():t)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await q(`${n}/kortix/health`,{method:"GET",...e},{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 ie={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var tu=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,nu=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,ru=new Set([22,4096,parseInt(ie.KORTIX_MASTER,10)]);function Xp(t){return nu.test(t)}function Rt(t){if(!t)return"/";let e=t,n=e.indexOf("](");n!==-1&&(e=e.slice(0,n));let r=e.toLowerCase().indexOf("%5d(");return r!==-1&&(e=e.slice(0,r)),e?e.startsWith("/")?e:`/${e}`:"/"}function Qp(t){let e=t.indexOf("](");return e===-1?t:t.slice(0,e)}var Yp=new Set(["'",'"',"`","<","(","["]),Zp=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function ed(t){let e=0,n=t.length;for(;e<n&&(t[e]===" "||t[e]===" ");)e++;for(;n>e&&(t[n-1]===" "||t[n-1]===" ");)n--;for(;e<n&&Yp.has(t[e]);)e++;for(;n>e&&Zp.has(t[n-1]);)n--;return t.slice(e,n)}function td(t){return t.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var nd=/^\/proxy\/(\d{1,5})(\/.*)?$/,rd=/^\/(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 sd(t){if(!t)return!1;try{let e=new URL(t);return e.hostname!=="localhost"&&e.hostname!=="127.0.0.1"?!1:rd.test(e.pathname)}catch{return!1}}function Tt(t){if(!t)return null;let e=ed(Qp(t.trim())),n=ou(e);if(n){let r=Rt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(e);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(ie.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(nd);if(g){let f=parseInt(g[1],10);if(f>=1&&f<=65535)return s=f,c=Rt(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let p=Rt(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=td(t);return r&&r!==t?Tt(r):null}}function id(t){let e=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(t))!==null;)e.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(t))!==null;){let c=r.index,u=c+r[0].length;e.some(([g,f])=>c>=g&&u<=f)||e.push([c,u])}return e}function od(t,e){return e.some(([n,r])=>t>=n&&t<r)}function ad(t){let e=[],n=new Set,r=id(t);tu.lastIndex=0;let s;for(;(s=tu.exec(t))!==null;){let c=Tt(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||ru.has(p)||n.has(u)||(n.add(u),e.push({originalUrl:u,port:p,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:od(s.index,r)}))}return e}function sk(t){return ad(t).length>0}function cd(t){try{let{hostname:e}=new URL(t);return e==="localhost"||e==="127.0.0.1"}catch{return!1}}function ld(t){return t.sandboxId.trim().length>0}function ye(t,e,n){let r=Rt(e);if(!ld(n))return gd(t,r);if(!cd(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}/${t}${r}`}return`http://p${t}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function ik(t,e){if(!t)return;let r=t.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return ye(3211,`/open?path=/workspace/${r}`,e)}function ud(t){return`/open?path=/${(t.startsWith("/workspace")?t:`/workspace/${t.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function ok(t){return`http://localhost:3211${ud(t)}`}function pd(){return"/health"}function ak(t){return ye(3211,pd(),t)}function ck(t,e){return ye(t,"/",e)}function dd(t){let e=Tt(t);return!(!e||ru.has(e.port)||sd(t))}function su(t,e){if(!t)return t;let n=Tt(t);return n?dd(n.originalUrl)?ye(n.port,n.path,e):n.originalUrl:t}function gd(t,e="/"){return`http://localhost:${t}${e}`}var iu=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function ou(t){let e=t.match(nu);if(e)return{port:parseInt(e[1],10),sandboxId:e[2],backendPort:e[3]?parseInt(e[3],10):80,path:e[4]||"/"};let n=t.match(iu);if(n)try{let r=new URL(t);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 lk(t){try{let e=ou(t);return e?`http://localhost:${e.port}${e.path}`:null}catch{return null}}function uk(t){return Xp(t)||iu.test(t)}function pk(t){try{let{hostname:e,port:n}=new URL(t);return(e==="localhost"||e==="127.0.0.1")&&n!==""}catch{return!1}}var He="/web-proxy/";function dk(t,e){try{let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${He}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(ie.KORTIX_MASTER,10);return`${ye(c,"/",e).replace(/\/$/,"")}${s}`}catch{return null}}function gk(t){try{let e=new URL(t),n=e.pathname.indexOf(He);if(n===-1)return null;let s=e.pathname.slice(n+He.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],p=s[3]||"/";return`${c}://${u}${p}${e.search}${e.hash}`}catch{return null}}function mk(t){try{return new URL(t).pathname.includes(He)}catch{return t.includes(He)}}function fk(t){if(!t)return!1;let e=t.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(e)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e))}function yk(t){let e=t.trim();return e?/^https?:\/\//i.test(e)?e:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e)?`https://${e}`:null:null}var au="frontend";function At(t,e,n){(t==="error"?console.error:t==="warn"?console.warn:t==="debug"?console.debug:console.log)(`[${au}] ${e}`,...n?[n]:[]);try{de().app.log({service:au,level:t,message:e,extra:n})}catch{}}var oe={debug:(t,e)=>At("debug",t,e),info:(t,e)=>At("info",t,e),warn:(t,e)=>At("warn",t,e),error:(t,e)=>At("error",t,e)};function md(t){return{type:"heartbeat-gap",gapMs:t}}function fd(t){switch(t.type){case"message.updated":return{type:"message.updated",sessionID:t.properties.sessionID,message:t.properties.info};case"message.removed":return{type:"message.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:t.properties.sessionID,part:t.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID,partID:t.properties.partID};case"session.status":return{type:"session.status",sessionID:t.properties.sessionID,status:t.properties.status};case"session.idle":return{type:"session.idle",sessionID:t.properties.sessionID};case"session.error":return{type:"session.error",sessionID:t.properties.sessionID,error:t.properties.error};case"question.asked":return{type:"question.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,questions:t.properties.questions,tool:t.properties.tool};case"question.replied":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"replied",answers:t.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,permission:t.properties.permission,patterns:t.properties.patterns,tool:t.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:t.properties.sessionID,requestID:t.properties.requestID,reply:t.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:t.properties.sessionID,todos:t.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var yd={now:()=>Date.now(),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},hd=16,bd=8,xd=6e4,_d=5e3,Pd=250,kd=1e3,wd=3e4,Sd=5,vd=3e3,Cd=3e4,Rd=2e4,Td=2e3,Ad=8;function Id(t){if(t.type==="session.status")return`session.status:${t.properties.sessionID}`;if(t.type==="lsp.updated")return"lsp.updated"}function cu(t){if(t.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let e=()=>{};return{promise:new Promise(r=>{e=()=>r(),t.addEventListener("abort",e,{once:!0})}),cleanup:()=>t.removeEventListener("abort",e)}}function Vr(t){let{client:e,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=t,u=t.timers??yd,p=t.connectTimeoutMs??Rd,g=t.heartbeatTimeoutMs??xd,f=t.maxConsecutiveHardFailures??Ad,m=new AbortController,_=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",_,{once:!0}));let x=u.now(),I=[],T,l=0,h=new Map,a=()=>{if(T&&u.clearTimeout(T),T=void 0,I.length===0)return;let j=I;I=[],h.clear(),l=u.now(),x=u.now();for(let v of j)if(v)try{n(v.event)}catch(k){console.warn("[opencode-events] event handler threw, skipping",k)}},A=()=>{if(T)return;let j=u.now()-l;T=u.setTimeout(a,Math.max(0,hd-j))};return(async()=>{let j=0,v=0;for(;!m.signal.aborted;){let k=!1,E=!1,w,F,K=null,y=u.now(),C=new AbortController,M=cu(m.signal);M.promise.then(()=>C.abort());try{let D=await new Promise((Ft,qe)=>{let X=!1;F=u.setTimeout(()=>{X||(X=!0,oe.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),C.abort(),qe(new Error(`SSE connect timed out after ${p}ms`)))},p),e.global.event({signal:C.signal,sseDefaultRetryDelay:vd,sseMaxRetryDelay:Cd,sseMaxRetryAttempts:1}).then(Z=>{X||(X=!0,u.clearTimeout(F),Ft(Z))},Z=>{X||(X=!0,u.clearTimeout(F),qe(Z))})}),{stream:U}=D;x=u.now();let H=()=>{u.clearTimeout(w),w=u.setTimeout(()=>{oe.warn("SSE heartbeat timeout, forcing reconnect"),C.abort()},g)};H();let xe=u.now(),$u=U[Symbol.asyncIterator]();for(;!C.signal.aborted;){let Ft=$u.next().then(te=>({kind:"next",result:te}),te=>({kind:"error",error:te})),qe=cu(C.signal),X=await Promise.race([Ft,qe.promise.then(()=>({kind:"aborted"}))]);if(qe.cleanup(),X.kind==="aborted")break;if(X.kind==="error")throw X.error;if(X.result.done)break;k=!0,H();let Z=X.result.value,Qe=Z&&typeof Z=="object"&&"payload"in Z?Z.payload:Z;if(!Qe?.type)continue;let Lt=Id(Qe);if(Lt){let te=h.get(Lt);te!==void 0&&(I[te]=void 0),h.set(Lt,I.length)}I.push({type:Qe.type,event:Qe}),A(),!(u.now()-xe<bd)&&(xe=u.now(),await new Promise(te=>u.setTimeout(te,0)))}E=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:j,isAuthError:H}),H)try{st(),await pr(),oe.info("SSE: refreshed auth token after auth error")}catch(xe){oe.error("SSE: failed to refresh auth token",{error:String(xe)})}}finally{u.clearTimeout(w),u.clearTimeout(F),C.abort(),M.cleanup(),a()}if(m.signal.aborted)break;let z=u.now()-y,V=K?.cause?.status;if(v=!k&&(typeof V=="number"&&V>=400||z<Td)?v+1:0,v>=f){oe.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(K)});try{s?.({consecutiveFailures:v,lastError:K})}catch(D){console.warn("[opencode-events] onParked handler threw",D)}break}let Q=u.now()-x;Q>_d&&r?.(Q),E?j=0:(j++,j>1&&oe.warn("SSE event stream reconnecting",{retryCount:j}));let N=E?Pd:Math.min(kd*2**Math.min(j-1,Sd),wd);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",_),T&&u.clearTimeout(T)}}}function jd(){return de()}var It=new Map,jt=class extends Error{constructor(e){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 \`${e}\`.`),this.name="SessionNotReadyError"}};function Ed(t,e){Bt(t,e);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 R(`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=$().backendUrl??t.backendUrl,a=80,A=n(h);return A&&(a=A.port?Number(A.port):A.protocol==="https:"?443:80),{sandboxId:l,backendPort:a,apiBaseUrl:h}}let s={list:Qs,get:Zs,create:Ys,updateName:ei,leave:pi,members:ti,invite:ni,removeMember:li,updateMemberRole:ui,invites:ri,cancelInvite:si,resendInvite:ii,tokens:{list:fl,create:yl,revoke:hl},audit:{log:Pl,export:wl,webhooks:{list:Sl,create:vl,update:Cl,remove:Rl}}},c={accountState:rc,accountStateMinimal:sc,transactions:ic,transactionsSummary:oc,creditBreakdown:ac,usageHistory:cc,usageRollup:Pc,sessionCosts:{list:wc,get:Br},tierConfigurations:lc,checkout:{createSession:l=>uc(l),confirmSession:(l,h)=>pc(l,h)},subscription:{createPortalSession:(l,h)=>dc(l,h),cancel:(l,h)=>gc(l,h),reactivate:l=>mc(l),scheduleDowngrade:(l,h,a)=>fc(l,h,a),cancelScheduledChange:l=>yc(l),prorationPreview:(l,h)=>hc(l,h)},credits:{purchase:l=>bc(l),autoTopupSettings:l=>xc(l),configureAutoTopup:l=>_c(l)}},u={describe:oi,accept:ai,decline:ci},p={list:je,listForAccount:mi,get:Sr,detail:vr,create:bi,createRepo:xi,provision:_i,update:Tr,archive:Ar,llmCatalog:Cr,modelPicker:Rr,sandboxHealth:qr,sandboxTemplates:Wo,sessions:Ke,createSession:Ne},g={linkRepository:vi,getInstallation:Ci,listInstallations:Ri,listLinkableInstallations:Ti,listRepositories:Ai,listRepositoryBranches:Ii,linkInstallation:Ei,saveInstallation:ji,deleteInstallation:$i},f={list:cl,create:ll,revoke:ul},m=Go,_={items:l=>Il(l),item:l=>$l(l),itemFile:(l,h)=>ql(l,h),marketplaces:()=>jl(),featured:()=>El(),sources:{list:()=>Dl(),add:l=>Ml(l),remove:l=>Ul(l)}};function x(l){return{catalog:()=>jr(l),tools:()=>Pt(l),search:(...h)=>po(l,...h),describe:(...h)=>go(l,...h),call:(...h)=>mo(l,...h),uploadAttachment:(...h)=>fo(l,...h)}}function I(l){let h={list:()=>yo(l),listAll:()=>ho(l),reconcile:(...a)=>bo(l,...a),reconcileMember:(...a)=>xo(l,...a),updateCredential:(...a)=>_o(l,...a),revoke:(...a)=>Po(l,...a),activate:(...a)=>ko(l,...a),setDefault:(...a)=>wo(l,...a),pipedreamConnect:(...a)=>So(l,...a),pipedreamFinalize:(...a)=>vo(l,...a)};return{get:a=>Sr(l,a),detail:()=>vr(l),audit:a=>kl(l,a),update:a=>Tr(l,a),archive:()=>Ar(l),llmCatalog:()=>Cr(l),modelPicker:()=>Rr(l),sandboxHealth:()=>qr(l),onboardingComplete:(...a)=>Si(l,...a),apps:{list:()=>Ol(l),create:a=>Fl(l,a),get:a=>Ll(l,a),update:(...a)=>Gl(l,...a),access:{get:(...a)=>Kl(l,...a),update:(...a)=>Nl(l,...a),session:(...a)=>Hl(l,...a)},remove:a=>Bl(l,a),artifacts:{register:a=>Wr(l,a),uploadArchive:(...a)=>Wl(l,...a),finalize:(...a)=>zr(l,...a)},deployments:{create:(...a)=>zl(l,...a),list:a=>Vl(l,a),get:(...a)=>Jl(l,...a),logs:(...a)=>Xl(l,...a)},start:a=>Ql(l,a),stop:a=>Yl(l,a),rollback:(...a)=>Zl(l,...a)},tokens:{list:()=>bl(l),create:a=>xl(l,a),revoke:a=>_l(l,a)},setupLinks:{requestSecret:a=>Tl(l,a),requestConnector:a=>Al(l,a)},validateManifest:a=>yi(l,a),gitToken:()=>hi(l),secrets:{list:()=>eo(l),upsert:a=>to(l,a),setStrategy:(...a)=>no(l,...a),broker:(...a)=>ro(l,...a),remove:a=>co(l,a),setPersonal:(...a)=>lo(l,...a),removePersonal:a=>uo(l,a),setGitCredential:a=>ao(l,a),startProviderOAuth:(...a)=>so(l,...a),pollProviderOAuth:(...a)=>io(l,...a),removeProviderOAuth:a=>oo(l,a)},access:{list:()=>Ui(l),invite:(...a)=>Li(l,...a),update:(...a)=>Oi(l,...a),revoke:a=>Fi(l,a),pendingInvites:()=>Gi(l),resendInvite:(...a)=>Ki(l,...a),revokeInvite:(...a)=>Bi(l,...a),requests:()=>qi(l),approveRequest:(...a)=>Di(l,...a),rejectRequest:(...a)=>Mi(l,...a),groupGrants:()=>Ni(l),attachGroupGrant:(...a)=>Hi(l,...a),updateGroupGrant:(...a)=>Wi(l,...a),detachGroupGrant:a=>zi(l,a),resourceGrants:{list:()=>Vi(l),create:a=>Ji(l,a),remove:a=>Xi(l,a)}},connectors:{...x(l),list:()=>Co(l),config:(...a)=>$o(l,...a),create:(...a)=>Mo(l,...a),remove:(...a)=>Oo(l,...a),sync:()=>Ro(l),auth:{discover:(...a)=>Uo(l,...a)},setName:(...a)=>qo(l,...a),setCredentialMode:(...a)=>To(l,...a),setAuthorizationStrategy:(...a)=>Ao(l,...a),setCredential:(...a)=>Bo(l,...a),setSensitive:(...a)=>Io(l,...a),connections:h,policies:{get:(...a)=>jo(l,...a),set:(...a)=>Eo(l,...a)},pipedream:{listApps:(...a)=>Fo(l,...a),listSections:(...a)=>Lo(l,...a),connect:(...a)=>Do(l,...a),finalize:(...a)=>Ko(l,...a)},discover:{list:(...a)=>Er(l,...a),detail:(...a)=>$r(l,...a)}},policies:{list:()=>No(l),set:(...a)=>Ho(l,...a)},triggers:{list:()=>La(l),create:(...a)=>Ga(l,...a),update:(...a)=>Ba(l,...a),remove:(...a)=>Ka(l,...a),fire:(...a)=>Ha(l,...a),setActivation:(...a)=>Na(l,...a)},files:{list:a=>ta(l,a),read:(a,A)=>ra(l,a,A),search:(...a)=>na(l,...a),archive:(...a)=>sa(l,...a),history:(...a)=>la(l,...a)},git:{commits:()=>oa(l),commit:a=>aa(l,a),commitDiff:a=>ca(l,a),branches:()=>ia(l),versionDiff:(...a)=>ua(l,...a),inviteCollaborator:(...a)=>fi(l,...a)},changeRequests:{list:()=>pa(l),get:a=>da(l,a),diff:a=>ga(l,a),mergePreview:a=>ma(l,a),open:(...a)=>fa(l,...a),merge:(...a)=>ya(l,...a),close:(...a)=>ha(l,...a),reopen:(...a)=>ba(l,...a),requestChanges:(...a)=>xa(l,...a)},sessions:{list:a=>Ke(l,a),create:a=>Ne(l,a),ensureWarm:()=>Ra(l),claimWarm:a=>Ta(l,a)},review:{list:a=>rl(l,a),get:a=>sl(l,a),submit:a=>il(l,a),act:(...a)=>ol(l,...a),bulkAct:a=>al(l,a)},approvals:{list:a=>Qi(l,a),resolve:(...a)=>Zi(l,...a),sessionsNeedingInput:a=>Yi(l,a)},gateway:{logs:a=>Bc(l,a),log:a=>Kc(l,a),overview:a=>Nc(l,a),series:a=>Hc(l,a),breakdown:a=>Wc(l,a),sessions:a=>zc(l,a),errors:a=>Vc(l,a),budgets:()=>Jc(l),setBudget:a=>Xc(l,a),deleteBudget:a=>Qc(l,a),keys:()=>Yc(l),createKey:a=>Zc(l,a),revokeKey:a=>el(l,a),routing:{get:()=>Oc(l),set:a=>Fc(l,a),reset:()=>Lc(l),preview:a=>Gc(l,a)},playground:(a,A,j)=>tl(l,a,A,j)},channels:{slack:{installation:()=>vc(l),connect:a=>Cc(l,a),mode:()=>Rc(l),manifest:()=>Tc(l),disconnect:()=>Ac(l),getFile:a=>Ic(l,a),uploadFile:a=>jc(l,a)},email:{installation:a=>Ec(l,a),mode:()=>$c(l),connect:a=>qc(l,a),disconnect:a=>Dc(l,a),updatePolicy:(...a)=>Mc(l,...a)},voice:{setBotName:a=>Uc(l,a)}},updateFeatureFlag:(...a)=>Pi(l,...a),updateExperimentalFeature:(...a)=>ki(l,...a),modelDefaults:{get:()=>Xa(l),set:a=>Qa(l,a),clear:a=>Ya(l,a)},setDefaultAgent:a=>nc(l,a),sandbox:{list:()=>ea(l),snapshots:()=>zo(l),rebuildSnapshot:a=>Vo(l,a),fixWithAgent:()=>Jo(l),createTemplate:a=>Xo(l,a),updateTemplate:(...a)=>Qo(l,...a),removeTemplate:a=>Yo(l,a),buildTemplate:a=>Zo(l,a),setProvider:a=>wi(l,a)},setAgentScope:(...a)=>ec(l,...a),session:a=>T(l,a)}}function T(l,h){let a=null,A,j,v=null;async function k(){v||(v=Mr(l,h,{showErrors:!1}).then(y=>{let C=typeof y.metadata?.opencode_model=="string"?y.metadata.opencode_model.trim():"",M=C.indexOf("/"),z=M>0&&M<C.length-1?{providerID:C.slice(0,M),modelID:C.slice(M+1)}:void 0,V=y.agent_name?.trim()||void 0;return{model:z,agent:V}}));try{return await v}catch(y){throw v=null,y}}function E(){if(a)return a;let y=za(l,h);return y&&(a=y),a}async function w(y){let C=E();if(C)return C;let M=y?.readyTimeoutMs??18e4,z=`${l}
20
+ ${h}`,V=It.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 Ee(l,h,Math.min(3e4,N()));for(;Date.now()<Q&&(D==null||(D.stage==="provisioning"||D.stage==="starting")&&D.retriable);)await new Promise(xe=>setTimeout(xe,Math.min(1e3,N()))),D=await Ee(l,h,Math.min(3e4,N()));if(!D||D.stage!=="ready"||!D.sandbox||!D.opencode_session_id)throw new R(`Session runtime not ready (stage: ${D?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let U=D.sandbox.external_id;if(!U)throw new R("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let H=it(U);return ws(H,U),{opencodeSessionId:D.opencode_session_id,runtimeUrl:H,sandboxId:U}})();It.set(z,J);try{return a=await J,a}finally{It.get(z)===J&&It.delete(z)}}function F(y){let C=E();if(!C)throw new jt(y);return C}function K(){a=null,Ja(l,h)}return{get:y=>Mr(l,h,y),cost:()=>Br(h,{projectId:l}),update:y=>Ea(l,h,y),delete:()=>(K(),$a(l,h)),start:(...y)=>Ee(l,h,...y),restart:()=>(K(),wt(l,h)),stop:()=>(K(),St(l,h)),configState:()=>qa(l,h),reloadConfig:y=>(K(),Da(l,h,y)),reloadConfigStream:(...y)=>(K(),Ma(l,h,...y)),setSharing:y=>ka(l,h,y),previews:()=>wa(l,h),commit:y=>_a(l,h,y),publicShares:{list:()=>Sa(l,h),create:(...y)=>va(l,h,...y),revoke:(...y)=>Ca(l,h,...y)},audit:(y,C)=>Aa(l,h,y,C),transcript:y=>Ia(l,h,y),voiceTranscript:y=>ja(l,h,y),ensureReady:w,health:y=>eu(E()?.runtimeUrl??null,y),previewUrl:(y,C="/")=>ye(y,C,r(F("previewUrl").sandboxId)),proxyUrl:y=>su(y,r(F("proxyUrl").sandboxId)),setModel:y=>{A=y},changeModel:async y=>{let C=await Fa(l,h,y);return v=null,C},scope:()=>Ua(l,h),rescope:y=>Oa(l,h,y),setAgent:y=>{j=y},send:async(y,C)=>{let{opencodeSessionId:M,runtimeUrl:z}=await w(),V=C?.model??A,J=C?.agent??j,Q=V&&J?{}:await k(),N=V??Q.model,D=J??Q.agent;return re(z).session.prompt({sessionID:M,parts:[{type:"text",text:y}],...N?{model:N}:{},...D?{agent:D}:{}})},abort:async()=>{let{opencodeSessionId:y,runtimeUrl:C}=await w();return re(C).session.abort({sessionID:y})},rewind:async y=>{let{opencodeSessionId:C,runtimeUrl:M}=await w();return re(M).session.revert({sessionID:C,messageID:y})},restoreRewind:async()=>{let{opencodeSessionId:y,runtimeUrl:C}=await w();return re(C).session.unrevert({sessionID:y})},stream:async y=>{let{runtimeUrl:C}=await w();return Vr({client:re(C),onEvent:y.onEvent,onGapRehydrate:y.onGapRehydrate,signal:y.signal})},get runtime(){return re(F("runtime").runtimeUrl)},files:{list:async y=>ut(y,(await w()).runtimeUrl),read:async y=>Le(y,(await w()).runtimeUrl),readBlob:async y=>Ge(y,(await w()).runtimeUrl),status:async()=>pt((await w()).runtimeUrl),findFiles:async(y,C)=>dt(y,C,(await w()).runtimeUrl),findText:async y=>gt(y,(await w()).runtimeUrl),upload:async(y,C,M)=>Be(y,C,M,(await w()).runtimeUrl),create:async y=>mt(y,(await w()).runtimeUrl),copy:async(y,C)=>ft(y,C,(await w()).runtimeUrl),remove:async y=>yt(y,(await w()).runtimeUrl),mkdir:async y=>ht(y,(await w()).runtimeUrl),rename:async(y,C)=>bt(y,C,(await w()).runtimeUrl)}}}return{config:t,accounts:s,accountInvites:u,projects:p,connectors:x(),project:I,session:T,github:g,billing:c,sandboxShares:f,transcribe:nl,connectStatus:m,marketplace:_,validateToken:di,runtime:jd}}function $d(){let t=typeof crypto<"u"?crypto:void 0;if(t?.randomUUID)return t.randomUUID();let e=new Uint8Array(16);if(t?.getRandomValues)t.getRandomValues(e);else for(let r=0;r<16;r++)e[r]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=[...e].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 lu={thinking:!1,toolDetails:!0,assistantMetadata:!0};function qd(t){return t&&t.charAt(0).toUpperCase()+t.slice(1)}function Dd(t){let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let n=Math.floor(e/60),r=e%60;return`${n}m ${r.toFixed(0)}s`}function Md(t,e){if(t.type==="text"&&!t.synthetic)return`${t.text??""}
21
+
22
+ `;if(t.type==="reasoning")return e.thinking?`> _Thinking:_
11
23
  >
12
- > ${(e.text??"").replace(/\n/g,`
24
+ > ${(t.text??"").replace(/\n/g,`
13
25
  > `)}
14
26
 
15
- `:"";if(e.type==="tool"){let n=`**Tool: ${e.tool??"unknown"}**
16
- `;if(t.toolDetails&&e.state?.input)try{let r=typeof e.state.input=="string"?e.state.input:JSON.stringify(e.state.input,null,2);n+=`
27
+ `:"";if(t.type==="tool"){let n=`**Tool: ${t.tool??"unknown"}**
28
+ `;if(e.toolDetails&&t.state?.input)try{let r=typeof t.state.input=="string"?t.state.input:JSON.stringify(t.state.input,null,2);n+=`
17
29
  <details>
18
30
  <summary>Input</summary>
19
31
 
@@ -22,7 +34,7 @@ ${r}
22
34
  \`\`\`
23
35
 
24
36
  </details>
25
- `}catch{}if(t.toolDetails&&e.state?.status==="completed"&&e.state.output){let r=e.state.output,s=r.length>2e3?r.slice(0,2e3)+`
37
+ `}catch{}if(e.toolDetails&&t.state?.status==="completed"&&t.state.output){let r=t.state.output,s=r.length>2e3?r.slice(0,2e3)+`
26
38
  ... (truncated)`:r;n+=`
27
39
  <details>
28
40
  <summary>Output</summary>
@@ -32,36 +44,36 @@ ${s}
32
44
  \`\`\`
33
45
 
34
46
  </details>
35
- `}return t.toolDetails&&e.state?.status==="error"&&e.state.error&&(n+=`
47
+ `}return e.toolDetails&&t.state?.status==="error"&&t.state.error&&(n+=`
36
48
  **Error:**
37
49
  \`\`\`
38
- ${e.state.error}
50
+ ${t.state.error}
39
51
  \`\`\`
40
52
  `),n+=`
41
- `,n}return""}function cd(e,t){if(!t)return`## Assistant
53
+ `,n}return""}function Ud(t,e){if(!e)return`## Assistant
42
54
 
43
- `;let n=e.agent?id(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=od(e.time.completed-e.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
55
+ `;let n=t.agent?qd(t.agent):"Assistant",r=t.modelID||"",s="";t.time?.completed&&t.time?.created&&(s=Dd(t.time.completed-t.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
44
56
 
45
57
  `:`## ${n}
46
58
 
47
- `}function ld(e,t,n){let r="";e.role==="user"?r+=`## User
59
+ `}function Od(t,e,n){let r="";t.role==="user"?r+=`## User
48
60
 
49
- `:r+=cd(e,n.assistantMetadata);for(let s of t)r+=ad(s,n);return r}function ud(e,t,n=Hl){let r=`# ${e.title||"Untitled Session"}
61
+ `:r+=Ud(t,n.assistantMetadata);for(let s of e)r+=Md(s,n);return r}function Fd(t,e,n=lu){let r=`# ${t.title||"Untitled Session"}
50
62
 
51
- `;r+=`**Session ID:** \`${e.id}\`
52
- `,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
53
- `,r+=`**Updated:** ${new Date(e.time.updated).toLocaleString()}
63
+ `;r+=`**Session ID:** \`${t.id}\`
64
+ `,r+=`**Created:** ${new Date(t.time.created).toLocaleString()}
65
+ `,r+=`**Updated:** ${new Date(t.time.updated).toLocaleString()}
54
66
 
55
67
  `,r+=`---
56
68
 
57
- `;for(let s of t)r+=ld(s.info,s.parts,n),r+=`---
58
-
59
- `;return r}function pd(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 Ne(r)||t}catch{return t}}return Ne(n)||t}catch{return dd(t)??t}}return typeof e=="object"?Ne(e)||"An error occurred":String(e)}function Wl(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function dd(e){let t=Wl(e);if(t)try{return Ne(JSON.parse(t))}catch{return}}function Ne(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 Gr(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Nl(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||Ne(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=Gr(u)??Gr(Wl(u));return p!==void 0?me(p):void 0}if(typeof e!="object")return;let t=e,n=Nl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Nl(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Gr(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 gd={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"}},md=[{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 fd(e){return e.replace(/^oc[-_]/,"")}function Tt(e){return fd(e).replace(/-/g,"_")}function Br(e){return Tt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Kr(e){let t=Tt(e),n=gd[t];if(n)return n;for(let{prefix:r,category:s}of md)if(t.startsWith(r))return{label:Br(e),category:s};return{label:Br(e),category:"other"}}var yd=256*1024;function hd(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function bd(e){if(e===void 0)return{};if(e.length>yd)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function xd(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 _d(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=bd(r),u=hd(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let g=xd(s);g&&(u="error",p=g)}return{name:e,title:n||Kr(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:p}}function Pd(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function kd(e){return{kind:"reasoning",id:e.id,text:e.text}}function wd(e){return{kind:"tool",id:e.id,tool:_d(e.tool,e.state)}}function Sd(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 vd(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Cd(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Rd(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Td(e){return{kind:"agent",id:e.id,name:e.name}}function Ad(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Z(e.error),createdAt:e.time.created}}function Id(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function jd(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function Ed(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function zl(e){switch(e.type){case"text":return Pd(e);case"reasoning":return kd(e);case"tool":return wd(e);case"file":return Sd(e);case"subtask":return vd(e);case"patch":return Cd(e);case"snapshot":return Rd(e);case"agent":return Td(e);case"retry":return Ad(e);case"compaction":return Id(e);case"step-start":return jd(e);case"step-finish":return Ed(e);default:return{kind:"unknown",raw:e}}}function $d(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 qd(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(zl),n=e.info.role==="assistant"?e.info.error:void 0,r=$d(n),s=!r&&!t.some(qd);return{parts:t,error:r,isEmpty:s}}function fe(e){return e.type==="text"}function Hr(e){return e.type==="reasoning"}function oe(e){return e.type==="tool"}function Md(e){return e.type==="file"}function sk(e){return e.type==="agent"}function ik(e){return e.type==="compaction"}function ok(e){return e.type==="snapshot"}function ak(e){return e.type==="patch"}function ck(e){if(fe(e)||Hr(e))return e.text}function Ud(e){if(!Md(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function lk(e){let t=[],n=[];for(let r of e)Ud(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function uk(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function pk(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var Od=new Set(["todoread","context_info"]);function Ld(e){return!Od.has(e.tool)}function dk(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 gk(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 mk(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)oe(r)&&Ld(r)&&t.push(r);return t}function fk(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Fd(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:Gd(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:Bd(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:Vl(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Vl(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 Fd(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Vl(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 Gd(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function yk(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 Bd(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 hk(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function bk(e,t){return e.find(n=>n.tool?.callID===t)}function xk(e,t){return e.find(n=>n.tool?.callID===t)}var Kd=/\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 _k(e){return e?e.replace(Kd,""):""}function wk(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 Sk(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function vk(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(fe(n)&&n.text?.trim())return n}}function Ck(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Rk(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 Tk(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 Ak(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 Hd(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(...Hd(e,s));return r}function Nd(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 Ek(e){if(Nd(e))return e.assistantMessages[0].parts[0]}function Mk(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 Uk(e,t){return!t||!e?!1:e.type!=="idle"}function Ok(e,t){return!e&&!!t}function Lk(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Z(n.error)}}function Fk(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return me(n.error)}}function Jl(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(Hr(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 Gk(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 f=Jl(p.parts[g]);if(f)return f}}return"Delegating to agent..."}let c=Jl(r);if(c)return c}return"Considering next steps..."}function Bk(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 Xl=1.2;function Ql(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 Yl(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?Ql(e.tokens,c):0}function Zl(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function Kk(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:k,modelID:I}=Zl(m.info);n+=Yl(x,k,I,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=eu(m,t);if(x<=0)continue;g=!0,n+=x;let k=m.tokens;k&&(r+=k.input??0,s+=k.output??0,c+=k.reasoning??0,u+=k.cache?.read??0,p+=k.cache?.write??0)}if(g)return{cost:n*Xl,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:p}}}function eu(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?Ql({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function Hk(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=Zl(s),p=0,g=!1;for(let f of r.parts)f.type==="step-finish"&&(g=!0,p+=Yl(f,c,u,t));g||(p+=eu(s,t)),n+=p}return n*Xl}function Nk(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function Wk(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function zk(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 Vk(e){if(!(!e||e.type!=="retry"))return Z(e.message)}function Jk(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 tu(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 Ae(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function zd(e){let t=G(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Ae(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=Ae(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 Jd(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 Xd=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Qd(e){let t=-1;for(let n of Xd){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var Yd=/\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 Zd(e){return e.replace(Yd,"")}function eg(e){let t=G(e.input?.command)??"",n=e.output??"",r=n.match(Vd),s=r?Number(r[1]):void 0,u=Zd(Qd(Jd(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 Wr(e){return G(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function tg(e){let t=e.status==="error"?e.error:e.output&&ze(e.output)||void 0;return{kind:"file-read",path:Wr(e),preview:t}}function ng(e){let t=G(e.input?.content),n=e.status==="error"?e.error:ze(t??e.output??"")||void 0;return{kind:"file-write",path:Wr(e),preview:n}}var rg=256*1024;function sg(e,t){if(e.length+t.length>rg)return;let n=e.split(`
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 ig(e){let t=G(e.input?.oldString),n=G(e.input?.newString),r=t!==void 0&&n!==void 0?sg(t,n):void 0;return{kind:"file-edit",path:Wr(e),diff:r}}var ru=/^Found\s+(\d+)\s+match/i,og=/^(\/[^:]+?):\s*/,nu=/Line\s+(\d+):/g;function ag(e){let t=e.trim(),n=t.match(ru),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(og);if(!p)continue;let g=p[1],f=u.slice(p[0].length),m=[],x;for(nu.lastIndex=0;(x=nu.exec(f))!==null;)m.push({line:Number(x[1]),contentStart:x.index+x[0].length,headerStart:x.index});for(let k=0;k<m.length;k++){let I=k+1<m.length?m[k+1].headerStart:f.length,$=f.slice(m[k].contentStart,I).trim();s.push({path:g,line:m[k].line,content:$.endsWith(";")?$.slice(0,-1):$})}}return s}function cg(e){return e.trim().split(`
64
- `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function lg(e){let t=G(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=ru.test(e.output.trim())?ag(e.output):cg(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function ug(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 Nr(e){let t=Ae(e)??{};return{content:G(t.content)??"",status:G(t.status)??"pending",priority:G(t.priority)}}function pg(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Nr)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Nr)};let n=Ae(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Nr)}:{kind:"todo",items:[]}}function dg(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Ae(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=Ae(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 gg(e){let n=e.input&&Object.keys(e.input).length>0?tu(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?ze(e.outputParsed):tu(e.outputParsed):e.outputText!==void 0?r=ze(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function mg(e){switch(Tt(e.name)){case"web_search":case"websearch":case"image_search":return zd(e);case"bash":return eg(e);case"read":return tg(e);case"write":return ng(e);case"edit":case"morph_edit":return ig(e);case"grep":case"glob":return lg(e);case"task":return ug(e);case"todowrite":return pg(e);case"question":case"ask":return dg(e);default:return gg(e)}}function At(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function fg(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 nw(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 zr(e,t,n){return e!==void 0?e:fg(At(t),n)}var rw={get disableMobileAdvertising(){return zr(E().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return zr(E().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return zr(E().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var It="kortix-active-instance",yg=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function hg(e){return yg.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 iw(e){let t=Ve(e);return!!t&&t.innerPath===""}function ow(e){let t=Ve(e);return!t||!t.innerPath?e:t.innerPath}function bg(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 hg(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function xg(e){return e?Ve(e)?.instanceId??null:null}function aw(){return typeof window>"u"?null:xg(window.location.pathname)||_g()}function _g(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${It}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function cw(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 lw(e,t){return t?bg(t,e):e}function uw(e){let t=Ve(e);return t?t.innerPath||"/dashboard":e}function su(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 Pg(e){let t=su(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 iu(e){let t=Pg(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function dw(e){return iu(e)!==null}function kg(e){let t=iu(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:su(e)||"The sandbox is running, but OpenCode returned an error."}}function W(){let e=At("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 ou=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function au(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function wg(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 Vr(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:wg(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 Jr(){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:Vr(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 Jr();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 cu(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 ww(e,t){return e.external_id?`${W()}/p/${e.external_id}/${t}`:null}async function Aw(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Sg(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:Vr(r,s,c),created:!0}}async function Iw(){return(await ye().catch(()=>null))?.sandbox??null}async function jw(e){return{sandbox:(await Sg(e)).sandbox}}async function Ew(e){let t=Je(e);return t?(await ye(t).catch(()=>null))?.sandbox??null:null}async function $w(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 qw(e){let t=Je(e);return(await Jr().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function Dw(){if(typeof window>"u")return null;let e=W(),t=Array.from(new Set([e,...ou]));for(let n of t)try{let r=await fetch(au(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 Mw(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 Uw(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 _t(t.project.project_id,t.session.session_id)}async function Ow(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function Lw(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Hw(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function Nw(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function Ww(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function zw(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function Vw(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function Jw(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 Qw(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Xr(e,t,n){let r=cu(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 Yw(e,t){return Xr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function Zw(e,t,n,r="member"){await Xr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function eS(e,t,n){await Xr(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function tS(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function sS(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 iS(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 oS(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 cS(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function lS(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function uS(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function pS(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function gS(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function mS(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var vg=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function hS(e){return vg.includes(e)}async function bS(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 xS(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 Cg(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Cg(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 _S(){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 PS(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function kS(e){}async function wS(e){}async function RS(e){return{serverTypes:[],location:e||"hel1"}}async function TS(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function AS(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function IS(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function jS(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function ES(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function $S(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 Qr(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:Qr(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 Rg(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 DS(e,t){return B(`/marketplace/items${Rg(t)}`,e)}function MS(e){return B("/marketplace/marketplaces",e)}function US(e,t){return B(`/marketplace/items/${encodeURIComponent(e)}`,t)}function OS(e,t,n){return B(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function LS(e,t){return B("/access/check-email",t,{method:"POST",body:{email:e}})}function FS(e,t){return B("/access/request-access",t,{method:"POST",body:e})}function GS(e){return B("/auth/logout",e,{method:"POST",body:{}})}function BS(e,t){return B(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function KS(e,t){return B("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function HS(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function NS(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function WS(e,t){return B(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function zS(e,t,n){return B(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function VS(e,t){return B(`/p/public-share/${encodeURIComponent(e)}`,t)}function JS(e,t,n){return B(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function XS(e){return B("/system/maintenance",e)}function QS(e,t){return B("/system/maintenance",t,{method:"PUT",body:e})}function YS(e){return B("/user-roles",e)}function ZS(e,t){return B("/system/demo-request",t,{method:"POST",body:e})}async function ev(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:Qr(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 tv(e,t){let n=await fetch(`${Et(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Qr(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 Tg=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Ag(e,t){return Tg.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${Et(e)}/`):null}async function nv(e,t,n){let r=Ag(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 iv(){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 ov(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 av(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 cv(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 lv(){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 lu(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 Ig(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 uu(e,t){return Ig(e,t)?(t?lu(t):null)??lu(e):null}function pv(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function dv(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function yv(e,t={}){let n=uu(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 bv=3e3;function jg(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 xv(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 jg(c.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function Yr(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Pv(e,t){return`${Yr(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function kv(e,t){return`${Yr(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function Eg(e,t){return`${Yr(e)}/presentation/convert-to-${t}`}async function wv(e,t,n,r){let s=Eg(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 k=await f.text().catch(()=>""),I=f.statusText;try{let $=JSON.parse(k);I=String($.error||$.detail||$.message||I)}catch{k&&(I=k)}throw new Error(`Failed to download ${e.toUpperCase()}: ${I} (HTTP ${f.status})`)}}function du(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 $g(e){return Dg(du(e))}function qg(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=du(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 Zr({...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 Mg={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},pu=500,Zr=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??Mg,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,pu):setTimeout(t,pu)}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 Ug(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Og(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 k(a,R){c?.(a,R);let T=f.get(a);if(T)for(let v of T)try{v(R)}catch{}}async function I(){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 v=T.body.getReader(),P=new TextDecoder,j="",w="message",L="";for(;!x;){let{done:K,value:y}=await v.read();if(K)break;j+=P.decode(y,{stream:!0});let C=j.split(`
65
- `);j=C.pop()||"";for(let M of C)M===""?L&&(k(w,L.trimEnd()),w="message",L=""):M.startsWith("event: ")?w=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:I,close:$,addEventListener:l,removeEventListener:h}}function Cv(e,t){return Og({...t,url:Ug(e)})}export{It as ACTIVE_INSTANCE_COOKIE,A as ApiError,qe as AuthError,Pe as BillingError,Xl as COST_MARKUP,Hl as DEFAULT_TRANSCRIPT_OPTIONS,vg as DESTRUCTIVE_PHASES,tp as FEATURE_NOT_SUPPORTED_CODE,ae as HostBoundaryError,yg as INSTANCE_SCOPED_ROUTES,np as MODEL_NOT_SERVABLE_CODE,bv as PREVIEW_PROBE_TIMEOUT_MS,rp 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,Fg as __getConfigResolver,Lg as __setConfigResolver,Ws as acceptAccountInvite,iS as acceptInvite,Bc as actReviewItem,so as activateConnection,cx as addGroupMembers,hl as addMarketplaceSource,Nw as addSandboxMember,Hd as allDescendantIds,dv as appendPreviewToken,bi as approveProjectAccessRequest,rf as approveTask,kr as archiveProject,df as assignTicket,Ti as attachGroupToProject,q as authenticatedFetch,i as backendApi,Db as bindSlackIdentity,Mb as bindTeamsIdentity,Fi as brokerProjectSecretRequest,bg as buildInstancePath,kv as buildPresentationTemplateImageUrl,Pv as buildPresentationTemplatePdfUrl,uu as buildPreviewAuthEndpoint,Ag as buildPublicTemplateUrl,Eg as buildRuntimePresentationConversionUrl,Do as buildSandboxTemplate,kP as buildStaticFileHealthPreviewUrl,PP as buildStaticFileLocalUrl,_P as buildStaticFilePreviewUrl,Dp as buildStaticFileServicePath,Ug as buildTunnelEventStreamUrl,RP as buildWebProxyUrl,Kc as bulkActReviewItems,hx as bulkDeletePolicies,bx as bulkImportPolicies,Xi as callConnector,d_ as cancelAccountDeletion,Ks as cancelAccountInvite,Ow as cancelSandbox,wS as cancelSandboxUpdate,Ya as cancelScheduledChange,Ja as cancelSubscription,LS as checkAccessEmail,Tk as childMapByParent,jS as claimComputer,kb as claimPerSeatBilling,ua as claimWarmProjectSession,zl as classifyPart,jg as classifyPreviewProbeStatus,Dd as classifyTurn,$a as clearModelDefault,Oh as clearSessionFresh,Zo as closeChangeRequest,Ff as closeMilestone,Sk as collectTurnParts,mf as commentTicket,na as commitSessionChanges,Jl as computeStatusFromPart,nc as configureAutoTopup,Ot as configureKortix,za as confirmCheckoutSession,yc as connectEmail,cc as connectSlack,A_ as convertPresentationToGoogleSlides,wv as convertRuntimePresentation,gt as copyFile,sc as costExportUrl,Us as createAccount,ol as createAccountAuditWebhook,Yc as createAccountToken,_l as createApp,Cl as createAppAccessSession,Tl as createAppDeployment,Zx as createAuditWebhook,lS as createBackup,Wa as createCheckoutSession,xo as createConnector,dt as createFile,Dc as createGatewayKey,sx as createGroup,qg as createHttpSessionSyncController,TS as createInstance,rd as createKortix,ks as createKortixPty,rP as createMarketplaceInstallSession,Of as createMilestone,Pb as createPerSeatCheckout,mx as createPolicy,Va as createPortalSession,ni as createProject,Sf as createProjectAgent,tl as createProjectCliToken,ri as createProjectRepo,Ei as createProjectResourceGrant,Ke as createProjectSession,ka as createProjectTrigger,Sx as createRole,Og as createSSEStream,jw as createSandbox,Nc as createSandboxShare,Eo as createSandboxTemplate,Ix as createScimToken,Jx as createServiceAccountApi,aa as createSessionPublicShare,Fx as createSsoGroupMapping,ef as createTask,lf as createTicket,Cv as createTunnelEventStream,zs as declineAccountInvite,oS as declineInvite,g_ as deleteAccountImmediately,wl as deleteApp,t_ as deleteAuditWebhook,pS as deleteBackup,Po as deleteConnector,zf as deleteCredential,_s as deleteEnv,mt as deleteFile,$c as deleteGatewayBudget,yi as deleteGitHubInstallation,ox as deleteGroup,AS as deleteInstance,$f as deleteKortixProject,Bf as deleteMilestone,zi as deletePersonalProjectSecret,yx as deletePolicy,Cf as deleteProjectAgent,Ki as deleteProjectProviderOAuth,$i as deleteProjectResourceGrant,Ni as deleteProjectSecret,fa as deleteProjectSession,Sa as deleteProjectTrigger,Rx as deleteRole,qo as deleteSandboxTemplate,Qx as deleteServiceAccountApi,Gx as deleteSsoGroupMapping,Ox as deleteSsoProvider,sf as deleteTask,ff as deleteTicket,Ns as describeAccountInvite,Ji as describeConnectorTool,Ii as detachGroupFromProject,Ep as detectLocalhostUrls,Xx as disableServiceAccountApi,hc as disconnectEmail,lv as disconnectGitHubApp,pc as disconnectSlack,uh as discoverConnectionOAuth2,_o as discoverConnectorAuth,Dw as discoverLocalSandbox,ev as downloadAccountAudit,oy as dropClientForUrl,ly as dropPublicClientForUrl,kf as ensurePmSession,yv as ensurePreviewSessionCookie,ah as ensureProjectConnectorConnection,Sg as ensureSandbox,la as ensureWarmProjectSession,Ou as env,sl as exportAccountAudit,me as extractGatewayErrorDetails,Ve as extractInstanceRoute,rw as featureFlags,xb as fetchAccountStateWithToken,Ey as fetchAccountsWithToken,jb as fetchCostExportCsv,Fo as fetchProjectArchive,By as fetchProjectsForAccountWithToken,Zu as files,Lr as finalizeAppArtifact,ut as findFiles,vk as findLastTextPart,pt as findText,Ca as fireProjectTrigger,jo as fixSandboxWithAgent,Uu as formatBillingErrorForUI,Nk as formatCost,Bk as formatDuration,kg as formatOpenCodeRuntimeError,kg as formatRuntimeError,Wk as formatTokens,ud as formatTranscript,sd as generateSessionId,Os as getAccount,u_ as getAccountDeletionStatus,La as getAccountState,Fa as getAccountStateMinimal,_g as getActiveInstanceIdFromCookie,P_ as getAdminProviderAnalytics,b_ as getAdminProviderDistribution,w_ as getAdminProviderFallback,m_ as getAdminRole,Bd as getAgentCardLabel,mb as getAgentConfig,Rf as getAgentPersona,_S as getAllVersions,Rk as getAnsweredQuestionParts,Pl as getApp,Sl as getAppAccess,Il as getAppDeployment,jl as getAppDeploymentLogs,Z_ as getApprovalLink,xe as getAuthToken,gs as getAuthTokenWithRetry,tc as getAutoTopupSettings,_b as getAutoTopupSetupStatus,Ka as getBillingCreditBreakdown,Na as getBillingTierConfigurations,Ba as getBillingTransactionsSummary,Ha as getBillingUsageHistory,Vo as getChangeRequest,Jo as getChangeRequestDiff,Xo as getChangeRequestMergePreview,gk as getChildSessionError,dk as getChildSessionId,mk as getChildSessionToolParts,ue as getClient,te as getClientForUrl,wo as getConnectStatus,lh as getConnectionOAuth2Application,mh as getConnectionOAuth2Status,fh as getConnectionPolicies,Sr as getConnectorCatalog,yo as getConnectorConfig,mo as getConnectorPolicies,HS as getConnectorSetupLink,Ib as getCostSummary,xg as getCurrentInstanceIdFromPathname,aw as getCurrentInstanceIdFromWindow,Es as getCurrentProject,Oa as getDefaultAccountState,hk as getDiagnostics,Gd as getDirectory,Cr as getDiscoverConnector,bh as getDiscoverIntegration,mc as getEmailInstallation,fc as getEmailMode,i_ as getEnterpriseDemo,lt as getFileStatus,Vl as getFileWithDir,Fd as getFilename,Cg as getFullChangelog,Tc as getGatewayBreakdown,jc as getGatewayBudgets,Ic as getGatewayErrors,qc as getGatewayKeys,vc as getGatewayLog,Cc as getGatewayOverview,_c as getGatewayRoutingPolicy,Rc as getGatewaySeries,Ac as getGatewaySessions,iv as getGitHubAppStatus,li as getGitHubInstallation,T_ as getGoogleAuthUrl,rx as getGroup,uk as getHiddenToolParts,sS as getInvite,RS as getJustavpsServerTypes,If as getKortixProject,jf as getKortixProjectBySession,vs as getKortixPtyWebSocketUrl,xS as getLatestSandboxVersion,XS as getMaintenanceConfig,Oy as getManagedGitStatus,ml as getMarketplaceCatalogItem,fl as getMarketplaceCatalogItemFile,Ex as getMfaRequired,Mf as getMilestone,ja as getModelDefaults,BS as getOAuthConsentRequest,iu as getOpenCodeConfigInvalidError,ck as getPartText,Wx as getPatPolicy,bk as getPermissionForTool,hr as getProject,Tf as getProjectActivity,Ko as getProjectCommit,Ho as getProjectCommitDiff,br as getProjectDetail,No as getProjectFileHistory,ti as getProjectGitToken,xr as getProjectLlmCatalog,Uy as getProjectLlmCatalogProviders,_r as getProjectModelPicker,Rr as getProjectSandboxHealth,Ly as getProjectSandboxProviderTransition,Ar as getProjectSession,ya as getProjectSessionConfigState,ba as getProjectSessionScope,Za as getProrationPreview,Aw as getProviders,wP as getProxyBaseUrl,cy as getPublicClientForUrl,US as getPublicMarketplaceItem,OS as getPublicMarketplaceItemFile,O_ as getPublicSessionShare,L_ as getPublicSessionShareMessages,VS as getPublicShareByToken,nv as getPublicTemplate,B_ as getPublicVoiceJoin,K_ as getPublicVoiceTranscript,xk as getQuestionForTool,Vb as getReferralCode,Qb as getReferralStats,zk as getRetryInfo,Vk as getRetryMessage,Fc as getReviewItem,Px as getRolePermissions,wx as getRoleUsage,mS as getSSHConnection,Iw as getSandbox,Ew as getSandboxById,Xw as getSandboxMemberScopes,ww as getSandboxPortUrl,ES as getSandboxProvisionStatus,$S as getSandboxProvisionStreamUrl,bS as getSandboxUpdateStatus,cu as getSandboxUrl,WS as getSecretSetupLink,mr as getServerHealth,Xf as getServiceLogs,pa as getSessionAudit,Hk as getSessionCost,qr as getSessionCostRecord,Dl as getSessionHealth,Bx as getSessionPolicy,ia as getSessionPreviewCandidates,da as getSessionTranscript,Ek as getShellModePart,dc as getSlackChannelFile,ac as getSlackInstallation,uc as getSlackManifest,lc as getSlackMode,Dx as getSsoProvider,Mp as getStaticFileHealthPath,cr as getSupabaseAccessToken,ce as getSupabaseAccessTokenWithRetry,Qm as getTask,Zm as getTaskStatus,aP as getTemplate,af as getTicket,fk as getToolInfo,pd as getTranscriptFilename,Kk as getTurnCost,Lk as getTurnError,Fk as getTurnErrorDetails,Gk as getTurnStatus,rc as getUsageRollup,YS as getUserRolesWithToken,Wo as getVersionDiff,Jw as getViewerSandboxScopes,ga as getVoiceTranscript,Uk as getWorkingState,Zw as grantSandboxProjectAccess,wk as groupMessagesIntoTurns,Jk as hasDiffs,xP as hasLocalhostUrls,qp as hasPreviewTarget,Lp as heartbeatGapEvent,Br as humanizeToolName,Ux as importSsoProviderFromMetadata,cP as installTemplate,nt as invalidateTokenCache,Gs as inviteAccountMember,wi as inviteProjectMember,Zs as inviteRepoCollaborator,Cy as isAdminBypassEnabled,sk as isAgentPart,Ap as isAppRouteUrl,Ud as isAttachment,Mu as isBillingError,ik as isCompactionPart,Lt as isConfigured,hS as isDestructivePhase,IP as isExternalUrl,Md as isFilePart,iw as isInstanceDetailPath,hg as isInstanceScopedAppPath,CP as isInternalLocalhostUrl,Qy as isInviteSent,Mk as isLastUserMessage,My as isManagedGithubProject,dw as isOpenCodeConfigInvalidError,ak as isPatchPart,vP as isPreviewUrl,Up as isProxiableLocalhostUrl,Hr as isReasoningPart,fP as isRuntimeReady,$s as isServerReachable,ra as isSessionFresh,Zh as isSessionStartError,Nd as isShellMode,ok as isSnapshotPart,pv as isSubdomainPreviewUrl,fe as isTextPart,oe as isToolPart,pk as isToolPartHidden,Ts as isUnderSandboxRoot,AP as isWebProxyUrl,Fu as kortixPty,Xs as leaveAccount,fi as linkGitHubInstallation,ci as linkRepository,rl as listAccountAudit,il as listAccountAuditWebhooks,Bs as listAccountInvites,Fs as listAccountMembers,Hx as listAccountSessions,Qc as listAccountTokens,Ms as listAccounts,kx as listActions,x_ as listAdminSandboxes,_x as listAgentIdentities,Zi as listAllConnections,Al as listAppDeployments,xl as listApps,n_ as listAuditEvents,Yx as listAuditWebhooks,cS as listBackups,Ga as listBillingTransactions,zo as listChangeRequests,Ub as listChannelBindings,yf as listColumns,Yi as listConnections,ht as listConnectorTools,co as listConnectors,Ab as listCostByProject,Hf as listCredentialEvents,Kf as listCredentials,vr as listDiscoverConnectors,hh as listDiscoverIntegrations,bs as listEnv,gl as listFeaturedMarketplaces,bf as listFields,ct as listFiles,Sc as listGatewayLogs,ui as listGitHubInstallations,di as listGitHubRepositories,gi as listGitHubRepositoryBranches,ax as listGroupMembers,lx as listGroupProjectGrants,nx as listGroups,Ef as listKortixProjectSessions,Af as listKortixProjects,Ps as listKortixPty,pi as listLinkableGitHubInstallations,pl as listMarketplaceCatalogItems,yl as listMarketplaceSources,dl as listMarketplaces,px as listMemberGroups,dx as listMemberProjectAccess,Uf as listMilestoneEvents,Df as listMilestones,qi as listPendingApprovals,Si as listPendingProjectInvites,ko as listPipedreamApps,gx as listPolicies,_i as listProjectAccess,hi as listProjectAccessRequests,wf as listProjectAgents,Go as listProjectBranches,el as listProjectCliTokens,Bo as listProjectCommits,Uo as listProjectFiles,Ri as listProjectGroupGrants,Co as listProjectPolicies,ji as listProjectResourceGrants,To as listProjectSandboxTemplates,Mo as listProjectSandboxes,Ui as listProjectSecrets,Be as listProjectSessions,Ao as listProjectSnapshots,Pa as listProjectTriggers,Re as listProjects,Ys as listProjectsForAccount,DS as listPublicMarketplaceItems,MS as listPublicMarketplaces,Yb as listReferrals,Lc as listReviewItems,xx as listRoles,Hw as listSandboxMembers,Yw as listSandboxProjectMembers,Hc as listSandboxShares,qw as listSandboxes,Ax as listScimTokens,Vx as listServiceAccountsApi,Jf as listServiceTemplates,Vf as listServices,ic as listSessionCosts,oa as listSessionPublicShares,Di as listSessionsNeedingInput,Lx as listSsoGroupMappings,Ym as listTaskEvents,Xm as listTasks,_f as listTemplates,cf as listTicketEvents,of as listTickets,$g as loadHttpSessionHistory,IS as markInstanceError,bt as markSessionFresh,Yo as mergeChangeRequest,k_ as migrateAdminSandboxProvider,ft as mkdir,Fp as narrowChatEvent,uw as normalizeAppPathname,jP as normalizeExternalInput,Tt as normalizeToolName,Qo as openChangeRequest,Fr as openEventStream,tv as openStressTestStream,Me as parseBillingError,nw as parseFlagOverride,St as parseLocalhostUrl,Pg as parseOpenCodeErrorPayload,Gl as parseSubdomainUrl,TP as parseWebProxyUrl,qf as patchKortixProject,bo as pipedreamConnect,oo as pipedreamConnectConnection,vo as pipedreamFinalize,ao as pipedreamFinalizeConnection,E as platformConfig,gh as pollConnectionOAuth2DeviceAuthorization,Bi as pollProjectProviderOAuth,wc as previewGatewayRoute,$x as previewMfaRequired,r_ as probeEffectivePermission,s_ as probeEffectivePermissions,xv as probePreviewPort,Yh as projectSessionStartSeed,si as provisionProject,Ky as provisionProjectWithToken,Ll as proxyLocalhostUrl,SP as proxyUrlToInternal,ec as purchaseCredits,ch as putConnectionOAuth2Application,Lw as reactivateSandbox,Xa as reactivateSubscription,Fe as readBlob,Le as readFile,Lo as readProjectFile,Io as rebuildProjectSnapshot,eo as reconcileConnection,to as reconcileMemberConnection,Yf as reconcileServices,GS as recordPlatformLogout,Jb as refreshReferralCode,Or as registerAppArtifact,Zf as registerService,xi as rejectProjectAccessRequest,yk as relativizePath,ha as reloadProjectSessionConfig,cl as removeAccountAuditWebhook,Vs as removeAccountMember,ux as removeGroupMember,Ss as removeKortixPty,bl as removeMarketplaceSource,Ww as removeSandboxMember,yt as renameFile,$w as renameSandbox,ea as reopenChangeRequest,Gf as reopenMilestone,hf as replaceColumns,xf as replaceFields,Pf as replaceTemplates,p_ as requestAccountDeletion,ta as requestChangesOnChangeRequest,Xy as requestProjectAccess,ul as requestProjectConnector,ll as requestProjectSecret,Hs as resendAccountInvite,Ci as resendPendingProjectInvite,ay as resetClient,kc as resetGatewayRoutingPolicy,uy as resetPublicClient,kS as resetSandboxUpdateStatus,Mi as resolveApproval,xt as restartProjectSession,Mw as restartSandbox,uS as restoreBackup,Wf as revealCredential,Nx as revokeAccountSession,Zc as revokeAccountToken,ro as revokeConnection,Mc as revokeGatewayKey,vi as revokePendingProjectInvite,ki as revokeProjectAccess,nl as revokeProjectCliToken,tS as revokeSandboxInvite,eS as revokeSandboxProjectAccess,Wc as revokeSandboxShare,jx as revokeScimToken,ca as revokeSessionPublicShare,ge as rewriteLocalhostUrl,ql as rollbackApp,Uc as runGatewayPlayground,mi as saveGitHubInstallation,Qa as scheduleDowngrade,Vi as searchConnectorTools,Oo as searchProjectFiles,Zb as sendReferralEmails,Qf as serviceAction,eb as sessionStartKey,cw as setActiveInstanceCookie,vy as setAdminBypass,__ as setAdminProviderDistribution,S_ as setAdminProviderFallback,Da as setAgentScope,Am as setBootstrapAuthToken,Tm as setCachedAuthToken,yh as setConnectionPolicies,po as setConnectorAuthorizationStrategy,So as setConnectorCredential,uo as setConnectorCredentialMode,ho as setConnectorName,fo as setConnectorPolicies,xh as setConnectorSecretBinding,go as setConnectorSensitive,io as setDefaultConnection,o_ as setEnterpriseDemo,xs as setEnv,Ec as setGatewayBudget,Pc as setGatewayRoutingPolicy,av as setGitHubAppFromExisting,cv as setGitHubAppPat,QS as setMaintenanceConfig,xc as setMeetBotName,Tx as setMemberSuperAdmin,qx as setMfaRequired,Ea as setModelDefault,Wi as setPersonalProjectSecret,ab as setProjectModelEnablement,ai as setProjectOnboardingComplete,Gy as setProjectOnboardingProfile,Ro as setProjectPolicies,Li as setProjectSecretStrategy,_a as setProjectSessionModel,xa as setProjectSessionScope,sa as setProjectSessionSharing,va as setProjectTriggersActivation,gS as setupSSH,Ok as shouldHideResponsePart,Ld as shouldShowToolPart,Ak as sortSessions,lk as splitUserParts,El as startApp,ph as startConnectionOAuth2Authorization,dh as startConnectionOAuth2DeviceAuthorization,NS as startConnectorSetupLink,ov as startGitHubAppManifest,Gi as startProjectProviderOAuth,Te as startProjectSession,JS as startSessionWithToken,nf as startTask,$l as stopApp,_t as stopProjectSession,Uw as stopSandbox,_k as stripAnsi,ow as stripInstancePrefix,ke as stripTrailingSlashes,FS as submitAccessRequest,ZS as submitDemoRequest,KS as submitOAuthConsent,Gc as submitReviewItem,zS as submitSecretSetupLink,Ry as supabaseClient,lo as syncConnectors,wb as syncSubscription,py as systemReload,ve as toDaemonPath,lw as toInstanceAwarePath,Op as toInternalUrl,As as toSandboxAbsolutePath,Is as toWorkspaceRelative,Kr as toolInfo,mg as toolViewModel,Oc as transcribeAudio,PS as triggerSandboxUpdate,Lu as triggersRequest,Ck as turnHasSteps,gf as unassignTicket,Z as unwrapError,al as updateAccountAuditWebhook,Js as updateAccountMemberRole,Ls as updateAccountName,fb as updateAgentConfig,kl as updateApp,vl as updateAppAccess,e_ as updateAuditWebhook,Ob as updateChannelBinding,no as updateConnectionCredential,bc as updateEmailPolicy,ii as updateExperimentalFeature,ix as updateGroup,ws as updateKortixPty,Lf as updateMilestone,zx as updatePatPolicy,fx as updatePolicy,Pr as updateProject,Pi as updateProjectAccess,vf as updateProjectAgent,Ua as updateProjectDefaultAgent,Ai as updateProjectGroupGrant,oi as updateProjectSandboxProvider,ma as updateProjectSession,wa as updateProjectTrigger,vx as updateRole,Cx as updateRolePermissions,zw as updateSandboxMemberRole,Qw as updateSandboxMemberScope,Vw as updateSandboxMemberSpendCap,$o as updateSandboxTemplate,Kx as updateSessionPolicy,tf as updateTask,Fy as updateTemplateWarmPool,uf as updateTicket,pf as updateTicketStatus,Rl as uploadAppArtifactArchive,Qi as uploadConnectorAttachment,Ge as uploadFile,gc as uploadSlackChannelFile,Nf as upsertCredential,Hi as upsertProjectGitCredential,Oi as upsertProjectSecret,Mx as upsertSsoProvider,ei as validateProjectManifest,Xb as validateReferralCode,Qs as validateToken,Bb as verifyGatewayProvider};
69
+ `;for(let s of e)r+=Od(s.info,s.parts,n),r+=`---
70
+
71
+ `;return r}function Ld(t,e){return`session-${t}.md`}function Y(t){if(!t)return"An error occurred";if(typeof t=="string"){let e=t.startsWith("Error: ")?t.slice(7):t;try{let n=JSON.parse(e);if(typeof n=="string"){e=n;try{let r=JSON.parse(e);return We(r)||e}catch{return e}}return We(n)||e}catch{return Gd(e)??e}}return typeof t=="object"?We(t)||"An error occurred":String(t)}function pu(t){let e=t.indexOf("{"),n=t.lastIndexOf("}");if(!(e===-1||n===-1||n<=e))return t.slice(e,n+1)}function Gd(t){let e=pu(t);if(e)try{return We(JSON.parse(e))}catch{return}}function We(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t;if(typeof e.message=="string"&&e.message)return e.message;if(typeof e.error=="string"&&e.error)return e.error;let n=e.data;if(typeof n?.message=="string")return n.message;let r=e.error;if(typeof r?.message=="string")return r.message}function Bd(t){if(!Array.isArray(t))return;let e=[];for(let n of t){if(!n||typeof n!="object"||Array.isArray(n))continue;let r=n;!Number.isInteger(r.attempt)||r.attempt<1||typeof r.provider!="string"||!r.provider||typeof r.route_model!="string"||!r.route_model||typeof r.resolved_model!="string"||!r.resolved_model||typeof r.stage!="string"||!r.stage||typeof r.code!="string"&&!(typeof r.code=="number"&&Number.isFinite(r.code))||typeof r.message!="string"||!r.message||r.status!==void 0&&(!Number.isInteger(r.status)||r.status<100||r.status>599)||e.push({attempt:r.attempt,provider:r.provider,routeModel:r.route_model,resolvedModel:r.resolved_model,stage:r.stage,...typeof r.status=="number"?{status:r.status}:{},code:r.code,message:r.message})}return e.length>0?e:void 0}function Jr(t){if(!(typeof t!="string"||!t))try{return JSON.parse(t)}catch{return}}function uu(t){let e=typeof t.provider=="string"&&t.provider?t.provider:void 0,n=typeof t.code=="string"&&t.code?t.code:void 0,r=typeof t.suggestion=="string"&&t.suggestion?t.suggestion:void 0,s=typeof t.upstream_status=="number"?t.upstream_status:void 0,c=typeof t.request_id=="string"&&t.request_id?t.request_id:void 0,u=Bd(t.attempt_failures);return!e&&!n&&!r&&s===void 0&&!c&&!u?void 0:{message:typeof t.message=="string"&&t.message||We(t)||"",provider:e,code:n,suggestion:r,upstreamStatus:s,requestId:c,attemptFailures:u}}function ae(t){if(t==null)return;if(typeof t=="string"){let u=t.startsWith("Error: ")?t.slice(7):t,p=Jr(u)??Jr(pu(u));return p!==void 0?ae(p):void 0}if(typeof t!="object")return;let e=t,n=uu(e);if(n)return n;let r=e.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=uu(r);if(u)return u}let s=e.data;if(s&&typeof s.responseBody=="string"){let u=Jr(s.responseBody);if(u!==void 0){let p=ae(u);if(p)return p}}let c=e.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let p=ae(u);if(p)return p}}}var Kd={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"}},Nd=[{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 Hd(t){return t.replace(/^oc[-_]/,"")}function Et(t){return Hd(t).replace(/-/g,"_")}function Xr(t){return Et(t).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Qr(t){let e=Et(t),n=Kd[e];if(n)return n;for(let{prefix:r,category:s}of Nd)if(e.startsWith(r))return{label:Xr(t),category:s};return{label:Xr(t),category:"other"}}var Wd=256*1024;function zd(t){switch(t.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return t}}function Vd(t){if(t===void 0)return{};if(t.length>Wd)return{outputText:t};try{return{outputParsed:JSON.parse(t),outputText:t}}catch{return{outputText:t}}}function Jd(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t,n=e.success===!1,r=e.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Y(r):typeof e.message=="string"&&e.message?e.message:"Tool reported failure"}function Xd(t,e){let n="title"in e?e.title:void 0,r=e.status==="completed"?e.output:void 0,{outputParsed:s,outputText:c}=Vd(r),u=zd(e),p=e.status==="error"?e.error:void 0;if(u==="done"){let g=Jd(s);g&&(u="error",p=g)}return{name:t,title:n||Qr(t).label,status:u,input:e.input,output:r,outputParsed:s,outputText:c,error:p}}function Qd(t){return{kind:"text",id:t.id,text:t.text,synthetic:!!t.synthetic}}function Yd(t){return{kind:"reasoning",id:t.id,text:t.text}}function Zd(t){return{kind:"tool",id:t.id,tool:Xd(t.tool,t.state)}}function eg(t){let e=t.mime;return{kind:"file",id:t.id,filename:t.filename,mime:e,url:t.url,isImage:e.startsWith("image/"),isPdf:e==="application/pdf"}}function tg(t){return{kind:"subtask",id:t.id,description:t.description,agent:t.agent,prompt:t.prompt,model:t.model}}function ng(t){return{kind:"patch",id:t.id,hash:t.hash,files:t.files,fileCount:t.files.length}}function rg(t){return{kind:"snapshot",id:t.id,snapshot:t.snapshot}}function sg(t){return{kind:"agent",id:t.id,name:t.name}}function ig(t){return{kind:"retry",id:t.id,attempt:t.attempt,message:Y(t.error),createdAt:t.time.created}}function og(t){return{kind:"compaction",id:t.id,auto:t.auto,overflow:!!t.overflow,tailStartId:t.tail_start_id}}function ag(t){return{kind:"step",id:t.id,phase:"start",snapshot:t.snapshot}}function cg(t){return{kind:"step",id:t.id,phase:"finish",snapshot:t.snapshot,reason:t.reason,cost:t.cost,tokens:t.tokens}}function du(t){switch(t.type){case"text":return Qd(t);case"reasoning":return Yd(t);case"tool":return Zd(t);case"file":return eg(t);case"subtask":return tg(t);case"patch":return ng(t);case"snapshot":return rg(t);case"agent":return sg(t);case"retry":return ig(t);case"compaction":return og(t);case"step-start":return ag(t);case"step-finish":return cg(t);default:return{kind:"unknown",raw:t}}}function lg(t){if(!t)return;let e=typeof t=="object"&&"name"in t&&typeof t.name=="string"?t.name:"Error",n=ae(t);return{name:e,message:n?.message||Y(t),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function ug(t){switch(t.kind){case"text":case"reasoning":return t.text.trim().length>0;case"step":return!1;default:return!0}}function pg(t){let e=t.parts.map(du),n=t.info.role==="assistant"?t.info.error:void 0,r=lg(n),s=!r&&!e.some(ug);return{parts:e,error:r,isEmpty:s}}function he(t){return t.type==="text"}function Yr(t){return t.type==="reasoning"}function ce(t){return t.type==="tool"}function dg(t){return t.type==="file"}function Kk(t){return t.type==="agent"}function Nk(t){return t.type==="compaction"}function Hk(t){return t.type==="snapshot"}function Wk(t){return t.type==="patch"}function zk(t){if(he(t)||Yr(t))return t.text}function gg(t){if(!dg(t))return!1;let e=t.mime;return e.startsWith("image/")||e==="application/pdf"}function Vk(t){let e=[],n=[];for(let r of t)gg(r)?e.push(r):n.push(r);return{attachments:e,stickyParts:n}}function Jk(t,e){let n=[];return t?.tool&&n.push(t.tool),e?.tool&&n.push(e.tool),n}function Xk(t,e,n){return n.some(r=>r.messageID===e&&r.callID===t.callID)}var mg=new Set(["todoread","context_info"]);function fg(t){return!mg.has(t.tool)}function Qk(t){let e=t.tool||"";if(e==="task"||e==="agent_spawn"||e==="agent-spawn"||e==="agent_message"||e==="agent-message"||e==="agent_task"||e==="agent-task"||e==="agent_task_update"||e==="agent-task-update"||e==="agent_task_message"||e==="agent-task-message"||e==="agent_task_start"||e==="agent-task-start"||e==="task_create"||e==="task-create"||e==="task_start"||e==="task-start"||e==="task_update"||e==="task-update"||e==="task_message"||e==="task-message"){let r=t.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=t.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=t.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=t.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=t.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Yk(t){if(t)for(let e=t.length-1;e>=0;e--){let n=t[e]?.info;if(n?.role==="assistant"&&n.error)return Y(n.error)}}function Zk(t){let e=[];for(let n of t)if(n.info.role==="assistant")for(let r of n.parts)ce(r)&&fg(r)&&e.push(r);return e}function ew(t,e={}){switch(t){case"read":return{icon:"glasses",title:"Read",subtitle:yg(e.filePath)};case"list":return{icon:"list",title:"List",subtitle:hg(e.path)};case"glob":return{icon:"search",title:"Glob",subtitle:e.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:e.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:e.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:e.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:e.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:e.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:e.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:e.prompt?.slice?.(0,40)};case"presentation-gen":{let n=e.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:e.slide_title||e.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:e.title||e.description};case"task":return{icon:"square-kanban",title:`Agent (${e.subagent_type||"task"})`,subtitle:bg(e)};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 (${e.agent||"KortixWorker"})`,subtitle:e.description||e.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:e.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:gu(e.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:gu(e.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:e.files?.length?`${e.files.length} file${e.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:e.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:e.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 (${e.mode||"summary"})`,subtitle:e.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:e.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:e.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:e.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:e.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:e.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:e.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:e.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:e.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:e.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:e.name||e.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:e.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:e.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:e.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:e.name||e.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:e.name||e.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:e.name||e.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:e.name||e.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:e.name||e.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:e.name||e.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${e.agent_type||"worker"})`,subtitle:e.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:e.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:e.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:e.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:e.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:e.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:e.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:e.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:e.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:e.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:e.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:e.title||e.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:e.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:e.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:e.id};default:return{icon:"cpu",title:t}}}function yg(t){if(!t)return;let e=t.split("/");return e[e.length-1]||t}function gu(t){if(!t)return;let e=t.split("/"),n=e[e.length-1]||t;if(e.length<=1)return n;let r=e[e.length-2];return r?`${n} /${r}`:n}function hg(t){if(!t)return;let e=t.lastIndexOf("/");if(!(e<0))return t.slice(0,e)||"/"}function tw(t,e){if(!e)return t;if(t.startsWith(e)){let n=t.slice(e.length);return n.startsWith("/")?n.slice(1):n}return t}function ze(t,e=120){if(typeof t!="string")return"";let n=t.split(`
72
+ `).map(r=>r.trim()).find(Boolean);return n?n.length>e?`${n.slice(0,e).trim()}\u2026`:n:""}function bg(t){let e=ze(t.description);if(e)return e;let n=ze(t.title,80);if(n)return n;let r=ze(t.message);if(r)return r;let s=ze(t.prompt);if(s)return s;let c=ze(t.agent_id,40);return c?`Agent ${c}`:"Worker task"}function nw(t,e){return!t||!e?[]:(t[e]??[]).filter(r=>r.severity===1).slice(0,3)}function rw(t,e){return t.find(n=>n.tool?.callID===e)}function sw(t,e){return t.find(n=>n.tool?.callID===e)}var xg=/\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 iw(t){return t?t.replace(xg,""):""}function cw(t){let e=[],n=new Map;for(let s of t)if(s.info.role==="user"){if(n.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};e.push(c),n.set(s.info.id,c)}let r=null;for(let s of t){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(e.length>0){e[0].assistantMessages.unshift(s);continue}let u={userMessage:s,assistantMessages:[]};e.push(u)}return e}function lw(t){let e=[];for(let n of t.assistantMessages)for(let r of n.parts)e.push({part:r,message:n});return e}function uw(t){for(let e=t.length-1;e>=0;e--){let n=t[e].part;if(he(n)&&n.text?.trim())return n}}function pw(t){return t.some(({part:e})=>e.type==="tool"||e.type==="compaction"||e.type==="snapshot"||e.type==="patch")}function dw(t,e,n){if(n)return[];let r=[];for(let s of t.assistantMessages)for(let c of s.parts){if(!ce(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 gw(t){let e=new Map;for(let n of t){if(!n.parentID)continue;let r=e.get(n.parentID);r?r.push(n.id):e.set(n.parentID,[n.id])}return e}function mw(t){let e=t-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,c=r.time.updated??r.time.created,u=s>e,p=c>e;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:c-s}}function _g(t,e){let n=t.get(e);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(..._g(t,s));return r}function Pg(t){let e=t.userMessage.parts;if(e.length===0||!e.every(c=>he(c)&&c.synthetic)||t.assistantMessages.length!==1)return!1;let r=t.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return ce(s)&&s.tool==="bash"}function hw(t){if(Pg(t))return t.assistantMessages[0].parts[0]}function Pw(t,e){for(let n=e.length-1;n>=0;n--)if(e[n].info.role==="user")return e[n].info.id===t;return!1}function kw(t,e){return!e||!t?!1:t.type!=="idle"}function ww(t,e){return!t&&!!e}function Sw(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return Y(n.error)}}function vw(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return ae(n.error)}}function mu(t){if(t){if(ce(t))switch(t.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 ${t.tool}...`}if(Yr(t)){let e=t.text?.trimStart();if(e){let n=e.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(he(t))return"Gathering thoughts..."}}function Cw(t,e){for(let n=t.length-1;n>=0;n--){let r=t[n].part,s=ce(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"&&e&&e.length>0){for(let u=e.length-1;u>=0;u--){let p=e[u];if(p.info.role==="assistant")for(let g=p.parts.length-1;g>=0;g--){let f=mu(p.parts[g]);if(f)return f}}return"Delegating to agent..."}let c=mu(r);if(c)return c}return"Considering next steps..."}function Rw(t){if(!Number.isFinite(t)||t<1e3)return"";let e=Math.floor(t/1e3);if(e<60)return`${e}s`;let n=Math.floor(e/60),r=e%60;return r>0?`${n}m ${r}s`:`${n}m`}var fu=1.2;function yu(t,e){if(!t)return 0;let n=t.input??0,r=(t.output??0)+(t.reasoning??0),s=t.cache?.read??0,c=t.cache?.write??0,u=Math.max(0,n-s-c),g=[...e.tiers??[],...e.contextOver200k?[e.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,_)=>_.contextThreshold-m.contextThreshold)[0]??e,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 hu(t,e,n,r){let s=t.cost||0;if(s>0)return s;if(!r||!e||!n)return 0;let c=r(e,n);return c?yu(t.tokens,c):0}function bu(t){if(t.role!=="assistant")return{};let e=t;return{providerID:e.providerID,modelID:e.modelID}}function Tw(t,e){let n=0,r=0,s=0,c=0,u=0,p=0,g=!1;for(let{part:f,message:m}of t)if(f.type==="step-finish"){g=!0;let _=f,{providerID:x,modelID:I}=bu(m.info);n+=hu(_,x,I,e),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:f}of t){if(f.info.role!=="assistant")continue;let m=f.info,_=xu(m,e);if(_<=0)continue;g=!0,n+=_;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,c+=x.reasoning??0,u+=x.cache?.read??0,p+=x.cache?.write??0)}if(g)return{cost:n*fu,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:p}}}function xu(t,e){if(!e||!t.providerID||!t.modelID||!t.tokens)return 0;let n=e(t.providerID,t.modelID);return n?yu({input:t.tokens.input,output:t.tokens.output,reasoning:t.tokens.reasoning,cache:t.tokens.cache},n):0}function Aw(t,e){let n=0;for(let r of t){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=bu(s),p=0,g=!1;for(let f of r.parts)f.type==="step-finish"&&(g=!0,p+=hu(f,c,u,e));g||(p+=xu(s,e)),n+=p}return n*fu}function Iw(t){return t===0?"$0.00":t<.001?`$${t.toFixed(4)}`:t<.01?`$${t.toFixed(3)}`:`$${t.toFixed(2)}`}function jw(t){return t<1e3?String(t):t<1e4?`${(t/1e3).toFixed(1)}k`:`${Math.round(t/1e3)}k`}function Ew(t){if(!t||t.type!=="retry")return;let e=t,n=Y(e.message);return{attempt:e.attempt,message:n.length>60?`${n.slice(0,60)}...`:n,next:e.next,details:ae(e.message)}}function $w(t){if(!(!t||t.type!=="retry"))return Y(t.message)}function qw(t){return(t.info.summary?.diffs?.length??0)>0}var kg=4e3;function Ve(t,e=kg){return t.length>e?`${t.slice(0,e)}
73
+ \u2026`:t}function _u(t){if(t!==void 0)try{return Ve(JSON.stringify(t,null,2))}catch{return}}function G(...t){for(let e of t)if(typeof e=="string"&&e.length>0)return e}function $e(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:void 0}function wg(t){let e=G(t.input?.query)??"";if(t.status==="error")return{kind:"web-search",query:e,error:t.error??"Search failed"};let n=$e(t.outputParsed);if(!n)return{kind:"web-search",query:e};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(c=>{let u=$e(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)??e,results:s.length>0?s:void 0,answer:G(n.answer)}}var Sg=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function ku(t){let e=t.match(Sg);return e?Number(e[1]):void 0}function vg(t,e,n){let r="",s=0;for(;;){let c=t.indexOf(e,s);if(c===-1)return r+t.slice(s);let u=t.indexOf(n,c+e.length);if(u===-1)return r+t.slice(s);r+=t.slice(s,c),s=u+n.length}}var Cg=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Rg(t){let e=-1;for(let n of Cg){let r=t.indexOf(n);r!==-1&&(e===-1||r<e)&&(e=r)}return e===-1?t:t.slice(0,e)}var Tg=/\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 Ag(t){return t.replace(Tg,"")}function Ig(t){let e=G(t.input?.command)??"",n=t.output??"",r=ku(n),c=Ag(Rg(vg(n,"<bash_metadata>","</bash_metadata>"))).trim()||(t.status==="error"?t.error:void 0);return{kind:"shell",command:e,stdout:c||void 0,exitCode:r}}function es(t){return G(t.input?.filePath,t.input?.file_path,t.input?.path)??""}function jg(t){let e=t.status==="error"?t.error:t.output&&Ve(t.output)||void 0;return{kind:"file-read",path:es(t),preview:e}}function Eg(t){let e=G(t.input?.content),n=t.status==="error"?t.error:Ve(e??t.output??"")||void 0;return{kind:"file-write",path:es(t),preview:n}}var $g=256*1024;function qg(t,e){if(t.length+e.length>$g)return;let n=t.split(`
74
+ `),r=e.split(`
75
+ `),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 Dg(t){let e=G(t.input?.oldString),n=G(t.input?.newString),r=e!==void 0&&n!==void 0?qg(e,n):void 0;return{kind:"file-edit",path:es(t),diff:r}}var wu=/^Found\s+(\d+)\s+match/i,Mg=/^(\/[^:]+?):\s*/,Pu=/Line\s+(\d+):/g;function Ug(t){let e=t.trim(),n=e.match(wu),r=n?e.slice(n[0].length).trim():e;if(!r)return[];let s=[];for(let c of r.split(/\n\n+/)){let u=c.trim();if(!u)continue;let p=u.match(Mg);if(!p)continue;let g=p[1],f=u.slice(p[0].length),m=[],_;for(Pu.lastIndex=0;(_=Pu.exec(f))!==null;)m.push({line:Number(_[1]),contentStart:_.index+_[0].length,headerStart:_.index});for(let x=0;x<m.length;x++){let I=x+1<m.length?m[x+1].headerStart:f.length,T=f.slice(m[x].contentStart,I).trim();s.push({path:g,line:m[x].line,content:T.endsWith(";")?T.slice(0,-1):T})}}return s}function Og(t){return t.trim().split(`
76
+ `).map(e=>e.trim()).filter(e=>e.startsWith("/")||e.startsWith("./")||e.startsWith("~")).map(e=>({path:e}))}function Fg(t){let e=G(t.input?.pattern,t.input?.query)??"";if(t.status==="error"||!t.output)return{kind:"search",pattern:e};let n=wu.test(t.output.trim())?Ug(t.output):Og(t.output);return{kind:"search",pattern:e,matches:n.length>0?n.slice(0,200):void 0}}function Lg(t){let e=G(t.input?.description,t.input?.title,t.input?.prompt)??t.title,n=G(t.input?.subagent_type,t.input?.agent);return{kind:"task",description:e,agent:n}}function Zr(t){let e=$e(t)??{};return{content:G(e.content)??"",status:G(e.status)??"pending",priority:G(e.priority)}}function Gg(t){let e=t.input?.todos;if(Array.isArray(e))return{kind:"todo",items:e.map(Zr)};if(Array.isArray(t.outputParsed))return{kind:"todo",items:t.outputParsed.map(Zr)};let n=$e(t.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Zr)}:{kind:"todo",items:[]}}function Bg(t){return{kind:"question",questions:(Array.isArray(t.input?.questions)?t.input.questions:[]).map(r=>{let s=$e(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=$e(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 Kg(t){let n=t.input&&Object.keys(t.input).length>0?_u(t.input):void 0,r;return t.outputParsed!==void 0?r=typeof t.outputParsed=="string"?Ve(t.outputParsed):_u(t.outputParsed):t.outputText!==void 0?r=Ve(t.outputText):r=t.error,{kind:"generic",label:t.title,inputPretty:n,outputPretty:r}}function Ng(t){switch(Et(t.name)){case"web_search":case"websearch":case"image_search":return wg(t);case"bash":return Ig(t);case"read":return jg(t);case"write":return Eg(t);case"edit":case"morph_edit":return Dg(t);case"grep":case"glob":return Fg(t);case"task":return Lg(t);case"todowrite":return Gg(t);case"question":case"ask":return Bg(t);default:return Kg(t)}}function $t(t){try{return typeof process<"u"?process.env?.[t]:void 0}catch{return}}function Hg(t,e){if(t==null)return e;let n=t.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:e}function Gw(t){if(t==null)return;let e=t.trim().toLowerCase();if(["1","true","yes","y","on"].includes(e))return!0;if(["0","false","no","n","off"].includes(e))return!1}function ts(t,e,n){return t!==void 0?t:Hg($t(e),n)}var Bw={get disableMobileAdvertising(){return ts($().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return ts($().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return ts($().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var qt="kortix-active-instance",Wg=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function zg(t){return Wg.some(e=>t===e||t.startsWith(`${e}/`))}function Je(t){let e=t.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!e)return null;let n=decodeURIComponent(e[1]),r=e[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function Nw(t){let e=Je(t);return!!e&&e.innerPath===""}function Hw(t){let e=Je(t);return!e||!e.innerPath?t:e.innerPath}function Vg(t,e){if(!t)return e;if(e.startsWith("/")||(e=`/${e}`),e.startsWith("/instances/")){let n=Je(e);return n?`/instances/${encodeURIComponent(t)}${n.innerPath}`:e}return zg(e)?`/instances/${encodeURIComponent(t)}${e}`:e}function Jg(t){return t?Je(t)?.instanceId??null:null}function Ww(){return typeof window>"u"?null:Jg(window.location.pathname)||Xg()}function Xg(){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp(`(?:^|; )${qt}=([^;]+)`));return t?decodeURIComponent(t[1]):null}function zw(t){if(typeof document>"u")return;let e=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){e(`${qt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!t){e(`${qt}=; Max-Age=0; Path=/; SameSite=Lax`);return}e(`${qt}=${encodeURIComponent(t)}; Path=/; SameSite=Lax`)}function Vw(t,e){return e?Vg(e,t):t}function Jw(t){let e=Je(t);return e?e.innerPath||"/dashboard":t}function Su(t){if(t instanceof Error)return t.message;if(typeof t=="string")return t;if(t&&typeof t=="object")try{return JSON.stringify(t)}catch{return String(t)}return String(t??"")}function Qg(t){let e=Su(t).trim();if(!e)return null;let n=[e,e.replace(/^Failed to perform action:\s*/i,"").trim()],r=e.indexOf("{");r>=0&&n.push(e.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function vu(t){let e=Qg(t);if(!e||typeof e!="object")return null;let n=e;return n.name==="ConfigInvalidError"?n:null}function Qw(t){return vu(t)!==null}function Yg(t){let e=vu(t);if(e){let s=(e.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=e.data?.issues?.[0]?.message,u=e.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}}let n=Su(t);return/sandbox not ready \(status: stopped\)/.test(n)?{title:"Session is waking up",message:"This session slept to save compute. Your conversation is safe \u2014 sending a message wakes it back up."}:{title:"OpenCode failed to load",message:n||"The sandbox is running, but OpenCode returned an error."}}function W(){let t=$t("BACKEND_URL")||$().backendUrl;return t||"http://localhost:8008/v1"}function Xe(t){if(typeof t=="string"){let e=t.trim();return e.length>0?e:void 0}if(Array.isArray(t)){for(let e of t){let n=Xe(e);if(n)return n}return}if(t&&typeof t=="object"){let e=t;return Xe(e.sandboxId??e.id??e.slug??Object.values(e)[0])}}var Cu=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Ru(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return`${t.slice(0,e)}/platform/local-bridge/status`}function Zg(t){return t==="running"||t==="active"?"active":t==="queued"||t==="branching"||t==="provisioning"?"provisioning":t==="failed"||t==="error"?"error":t==="stopped"||t==="completed"||t==="archived"?"stopped":t||"unknown"}function ns(t,e,n){let r=n?.external_id||e.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||e.sandbox_id;return{sandbox_id:n?.sandbox_id||e.sandbox_id||e.session_id,external_id:r,name:e.name||`${t.name} session`,provider:n?.provider||e.sandbox_provider||"daytona",base_url:n?.base_url||e.sandbox_url||(n?.external_id?`${W()}/p/${n.external_id}/${ie.KORTIX_MASTER}`:""),status:Zg(n?.status||e.status),metadata:{...e.metadata??{},project_id:t.project_id,session_id:e.session_id,project_name:t.name,runtime_status:n?.status,error:e.error},created_at:n?.created_at||e.created_at,updated_at:n?.updated_at||e.updated_at}}async function rs(){let t=await je(),e=[];for(let n of t){let r=await Ke(n.project_id).catch(()=>[]);for(let s of r)e.push({project:n,session:s,runtime:null,sandbox:ns(n,s,null)})}return e.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 be(t){let e=await rs();return t?e.find(n=>n.sandbox.sandbox_id===t||n.sandbox.external_id===t||n.session.session_id===t||n.runtime?.external_id===t)??null:e[0]??null}async function Dt(t,e={}){let n={"Content-Type":"application/json",...e.headers},r=e.signal??AbortSignal.timeout(3e4),s=await q(`${W()}${t}`,{...e,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 R(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:t});throw s.status===402&&(g=ve(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function Tu(t){if(!t.external_id){if(t.base_url)return t.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${t.provider} sandbox "${t.sandbox_id}"`)}return`${W()}/p/${t.external_id}/${ie.KORTIX_MASTER}`}function cS(t,e){return t.external_id?`${W()}/p/${t.external_id}/${e}`:null}async function mS(){let t=await i.get("/setup/sandbox-providers");if(t.error)throw t.error;return t.data}async function em(t){let e=await be();if(e)return{sandbox:e.sandbox,created:!1};let r=(await je())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Ne(r.project_id,{...t?.provider?{provider:t.provider}:{}}),c=(await Ee(r.project_id,s.session_id))?.sandbox??null;return{sandbox:ns(r,s,c),created:!0}}async function fS(){return(await be().catch(()=>null))?.sandbox??null}async function yS(t){return{sandbox:(await em(t)).sandbox}}async function hS(t){let e=Xe(t);return e?(await be(e).catch(()=>null))?.sandbox??null:null}async function bS(t,e){throw await be(t)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function xS(t){let e=Xe(t);return(await rs().catch(()=>[])).map(r=>r.sandbox).filter(r=>!e||r.sandbox_id===e||r.external_id===e)}async function _S(){if(typeof window>"u")return null;let t=W(),e=Array.from(new Set([t,...Cu]));for(let n of e)try{let r=await fetch(Ru(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 PS(t){if(!t)throw new Error("No sandbox selected for workload restart");let e=await be(t);if(!e)throw new Error("Project session sandbox not found");await wt(e.project.project_id,e.session.session_id)}async function kS(t){if(!t)throw new Error("No sandbox selected to stop");let e=await be(t);if(!e)throw new Error("Project session sandbox not found");await St(e.project.project_id,e.session.session_id)}async function wS(t){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function SS(t){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function AS(t){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function IS(t,e,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function jS(t,e){throw new Error("Sandbox members moved to project access; update project access instead")}async function ES(t,e,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function $S(t,e,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function qS(t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function DS(t,e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function MS(t,e,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function ss(t,e,n){let r=Tu(t),s=await q(`${Ce(r)}${e}`,{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 US(t,e){return ss(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"GET"})}async function OS(t,e,n,r="member"){await ss(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function FS(t,e,n){await ss(t,`/kortix/projects/${encodeURIComponent(e)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function LS(t,e){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function KS(t){let e=await Dt(`/platform/invites/${encodeURIComponent(t)}`,{method:"GET"});if(!e.success||!e.data)throw new Error(e.error||"Invite not found");return e.data}async function NS(t){let e=await Dt(`/platform/invites/${encodeURIComponent(t)}/accept`,{method:"POST"});if(!e.success||!e.data)throw new Error(e.error||"Failed to accept invite");return e.data}async function HS(t){let e=await Dt(`/platform/invites/${encodeURIComponent(t)}/decline`,{method:"POST"});if(!e.success)throw new Error(e.error||"Failed to decline invite")}async function zS(t){throw new Error("Backups are not exposed for project-session sandboxes")}async function VS(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function JS(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function XS(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function YS(t){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function ZS(t){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var tm=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function nv(t){return tm.includes(t)}async function rv(t){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:t?.version??null,error:null,startedAt:null,updatedAt:null}}async function sv(t){let e=t?`?channel=${t}`:"",n=await fetch(`${W()}/platform/sandbox/version/latest${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await nm(t||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function nm(t){let e=t?`?channel=${t}`:"",n=await fetch(`${W()}/platform/sandbox/version/changelog${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function iv(){let t=await fetch(`${W()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`All versions fetch failed: ${t.status}`);return t.json()}async function ov(t,e){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function av(t){}async function cv(t){}async function dv(t){return{serverTypes:[],location:t||"hel1"}}async function gv(t){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function mv(t){let e=await i.delete(`/platform/sandbox?sandbox_id=${t}`);if(e.error)throw e.error;return e.data}async function fv(t,e){await i.post("/platform/sandbox/mark-error",{sandbox_id:t,error_message:e},{showErrors:!1,timeout:1e4})}async function yv(){let t=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(t.error)throw t.error;return t.data}async function hv(t){let e=await i.get(`/platform/sandbox/${t}/status`,{showErrors:!1,timeout:1e4});return e.success?e.data??null:null}function bv(t,e){return`${W()}/platform/sandbox/${t}/provision-stream?token=${encodeURIComponent(e)}`}var le=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Mt(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return/\/v1$/.test(e)?e:`${e}/v1`}function is(t,e){let n=new Headers(t.headers);return n.set("Accept","application/json"),e&&n.set("Content-Type","application/json"),t.accessToken&&n.set("Authorization",`Bearer ${t.accessToken}`),n}async function Ut(t){let e=await t.text().catch(()=>"");if(!e)return null;try{return JSON.parse(e)}catch{return e}}function Ot(t,e){if(e&&typeof e=="object"){let n=e;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof e=="string"&&e?e:t.statusText||`HTTP ${t.status}`}async function B(t,e,n){let r=n?.body!==void 0,s=await fetch(`${Mt(e.backendUrl)}${t}`,{method:n?.method??"GET",headers:is(e,r),...r?{body:JSON.stringify(n.body)}:{},...e.signal?{signal:e.signal}:{},...e.cache?{cache:e.cache}:{},...e.next?{next:e.next}:{}}),c=await Ut(s);if(!s.ok)throw new le(Ot(s,c),s.status,c);return c}function rm(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString();return n?`?${n}`:""}function _v(t,e){return B(`/marketplace/items${rm(e)}`,t)}function Pv(t){return B("/marketplace/marketplaces",t)}function kv(t,e){return B(`/marketplace/items/${encodeURIComponent(t)}`,e)}function wv(t,e,n){return B(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`,n)}function Sv(t,e){return B("/access/check-email",e,{method:"POST",body:{email:t}})}function vv(t,e){return B("/access/request-access",e,{method:"POST",body:t})}function Cv(t){return B("/auth/logout",t,{method:"POST",body:{}})}function Rv(t,e){return B(`/oauth/authorize/consent/${encodeURIComponent(t)}`,e)}function Tv(t,e){return B("/oauth/authorize/consent",e,{method:"POST",body:{request_id:t.requestId,approved:t.approved}})}function Av(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}`,e)}function Iv(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}/start`,e,{method:"POST",body:{}})}function jv(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}/finalize`,e,{method:"POST",body:{}})}function Ev(t,e){return B(`/setup-links/secret/${encodeURIComponent(t)}`,e)}function $v(t,e,n){return B(`/setup-links/secret/${encodeURIComponent(t)}`,n,{method:"POST",body:{values:e}})}function qv(t,e){return B(`/p/public-share/${encodeURIComponent(t)}`,e)}function Dv(t,e,n){return B(`/projects/${encodeURIComponent(t)}/sessions/${encodeURIComponent(e)}/start`,n,{method:"POST",body:{}})}function Mv(t){return B("/system/maintenance",t)}function Uv(t,e){return B("/system/maintenance",e,{method:"PUT",body:t})}function Ov(t){return B("/user-roles",t)}function Fv(t,e){return B("/system/demo-request",e,{method:"POST",body:t})}async function Lv(t,e,n){let r=new URLSearchParams({format:e.format});e.action&&r.set("action",e.action),e.actor&&r.set("actor",e.actor),e.project_id&&r.set("project_id",e.project_id),e.session_id&&r.set("session_id",e.session_id),e.actor_type&&r.set("actor_type",e.actor_type),e.source&&r.set("source",e.source),e.phase&&r.set("phase",e.phase),e.outcome&&r.set("outcome",e.outcome),e.request_id&&r.set("request_id",e.request_id),e.correlation_id&&r.set("correlation_id",e.correlation_id),e.resource_type&&r.set("resource_type",e.resource_type),e.since&&r.set("since",e.since),e.until&&r.set("until",e.until),e.q&&r.set("q",e.q),e.cursor&&r.set("cursor",e.cursor),e.limit!=null&&r.set("limit",String(e.limit));let s=await fetch(`${Mt(n.backendUrl)}/accounts/${encodeURIComponent(t)}/audit/export?${r}`,{headers:is(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let c=await Ut(s);throw new le(Ot(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"),complete:s.headers.get("x-audit-complete")!=="false",nextCursor:s.headers.get("x-audit-next-cursor")||null}}async function Gv(t,e){let n=await fetch(`${Mt(e.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:is(e,!0),body:JSON.stringify(t),...e.signal?{signal:e.signal}:{}});if(!n.ok){let r=await Ut(n);throw new le(Ot(n,r),n.status,r)}if(!n.body)throw new le("No response body",n.status,null);return n.body}var sm=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function im(t,e){return sm.test(e)?new URL(`templates/public/${e.toLowerCase()}`,`${Mt(t)}/`):null}async function Bv(t,e,n){let r=im(t,e);if(!r)throw new le("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),c=await Ut(s);if(!s.ok)throw new le(Ot(s,c),s.status,c);return c}async function Hv(){let t=await i.get("/platform/github-app/status",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App status request failed");return t.data}async function Wv(t={}){let e=await i.post("/platform/github-app/manifest-start",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App manifest-start request failed");return e.data}async function zv(t){let e=await i.post("/platform/github-app/app",{app_id:t.appId,private_key:t.privateKey,installation_id:t.installationId,slug:t.slug},{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App configuration request failed");return e.data}async function Vv(t){let e=await i.post("/platform/github-app/pat",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub token configuration request failed");return e.data}async function Jv(){let t=await i.delete("/platform/github-app",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App disconnect request failed");return t.data}function Au(t){try{let e=new URL(t);if(/^\/proxy\/\d+(?:\/|$)/.test(e.pathname))return`${e.origin}/v1/p/auth`;let n=e.pathname.indexOf("/p/");return n!==-1?`${e.origin}${e.pathname.slice(0,n)}/p/auth`:`${e.origin}/v1/p/auth`}catch{return null}}function om(t,e){try{let n=new URL(t),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let c=new Set;if(e)try{c.add(new URL(e).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(n.origin)}catch{return!1}}function Iu(t,e){return om(t,e)?(e?Au(e):null)??Au(t):null}function Qv(t){try{return/^p\d+-[^.]+\./.test(new URL(t).hostname)}catch{return!1}}function Yv(t,e){try{let n=new URL(t);return n.searchParams.set("token",e),n.toString()}catch{return t}}async function nC(t,e={}){let n=Iu(t,e.serverUrl);if(!n)return!1;let r=await Pe();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 sC=3e3;function am(t){return!Number.isFinite(t)||t<100||t>599?"unknown":t===502||t===503||t===504?"unreachable":t===401||t===403?"unknown":"reachable"}async function iC(t,e){if(!t||e?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();e?.signal?.addEventListener("abort",r);let s=setTimeout(r,e?.timeoutMs??3e3);try{let c=await fetch(t,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return am(c.status)}catch{return"unknown"}finally{clearTimeout(s),e?.signal?.removeEventListener("abort",r)}}function os(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return e}function aC(t,e){return`${os(t)}/presentation-templates/${encodeURIComponent(e)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function cC(t,e){return`${os(t)}/presentation-templates/${encodeURIComponent(e)}/image.png`}function cm(t,e){return`${os(t)}/presentation/convert-to-${e}`}async function lC(t,e,n,r){let s=cm(e,t),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 T=await f.blob();if(T.size===0)throw new Error("Downloaded file is empty");return T}if(f.status===202){if(g||(g=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${t.toUpperCase()} to generate`);await new Promise((T,l)=>{let h=setTimeout(T,c);r?.signal?.addEventListener("abort",()=>{clearTimeout(h),l(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),I=f.statusText;try{let T=JSON.parse(x);I=String(T.error||T.detail||T.message||I)}catch{x&&(I=x)}throw new Error(`Failed to download ${t.toUpperCase()}: ${I} (HTTP ${f.status})`)}}function Eu(t){let e=t.fetch??globalThis.fetch,n=t.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let c=new URLSearchParams({limit:String(r)});s&&c.set("before",s);let u=await t.getToken?.(),p=await e(`${n}/session/${encodeURIComponent(t.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 lm(t){return pm(Eu(t))}function um(t){let e=t.fetch??globalThis.fetch,n=t.baseUrl.replace(/\/$/,""),r=Eu(t),s=async c=>{let u=await t.getToken?.(),p=await e(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new as({...t,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[t.sessionId]??{type:"idle"}})}async function pm(t){let e=new Map,n=new Set,r;do{let s=await t({limit:50,...r?{before:r}:{}});for(let c of s.messages)e.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[...e.values()].sort((s,c)=>s.info.id.localeCompare(c.info.id))}var dm={now:Date.now,setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},ju=500,as=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(e){this.options=e,this.scheduler=e.scheduler??dm,this.livenessIntervalMs=e.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(e="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(e).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let e=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(e).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(e){if(this.promptObservationPhase!=="idle"){if(e.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(e){if(!e){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(e){try{let n=await this.loadPage("tail",e),r=await this.loadCompleteTurn(n,"tail",e);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(e,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async loadCompleteOlderTurn(e){let n=await this.loadPage("older","manual",e);return this.loadCompleteTurn(n,"older","manual",e)}async loadCompleteTurn(e,n,r,s){let c=[...e.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),g=e.nextCursor;for(let f of e.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(e){for(let n of e)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(e){if(this.promptObservationPhase==="idle")return!1;let n=new Set(e.filter(r=>r.info.role==="user"&&!this.knownUserMessageIds.has(r.info.id)).map(r=>r.info.id));return n.size===0?!1:e.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(e){this.nextCursor=e,this.update({hasOlder:!!e})}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 e=()=>{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(e,ju):setTimeout(e,ju)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(e){let n={...this.snapshot,...e};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 gm(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return`${e}/tunnel/permission-requests/stream`}function mm(t){let{url:e,token:n,method:r="GET",body:s,onEvent:c,onOpen:u,onError:p,signal:g}=t,f=new Map,m=null,_=!1;function x(a,A){c?.(a,A);let j=f.get(a);if(j)for(let v of j)try{v(A)}catch{}}async function I(){if(_)return;m=new AbortController;let a=g?AbortSignal.any([m.signal,g]):m.signal;try{let A={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(A["Content-Type"]="application/json");let j=await fetch(e,{method:r,headers:A,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:a,credentials:"include"});if(!j.ok)throw new Error(`SSE connection failed: ${j.status} ${j.statusText}`);if(!j.body)throw new Error("SSE response has no body");u?.();let v=j.body.getReader(),k=new TextDecoder,E="",w="message",F="";for(;!_;){let{done:K,value:y}=await v.read();if(K)break;E+=k.decode(y,{stream:!0});let C=E.split(`
77
+ `);E=C.pop()||"";for(let M of C)M===""?F&&(x(w,F.trimEnd()),w="message",F=""):M.startsWith("event: ")?w=M.slice(7).trim():M.startsWith("data: ")?F+=(F?`
78
+ `:"")+M.slice(6):M.startsWith("data:")&&(F+=(F?`
79
+ `:"")+M.slice(5))}}catch(A){if(_||A instanceof DOMException&&A.name==="AbortError")return;p?.(A instanceof Error?A:new Error(String(A)))}}function T(){_=!0,m?.abort(),m=null,f.clear()}function l(a,A){let j=f.get(a)??new Set;j.add(A),f.set(a,j)}function h(a,A){f.get(a)?.delete(A)}return{connect:I,close:T,addEventListener:l,removeEventListener:h}}function dC(t,e){return mm({...e,url:gm(t)})}export{qt as ACTIVE_INSTANCE_COOKIE,R as ApiError,we as AuthError,pe as BillingError,fu as COST_MARKUP,lu as DEFAULT_TRANSCRIPT_OPTIONS,tm as DESTRUCTIVE_PHASES,dr as FEATURE_DISABLED_CODE,hh as FEATURE_FLAG_KEYS,vp as FEATURE_NOT_SUPPORTED_CODE,le as HostBoundaryError,xp as IMPERSONATION_HEADER,Wg as INSTANCE_SCOPED_ROUTES,Cp as MODEL_NOT_SERVABLE_CODE,sC as PREVIEW_PROBE_TIMEOUT_MS,Rp as PROVISION_IN_FLIGHT_CODE,Nr as PublicSessionShareError,Hr as PublicVoiceJoinError,Se as RequestTooLargeError,fr as RuntimeNotReadyError,hr as SANDBOX_FS_ROOTS,ie as SANDBOX_PORTS,jt as SessionNotReadyError,Or as SessionStartError,ym as __getConfigResolver,fm as __setConfigResolver,ai as acceptAccountInvite,NS as acceptInvite,ol as actReviewItem,ko as activateConnection,zx as addGroupMembers,Ml as addMarketplaceSource,IS as addSandboxMember,_g as allDescendantIds,Yv as appendPreviewToken,Di as approveProjectAccessRequest,qf as approveTask,Ar as archiveProject,Bf as assignTicket,Hi as attachGroupToProject,q as authenticatedFetch,i as backendApi,_x as bindSlackIdentity,Px as bindTeamsIdentity,ro as brokerProjectSecretRequest,Vg as buildInstancePath,cC as buildPresentationTemplateImageUrl,aC as buildPresentationTemplatePdfUrl,Iu as buildPreviewAuthEndpoint,im as buildPublicTemplateUrl,cm as buildRuntimePresentationConversionUrl,Zo as buildSandboxTemplate,ak as buildStaticFileHealthPreviewUrl,ok as buildStaticFileLocalUrl,ik as buildStaticFilePreviewUrl,ud as buildStaticFileServicePath,gm as buildTunnelEventStreamUrl,dk as buildWebProxyUrl,al as bulkActReviewItems,n_ as bulkDeletePolicies,r_ as bulkImportPolicies,mo as callConnector,Q_ as cancelAccountDeletion,si as cancelAccountInvite,wS as cancelSandbox,cv as cancelSandboxUpdate,yc as cancelScheduledChange,gc as cancelSubscription,Sv as checkAccessEmail,gw as childMapByParent,yv as claimComputer,ax as claimPerSeatBilling,Ta as claimWarmProjectSession,du as classifyPart,am as classifyPreviewProbeStatus,pg as classifyTurn,Vs as clearImpersonationSession,Ya as clearModelDefault,Pb as clearSessionFresh,ha as closeChangeRequest,yy as closeMilestone,lw as collectTurnParts,Nf as commentTicket,_a as commitSessionChanges,mu as computeStatusFromPart,_c as configureAutoTopup,Bt as configureKortix,pc as confirmCheckoutSession,qc as connectEmail,Cc as connectSlack,mP as convertPresentationToGoogleSlides,lC as convertRuntimePresentation,ft as copyFile,kc as costExportUrl,Ys as createAccount,vl as createAccountAuditWebhook,yl as createAccountToken,Fl as createApp,Hl as createAppAccessSession,zl as createAppDeployment,O_ as createAuditWebhook,VS as createBackup,uc as createCheckoutSession,Mo as createConnector,mt as createFile,Zc as createGatewayKey,Kx as createGroup,um as createHttpSessionSyncController,gv as createInstance,Ed as createKortix,Ds as createKortixPty,BP as createMarketplaceInstallSession,my as createMilestone,ox as createPerSeatCheckout,Zx as createPolicy,dc as createPortalSession,bi as createProject,ey as createProjectAgent,xl as createProjectCliToken,xi as createProjectRepo,Ji as createProjectResourceGrant,Ne as createProjectSession,Ga as createProjectTrigger,l_ as createRole,mm as createSSEStream,yS as createSandbox,ll as createSandboxShare,Xo as createSandboxTemplate,f_ as createScimToken,q_ as createServiceAccountApi,va as createSessionPublicShare,v_ as createSsoGroupMapping,jf as createTask,Ff as createTicket,dC as createTunnelEventStream,ci as declineAccountInvite,HS as declineInvite,Y_ as deleteAccountImmediately,Bl as deleteApp,L_ as deleteAuditWebhook,XS as deleteBackup,Oo as deleteConnector,wy as deleteCredential,$s as deleteEnv,yt as deleteFile,Qc as deleteGatewayBudget,$i as deleteGitHubInstallation,Hx as deleteGroup,mv as deleteInstance,ly as deleteKortixProject,by as deleteMilestone,uo as deletePersonalProjectSecret,t_ as deletePolicy,ny as deleteProjectAgent,oo as deleteProjectProviderOAuth,Xi as deleteProjectResourceGrant,co as deleteProjectSecret,$a as deleteProjectSession,Ka as deleteProjectTrigger,d_ as deleteRole,Yo as deleteSandboxTemplate,M_ as deleteServiceAccountApi,C_ as deleteSsoGroupMapping,w_ as deleteSsoProvider,Df as deleteTask,Hf as deleteTicket,oi as describeAccountInvite,go as describeConnectorTool,zi as detachGroupFromProject,ad as detectLocalhostUrls,D_ as disableServiceAccountApi,Dc as disconnectEmail,Jv as disconnectGitHubApp,Ac as disconnectSlack,zh as discoverConnectionOAuth2,Uo as discoverConnectorAuth,_S as discoverLocalSandbox,Lv as downloadAccountAudit,My as dropClientForUrl,Fy as dropPublicClientForUrl,Yf as ensurePmSession,nC as ensurePreviewSessionCookie,Nh as ensureProjectConnectorConnection,em as ensureSandbox,Ra as ensureWarmProjectSession,np as env,wl as exportAccountAudit,ae as extractGatewayErrorDetails,Je as extractInstanceRoute,Ts as featureDisabledKey,Bw as featureFlags,sx as fetchAccountStateWithToken,gh as fetchAccountsWithToken,yx as fetchCostExportCsv,sa as fetchProjectArchive,vh as fetchProjectsForAccountWithToken,hp as files,zr as finalizeAppArtifact,jv as finalizeConnectorSetupLink,dt as findFiles,uw as findLastTextPart,gt as findText,Ha as fireProjectTrigger,Jo as fixSandboxWithAgent,Is as formatBillingErrorForUI,Iw as formatCost,Rw as formatDuration,Yg as formatOpenCodeRuntimeError,Yg as formatRuntimeError,jw as formatTokens,Fd as formatTranscript,$d as generateSessionId,Zs as getAccount,J_ as getAccountDeletionStatus,rc as getAccountState,sc as getAccountStateMinimal,Xg as getActiveInstanceIdFromCookie,oP as getAdminProviderAnalytics,rP as getAdminProviderDistribution,cP as getAdminProviderFallback,Z_ as getAdminRole,bg as getAgentCardLabel,Qb as getAgentConfig,ry as getAgentPersona,iv as getAllVersions,dw as getAnsweredQuestionParts,Ll as getApp,Kl as getAppAccess,Jl as getAppDeployment,Xl as getAppDeploymentLogs,OP as getApprovalLink,Pe as getAuthToken,Ps as getAuthTokenWithRetry,xc as getAutoTopupSettings,ix as getAutoTopupSetupStatus,ac as getBillingCreditBreakdown,lc as getBillingTierConfigurations,oc as getBillingTransactionsSummary,cc as getBillingUsageHistory,da as getChangeRequest,ga as getChangeRequestDiff,ma as getChangeRequestMergePreview,Yk as getChildSessionError,Qk as getChildSessionId,Zk as getChildSessionToolParts,de as getClient,re as getClientForUrl,Go as getConnectStatus,Wh as getConnectionOAuth2Application,Qh as getConnectionOAuth2Status,Yh as getConnectionPolicies,jr as getConnectorCatalog,$o as getConnectorConfig,jo as getConnectorPolicies,Av as getConnectorSetupLink,fx as getCostSummary,Jg as getCurrentInstanceIdFromPathname,Ww as getCurrentInstanceIdFromWindow,Hs as getCurrentProject,Lr as getDefaultAccountState,nw as getDiagnostics,hg as getDirectory,$r as getDiscoverConnector,tb as getDiscoverIntegration,Ec as getEmailInstallation,$c as getEmailMode,N_ as getEnterpriseDemo,pt as getFileStatus,gu as getFileWithDir,yg as getFilename,nm as getFullChangelog,Wc as getGatewayBreakdown,Jc as getGatewayBudgets,Vc as getGatewayErrors,Yc as getGatewayKeys,Kc as getGatewayLog,Nc as getGatewayOverview,Oc as getGatewayRoutingPolicy,Hc as getGatewaySeries,zc as getGatewaySessions,Hv as getGitHubAppStatus,Ci as getGitHubInstallation,gP as getGoogleAuthUrl,Bx as getGroup,Jk as getHiddenToolParts,kp as getImpersonationSession,KS as getInvite,dv as getJustavpsServerTypes,oy as getKortixProject,ay as getKortixProjectBySession,Os as getKortixPtyWebSocketUrl,sv as getLatestSandboxVersion,Mv as getMaintenanceConfig,Ph as getManagedGitStatus,$l as getMarketplaceCatalogItem,ql as getMarketplaceCatalogItemFile,h_ as getMfaRequired,dy as getMilestone,Xa as getModelDefaults,Rv as getOAuthConsentRequest,vu as getOpenCodeConfigInvalidError,zk as getPartText,j_ as getPatPolicy,rw as getPermissionForTool,Sr as getProject,sy as getProjectActivity,aa as getProjectCommit,ca as getProjectCommitDiff,vr as getProjectDetail,la as getProjectFileHistory,hi as getProjectGitToken,Cr as getProjectLlmCatalog,xh as getProjectLlmCatalogProviders,Rr as getProjectModelPicker,qr as getProjectSandboxHealth,kh as getProjectSandboxProviderTransition,Mr as getProjectSession,qa as getProjectSessionConfigState,Ua as getProjectSessionScope,hc as getProrationPreview,mS as getProviders,ck as getProxyBaseUrl,Oy as getPublicClientForUrl,kv as getPublicMarketplaceItem,wv as getPublicMarketplaceItemFile,wP as getPublicSessionShare,SP as getPublicSessionShareMessages,qv as getPublicShareByToken,Bv as getPublicTemplate,RP as getPublicVoiceJoin,TP as getPublicVoiceTranscript,sw as getQuestionForTool,$x as getReferralCode,Mx as getReferralStats,Ew as getRetryInfo,$w as getRetryMessage,sl as getReviewItem,o_ as getRolePermissions,c_ as getRoleUsage,ZS as getSSHConnection,fS as getSandbox,hS as getSandboxById,DS as getSandboxMemberScopes,cS as getSandboxPortUrl,hv as getSandboxProvisionStatus,bv as getSandboxProvisionStreamUrl,rv as getSandboxUpdateStatus,Tu as getSandboxUrl,Ev as getSecretSetupLink,br as getServerHealth,Cy as getServiceLogs,Aa as getSessionAudit,Aw as getSessionCost,Br as getSessionCostRecord,eu as getSessionHealth,R_ as getSessionPolicy,wa as getSessionPreviewCandidates,Ia as getSessionTranscript,hw as getShellModePart,Ic as getSlackChannelFile,vc as getSlackInstallation,Tc as getSlackManifest,Rc as getSlackMode,__ as getSsoProvider,pd as getStaticFileHealthPath,pr as getSupabaseAccessToken,ne as getSupabaseAccessTokenWithRetry,Tf as getTask,If as getTaskStatus,WP as getTemplate,Uf as getTicket,ew as getToolInfo,Ld as getTranscriptFilename,Tw as getTurnCost,Sw as getTurnError,vw as getTurnErrorDetails,Cw as getTurnStatus,Pc as getUsageRollup,Ov as getUserRolesWithToken,ua as getVersionDiff,qS as getViewerSandboxScopes,ja as getVoiceTranscript,kw as getWorkingState,OS as grantSandboxProjectAccess,Zb as grantSecretToAgent,cw as groupMessagesIntoTurns,qw as hasDiffs,sk as hasLocalhostUrls,ld as hasPreviewTarget,md as heartbeatGapEvent,Xr as humanizeToolName,kr as impersonationHeaders,k_ as importSsoProviderFromMetadata,zP as installTemplate,st as invalidateTokenCache,ni as inviteAccountMember,Li as inviteProjectMember,fi as inviteRepoCollaborator,oh as isAdminBypassEnabled,Kk as isAgentPart,sd as isAppRouteUrl,gg as isAttachment,As as isBillingError,Nk as isCompactionPart,Kt as isConfigured,nv as isDestructivePhase,fk as isExternalUrl,Rs as isFeatureDisabledError,dg as isFilePart,_p as isImpersonationSessionLive,Nw as isInstanceDetailPath,zg as isInstanceScopedAppPath,pk as isInternalLocalhostUrl,qh as isInviteSent,Pw as isLastUserMessage,bh as isManagedGithubProject,Qw as isOpenCodeConfigInvalidError,Wk as isPatchPart,uk as isPreviewUrl,dd as isProxiableLocalhostUrl,Yr as isReasoningPart,ek as isRuntimeReady,Ws as isServerReachable,Pa as isSessionFresh,Mb as isSessionStartError,Pg as isShellMode,Hk as isSnapshotPart,Qv as isSubdomainPreviewUrl,he as isTextPart,ce as isToolPart,Xk as isToolPartHidden,Gs as isUnderSandboxRoot,mk as isWebProxyUrl,sp as kortixPty,pi as leaveAccount,Ei as linkGitHubInstallation,vi as linkRepository,Pl as listAccountAudit,Sl as listAccountAuditWebhooks,ri as listAccountInvites,ti as listAccountMembers,A_ as listAccountSessions,fl as listAccountTokens,Qs as listAccounts,a_ as listActions,sP as listAdminSandboxes,i_ as listAgentIdentities,ho as listAllConnections,Vl as listAppDeployments,Ol as listApps,G_ as listAuditEvents,U_ as listAuditWebhooks,zS as listBackups,ic as listBillingTransactions,pa as listChangeRequests,kx as listChannelBindings,Wf as listColumns,yo as listConnections,Pt as listConnectorTools,Co as listConnectors,mx as listCostByProject,_y as listCredentialEvents,xy as listCredentials,Er as listDiscoverConnectors,eb as listDiscoverIntegrations,js as listEnv,El as listFeaturedMarketplaces,Vf as listFields,ut as listFiles,Bc as listGatewayLogs,Ri as listGitHubInstallations,Ai as listGitHubRepositories,Ii as listGitHubRepositoryBranches,Wx as listGroupMembers,Vx as listGroupProjectGrants,Gx as listGroups,cy as listKortixProjectSessions,iy as listKortixProjects,qs as listKortixPty,Ti as listLinkableGitHubInstallations,Il as listMarketplaceCatalogItems,Dl as listMarketplaceSources,jl as listMarketplaces,Xx as listMemberGroups,Qx as listMemberProjectAccess,gy as listMilestoneEvents,py as listMilestones,Qi as listPendingApprovals,Gi as listPendingProjectInvites,Fo as listPipedreamApps,Lo as listPipedreamSections,Yx as listPolicies,Ui as listProjectAccess,qi as listProjectAccessRequests,Zf as listProjectAgents,kl as listProjectAudit,ia as listProjectBranches,bl as listProjectCliTokens,oa as listProjectCommits,ta as listProjectFiles,Ni as listProjectGroupGrants,No as listProjectPolicies,Vi as listProjectResourceGrants,Wo as listProjectSandboxTemplates,ea as listProjectSandboxes,eo as listProjectSecrets,Ke as listProjectSessions,zo as listProjectSnapshots,La as listProjectTriggers,je as listProjects,mi as listProjectsForAccount,_v as listPublicMarketplaceItems,Pv as listPublicMarketplaces,Ux as listReferrals,rl as listReviewItems,s_ as listRoles,AS as listSandboxMembers,US as listSandboxProjectMembers,cl as listSandboxShares,xS as listSandboxes,m_ as listScimTokens,$_ as listServiceAccountsApi,vy as listServiceTemplates,Sy as listServices,wc as listSessionCosts,Sa as listSessionPublicShares,Yi as listSessionsNeedingInput,S_ as listSsoGroupMappings,Af as listTaskEvents,Rf as listTasks,Xf as listTemplates,Of as listTicketEvents,Mf as listTickets,lm as loadHttpSessionHistory,fv as markInstanceError,kt as markSessionFresh,ya as mergeChangeRequest,aP as migrateAdminSandboxProvider,ht as mkdir,fd as narrowChatEvent,Jw as normalizeAppPathname,yk as normalizeExternalInput,Et as normalizeToolName,fa as openChangeRequest,Vr as openEventStream,Gv as openStressTestStream,ve as parseBillingError,Gw as parseFlagOverride,Tt as parseLocalhostUrl,Qg as parseOpenCodeErrorPayload,ou as parseSubdomainUrl,gk as parseWebProxyUrl,uy as patchKortixProject,Do as pipedreamConnect,So as pipedreamConnectConnection,Ko as pipedreamFinalize,vo as pipedreamFinalizeConnection,$ as platformConfig,Xh as pollConnectionOAuth2DeviceAuthorization,io as pollProjectProviderOAuth,Gc as previewGatewayRoute,b_ as previewMfaRequired,B_ as probeEffectivePermission,K_ as probeEffectivePermissions,iC as probePreviewPort,Db as projectSessionStartSeed,_i as provisionProject,_h as provisionProjectStream,Ch as provisionProjectWithToken,su as proxyLocalhostUrl,lk as proxyUrlToInternal,bc as purchaseCredits,Hh as putConnectionOAuth2Application,SS as reactivateSandbox,mc as reactivateSubscription,Ge as readBlob,Le as readFile,ra as readProjectFile,Vo as rebuildProjectSnapshot,bo as reconcileConnection,xo as reconcileMemberConnection,Ty as reconcileServices,Cv as recordPlatformLogout,qx as refreshReferralCode,Wr as registerAppArtifact,Ay as registerService,Mi as rejectProjectAccessRequest,tw as relativizePath,Da as reloadProjectSessionConfig,Ma as reloadProjectSessionConfigStream,Rl as removeAccountAuditWebhook,li as removeAccountMember,Jx as removeGroupMember,Us as removeKortixPty,Ul as removeMarketplaceSource,jS as removeSandboxMember,bt as renameFile,bS as renameSandbox,ba as reopenChangeRequest,hy as reopenMilestone,zf as replaceColumns,Jf as replaceFields,Qf as replaceTemplates,X_ as requestAccountDeletion,xa as requestChangesOnChangeRequest,$h as requestProjectAccess,Al as requestProjectConnector,Tl as requestProjectSecret,ii as resendAccountInvite,Ki as resendPendingProjectInvite,Uy as resetClient,Lc as resetGatewayRoutingPolicy,Ly as resetPublicClient,av as resetSandboxUpdateStatus,Zi as resolveApproval,rx as resolvedPlan,wt as restartProjectSession,PS as restartSandbox,JS as restoreBackup,ky as revealCredential,I_ as revokeAccountSession,hl as revokeAccountToken,Po as revokeConnection,el as revokeGatewayKey,Bi as revokePendingProjectInvite,Fi as revokeProjectAccess,_l as revokeProjectCliToken,LS as revokeSandboxInvite,FS as revokeSandboxProjectAccess,ul as revokeSandboxShare,y_ as revokeScimToken,Ca as revokeSessionPublicShare,ye as rewriteLocalhostUrl,Zl as rollbackApp,tl as runGatewayPlayground,ji as saveGitHubInstallation,fc as scheduleDowngrade,po as searchConnectorTools,na as searchProjectFiles,Ox as sendReferralEmails,Ry as serviceAction,Ub as sessionStartKey,zw as setActiveInstanceCookie,ih as setAdminBypass,iP as setAdminProviderDistribution,lP as setAdminProviderFallback,ec as setAgentScope,of as setBootstrapAuthToken,sf as setCachedAuthToken,Zh as setConnectionPolicies,Ao as setConnectorAuthorizationStrategy,Bo as setConnectorCredential,To as setConnectorCredentialMode,qo as setConnectorName,Eo as setConnectorPolicies,nb as setConnectorSecretBinding,Io as setConnectorSensitive,wo as setDefaultConnection,H_ as setEnterpriseDemo,Es as setEnv,Xc as setGatewayBudget,Fc as setGatewayRoutingPolicy,zv as setGitHubAppFromExisting,Vv as setGitHubAppPat,Qy as setImpersonationSession,Uv as setMaintenanceConfig,Uc as setMeetBotName,g_ as setMemberSuperAdmin,x_ as setMfaRequired,Qa as setModelDefault,lo as setPersonalProjectSecret,Nb as setProjectModelEnablement,Si as setProjectOnboardingComplete,Sh as setProjectOnboardingProfile,Ho as setProjectPolicies,no as setProjectSecretStrategy,Fa as setProjectSessionModel,Oa as setProjectSessionScope,ka as setProjectSessionSharing,Na as setProjectTriggersActivation,YS as setupSSH,ku as shellExitCode,Sp as shouldAttachImpersonation,ww as shouldHideResponsePart,fg as shouldShowToolPart,mw as sortSessions,Vk as splitUserParts,Ql as startApp,Vh as startConnectionOAuth2Authorization,Jh as startConnectionOAuth2DeviceAuthorization,Iv as startConnectorSetupLink,Wv as startGitHubAppManifest,so as startProjectProviderOAuth,Ee as startProjectSession,Dv as startSessionWithToken,$f as startTask,Yl as stopApp,St as stopProjectSession,kS as stopSandbox,iw as stripAnsi,Hw as stripInstancePrefix,Ce as stripTrailingSlashes,vv as submitAccessRequest,Fv as submitDemoRequest,Tv as submitOAuthConsent,il as submitReviewItem,$v as submitSecretSetupLink,Yy as subscribeToImpersonation,ah as supabaseClient,Ro as syncConnectors,cx as syncSubscription,Gy as systemReload,Ae as toDaemonPath,Vw as toInstanceAwarePath,gd as toInternalUrl,Bs as toSandboxAbsolutePath,Ks as toWorkspaceRelative,Qr as toolInfo,Ng as toolViewModel,nl as transcribeAudio,ov as triggerSandboxUpdate,rp as triggersRequest,pw as turnHasSteps,Kf as unassignTicket,Y as unwrapError,Cl as updateAccountAuditWebhook,ui as updateAccountMemberRole,ei as updateAccountName,Yb as updateAgentConfig,Gl as updateApp,Nl as updateAppAccess,F_ as updateAuditWebhook,wx as updateChannelBinding,_o as updateConnectionCredential,Mc as updateEmailPolicy,ki as updateExperimentalFeature,Pi as updateFeatureFlag,Nx as updateGroup,Ms as updateKortixPty,fy as updateMilestone,E_ as updatePatPolicy,e_ as updatePolicy,Tr as updateProject,Oi as updateProjectAccess,ty as updateProjectAgent,nc as updateProjectDefaultAgent,Wi as updateProjectGroupGrant,wi as updateProjectSandboxProvider,Ea as updateProjectSession,Ba as updateProjectTrigger,u_ as updateRole,p_ as updateRolePermissions,ES as updateSandboxMemberRole,MS as updateSandboxMemberScope,$S as updateSandboxMemberSpendCap,Qo as updateSandboxTemplate,T_ as updateSessionPolicy,Ef as updateTask,wh as updateTemplateWarmPool,Lf as updateTicket,Gf as updateTicketStatus,Wl as uploadAppArtifactArchive,fo as uploadConnectorAttachment,Be as uploadFile,jc as uploadSlackChannelFile,Py as upsertCredential,ao as upsertProjectGitCredential,to as upsertProjectSecret,P_ as upsertSsoProvider,yi as validateProjectManifest,Dx as validateReferralCode,di as validateToken,Rx as verifyGatewayProvider};