@kortix/sdk 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -73
- package/dist/browser/cache/idb-sync-cache-key.d.ts +2 -0
- package/dist/browser/cache/idb-sync-cache-key.d.ts.map +1 -0
- package/dist/browser/cache/idb-sync-cache-key.js +7 -0
- package/dist/browser/cache/idb-sync-cache-key.js.map +1 -0
- package/dist/browser/cache/idb-sync-cache.d.ts +3 -3
- package/dist/browser/cache/idb-sync-cache.d.ts.map +1 -1
- package/dist/browser/cache/idb-sync-cache.js +49 -26
- package/dist/browser/cache/idb-sync-cache.js.map +1 -1
- package/dist/browser/session-sync/session-cache-ownership.d.ts +36 -0
- package/dist/browser/session-sync/session-cache-ownership.d.ts.map +1 -0
- package/dist/browser/session-sync/session-cache-ownership.js +66 -0
- package/dist/browser/session-sync/session-cache-ownership.js.map +1 -0
- package/dist/browser/session-sync/session-sync-registry.d.ts +8 -6
- package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
- package/dist/browser/session-sync/session-sync-registry.js +86 -33
- package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
- package/dist/browser/session-sync/session-transcript-cache.d.ts +55 -0
- package/dist/browser/session-sync/session-transcript-cache.d.ts.map +1 -0
- package/dist/browser/session-sync/session-transcript-cache.js +69 -0
- package/dist/browser/session-sync/session-transcript-cache.js.map +1 -0
- package/dist/core/client/kortix.d.ts +72 -25
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +76 -17
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/rest/platform-client/host-boundary.d.ts +7 -0
- package/dist/core/rest/platform-client/host-boundary.d.ts.map +1 -1
- package/dist/core/rest/platform-client/host-boundary.js +14 -0
- package/dist/core/rest/platform-client/host-boundary.js.map +1 -1
- package/dist/core/rest/projects-client/access.d.ts +1 -2
- package/dist/core/rest/projects-client/access.d.ts.map +1 -1
- package/dist/core/rest/projects-client/access.js +9 -6
- package/dist/core/rest/projects-client/access.js.map +1 -1
- package/dist/core/rest/projects-client/agent-config.d.ts +15 -7
- package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
- package/dist/core/rest/projects-client/agent-config.js +43 -2
- package/dist/core/rest/projects-client/agent-config.js.map +1 -1
- package/dist/core/rest/projects-client/agent-scope.d.ts +4 -0
- package/dist/core/rest/projects-client/agent-scope.d.ts.map +1 -1
- package/dist/core/rest/projects-client/agent-scope.js +34 -1
- package/dist/core/rest/projects-client/agent-scope.js.map +1 -1
- package/dist/core/rest/projects-client/audit.d.ts +34 -0
- package/dist/core/rest/projects-client/audit.d.ts.map +1 -1
- package/dist/core/rest/projects-client/audit.js +49 -4
- package/dist/core/rest/projects-client/audit.js.map +1 -1
- package/dist/core/rest/projects-client/billing.d.ts +26 -14
- package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
- package/dist/core/rest/projects-client/billing.js +4 -5
- package/dist/core/rest/projects-client/billing.js.map +1 -1
- package/dist/core/rest/projects-client/connectors.d.ts +106 -45
- package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
- package/dist/core/rest/projects-client/connectors.js +95 -58
- package/dist/core/rest/projects-client/connectors.js.map +1 -1
- package/dist/core/rest/projects-client/iam.d.ts +17 -0
- package/dist/core/rest/projects-client/iam.d.ts.map +1 -1
- package/dist/core/rest/projects-client/iam.js +14 -0
- package/dist/core/rest/projects-client/iam.js.map +1 -1
- package/dist/core/rest/projects-client/index.d.ts +1 -0
- package/dist/core/rest/projects-client/index.d.ts.map +1 -1
- package/dist/core/rest/projects-client/index.js +1 -0
- package/dist/core/rest/projects-client/index.js.map +1 -1
- package/dist/core/rest/projects-client/policies.d.ts +18 -0
- package/dist/core/rest/projects-client/policies.d.ts.map +1 -1
- package/dist/core/rest/projects-client/policies.js.map +1 -1
- package/dist/core/rest/projects-client/projects.d.ts +8 -1
- package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
- package/dist/core/rest/projects-client/projects.js.map +1 -1
- package/dist/core/rest/projects-client/sandbox.d.ts +50 -0
- package/dist/core/rest/projects-client/sandbox.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sandbox.js.map +1 -1
- package/dist/core/rest/projects-client/session-costs.d.ts +102 -0
- package/dist/core/rest/projects-client/session-costs.d.ts.map +1 -0
- package/dist/core/rest/projects-client/session-costs.js +25 -0
- package/dist/core/rest/projects-client/session-costs.js.map +1 -0
- package/dist/core/rest/projects-client/session-sandbox.d.ts +0 -2
- package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -1
- package/dist/core/rest/projects-client/session-sandbox.js +1 -10
- package/dist/core/rest/projects-client/session-sandbox.js.map +1 -1
- package/dist/core/rest/projects-client/sessions.d.ts +80 -44
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sessions.js +9 -15
- package/dist/core/rest/projects-client/sessions.js.map +1 -1
- package/dist/core/rest/projects-client/setup-links.d.ts +37 -0
- package/dist/core/rest/projects-client/setup-links.d.ts.map +1 -1
- package/dist/core/rest/projects-client/setup-links.js +11 -0
- package/dist/core/rest/projects-client/setup-links.js.map +1 -1
- package/dist/core/session/index.d.ts +1 -1
- package/dist/core/session/index.d.ts.map +1 -1
- package/dist/core/session/index.js +1 -1
- package/dist/core/session/index.js.map +1 -1
- package/dist/core/session/preview-auth.d.ts +32 -0
- package/dist/core/session/preview-auth.d.ts.map +1 -0
- package/dist/core/session/preview-auth.js +53 -0
- package/dist/core/session/preview-auth.js.map +1 -0
- package/dist/core/session/server-store/url-helpers.d.ts.map +1 -1
- package/dist/core/session/server-store/url-helpers.js +5 -3
- package/dist/core/session/server-store/url-helpers.js.map +1 -1
- package/dist/core/session-sync/session-sync-controller.d.ts +12 -1
- package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
- package/dist/core/session-sync/session-sync-controller.js +34 -2
- package/dist/core/session-sync/session-sync-controller.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/kortix.esm.min.js +19 -24
- package/dist/kortix.global.js +19 -24
- package/dist/platform/auth-core.d.ts +5 -3
- package/dist/platform/auth-core.d.ts.map +1 -1
- package/dist/platform/auth-core.js +6 -4
- package/dist/platform/auth-core.js.map +1 -1
- package/dist/react/index.d.ts +0 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +0 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/model-flatten.d.ts +8 -0
- package/dist/react/model-flatten.d.ts.map +1 -1
- package/dist/react/model-flatten.js +1 -0
- package/dist/react/model-flatten.js.map +1 -1
- package/dist/react/opencode.d.ts +1 -1
- package/dist/react/opencode.d.ts.map +1 -1
- package/dist/react/opencode.js +1 -1
- package/dist/react/opencode.js.map +1 -1
- package/dist/react/session-title-sync.d.ts +9 -5
- package/dist/react/session-title-sync.d.ts.map +1 -1
- package/dist/react/session-title-sync.js +14 -10
- package/dist/react/session-title-sync.js.map +1 -1
- package/dist/react/use-canonical-opencode-session.d.ts +2 -2
- package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
- package/dist/react/use-model-store.d.ts +6 -14
- package/dist/react/use-model-store.d.ts.map +1 -1
- package/dist/react/use-model-store.js +30 -52
- package/dist/react/use-model-store.js.map +1 -1
- package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
- package/dist/react/use-opencode-events/handle-event.js +103 -41
- package/dist/react/use-opencode-events/handle-event.js.map +1 -1
- package/dist/react/use-opencode-sessions/keys.d.ts +3 -1
- package/dist/react/use-opencode-sessions/keys.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/keys.js +2 -0
- package/dist/react/use-opencode-sessions/keys.js.map +1 -1
- package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/sessions.js +16 -7
- package/dist/react/use-opencode-sessions/sessions.js.map +1 -1
- package/dist/react/use-opencode-sessions/shared.d.ts +3 -2
- package/dist/react/use-opencode-sessions/shared.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/shared.js +6 -3
- package/dist/react/use-opencode-sessions/shared.js.map +1 -1
- package/dist/react/use-opencode-sessions/sharing.js +2 -2
- package/dist/react/use-opencode-sessions/sharing.js.map +1 -1
- package/dist/react/use-session-sync.d.ts +13 -1
- package/dist/react/use-session-sync.d.ts.map +1 -1
- package/dist/react/use-session-sync.js +85 -17
- package/dist/react/use-session-sync.js.map +1 -1
- package/dist/react/use-session.d.ts +36 -39
- package/dist/react/use-session.d.ts.map +1 -1
- package/dist/react/use-session.js +100 -205
- package/dist/react/use-session.js.map +1 -1
- package/package.json +2 -2
- package/dist/core/acp/client.d.ts +0 -45
- package/dist/core/acp/client.d.ts.map +0 -1
- package/dist/core/acp/client.js +0 -277
- package/dist/core/acp/client.js.map +0 -1
- package/dist/core/acp/index.d.ts +0 -5
- package/dist/core/acp/index.d.ts.map +0 -1
- package/dist/core/acp/index.js +0 -5
- package/dist/core/acp/index.js.map +0 -1
- package/dist/core/acp/projection.d.ts +0 -23
- package/dist/core/acp/projection.d.ts.map +0 -1
- package/dist/core/acp/projection.js +0 -603
- package/dist/core/acp/projection.js.map +0 -1
- package/dist/core/acp/session-controller.d.ts +0 -90
- package/dist/core/acp/session-controller.d.ts.map +0 -1
- package/dist/core/acp/session-controller.js +0 -530
- package/dist/core/acp/session-controller.js.map +0 -1
- package/dist/core/acp/types.d.ts +0 -66
- package/dist/core/acp/types.d.ts.map +0 -1
- package/dist/core/acp/types.js +0 -21
- package/dist/core/acp/types.js.map +0 -1
- package/dist/core/session/runtime-transport.d.ts +0 -16
- package/dist/core/session/runtime-transport.d.ts.map +0 -1
- package/dist/core/session/runtime-transport.js +0 -30
- package/dist/core/session/runtime-transport.js.map +0 -1
- package/dist/react/session-busy.d.ts +0 -8
- package/dist/react/session-busy.d.ts.map +0 -1
- package/dist/react/session-busy.js +0 -4
- package/dist/react/session-busy.js.map +0 -1
- package/dist/react/use-acp-session-runtime.d.ts +0 -34
- package/dist/react/use-acp-session-runtime.d.ts.map +0 -1
- package/dist/react/use-acp-session-runtime.js +0 -84
- package/dist/react/use-acp-session-runtime.js.map +0 -1
- package/dist/react/use-admin-users.d.ts +0 -98
- package/dist/react/use-admin-users.d.ts.map +0 -1
- package/dist/react/use-admin-users.js +0 -121
- package/dist/react/use-admin-users.js.map +0 -1
package/dist/kortix.esm.min.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
var
|
|
1
|
+
var El={backendUrl:"",getToken:async()=>null},qt=null,Xe=null;function Xd(e){Xe=e}function Yd(){return Xe}function Dt(e,t){t?.global!==!1&&(qt=e)}function q(){return Xe?.()??qt??El}function Mt(){return qt!==null||Xe?.()!==void 0}var Xr=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:g,url:y,...m})=>{let P,w=g??(f=>new Promise(a=>setTimeout(a,f)));return{stream:async function*(){let f=c??3e3,a=0,T=m.signal??new AbortController().signal;for(;!T.aborted;){a++;let v=m.headers instanceof Headers?m.headers:new Headers(m.headers);P!==void 0&&v.set("Last-Event-ID",P);try{let k={redirect:"follow",...m,body:m.serializedBody,headers:v,signal:T},j=new Request(y,k);e&&(j=await e(y,k));let S=await(m.fetch??globalThis.fetch)(j);if(!S.ok)throw new Error(`SSE failed: ${S.status} ${S.statusText}`);if(!S.body)throw new Error("No body in SSE response");let $=S.body.pipeThrough(new TextDecoderStream).getReader(),L="",h=()=>{try{$.cancel()}catch{}};T.addEventListener("abort",h);try{for(;;){let{done:C,value:D}=await $.read();if(C)break;L+=D,L=L.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
|
-
`);let F=
|
|
3
|
+
`);let F=L.split(`
|
|
4
4
|
|
|
5
|
-
`);
|
|
6
|
-
`),
|
|
7
|
-
`);try{z=JSON.parse(U),K=!0}catch{z=U}}K&&(s&&await s(z),r&&(z=await r(z))),n?.({data:z,event:Q,id:h,retry:a}),N.length&&(yield z)}}}finally{T.removeEventListener("abort",H),y.releaseLock()}break}catch(w){if(t?.(w),l!==void 0&&S>=l)break;let v=Math.min(a*2**(S-1),p??3e4);await x(v)}}}()}};var Vl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},zl=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Jl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},it=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(d=>encodeURIComponent(d))).join(zl(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=Vl(r),l=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):we({allowReserved:e,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+l:l},we=({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)}`},ot=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let d=[];Object.entries(s).forEach(([m,h])=>{d=[...d,m,e?h:encodeURIComponent(h)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let l=Jl(r),p=Object.entries(s).map(([d,f])=>we({allowReserved:e,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(l);return r==="label"||r==="matrix"?l+p:p};var Ql=/\{[^{}]+\}/g,Xl=({path:e,url:t})=>{let n=t,r=t.match(Ql);if(r)for(let s of r){let o=!1,l=s.substring(1,s.length-1),p="simple";l.endsWith("*")&&(o=!0,l=l.substring(0,l.length-1)),l.startsWith(".")?(l=l.substring(1),p="label"):l.startsWith(";")&&(l=l.substring(1),p="matrix");let d=e[l];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,it({explode:o,name:l,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,ot({explode:o,name:l,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${we({name:l,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},Qr=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,l=(e??"")+o;t&&(l=Xl({path:t,url:l}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(l+=`?${p}`),l};function Ht(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 Xr=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 Kt={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Yr=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let l=r[o];if(l==null)continue;let p=e[o]||t;if(Array.isArray(l)){let d=it({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:l,...p.array});d&&s.push(d)}else if(typeof l=="object"){let d=ot({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:l,...p.object});d&&s.push(d)}else{let d=we({allowReserved:p.allowReserved,name:o,value:l});d&&s.push(d)}}return s.join("&")},Zr=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"}},Yl=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,es=async({security:e,...t})=>{for(let n of e){if(Yl(t,n.name))continue;let r=await Xr(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}}},Wt=e=>Qr({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Yr(e.querySerializer),url:e.url}),Vt=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=at(e.headers,t.headers),n},Zl=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},at=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?Zl(n):Object.entries(n);for(let[s,o]of r)if(o===null)t.delete(s);else if(Array.isArray(o))for(let l of o)t.append(s,l);else o!==void 0&&t.set(s,typeof o=="object"?JSON.stringify(o):o)}return t},De=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}},ts=()=>({error:new De,request:new De,response:new De}),eu=Yr({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),tu={"Content-Type":"application/json"},Me=(e={})=>({...Kt,headers:tu,parseAs:"auto",querySerializer:eu,...e});var Ue=(e={})=>{let t=Vt(Me(),e),n=()=>({...t}),r=f=>(t=Vt(t,f),n()),s=ts(),o=async f=>{let m={...t,...f,fetch:f.fetch??t.fetch??globalThis.fetch,headers:at(t.headers,f.headers),serializedBody:void 0};m.security&&await es({...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 h=Wt(m);return{opts:m,url:h}},l=async f=>{let{opts:m,url:h}=await o(f),x={redirect:"follow",...m,body:Ht(m)},P=new Request(h,x);for(let A of s.request.fns)A&&(P=await A(P,m));let u=m.fetch,a;try{a=await u(P)}catch(A){let $=A;for(let y of s.error.fns)y&&($=await y(A,void 0,P,m));if($=$||{},m.throwOnError)throw $;return m.responseStyle==="data"?void 0:{error:$,request:P,response:void 0}}for(let A of s.response.fns)A&&(a=await A(a,P,m));let S={request:P,response:a};if(a.ok){let A=(m.parseAs==="auto"?Zr(a.headers.get("Content-Type")):m.parseAs)??"json";if(a.status===204||a.headers.get("Content-Length")==="0"){let y;switch(A){case"arrayBuffer":case"blob":case"text":y=await a[A]();break;case"formData":y=new FormData;break;case"stream":y=a.body;break;default:y={};break}return m.responseStyle==="data"?y:{data:y,...S}}let $;switch(A){case"arrayBuffer":case"blob":case"formData":case"text":$=await a[A]();break;case"json":{let y=await a.text();$=y?JSON.parse(y):{};break}case"stream":return m.responseStyle==="data"?a.body:{data:a.body,...S}}return A==="json"&&(m.responseValidator&&await m.responseValidator($),m.responseTransformer&&($=await m.responseTransformer($))),m.responseStyle==="data"?$:{data:$,...S}}let T=await a.text(),C;try{C=JSON.parse(T)}catch{}let w=C??T,v=w;for(let A of s.error.fns)A&&(v=await A(w,a,P,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...S}},p=f=>m=>l({...m,method:f}),d=f=>async m=>{let{opts:h,url:x}=await o(m);return Jr({...h,body:h.body,headers:h.headers,method:f,onRequest:async(P,u)=>{let a=new Request(P,u);for(let S of s.request.fns)S&&(a=await S(a,h));return a},serializedBody:Ht(h),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:l,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var nu={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},ru=Object.entries(nu),ns=(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&&ns(n.args,t);return t},su=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},g=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=ns(t),s;for(let[o,l]of e.entries())if(t[o]&&(s=t[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=l)}else n.body=l;else for(let[p,d]of Object.entries(l??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=ru.find(([h])=>p.startsWith(h));if(m){let[h,x]=m;n[x][p.slice(h.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[h,x]of Object.entries(s.allowExtra))if(x){n[h][p]=d;break}}}}return su(n),n};var rs=Ue(Me({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??rs}},zt=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)}},Jt=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Qt=class extends b{log(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Xt=class extends b{moveSession(t,n){let r=g([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Yt=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Zt=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},en=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},tn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},nn=class extends b{generateName(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},sn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new rn({client:this.client})}},on=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new Xt({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(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=g([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},cn=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=g([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new an({client:this.client})}},ln=class extends b{subscribe(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},un=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},pn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},dn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},gn=class extends b{text(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},mn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},fn=class extends b{dispose(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},yn=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},hn=class extends b{raw(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},bn=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new hn({client:this.client})}},xn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},Pn=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},kn=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},wn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},_n=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new wn({client:this.client})}},Sn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},vn=class extends b{shells(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},Rn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},Cn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Tn=class extends b{authorize(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},An=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new Tn({client:this.client})}},In=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},jn=class extends b{delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},En=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},$n=class extends b{start(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=g([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new En({client:this.client})}},qn=class extends b{next(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Dn=class extends b{appendPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new qn({client:this.client})}},Mn=class extends b{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Un=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},On=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},Ln=class extends b{stage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},Fn=class extends b{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Gn=class extends b{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},Bn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new Ln({client:this.client})}_permission;get permission(){return this._permission??=new Fn({client:this.client})}_question;get question(){return this._question??=new Gn({client:this.client})}},Nn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Hn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Kn=class extends b{key(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Wn=class extends b{cancel(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Vn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new Kn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Wn({client:this.client})}},zn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Jn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Qn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Xn=class extends b{_request;get request(){return this._request??=new Jn({client:this.client})}_saved;get saved(){return this._saved??=new Qn({client:this.client})}},Yn=class extends b{read(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},Zn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},er=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},tr=class extends b{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},nr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},rr=class extends b{list(t,n){let r=g([t],[{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(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},or=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},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 Nn({client:this.client})}_provider;get provider(){return this._provider??=new Hn({client:this.client})}_integration;get integration(){return this._integration??=new Vn({client:this.client})}_credential;get credential(){return this._credential??=new zn({client:this.client})}_permission;get permission(){return this._permission??=new Xn({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})}},ct=class e extends b{static __registry=new zt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Jt({client:this.client})}_app;get app(){return this._app??=new Qt({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 Pn({client:this.client})}_formatter;get formatter(){return this._formatter??=new kn({client:this.client})}_mcp;get mcp(){return this._mcp??=new _n({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 Rn({client:this.client})}_permission;get permission(){return this._permission??=new Cn({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 is(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let o=e,l=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||ss(n,t);return new Error(l,{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 ${ss(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function ss(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,o=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function iu(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function ou(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[o,l]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=iu(e.headers.get(o),l==="directory"?t.directory:t.workspace,l==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[l,`location[${l}]`]:[l])n.searchParams.has(d)||n.searchParams.set(d,p);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function cr(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=Ue(e);return t.interceptors.request.use(n=>ou(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(is),new ct({client:t})}function au(e){return new Promise(t=>setTimeout(t,e))}async function os(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,o=t?.invalidateBetweenAttempts??!1,l=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await au(s)),l=await e(),l)return l;return l}var cu=3e4;function lu(e){let t=e instanceof Request?e.url:String(e);return t.includes("/global/event")||t.includes("/kortix/acp/")}function as(e,t,n=cu){let r=e instanceof Request?e.signal:t?.signal;if(lu(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function lr(e,t,n){let r=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,o)=>{r.set(o,s)}),n&&!r.has("Authorization")&&r.set("Authorization",`Bearer ${n}`),r}function cs(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function ur(){return q().getToken()}async function Oe(e){return os(()=>q().getToken(),e,lt)}function lt(){}function mm(e){}function fm(e){}async function ut(){return ur()}async function ls(e){return Oe(e)}function us(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function E(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await ls();if(!s)return cs();let o=lr(e,t,s),l=as(e,t),p=await us(e,t,o,l);if(p.status===401&&r&&s){lt();let d=await ls({attempts:2,baseDelayMs:200});if(d&&d!==s){let f=lr(e,t,d);return us(e,t,f,l)}}return p}var _e={url:null,sandboxId:null,dbSandboxId:null,version:0},uu=new Set;function ps(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 uu)r()}}function ds(){return _e.url}function pu(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function pe(){return pu(q().backendUrl||"http://localhost:8008/v1")}function gs(){let e=q().sandboxId||"";return`${pe()}/p/${e}/8000`}function du(e){return`${pe()}/p/${e}/8000`}function pt(e){return du(e)}function O(){let e=ds();return e||(q().billingEnabled??!1?"":gs())}var I=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let l=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:l,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},Le=class extends I{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},Se=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)}},Fe=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",o="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||o},Object.setPrototypeOf(this,e.prototype)}};function Ge(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 Se(t,{message:r?.message||e.message||"Billing error",...r})}function gu(e){return e instanceof Se}function mu(e){if(!(e instanceof Se))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 pr(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function dr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function ms(e){let t=dr(e),n=await E(`${t}/env`);if(!n.ok)throw new Error(await pr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function fs(e,t,n){let r=dr(e),s=await E(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await pr(s,"Failed to save secret"))}async function ys(e,t){let n=dr(e),r=await E(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await pr(r,"Failed to delete secret"))}var fu={list:ms,set:fs,delete:ys};async function yu(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await E(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}function ve(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 dt(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Be(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ve(e)}async function hs(e){let t=Be(e),n=await E(`${t}/kortix/pty`);if(!n.ok)throw new Error(await dt(n,"Failed to list terminals"));return n.json()}async function bs(e,t){let n=Be(e),r=await E(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await dt(r,"Failed to create terminal"));return r.json()}async function xs(e,t,n){let r=Be(e),s=await E(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await dt(s,"Failed to update terminal"));return s.json()}async function Ps(e,t){let n=Be(e),r=await E(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await dt(r,"Failed to remove terminal"))}async function ks(e,t){let n=Be(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:"),ve(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,o=await ut();if(!o)return s;let l=s.includes("?")?"&":"?";return`${s}${l}token=${encodeURIComponent(o)}`}var hu={list:hs,create:bs,update:xs,remove:Ps,webSocketUrl:ks};async function _(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await E(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),l=await o.text(),p={};try{p=l?JSON.parse(l):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||l.slice(0,200)||`Request failed with ${o.status}`);return p}async function Mm(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 _(e,`/kortix/tasks${r}`)}async function Um(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function Om(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function Lm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function Fm(e,t){return _(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function Gm(e,t,n){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Bm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Nm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function Hm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Km(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return _(e,`/kortix/tickets${n}`)}async function Wm(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Vm(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function zm(e,t){return _(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Jm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Qm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Xm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Ym(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Zm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function ef(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function tf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function nf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function rf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function sf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function of(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function af(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function cf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function lf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function uf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function pf(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function df(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function gf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function mf(e,t,n=200){return _(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function ff(e){return _(e,"/kortix/projects")}async function yf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function hf(e,t){return _(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function bf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function xf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Pf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function kf(e,t,n="all"){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function wf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function _f(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function Sf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function vf(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Rf(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function Cf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function Tf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Af(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function If(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function jf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function Ef(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function $f(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var bu=1e4,xu={retryOnAuthError:!1};function Re(e,t,n){return _(e,t,{signal:AbortSignal.timeout(bu),...n},xu)}async function qf(e,t=!1){return(await Re(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function Df(e){return(await Re(e,"/kortix/services/templates")).templates??[]}async function Mf(e,t){return(await Re(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function Uf(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return Re(e,s,{method:r?"DELETE":"POST"})}async function Of(e,t){return Re(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function Lf(e,t){return Re(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var gt=new Map,gr=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function de(){let e=O();if(!e)throw new gr;return se(e)}function se(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=gt.get(e);if(t)return t;if(!Nt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=cr({baseUrl:e,fetch:E});return gt.set(e,n),n}function Wf(e){gt.delete(e)}function Vf(){gt.clear()}var mt=new Map;function zf(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=mt.get(e);if(t)return t;let n=cr({baseUrl:e,fetch});return mt.set(e,n),n}function Jf(e){mt.delete(e)}function Qf(){mt.clear()}async function Pu(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 Xf(e){let t=O();if(!t)throw new I("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await E(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new I(`System reload failed (${n.status}): ${await Pu(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function _s(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 I(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Ce(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 ft(e,t=O()){let n=await E(`${t}${e}`);if(!n.ok)throw new I(await Ce(n),{status:n.status,response:n});return n.json()}var mr=["/workspace","/tmp","/home","/opt"],ku=mr.filter(e=>e!=="/workspace");function Ss(e){return mr.some(t=>e===t||e.startsWith(`${t}/`))}function vs(e){return Ss(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function Te(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(ku.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Rs=Te;async function yt(e,t=O()){let n=Te(e)||".";return(await ft(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function He(e,t=O()){let n=Te(e),r=await E(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new I(await Ce(r),{status:r.status,response:r});return r.json()}async function wu(e,t,n=O()){let r=Te(e),s=await E(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new I(await Ce(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new I("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let o=await s.blob();return t&&(!o.type||o.type==="application/octet-stream")?new Blob([o],{type:t}):o}async function Ke(e,t=O()){try{return await wu(e,void 0,t)}catch{}let n=await He(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 ht(e=O()){return ft("/file/status",e)}async function bt(e,t,n=O()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),ft(`/find/file?${r.toString()}`,n)}async function xt(e,t=O()){return(await ft(`/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 Ne=[400,1200],_u=e=>e===408||e===429||e===502||e===503||e===504,ws=e=>new Promise(t=>setTimeout(t,e));async function Su(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 Cs(e,t){let n;for(let s=0;s<=Ne.length;s++){let o;try{o=await t(e())}catch(p){if(n=p,s===Ne.length)break;await ws(Ne[s]);continue}if(o.ok)return o.json();let l=await Su(o);if(n=new I(`Upload failed (${o.status}): ${l}`,{status:o.status,response:o}),!_u(o.status)||s===Ne.length)throw n;await ws(Ne[s])}if(n instanceof I)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new I(`Upload failed: ${r}`)}function We(e,t,n,r=O()){return Cs(()=>{let s=new FormData,o=(t??"").trim();return o&&s.append("path",o.startsWith("/")?o:`/${o}`),n?s.append("file",e,n):s.append("file",e),s},s=>E(`${r}/file/upload`,{method:"POST",body:s}))}function vu(e,t,n=O()){return Cs(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},o=await ut();return o&&(s.Authorization=`Bearer ${o}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function Pt(e,t=O()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),o=s.pop()||"untitled",l=s.join("/")||"/workspace";return We(new File([" "],o,{type:"application/octet-stream"}),l,void 0,t)}async function kt(e,t,n=O()){return vu(t,await Ke(e,n),n)}async function wt(e,t=O()){let n=await E(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Delete failed (${n.status}): ${await Ce(n)}`,{status:n.status,response:n});return n.json()}async function _t(e,t=O()){let n=await E(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Mkdir failed (${n.status}): ${await Ce(n)}`,{status:n.status,response:n});return n.json()}async function St(e,t,n=O()){let r=await E(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new I(`Rename failed (${r.status}): ${await Ce(r)}`,{status:r.status,response:r});return r.json()}async function Ts(){return _s(await de().project.current())}async function fr(){return _s(await de().global.health())}async function As(){try{return(await fr()).healthy===!0}catch{return!1}}var Ru={list:yt,read:He,readBlob:Ke,status:ht,findFiles:bt,findText:xt,upload:We,create:Pt,copy:kt,remove:wt,mkdir:_t,rename:St,currentProject:Ts,health:fr,isReachable:As,toDaemonPath:Te,toSandboxAbsolutePath:vs,toWorkspaceRelative:Rs};var ie=()=>q().backendUrl||"",Tu="feature_not_supported",Au=e=>new Promise(t=>setTimeout(t,e)),Iu=new Set([502,503,504]),ju=e=>Iu.has(e),Eu=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},$u=2,Is=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),yr=!1;function uy(e){yr=e}function py(){return yr}async function ge(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=t,l=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!l.signal.aborted&&(d=!0,f=!0,l.abort())},s);let m=await Oe(),h=o.body instanceof FormData,x={};if(h||(x["Content-Type"]="application/json"),Object.assign(x,o.headers),yr&&(x["x-kortix-admin-bypass"]="1"),m)x.Authorization=`Bearer ${m}`;else return{error:new Le,success:!1};let P=Eu(o.method),u=P?$u+1:1,a;for(let C=0;C<u;C++){C>0&&await Au(250*2**(C-1));let w=C===0?l:new AbortController;C>0&&(p=setTimeout(()=>{f=!0,w.abort()},s));try{a=await fetch(e,{...o,headers:x,signal:w.signal,credentials:o.credentials??"omit"})}catch(A){if(p&&(clearTimeout(p),p=null),Is(A)||C===u-1)throw A;continue}if(p&&(clearTimeout(p),p=null),!(P&&ju(a.status)&&C<u-1))break;try{await a.arrayBuffer()}catch{}}if(!a.ok){let C=`HTTP ${a.status}: ${a.statusText}`,w=null;try{w=await a.json(),typeof w.message=="string"?C=w.message:w.error&&typeof w.error=="string"?C=w.error:typeof w.detail=="string"?C=w.detail:typeof w.detail?.message=="string"&&(C=w.detail.message)}catch{}let v=new I(C,{status:a.status,response:a,details:w||void 0,data:w,detail:w?.detail,code:w?.code||w?.error_code||w?.detail?.error_code||a.status.toString()});if(a.status===402&&(v=Ge(v)),a.status===403&&w?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}a.status===431&&(v=new Fe(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let A=a.status===501&&w?.code===Tu;return n&&!A&&q().onError?.(v,r),{error:v,success:!1}}let S,T=a.headers.get("content-type");return T?.includes("application/json")?S=await a.json():T?.includes("text/")?S=await a.text():S=await a.blob(),{data:S,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let h=Is(m);h&&(d=!0);let x;if(h){if(!f)return{error:new I("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let P=e.replace(ie(),"")||e;x=new I(`Request timed out after ${Math.round(s/1e3)}s: ${P}`,{code:"TIMEOUT",url:e,endpoint:P,timeout:s}),n&&q().onError?.(x,r)}else m instanceof Error?(x=new I(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&q().onError?.(x,r)):(x=new I(String(m)),n&&q().onError?.(x,r));return{error:x,success:!1}}}var dy={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new I(r.message||"Database error",{code:r.code,details:r});return q().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new I(n.message,{name:n.name||"ApiError",stack:n.stack}):new I(String(n));return q().onError?.(r,t),{error:r,success:!1}}}},i={get:(e,t)=>ge(`${ie()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>ge(`${ie()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>ge(`${ie()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>ge(`${ie()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ge(`${ie()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],ge(`${ie()}${e}`,{...s,method:"POST",body:t,headers:o})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],ge(`${ie()}${e}`,{...s,method:"PUT",body:t,headers:o})}};function c(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function hr(e){return e.replace(/\/v1\/?$/,"")}async function Ae(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=hr(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 js(){return c(await i.get("/accounts"))}async function Es(e){return c(await i.post("/accounts",e))}async function $s(e){return c(await i.get(`/accounts/${e}`))}async function qs(e,t){return c(await i.patch(`/accounts/${e}`,{name:t}))}async function Ds(e){return c(await i.get(`/accounts/${e}/members`))}async function Ms(e,t){return c(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Us(e){return c(await i.get(`/accounts/${e}/invites`))}async function Os(e,t){return c(await i.delete(`/accounts/${e}/invites/${t}`))}async function Ls(e,t){return c(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function Fs(e){return c(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function Gs(e){return c(await i.post(`/account-invites/${e}/accept`,{}))}async function Bs(e){return c(await i.post(`/account-invites/${e}/decline`,{}))}async function Ns(e,t){return c(await i.delete(`/accounts/${e}/members/${t}`))}async function Hs(e,t,n){return c(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function Ks(e){return c(await i.post(`/accounts/${e}/leave`,{}))}async function hy(e){return Ae(e,"/v1/accounts")}async function Ws(){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 Ie(){return c(await i.get("/projects"))}async function Vs(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/projects${t}`))}async function br(e,t){return c(await i.get(`/projects/${e}`,t))}async function zs(e,t,n="write"){return c(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Js(e,t){return c(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function Qs(e){return c(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function ky(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function xr(e,t){let n=c(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 Pr(e,t){return c(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function kr(e,t){return c(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function wy(e,t){return c(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function Xs(e){return c(await i.post("/projects",e))}async function Ys(e){return c(await i.post("/projects/create-repo",e))}async function Zs(e,t={}){return c(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function _y(){try{return c(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function wr(e,t){return c(await i.patch(`/projects/${e}`,t))}async function ei(e,t,n){return c(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function ti(e,t){return c(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Sy(e,t){return c(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function vy(e,t){return c(await i.patch(`/projects/${e}/warm-pool`,t))}async function ni(e,t){return c(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function _r(e){return c(await i.delete(`/projects/${e}`))}async function Ry(e,t){return Ae(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Cy(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=hr(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 ri(e){return c(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function si(e){return c(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function ii(e){return c(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function oi(e){return c(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function ai(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)),c(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function ci(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return c(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function li(e){return c(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function ui(e){return c(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function pi(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),c(await i.delete(`/projects/github/installation?${n.toString()}`))}async function qy(e,t){return c(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function di(e,t){return c(await i.get(`/projects/${e}/access-requests`,t))}async function gi(e,t,n="member"){return c(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function mi(e,t){return c(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function fi(e){return c(await i.get(`/projects/${e}/access`))}async function yi(e,t,n){return c(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function hi(e,t){return c(await i.delete(`/projects/${e}/access/${t}`))}function Dy(e){return"status"in e&&e.status==="invited"}async function bi(e,t,n,r){return c(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function xi(e){return c(await i.get(`/projects/${e}/access/pending-invites`))}async function Pi(e,t){return c(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function ki(e,t){return c(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function wi(e){return c(await i.get(`/projects/${e}/group-grants`))}async function _i(e,t,n,r){return c(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 Si(e,t,n,r){return c(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function vi(e,t){return c(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Ri(e){return c(await i.get(`/projects/${e}/resource-grants`))}async function Ci(e,t){return c(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 Ti(e,t){return c(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Ai(e,t){return c(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Ii(e,t){return c(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function ji(e,t,n,r="once"){return c(await i.post(`/projects/${e}/approvals/${t}`,{decision:n,scope:r}))}async function Ei(e){return c(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function $i(e,t){return c(await i.post(`/projects/${e}/secrets`,t))}async function qi(e,t,n){return c(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function Di(e,t,n){return c(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Mi(e,t){return c(await i.put(`/projects/${e}/git-credential`,t))}async function Ui(e,t){return c(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function Oi(e,t,n){return c(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function Li(e,t){return c(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function Fi(e){return c(await i.get(`/projects/${e}/connector-profiles`))}async function Gi(e){return c(await i.get(`/projects/${e}/connector-profiles/all`))}async function Bi(e,t){return c(await i.post(`/projects/${e}/connector-profiles`,t))}async function Ni(e,t){return c(await i.post(`/projects/${e}/connector-profiles/me`,t))}async function Hi(e,t,n){return c(await i.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}function me(e,t,n){return`/projects/${e}/connector-profiles/${t}/oauth2/${n}`}async function By(e,t){return c(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/profile`,{}))}async function Ny(e,t,n){return c(await i.put(me(e,t,"application"),n))}async function Hy(e,t){return c(await i.get(me(e,t,"application")))}async function Ky(e,t,n){return c(await i.post(me(e,t,"discover"),n))}async function Wy(e,t,n){return c(await i.post(me(e,t,"authorize"),n))}async function Vy(e,t,n){return c(await i.post(me(e,t,"device"),n))}async function zy(e,t,n){return c(await i.post(me(e,t,`device/${encodeURIComponent(n)}`),{}))}async function Jy(e,t){return c(await i.get(me(e,t,"status")))}async function Ki(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function Wi(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function Vi(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/default`,{}))}async function zi(e,t,n={}){return c(await i.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}async function Ji(e,t){return c(await i.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}async function Qi(e){return c(await i.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function Xi(e){return c(await i.post(`/executor/projects/${e}/connectors/sync`,{}))}async function Yi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function Zi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function eo(e,t){return c(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function to(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function no(e,t){return c(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function ro(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function so(e,t){return c(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function io(e,t){return c(await i.post(`/executor/projects/${e}/connectors`,t))}async function oo(e,t){return c(await i.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function ao(e,t){return c(await i.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function co(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return c(await i.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function lo(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return c(await i.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function uo(e,t){let n=new URLSearchParams({id:t});return c(await i.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function po(){return c(await i.get("/executor/connect-status"))}async function go(e,t,n){let r=typeof n=="string"?{value:n}:n;return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function mo(e,t){return c(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function Qy(e,t){return c(await i.get(`/projects/${e}/connector-profiles/${encodeURIComponent(t)}/policies`))}async function Xy(e,t,n){return c(await i.put(`/projects/${e}/connector-profiles/${encodeURIComponent(t)}/policies`,{policies:n}))}async function fo(e){return c(await i.get(`/executor/projects/${e}/policies`))}async function yo(e,t,n){return c(await i.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function ho(e){return c(await i.get(`/projects/${e}/sandboxes`))}async function bo(e){return c(await i.get(`/projects/${e}/snapshots`))}async function Sr(e){return c(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function xo(e,t){return c(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Po(e){return c(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function ko(e,t){return c(await i.post(`/projects/${e}/sandbox-templates`,t))}async function wo(e,t,n){return c(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function _o(e,t){return c(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function So(e,t){return c(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function vo(e){return c(await i.get(`/projects/${e}/sandboxes`))}async function Ro(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 c(await i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Co(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)),c(await i.get(`/projects/${e}/files/search?${r.toString()}`))}async function To(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),c(await i.get(`/projects/${e}/files/content?${r.toString()}`))}async function Ao(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await Oe(),l=`${q().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(l,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function Io(e){return c(await i.get(`/projects/${e}/branches`))}async function jo(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 c(await i.get(`/projects/${e}/commits${r}`))}async function Eo(e,t){return c(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function $o(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return c(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function qo(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)),c(await i.get(`/projects/${e}/files/history?${r.toString()}`))}async function Do(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return c(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function Mo(e,t){let n=t?`?status=${t}`:"";return c(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Uo(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}`))}async function Oo(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function Lo(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Fo(e,t){return c(await i.post(`/projects/${e}/change-requests`,t))}async function Go(e,t,n){return c(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function Bo(e,t){return c(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function No(e,t){return c(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function Ho(e,t,n){return c(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function Ko(e,t,n){return c(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var vr=new Set;function vt(e){e&&vr.add(e)}function Wo(e){return!!e&&vr.has(e)}function yh(e){e&&vr.delete(e)}async function Ve(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope),t?.end_user_ref&&n.set("end_user_ref",t.end_user_ref);let r=n.size>0?`?${n}`:"";return c(await i.get(`/projects/${e}/sessions${r}`))}async function Vo(e,t,n){return c(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function zo(e,t){return c(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function Jo(e,t){return c(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Qo(e,t,n){return c(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function Xo(e,t,n){return c(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function ze(e,t){let n=c(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||vt(n?.session_id),n}async function Yo(e){let t=c(await i.post(`/projects/${e}/sessions/warm`,{}));return vt(t.session.session_id),t}async function Zo(e,t){let n=c(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return vt(n.session_id),n}async function ea(e,t,n){return c(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function ta(e,t,n,r){let s=n?`?limit=${n}`:"";return c(await i.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function na(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 c(await i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function ra(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 c(await i.get(`/projects/${e}/sessions/${t}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function sa(e,t,n){return c(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function ia(e,t){return c(await i.delete(`/projects/${e}/sessions/${t}`))}async function Rt(e,t){return c(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function Ct(e,t){return c(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function oa(e,t,n){return c(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function aa(e){return c(await i.get(`/projects/${e}/triggers`))}async function ca(e,t){return c(await i.post(`/projects/${e}/triggers`,t))}async function la(e,t,n){return c(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function ua(e,t){return c(await i.delete(`/projects/${e}/triggers/${t}`))}async function pa(e,t){return c(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function da(e,t){return c(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var oe=new Map;function Rr(e,t){return`${e}::${t}`}function ga(e,t){oe.delete(e),oe.set(e,t)}function ma(e,t){let n=Rr(e,t),r=oe.get(n);return r&&ga(n,r),r}function fa(e,t,n){let r=Rr(e,t);if(!oe.has(r)&&oe.size>=512){let s=oe.keys().next().value;s!==void 0&&oe.delete(s)}ga(r,n)}function ya(e,t){oe.delete(Rr(e,t))}function Ih(e){if(e.status!=="running"||!e.sandbox_provider||!e.sandbox_url||!e.opencode_session_id)return null;let t=e.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return!t||!e.sandbox_id?null:{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}}var Cr=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 jh(e){return e instanceof Error&&e.name==="SessionStartError"}function qu(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 Cr(s,{status:n,code:r,terminal:!0}):null}async function je(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=qu(s.error);if(p&&!(p.status===404&&Wo(t)))throw p;return null}let o=s.data,l=o.sandbox?.external_id;return o.stage==="ready"&&l&&o.opencode_session_id&&fa(e,t,{opencodeSessionId:o.opencode_session_id,runtimeUrl:pt(l),sandboxId:l}),o}function Eh(e,t){return["session-start",e,t]}async function ha(e){return c(await i.get(`/projects/${e}/model-defaults`))}async function ba(e,t){return c(await i.put(`/projects/${e}/model-defaults`,t))}async function xa(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return c(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function Pa(e,t,n){return c(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,n))}async function Bh(e,t){return c(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function Nh(e,t,n){return c(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,n))}async function ka(e,t){return c(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function wa(){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 _a(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?wa():s.data}async function Sa(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?wa():s.data}async function va(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 c(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function Ra(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 c(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Ca(){return c(await i.get("/billing/credit-breakdown"))}async function Ta(e){let t=e!=null?`?days=${e}`:"";return c(await i.get(`/billing/usage-history${t}`))}async function Aa(){return c(await i.get("/billing/tier-configurations"))}async function Vh(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Ae(e,`/v1/billing/account-state${t}`)}async function Ia(e){return c(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 ja(e,t){return c(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Ea(e,t){return c(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function $a(e,t){return c(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function qa(e){return c(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function Da(e,t,n){return c(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function Ma(e){return c(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function Ua(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),c(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Oa(e){return c(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 La(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function Fa(e){return c(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function zh(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Jh(e){return c(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 Qh(e){return c(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function Xh(e){return c(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function Ga(e={}){let t=new URLSearchParams;e.start&&t.set("start",e.start),e.end&&t.set("end",e.end),e.groupBy&&t.set("group_by",e.groupBy);let n=e.endUserRef??e.originRef;n&&t.set("end_user_ref",n),e.accountId&&t.set("account_id",e.accountId);let r=t.toString();return c(await i.get(`/usage${r?`?${r}`:""}`))}async function Ba(e,t){return c(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function tb(e){return Ba("slack",e)}function nb(e){return Ba("teams",e)}async function Na(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function Ha(e,t){return c(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Du={oauth_available:!1,install_url:null};async function Ka(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Du:t.data}async function Wa(e){return c(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Va(e){let t=await i.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function za(e,t){return c(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Ja(e,t){return c(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 Tr(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Mu={provider:"agentmail",managed_available:!1};async function Qa(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?Tr(r.data):null}async function Xa(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Mu:t.data}async function Ya(e,t){let n=c(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Tr(n)}async function Za(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 ec(e,t,n){let r=c(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 Tr(r)}async function tc(e,t){return c(await i.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function rb(e){return c(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function sb(e,t,n){return c(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function nc(e){return c(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function rc(e,t){return c(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function sc(e){return c(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ic(e,t){return c(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function oc(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 c(await i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function ac(e,t){return c(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function cc(e,t){return c(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function lc(e,t){return c(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function uc(e,t){return c(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function pc(e,t){return c(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function dc(e,t){return c(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function gc(e){return c(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function mc(e,t){return c(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function fc(e,t){return c(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function yc(e){return c(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function hc(e,t){return c(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function bc(e,t){return c(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function xc(e,t,n,r,s){return c(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 cb(e,t){return c(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Pc(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 mb(){return c(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function fb(){return c(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function yb(e){return c(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function hb(){return c(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function bb(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return c(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function xb(e){return c(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function k(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function D(e){return i.get(e,{showErrors:!1})}async function wb(e){return k(await D(`/accounts/${e}/iam/groups`)).groups}async function _b(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}`))}async function Sb(e,t){return k(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function vb(e,t,n){return k(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function Rb(e,t){return k(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function Cb(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}/members`)).members}async function Tb(e,t,n){return k(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function Ab(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function Ib(e,t,n){return k(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function jb(e,t){return k(await D(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function Eb(e,t){return k(await D(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function $b(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 k(await D(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function qb(e,t){return k(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Db(e,t,n){return k(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function Mb(e,t){return k(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function Ub(e,t){return k(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function Ob(e,t){return k(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function Lb(e){return k(await D(`/accounts/${e}/iam/roles`)).roles}async function Fb(e){return k(await D(`/accounts/${e}/iam/agent-identities`)).agents}async function Gb(e,t){return k(await D(`/accounts/${e}/iam/roles/${t}/permissions`))}async function Bb(e){return k(await D(`/accounts/${e}/iam/actions`)).actions}async function Nb(e,t){return k(await D(`/accounts/${e}/iam/roles/${t}/usage`))}async function Hb(e,t){return k(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function Kb(e,t,n){return k(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function Wb(e,t,n){return k(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function Vb(e,t){return k(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function zb(e,t,n){return k(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function Jb(e){return k(await D(`/accounts/${e}/iam/scim/tokens`)).tokens}async function Qb(e,t){return k(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function Xb(e,t){return k(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function Yb(e){return k(await D(`/accounts/${e}/iam/mfa-required`))}async function Zb(e){return k(await D(`/accounts/${e}/iam/mfa-required/preview`))}async function ex(e,t){return k(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function tx(e){return k(await D(`/accounts/${e}/iam/sso/provider`)).provider}async function nx(e,t){return k(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function rx(e,t){return k(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function sx(e){return k(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function ix(e){return k(await D(`/accounts/${e}/iam/sso/mappings`)).mappings}async function ox(e,t){return k(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function ax(e,t){return k(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function cx(e){return k(await D(`/accounts/${e}/iam/session-policy`))}async function lx(e,t){return k(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function ux(e){return k(await D(`/accounts/${e}/iam/sessions`)).sessions}async function px(e,t){return k(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function dx(e){return k(await D(`/accounts/${e}/iam/pat-policy`))}async function gx(e,t){return k(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function mx(e){return k(await D(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function fx(e,t){return k(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function yx(e,t){return k(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function hx(e,t){return k(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function bx(e){return k(await D(`/accounts/${e}/audit/webhooks`)).webhooks}async function xx(e,t){return k(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function Px(e,t,n){return k(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function kx(e,t){return k(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function wx(e,t={}){let n=new URLSearchParams;t.action&&n.set("action",t.action),t.actor&&n.set("actor",t.actor),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 k(await D(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function _x(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),k(await D(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function Sx(e,t,n){return n.length===0?[]:k(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function vx(e){return k(await D(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function Rx(e,t){return k(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function Ix(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:c(e,"Failed to load account deletion status")}async function jx(e="User requested deletion"){return c(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function Ex(){return c(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function $x(){return c(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function qx(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Ox(){return i.get("/admin/api/provider-distribution").then(e=>c(e))}function Lx(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>c(t))}function Fx(e){return i.put("/admin/api/provider-distribution",e).then(t=>c(t))}function Gx(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>c(t))}function Bx(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>c(n))}function Nx(){return i.get("/admin/api/provider-fallback").then(e=>c(e))}function Hx(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>c(t))}async function zx(e){return c(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function Jx(e,t){return c(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 kc(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 c(await i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function wc(e,t){return c(await i.get(`/projects/${e}/review/items/${t}`))}async function _c(e,t){return c(await i.post(`/projects/${e}/review/items`,t))}async function Sc(e,t,n){return c(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function vc(e,t){return c(await i.post(`/projects/${e}/review/bulk`,t))}async function Rc(e){return c(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Cc(e){return c(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 Tc(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 Ar=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Ac(e,t=""){return`${pe()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Ic(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 Ar(s,t.status)}return r}async function sP(e){return Ic(Ac(e))}async function iP(e){return Ic(Ac(e,"/messages"))}var Ir=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function jc(e){return`${pe()}/public/voice-join/${encodeURIComponent(e)}`}async function Ec(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 Ir(s,t.status)}return r}async function cP(e){return Ec(jc(e))}async function lP(e,t=0){let n=`${jc(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return Ec(n)}async function $c(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/accounts/tokens${t}`))}async function qc(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return c(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Dc(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return c(await i.delete(`/accounts/tokens/${e}${n}`))}async function Mc(e){return c(await i.get(`/projects/${e}/cli-token`))}async function Uc(e,t){return c(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Oc(e,t){return c(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Lc(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return c(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Fc(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since);let r=n.toString();return c(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function Gc(e){return c(await i.get(`/accounts/${e}/audit/webhooks`))}async function Bc(e,t){return c(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function Nc(e,t,n){return c(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Hc(e,t){return c(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Kc(e,t){return c(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 Wc(e,t){return c(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function Vc(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 c(await i.get(`/marketplace/items${n}`))}async function zc(){return c(await i.get("/marketplace/marketplaces"))}async function Jc(){return c(await i.get("/marketplace/marketplaces/featured"))}async function Qc(e){return c(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function Xc(e,t){return c(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function Yc(){return c(await i.get("/marketplace/sources"))}async function Zc(e){return c(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function el(e){return c(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function wP(e,t){return c(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function RP(e){return c(await i.get(`/templates/${encodeURIComponent(e)}`))}async function CP(e,t){return c(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}function jP(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 tl(e,t){let n=(e===void 0?O():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await E(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}return{status:r.status,ok:r.ok,health:o,body:s}}var ae={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var nl=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,rl=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,sl=new Set([22,4096,parseInt(ae.KORTIX_MASTER,10)]);function Uu(e){return rl.test(e)}function Tt(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 Ou(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Lu=new Set(["'",'"',"`","<","(","["]),Fu=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Gu(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&&Lu.has(e[t]);)t++;for(;n>t&&Fu.has(e[n-1]);)n--;return e.slice(t,n)}function Bu(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Nu=/^\/proxy\/(\d{1,5})(\/.*)?$/,Hu=/^\/(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 Ku(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Hu.test(t.pathname)}catch{return!1}}function At(e){if(!e)return null;let t=Gu(Ou(e.trim())),n=al(t);if(n){let r=Tt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let o=`${r.pathname||"/"}${r.search}${r.hash}`,l=parseInt(ae.KORTIX_MASTER,10);if(s===l){let d=r.pathname.match(Nu);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=Tt(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=Tt(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Bu(e);return r&&r!==e?At(r):null}}function Wu(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let o=r.index,l=o+r[0].length;t.some(([d,f])=>o>=d&&l<=f)||t.push([o,l])}return t}function Vu(e,t){return t.some(([n,r])=>e>=n&&e<r)}function zu(e){let t=[],n=new Set,r=Wu(e);nl.lastIndex=0;let s;for(;(s=nl.exec(e))!==null;){let o=At(s[0]);if(!o)continue;let{originalUrl:l,port:p,path:d}=o;p<1||p>65535||sl.has(p)||n.has(l)||(n.add(l),t.push({originalUrl:l,port:p,path:d,startIndex:s.index,endIndex:s.index+l.length,inCodeBlock:Vu(s.index,r)}))}return t}function DP(e){return zu(e).length>0}function Ju(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Qu(e){return e.sandboxId.trim().length>0}function fe(e,t,n){let r=Tt(t);if(!Qu(n))return ep(e,r);if(!Ju(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 MP(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return fe(3211,`/open?path=/workspace/${r}`,t)}function Xu(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function UP(e){return`http://localhost:3211${Xu(e)}`}function Yu(){return"/health"}function OP(e){return fe(3211,Yu(),e)}function LP(e,t){return fe(e,"/",t)}function Zu(e){let t=At(e);return!(!t||sl.has(t.port)||Ku(e))}function il(e,t){if(!e)return e;let n=At(e);return n?Zu(n.originalUrl)?fe(n.port,n.path,t):n.originalUrl:e}function ep(e,t="/"){return`http://localhost:${e}${t}`}var ol=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function al(e){let t=e.match(rl);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(ol);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 FP(e){try{let t=al(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function GP(e){return Uu(e)||ol.test(e)}function BP(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var Je="/web-proxy/";function NP(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Je}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(ae.KORTIX_MASTER,10);return`${fe(o,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function HP(e){try{let t=new URL(e),n=t.pathname.indexOf(Je);if(n===-1)return null;let s=t.pathname.slice(n+Je.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],l=s[2],p=s[3]||"/";return`${o}://${l}${p}${t.search}${t.hash}`}catch{return null}}function KP(e){try{return new URL(e).pathname.includes(Je)}catch{return e.includes(Je)}}function WP(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 VP(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 cl="frontend";function It(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${cl}] ${t}`,...n?[n]:[]);try{de().app.log({service:cl,level:e,message:t,extra:n})}catch{}}var ce={debug:(e,t)=>It("debug",e,t),info:(e,t)=>It("info",e,t),warn:(e,t)=>It("warn",e,t),error:(e,t)=>It("error",e,t)};function tp(e){return{type:"heartbeat-gap",gapMs:e}}function np(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 rp={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},sp=16,ip=8,op=6e4,ap=5e3,cp=250,lp=1e3,up=3e4,pp=5,dp=3e3,gp=3e4,mp=2e4,fp=2e3,yp=8;function hp(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function ll(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 jr(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=e,l=e.timers??rp,p=e.connectTimeoutMs??mp,d=e.heartbeatTimeoutMs??op,f=e.maxConsecutiveHardFailures??yp,m=new AbortController,h=()=>m.abort();o&&(o.aborted?m.abort():o.addEventListener("abort",h,{once:!0}));let x=l.now(),P=[],u,a=0,S=new Map,T=()=>{if(u&&l.clearTimeout(u),u=void 0,P.length===0)return;let w=P;P=[],S.clear(),a=l.now(),x=l.now();for(let v of w)if(v)try{n(v.event)}catch(A){console.warn("[opencode-events] event handler threw, skipping",A)}},C=()=>{if(u)return;let w=l.now()-a;u=l.setTimeout(T,Math.max(0,sp-w))};return(async()=>{let w=0,v=0;for(;!m.signal.aborted;){let A=!1,$=!1,y,R,H=null,V=l.now(),B=new AbortController,F=ll(m.signal);F.promise.then(()=>B.abort());try{let K=await new Promise((Lt,qe)=>{let J=!1;R=l.setTimeout(()=>{J||(J=!0,ce.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),B.abort(),qe(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:B.signal,sseDefaultRetryDelay:dp,sseMaxRetryDelay:gp,sseMaxRetryAttempts:1}).then(Y=>{J||(J=!0,l.clearTimeout(R),Lt(Y))},Y=>{J||(J=!0,l.clearTimeout(R),qe(Y))})}),{stream:U}=K;x=l.now();let X=()=>{l.clearTimeout(y),y=l.setTimeout(()=>{ce.warn("SSE heartbeat timeout, forcing reconnect"),B.abort()},d)};X();let nt=l.now(),Kl=U[Symbol.asyncIterator]();for(;!B.signal.aborted;){let Lt=Kl.next().then(re=>({kind:"next",result:re}),re=>({kind:"error",error:re})),qe=ll(B.signal),J=await Promise.race([Lt,qe.promise.then(()=>({kind:"aborted"}))]);if(qe.cleanup(),J.kind==="aborted")break;if(J.kind==="error")throw J.error;if(J.result.done)break;A=!0,X();let Y=J.result.value,rt=Y&&typeof Y=="object"&&"payload"in Y?Y.payload:Y;if(!rt?.type)continue;let Ft=hp(rt);if(Ft){let re=S.get(Ft);re!==void 0&&(P[re]=void 0),S.set(Ft,P.length)}P.push({type:rt.type,event:rt}),C(),!(l.now()-nt<ip)&&(nt=l.now(),await new Promise(re=>l.setTimeout(re,0)))}$=A}catch(K){if(m.signal.aborted)break;H=K;let U=String(K),X=U.includes("401")||U.includes("403")||U.includes("Unauthorized")||U.includes("Token refresh failed");if(ce.error("SSE event stream error",{error:U,retryCount:w,isAuthError:X}),X)try{lt(),await ur(),ce.info("SSE: refreshed auth token after auth error")}catch(nt){ce.error("SSE: failed to refresh auth token",{error:String(nt)})}}finally{l.clearTimeout(y),l.clearTimeout(R),B.abort(),F.cleanup(),T()}if(m.signal.aborted)break;let ke=l.now()-V,ne=H?.cause?.status;if(v=!A&&(typeof ne=="number"&&ne>=400||ke<fp)?v+1:0,v>=f){ce.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(H)});try{s?.({consecutiveFailures:v,lastError:H})}catch(K){console.warn("[opencode-events] onParked handler threw",K)}break}let Q=l.now()-x;Q>ap&&r?.(Q),$?w=0:(w++,w>1&&ce.warn("SSE event stream reconnecting",{retryCount:w}));let z=$?cp:Math.min(lp*2**Math.min(w-1,pp),up);await new Promise(K=>{let U=l.setTimeout(K,z),X=()=>{l.clearTimeout(U),K()};m.signal.addEventListener("abort",X,{once:!0})})}})(),{close:()=>{m.abort(),o&&o.removeEventListener("abort",h),u&&l.clearTimeout(u)}}}function bp(){return de()}var jt=new Map,Et=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 xp(e,t){Bt(e,t);function n(u){try{return new URL(u)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(u,window.location.origin)}catch{return null}throw new I(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(u)}). 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(u){let a=q().backendUrl??e.backendUrl,S=80,T=n(a);return T&&(S=T.port?Number(T.port):T.protocol==="https:"?443:80),{sandboxId:u,backendPort:S,apiBaseUrl:a}}let s={list:js,get:$s,create:Es,updateName:qs,leave:Ks,members:Ds,invite:Ms,removeMember:Ns,updateMemberRole:Hs,invites:Us,cancelInvite:Os,resendInvite:Ls,tokens:{list:$c,create:qc,revoke:Dc},audit:{log:Lc,export:Fc,webhooks:{list:Gc,create:Bc,update:Nc,remove:Hc}}},o={accountState:_a,accountStateMinimal:Sa,transactions:va,transactionsSummary:Ra,creditBreakdown:Ca,usageHistory:Ta,usageRollup:Ga,tierConfigurations:Aa,checkout:{createSession:u=>Ia(u),confirmSession:(u,a)=>ja(u,a)},subscription:{createPortalSession:(u,a)=>Ea(u,a),cancel:(u,a)=>$a(u,a),reactivate:u=>qa(u),scheduleDowngrade:(u,a,S)=>Da(u,a,S),cancelScheduledChange:u=>Ma(u),prorationPreview:(u,a)=>Ua(u,a)},credits:{purchase:u=>Oa(u),autoTopupSettings:u=>La(u),configureAutoTopup:u=>Fa(u)}},l={describe:Fs,accept:Gs,decline:Bs},p={list:Ie,listForAccount:Vs,get:br,detail:xr,create:Xs,createRepo:Ys,provision:Zs,update:wr,archive:_r,llmCatalog:Pr,modelPicker:kr,sandboxHealth:Sr,sandboxTemplates:ho,sessions:Ve,createSession:ze},d={linkRepository:ri,getInstallation:si,listInstallations:ii,listLinkableInstallations:oi,listRepositories:ai,listRepositoryBranches:ci,linkInstallation:ui,saveInstallation:li,deleteInstallation:pi},f={list:Rc,create:Cc,revoke:Tc},m=po,h={items:u=>Vc(u),item:u=>Qc(u),itemFile:(u,a)=>Xc(u,a),marketplaces:()=>zc(),featured:()=>Jc(),sources:{list:()=>Yc(),add:u=>Zc(u),remove:u=>el(u)}};function x(u){return{get:a=>br(u,a),detail:()=>xr(u),update:a=>wr(u,a),archive:()=>_r(u),llmCatalog:()=>Pr(u),modelPicker:()=>kr(u),sandboxHealth:()=>Sr(u),onboardingComplete:(...a)=>ni(u,...a),tokens:{list:()=>Mc(u),create:a=>Uc(u,a),revoke:a=>Oc(u,a)},setupLinks:{requestSecret:a=>Kc(u,a),requestConnector:a=>Wc(u,a)},validateManifest:a=>Js(u,a),gitToken:()=>Qs(u),secrets:{list:()=>Ei(u),upsert:a=>$i(u,a),remove:a=>Ui(u,a),setPersonal:(...a)=>Oi(u,...a),removePersonal:a=>Li(u,a),setGitCredential:a=>Mi(u,a),startProviderOAuth:(...a)=>qi(u,...a),pollProviderOAuth:(...a)=>Di(u,...a)},access:{list:()=>fi(u),invite:(...a)=>bi(u,...a),update:(...a)=>yi(u,...a),revoke:a=>hi(u,a),pendingInvites:()=>xi(u),resendInvite:(...a)=>ki(u,...a),revokeInvite:(...a)=>Pi(u,...a),requests:()=>di(u),approveRequest:(...a)=>gi(u,...a),rejectRequest:(...a)=>mi(u,...a),groupGrants:()=>wi(u),attachGroupGrant:(...a)=>_i(u,...a),updateGroupGrant:(...a)=>Si(u,...a),detachGroupGrant:a=>vi(u,a),resourceGrants:{list:()=>Ri(u),create:a=>Ci(u,a),remove:a=>Ti(u,a)}},connectors:{list:()=>Qi(u),config:(...a)=>no(u,...a),create:(...a)=>io(u,...a),remove:(...a)=>ao(u,...a),sync:()=>Xi(u),auth:{discover:(...a)=>oo(u,...a)},setName:(...a)=>ro(u,...a),setCredentialMode:(...a)=>Yi(u,...a),setCredential:(...a)=>go(u,...a),setSensitive:(...a)=>Zi(u,...a),profiles:{list:()=>Fi(u),listAll:()=>Gi(u),reconcile:(...a)=>Bi(u,...a),reconcileMember:(...a)=>Ni(u,...a),updateCredential:(...a)=>Hi(u,...a),revoke:(...a)=>Ki(u,...a),activate:(...a)=>Wi(u,...a),setDefault:(...a)=>Vi(u,...a),pipedreamConnect:(...a)=>zi(u,...a),pipedreamFinalize:(...a)=>Ji(u,...a)},policies:{get:(...a)=>eo(u,...a),set:(...a)=>to(u,...a)},pipedream:{listApps:(...a)=>co(u,...a),connect:(...a)=>so(u,...a),finalize:(...a)=>mo(u,...a)},discover:{list:(...a)=>lo(u,...a),detail:(...a)=>uo(u,...a)}},policies:{list:()=>fo(u),set:(...a)=>yo(u,...a)},triggers:{list:()=>aa(u),create:(...a)=>ca(u,...a),update:(...a)=>la(u,...a),remove:(...a)=>ua(u,...a),fire:(...a)=>da(u,...a),setActivation:(...a)=>pa(u,...a)},files:{list:a=>Ro(u,a),read:(a,S)=>To(u,a,S),search:(...a)=>Co(u,...a),archive:(...a)=>Ao(u,...a),history:(...a)=>qo(u,...a)},git:{commits:()=>jo(u),commit:a=>Eo(u,a),commitDiff:a=>$o(u,a),branches:()=>Io(u),versionDiff:(...a)=>Do(u,...a),inviteCollaborator:(...a)=>zs(u,...a)},changeRequests:{list:()=>Mo(u),get:a=>Uo(u,a),diff:a=>Oo(u,a),mergePreview:a=>Lo(u,a),open:(...a)=>Fo(u,...a),merge:(...a)=>Go(u,...a),close:(...a)=>Bo(u,...a),reopen:(...a)=>No(u,...a),requestChanges:(...a)=>Ho(u,...a)},sessions:{list:a=>Ve(u,a),create:a=>ze(u,a),ensureWarm:()=>Yo(u),claimWarm:a=>Zo(u,a)},review:{list:a=>kc(u,a),get:a=>wc(u,a),submit:a=>_c(u,a),act:(...a)=>Sc(u,...a),bulkAct:a=>vc(u,a)},approvals:{list:a=>Ai(u,a),resolve:(...a)=>ji(u,...a),sessionsNeedingInput:a=>Ii(u,a)},gateway:{logs:a=>oc(u,a),log:a=>ac(u,a),overview:a=>cc(u,a),series:a=>lc(u,a),breakdown:a=>uc(u,a),sessions:a=>pc(u,a),errors:a=>dc(u,a),budgets:()=>gc(u),setBudget:a=>mc(u,a),deleteBudget:a=>fc(u,a),keys:()=>yc(u),createKey:a=>hc(u,a),revokeKey:a=>bc(u,a),routing:{get:()=>nc(u),set:a=>rc(u,a),reset:()=>sc(u),preview:a=>ic(u,a)},playground:(a,S,T)=>xc(u,a,S,T)},channels:{slack:{installation:()=>Na(u),connect:a=>Ha(u,a),mode:()=>Ka(u),manifest:()=>Wa(u),disconnect:()=>Va(u),getFile:a=>za(u,a),uploadFile:a=>Ja(u,a)},email:{installation:a=>Qa(u,a),mode:()=>Xa(u),connect:a=>Ya(u,a),disconnect:a=>Za(u,a),updatePolicy:(...a)=>ec(u,...a)},voice:{setBotName:a=>tc(u,a)}},updateExperimentalFeature:(...a)=>ei(u,...a),modelDefaults:{get:()=>ha(u),set:a=>ba(u,a),clear:a=>xa(u,a)},setDefaultAgent:a=>ka(u,a),sandbox:{list:()=>vo(u),snapshots:()=>bo(u),rebuildSnapshot:a=>xo(u,a),fixWithAgent:()=>Po(u),createTemplate:a=>ko(u,a),updateTemplate:(...a)=>wo(u,...a),removeTemplate:a=>_o(u,a),buildTemplate:a=>So(u,a),setProvider:a=>ti(u,a)},setAgentScope:(...a)=>Pa(u,...a),session:a=>P(u,a)}}function P(u,a){let S=null,T,C;function w(){if(S)return S;let y=ma(u,a);return y&&(S=y),S}async function v(y){let R=w();if(R)return R;let H=y?.readyTimeoutMs??18e4,V=`${u}
|
|
8
|
-
${
|
|
5
|
+
`);L=F.pop()??"";for(let J of F){let Q=J.split(`
|
|
6
|
+
`),X=[],N;for(let O of Q)if(O.startsWith("data:"))X.push(O.replace(/^data:\s*/,""));else if(O.startsWith("event:"))N=O.replace(/^event:\s*/,"");else if(O.startsWith("id:"))P=O.replace(/^id:\s*/,"");else if(O.startsWith("retry:")){let W=Number.parseInt(O.replace(/^retry:\s*/,""),10);Number.isNaN(W)||(f=W)}let M,H=!1;if(X.length){let O=X.join(`
|
|
7
|
+
`);try{M=JSON.parse(O),H=!0}catch{M=O}}H&&(s&&await s(M),r&&(M=await r(M))),n?.({data:M,event:N,id:P,retry:f}),X.length&&(yield M)}}}finally{T.removeEventListener("abort",h),$.releaseLock()}break}catch(k){if(t?.(k),u!==void 0&&a>=u)break;let j=Math.min(f*2**(a-1),p??3e4);await w(j)}}}()}};var $l=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},ql=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Dl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ye=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(g=>encodeURIComponent(g))).join(ql(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=$l(r),u=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):ye({allowReserved:e,name:n,value:p})).join(c);return r==="label"||r==="matrix"?c+u:u},ye=({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,P])=>{g=[...g,m,e?P:encodeURIComponent(P)]});let y=g.join(",");switch(r){case"form":return`${n}=${y}`;case"label":return`.${y}`;case"matrix":return`;${n}=${y}`;default:return y}}let u=Dl(r),p=Object.entries(s).map(([g,y])=>ye({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:y})).join(u);return r==="label"||r==="matrix"?u+p:p};var Ml=/\{[^{}]+\}/g,Ul=({path:e,url:t})=>{let n=t,r=t.match(Ml);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,`;${ye({name:u,value:g})}`);continue}let y=encodeURIComponent(p==="label"?`.${g}`:g);n=n.replace(s,y)}return n},Yr=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=Ul({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function Ut(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 Zr=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 Ot={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var es=({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=ye({allowReserved:p.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},ts=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"}},Ol=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,ns=async({security:e,...t})=>{for(let n of e){if(Ol(t,n.name))continue;let r=await Zr(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}}},Lt=e=>Yr({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:es(e.querySerializer),url:e.url}),Ft=(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},Ll=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?Ll(n):Object.entries(n);for(let[s,c]of r)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},Ae=class{fns=[];clear(){this.fns=[]}eject(t){let n=this.getInterceptorIndex(t);this.fns[n]&&(this.fns[n]=null)}exists(t){let n=this.getInterceptorIndex(t);return!!this.fns[n]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,n){let r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=n,t):!1}use(t){return this.fns.push(t),this.fns.length-1}},rs=()=>({error:new Ae,request:new Ae,response:new Ae}),Fl=es({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Gl={"Content-Type":"application/json"},Ie=(e={})=>({...Ot,headers:Gl,parseAs:"auto",querySerializer:Fl,...e});var je=(e={})=>{let t=Ft(Ie(),e),n=()=>({...t}),r=y=>(t=Ft(t,y),n()),s=rs(),c=async y=>{let m={...t,...y,fetch:y.fetch??t.fetch??globalThis.fetch,headers:et(t.headers,y.headers),serializedBody:void 0};m.security&&await ns({...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 P=Lt(m);return{opts:m,url:P}},u=async y=>{let{opts:m,url:P}=await c(y),w={redirect:"follow",...m,body:Ut(m)},R=new Request(P,w);for(let A of s.request.fns)A&&(R=await A(R,m));let l=m.fetch,f;try{f=await l(R)}catch(A){let S=A;for(let $ of s.error.fns)$&&(S=await $(A,void 0,R,m));if(S=S||{},m.throwOnError)throw S;return m.responseStyle==="data"?void 0:{error:S,request:R,response:void 0}}for(let A of s.response.fns)A&&(f=await A(f,R,m));let a={request:R,response:f};if(f.ok){let A=(m.parseAs==="auto"?ts(f.headers.get("Content-Type")):m.parseAs)??"json";if(f.status===204||f.headers.get("Content-Length")==="0"){let $;switch(A){case"arrayBuffer":case"blob":case"text":$=await f[A]();break;case"formData":$=new FormData;break;case"stream":$=f.body;break;default:$={};break}return m.responseStyle==="data"?$:{data:$,...a}}let S;switch(A){case"arrayBuffer":case"blob":case"formData":case"text":S=await f[A]();break;case"json":{let $=await f.text();S=$?JSON.parse($):{};break}case"stream":return m.responseStyle==="data"?f.body:{data:f.body,...a}}return A==="json"&&(m.responseValidator&&await m.responseValidator(S),m.responseTransformer&&(S=await m.responseTransformer(S))),m.responseStyle==="data"?S:{data:S,...a}}let T=await f.text(),v;try{v=JSON.parse(T)}catch{}let k=v??T,j=k;for(let A of s.error.fns)A&&(j=await A(k,f,R,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,...a}},p=y=>m=>u({...m,method:y}),g=y=>async m=>{let{opts:P,url:w}=await c(m);return Xr({...P,body:P.body,headers:P.headers,method:y,onRequest:async(R,l)=>{let f=new Request(R,l);for(let a of s.request.fns)a&&(f=await a(f,P));return f},serializedBody:Ut(P),url:w})};return{buildUrl:Lt,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 Bl={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Kl=Object.entries(Bl),ss=(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&&ss(n.args,t);return t},Hl=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=ss(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),g=p.map||s.key;p.in&&(n[p.in][g]=u)}else n.body=u;else for(let[p,g]of Object.entries(u??{})){let y=r.get(p);if(y)if(y.in){let m=y.map||p;n[y.in][m]=g}else n[y.map]=g;else{let m=Kl.find(([P])=>p.startsWith(P));if(m){let[P,w]=m;n[w][p.slice(P.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[P,w]of Object.entries(s.allowExtra))if(w){n[P][p]=g;break}}}}return Hl(n),n};var is=je(Ie({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??is}},Gt=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)}},Bt=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}})}},Kt=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})}},Ht=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}})}},zt=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})}},Nt=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}})}},Wt=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})}},Vt=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})}},Jt=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}})}},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/workspace/adapter",...n,...r})}},Xt=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 Qt({client:this.client})}},Yt=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new Ht({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new zt({client:this.client})}_console;get console(){return this._console??=new Nt({client:this.client})}_session;get session(){return this._session??=new Wt({client:this.client})}_resource;get resource(){return this._resource??=new Vt({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Jt({client:this.client})}_workspace;get workspace(){return this._workspace??=new Xt({client:this.client})}},Zt=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}})}},en=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 Zt({client:this.client})}},tn=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})}},nn=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})}},rn=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})}},sn=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}})}},on=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})}},an=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})}},cn=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})}},ln=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})}},un=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})}},pn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/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 un({client:this.client})}},dn=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})}},gn=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})}},mn=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})}},fn=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})}},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:"/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 fn({client:this.client})}},hn=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})}},bn=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})}},xn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},kn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Pn=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}})}},_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:"/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 Pn({client:this.client})}},wn=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})}},Sn=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}})}},vn=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}})}},Cn=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 vn({client:this.client})}},Rn=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}})}},Tn=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 Rn({client:this.client})}},An=class extends b{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},In=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})}},jn=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})}},En=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})}},$n=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}})}},qn=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})}},Dn=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 En({client:this.client})}_permission;get permission(){return this._permission??=new $n({client:this.client})}_question;get question(){return this._question??=new qn({client:this.client})}},Mn=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})}},Un=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})}},On=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}})}},Ln=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}})}},Fn=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 On({client:this.client})}_attempt;get attempt(){return this._attempt??=new Ln({client:this.client})}},Gn=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}})}},Bn=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})}},Kn=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})}},Hn=class extends b{_request;get request(){return this._request??=new Bn({client:this.client})}_saved;get saved(){return this._saved??=new Kn({client:this.client})}},zn=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})}},Nn=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})}},Wn=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})}},Vn=class extends b{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Jn=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})}},Qn=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})}},Xn=class extends b{_request;get request(){return this._request??=new Qn({client:this.client})}},Yn=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})}},Zn=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})}},er=class extends b{_health;get health(){return this._health??=new An({client:this.client})}_location;get location(){return this._location??=new In({client:this.client})}_agent;get agent(){return this._agent??=new jn({client:this.client})}_session;get session(){return this._session??=new Dn({client:this.client})}_model;get model(){return this._model??=new Mn({client:this.client})}_provider;get provider(){return this._provider??=new Un({client:this.client})}_integration;get integration(){return this._integration??=new Fn({client:this.client})}_credential;get credential(){return this._credential??=new Gn({client:this.client})}_permission;get permission(){return this._permission??=new Hn({client:this.client})}_fs;get fs(){return this._fs??=new zn({client:this.client})}_command;get command(){return this._command??=new Nn({client:this.client})}_skill;get skill(){return this._skill??=new Wn({client:this.client})}_event;get event(){return this._event??=new Vn({client:this.client})}_pty;get pty(){return this._pty??=new Jn({client:this.client})}_question;get question(){return this._question??=new Xn({client:this.client})}_reference;get reference(){return this._reference??=new Yn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Zn({client:this.client})}},tt=class e extends b{static __registry=new Gt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Bt({client:this.client})}_app;get app(){return this._app??=new Kt({client:this.client})}_experimental;get experimental(){return this._experimental??=new Yt({client:this.client})}_global;get global(){return this._global??=new en({client:this.client})}_event;get event(){return this._event??=new tn({client:this.client})}_config;get config(){return this._config??=new nn({client:this.client})}_tool;get tool(){return this._tool??=new rn({client:this.client})}_worktree;get worktree(){return this._worktree??=new sn({client:this.client})}_find;get find(){return this._find??=new on({client:this.client})}_file;get file(){return this._file??=new an({client:this.client})}_instance;get instance(){return this._instance??=new cn({client:this.client})}_path;get path(){return this._path??=new ln({client:this.client})}_vcs;get vcs(){return this._vcs??=new pn({client:this.client})}_command;get command(){return this._command??=new dn({client:this.client})}_lsp;get lsp(){return this._lsp??=new gn({client:this.client})}_formatter;get formatter(){return this._formatter??=new mn({client:this.client})}_mcp;get mcp(){return this._mcp??=new yn({client:this.client})}_project;get project(){return this._project??=new hn({client:this.client})}_pty;get pty(){return this._pty??=new bn({client:this.client})}_question;get question(){return this._question??=new xn({client:this.client})}_permission;get permission(){return this._permission??=new kn({client:this.client})}_provider;get provider(){return this._provider??=new _n({client:this.client})}_session;get session(){return this._session??=new wn({client:this.client})}_part;get part(){return this._part??=new Sn({client:this.client})}_sync;get sync(){return this._sync??=new Cn({client:this.client})}_tui;get tui(){return this._tui??=new Tn({client:this.client})}_v2;get v2(){return this._v2??=new er({client:this.client})}};function as(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||os(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 ${os(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function os(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function zl(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function Nl(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=zl(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 tr(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=je(e);return t.interceptors.request.use(n=>Nl(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(as),new tt({client:t})}function Wl(e){return new Promise(t=>setTimeout(t,e))}async function cs(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 Wl(s)),u=await e(),u)return u;return u}var Vl=3e4;function Jl(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function ls(e,t,n=Vl){let r=e instanceof Request?e.signal:t?.signal;if(Jl(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function nr(e,t,n){let r=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,c)=>{r.set(c,s)}),n&&!r.has("Authorization")&&r.set("Authorization",`Bearer ${n}`),r}function us(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function rr(){return q().getToken()}async function Ee(e){return cs(()=>q().getToken(),e,nt)}function nt(){}function Fg(e){}function Gg(e){}async function he(){return rr()}async function ps(e){return Ee(e)}function ds(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function E(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await ps();if(!s)return us();let c=nr(e,t,s),u=ls(e,t),p=await ds(e,t,c,u);if(p.status===401&&r&&s){nt();let g=await ps({attempts:2,baseDelayMs:200});if(g&&g!==s){let y=nr(e,t,g);return ds(e,t,y,u)}}return p}var be={url:null,sandboxId:null,dbSandboxId:null,version:0},Ql=new Set;function gs(e,t=null,n=null){if(!(be.url===e&&be.sandboxId===t&&be.dbSandboxId===n)){be={url:e,sandboxId:t,dbSandboxId:n,version:be.version+1};for(let r of Ql)r()}}function ms(){return be.url}function Xl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function ce(){return Xl(q().backendUrl||"http://localhost:8008/v1")}function fs(){let e=q().sandboxId;return e?`${ce()}/p/${e}/8000`:""}function Yl(e){return`${ce()}/p/${e}/8000`}function rt(e){return Yl(e)}function G(){let e=ms();return e||(q().billingEnabled??!1?"":fs())}var I=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},$e=class extends I{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},xe=class e extends Error{status;detail;constructor(t,n,r){super(r||n.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=n,Object.setPrototypeOf(this,e.prototype)}},qe=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function De(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new xe(t,{message:r?.message||e.message||"Billing error",...r})}function Zl(e){return e instanceof xe}function eu(e){if(!(e instanceof xe))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 sr(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function ir(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function ys(e){let t=ir(e),n=await E(`${t}/env`);if(!n.ok)throw new Error(await sr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function hs(e,t,n){let r=ir(e),s=await E(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await sr(s,"Failed to save secret"))}async function bs(e,t){let n=ir(e),r=await E(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await sr(r,"Failed to delete secret"))}var tu={list:ys,set:hs,delete:bs};async function nu(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await E(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function 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 Me(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ke(e)}async function xs(e){let t=Me(e),n=await E(`${t}/kortix/pty`);if(!n.ok)throw new Error(await st(n,"Failed to list terminals"));return n.json()}async function ks(e,t){let n=Me(e),r=await E(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await st(r,"Failed to create terminal"));return r.json()}async function Ps(e,t,n){let r=Me(e),s=await E(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await st(s,"Failed to update terminal"));return s.json()}async function _s(e,t){let n=Me(e),r=await E(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await st(r,"Failed to remove terminal"))}async function ws(e,t){let n=Me(t),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),ke(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await he();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var ru={list:xs,create:ks,update:Ps,remove:_s,webSocketUrl:ws};async function _(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await E(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!c.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${c.status}`);return p}async function cm(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 _(e,`/kortix/tasks${r}`)}async function lm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function um(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function pm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function dm(e,t){return _(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function gm(e,t,n){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function mm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function fm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function ym(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function hm(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return _(e,`/kortix/tickets${n}`)}async function bm(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function xm(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function km(e,t){return _(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Pm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function _m(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function wm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Sm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function vm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Cm(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Rm(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Tm(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Am(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Im(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function jm(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Em(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function $m(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function qm(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Dm(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Mm(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Um(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Om(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Lm(e,t,n=200){return _(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Fm(e){return _(e,"/kortix/projects")}async function Gm(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Bm(e,t){return _(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Km(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Hm(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function zm(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Nm(e,t,n="all"){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function Wm(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function Vm(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function Jm(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function Qm(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Xm(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function Ym(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function Zm(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function ef(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function tf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function nf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function rf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function sf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var su=1e4,iu={retryOnAuthError:!1};function Pe(e,t,n){return _(e,t,{signal:AbortSignal.timeout(su),...n},iu)}async function of(e,t=!1){return(await Pe(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function af(e){return(await Pe(e,"/kortix/services/templates")).templates??[]}async function cf(e,t){return(await Pe(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function lf(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return Pe(e,s,{method:r?"DELETE":"POST"})}async function uf(e,t){return Pe(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function pf(e,t){return Pe(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var it=new Map,or=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function le(){let e=G();if(!e)throw new or;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(!Mt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=tr({baseUrl:e,fetch:E});return it.set(e,n),n}function bf(e){it.delete(e)}function xf(){it.clear()}var ot=new Map;function kf(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=ot.get(e);if(t)return t;let n=tr({baseUrl:e,fetch});return ot.set(e,n),n}function Pf(e){ot.delete(e)}function _f(){ot.clear()}async function ou(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 wf(e){let t=G();if(!t)throw new I("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await E(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new I(`System reload failed (${n.status}): ${await ou(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function vs(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new I(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function _e(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function at(e,t=G()){let n=await E(`${t}${e}`);if(!n.ok)throw new I(await _e(n),{status:n.status,response:n});return n.json()}var ar=["/workspace","/tmp","/home","/opt"],au=ar.filter(e=>e!=="/workspace");function Cs(e){return ar.some(t=>e===t||e.startsWith(`${t}/`))}function Rs(e){return Cs(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function we(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(au.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Ts=we;async function ct(e,t=G()){let n=we(e)||".";return(await at(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function Oe(e,t=G()){let n=we(e),r=await E(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new I(await _e(r),{status:r.status,response:r});return r.json()}async function cu(e,t,n=G()){let r=we(e),s=await E(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new I(await _e(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new I("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function Le(e,t=G()){try{return await cu(e,void 0,t)}catch{}let n=await Oe(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function lt(e=G()){return at("/file/status",e)}async function ut(e,t,n=G()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),at(`/find/file?${r.toString()}`,n)}async function pt(e,t=G()){return(await at(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var Ue=[400,1200],lu=e=>e===408||e===429||e===502||e===503||e===504,Ss=e=>new Promise(t=>setTimeout(t,e));async function uu(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 As(e,t){let n;for(let s=0;s<=Ue.length;s++){let c;try{c=await t(e())}catch(p){if(n=p,s===Ue.length)break;await Ss(Ue[s]);continue}if(c.ok)return c.json();let u=await uu(c);if(n=new I(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!lu(c.status)||s===Ue.length)throw n;await Ss(Ue[s])}if(n instanceof I)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new I(`Upload failed: ${r}`)}function Fe(e,t,n,r=G()){return As(()=>{let s=new FormData,c=(t??"").trim();return c&&s.append("path",c.startsWith("/")?c:`/${c}`),n?s.append("file",e,n):s.append("file",e),s},s=>E(`${r}/file/upload`,{method:"POST",body:s}))}function pu(e,t,n=G()){return As(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await he();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function dt(e,t=G()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return Fe(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function gt(e,t,n=G()){return pu(t,await Le(e,n),n)}async function mt(e,t=G()){let n=await E(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Delete failed (${n.status}): ${await _e(n)}`,{status:n.status,response:n});return n.json()}async function ft(e,t=G()){let n=await E(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Mkdir failed (${n.status}): ${await _e(n)}`,{status:n.status,response:n});return n.json()}async function yt(e,t,n=G()){let r=await E(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new I(`Rename failed (${r.status}): ${await _e(r)}`,{status:r.status,response:r});return r.json()}async function Is(){return vs(await le().project.current())}async function cr(){return vs(await le().global.health())}async function js(){try{return(await cr()).healthy===!0}catch{return!1}}var du={list:ct,read:Oe,readBlob:Le,status:lt,findFiles:ut,findText:pt,upload:Fe,create:dt,copy:gt,remove:mt,mkdir:ft,rename:yt,currentProject:Is,health:cr,isReachable:js,toDaemonPath:we,toSandboxAbsolutePath:Rs,toWorkspaceRelative:Ts};var ne=()=>q().backendUrl||"",mu="feature_not_supported",fu=e=>new Promise(t=>setTimeout(t,e)),yu=new Set([502,503,504]),hu=e=>yu.has(e),bu=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},xu=2,Es=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),lr=!1;function Mf(e){lr=e}function Uf(){return lr}async function ue(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,p=null,g=!1,y=!1;try{p=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,y=!0,u.abort())},s);let m=await Ee(),P=c.body instanceof FormData,w={};if(P||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),lr&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new $e,success:!1};let R=bu(c.method),l=R?xu+1:1,f;for(let v=0;v<l;v++){v>0&&await fu(250*2**(v-1));let k=v===0?u:new AbortController;v>0&&(p=setTimeout(()=>{y=!0,k.abort()},s));try{f=await fetch(e,{...c,headers:w,signal:k.signal,credentials:c.credentials??"omit"})}catch(A){if(p&&(clearTimeout(p),p=null),Es(A)||v===l-1)throw A;continue}if(p&&(clearTimeout(p),p=null),!(R&&hu(f.status)&&v<l-1))break;try{await f.arrayBuffer()}catch{}}if(!f.ok){let v=`HTTP ${f.status}: ${f.statusText}`,k=null;try{k=await f.json(),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 j=new I(v,{status:f.status,response:f,details:k||void 0,data:k,detail:k?.detail,code:k?.code||k?.error_code||k?.detail?.error_code||f.status.toString()});if(f.status===402&&(j=De(j)),f.status===403&&k?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}f.status===431&&(j=new qe(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let A=f.status===501&&k?.code===mu;return n&&!A&&q().onError?.(j,r),{error:j,success:!1}}let a,T=f.headers.get("content-type");return T?.includes("application/json")?a=await f.json():T?.includes("text/")?a=await f.text():a=await f.blob(),{data:a,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let P=Es(m);P&&(g=!0);let w;if(P){if(!y)return{error:new I("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let R=e.replace(ne(),"")||e;w=new I(`Request timed out after ${Math.round(s/1e3)}s: ${R}`,{code:"TIMEOUT",url:e,endpoint:R,timeout:s}),n&&q().onError?.(w,r)}else m instanceof Error?(w=new I(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&q().onError?.(w,r)):(w=new I(String(m)),n&&q().onError?.(w,r));return{error:w,success:!1}}}var Of={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new I(r.message||"Database error",{code:r.code,details:r});return q().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new I(n.message,{name:n.name||"ApiError",stack:n.stack}):new I(String(n));return q().onError?.(r,t),{error:r,success:!1}}}},i={get:(e,t)=>ue(`${ne()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>ue(`${ne()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>ue(`${ne()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>ue(`${ne()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ue(`${ne()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],ue(`${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"],ue(`${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 ur(e){return e.replace(/\/v1\/?$/,"")}async function Se(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=ur(e.backendUrl);try{let r=await fetch(`${n}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function $s(){return o(await i.get("/accounts"))}async function qs(e){return o(await i.post("/accounts",e))}async function Ds(e){return o(await i.get(`/accounts/${e}`))}async function Ms(e,t){return o(await i.patch(`/accounts/${e}`,{name:t}))}async function Us(e){return o(await i.get(`/accounts/${e}/members`))}async function Os(e,t){return o(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Ls(e){return o(await i.get(`/accounts/${e}/invites`))}async function Fs(e,t){return o(await i.delete(`/accounts/${e}/invites/${t}`))}async function Gs(e,t){return o(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function Bs(e){return o(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function Ks(e){return o(await i.post(`/account-invites/${e}/accept`,{}))}async function Hs(e){return o(await i.post(`/account-invites/${e}/decline`,{}))}async function zs(e,t){return o(await i.delete(`/accounts/${e}/members/${t}`))}async function Ns(e,t,n){return o(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function Ws(e){return o(await i.post(`/accounts/${e}/leave`,{}))}async function Kf(e){return Se(e,"/v1/accounts")}async function Vs(){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 ve(){return o(await i.get("/projects"))}async function Js(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/projects${t}`))}async function pr(e,t){return o(await i.get(`/projects/${e}`,t))}async function Qs(e,t,n="write"){return o(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Xs(e,t){return o(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function Ys(e){return o(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Wf(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function dr(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 gr(e,t){return o(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function mr(e,t){return o(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Vf(e,t){return o(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function Zs(e){return o(await i.post("/projects",e))}async function ei(e){return o(await i.post("/projects/create-repo",e))}async function ti(e,t={}){return o(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function Jf(){try{return o(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function fr(e,t){return o(await i.patch(`/projects/${e}`,t))}async function ni(e,t,n){return o(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function ri(e,t){return o(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Qf(e,t){return o(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function Xf(e,t){return o(await i.patch(`/projects/${e}/warm-pool`,t))}async function si(e,t){return o(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function yr(e){return o(await i.delete(`/projects/${e}`))}async function Yf(e,t){return Se(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Zf(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=ur(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 ii(e){return o(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function oi(e){return o(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function ai(e){return o(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function ci(e){return o(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function li(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 ui(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 pi(e){return o(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function di(e){return o(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function gi(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 oy(e,t){return o(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function mi(e,t){return o(await i.get(`/projects/${e}/access-requests`,t))}async function fi(e,t,n="member"){return o(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function yi(e,t){return o(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function hi(e){return o(await i.get(`/projects/${e}/access`))}async function bi(e,t,n){return o(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function xi(e,t){return o(await i.delete(`/projects/${e}/access/${t}`))}function ay(e){return"status"in e&&e.status==="invited"}async function ki(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 Pi(e){return o(await i.get(`/projects/${e}/access/pending-invites`))}async function _i(e,t){return o(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function wi(e,t){return o(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Si(e){return o(await i.get(`/projects/${e}/group-grants`))}async function vi(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 Ci(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 Ri(e,t){return o(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Ti(e){return o(await i.get(`/projects/${e}/resource-grants`))}async function Ai(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 Ii(e,t){return o(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function ji(e,t){return o(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Ei(e,t){return o(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function $i(e,t,n){return o(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function qi(e){return o(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Di(e,t){return o(await i.post(`/projects/${e}/secrets`,t))}async function Mi(e,t,n){return o(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function Ui(e,t,n){return o(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Oi(e,t){return o(await i.put(`/projects/${e}/git-credential`,t))}async function Li(e,t){return o(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function Fi(e,t,n){return o(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function Gi(e,t){return o(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function hr(e){return o(await i.get(`/projects/${e}/connector-profiles`))}var my=hr;async function br(e){return o(await i.get(`/projects/${e}/connector-profiles/all`))}var fy=br;async function xr(e,t){return o(await i.post(`/projects/${e}/connector-profiles`,t))}var yy=xr;async function kr(e,t){return o(await i.post(`/projects/${e}/connector-profiles/me`,t))}var hy=kr;async function Pr(e,t,n){return o(await i.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}var by=Pr;function pe(e,t,n){return`/projects/${e}/connector-profiles/${t}/oauth2/${n}`}async function ku(e,t){return o(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/profile`,{}))}var xy=ku;async function Pu(e,t,n){return o(await i.put(pe(e,t,"application"),n))}var ky=Pu;async function _u(e,t){return o(await i.get(pe(e,t,"application")))}var Py=_u;async function wu(e,t,n){return o(await i.post(pe(e,t,"discover"),n))}var _y=wu;async function Su(e,t,n){return o(await i.post(pe(e,t,"authorize"),n))}var wy=Su;async function vu(e,t,n){return o(await i.post(pe(e,t,"device"),n))}var Sy=vu;async function Cu(e,t,n){return o(await i.post(pe(e,t,`device/${encodeURIComponent(n)}`),{}))}var vy=Cu;async function Ru(e,t){return o(await i.get(pe(e,t,"status")))}var Cy=Ru;async function _r(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}var Ry=_r;async function wr(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}var Ty=wr;async function Sr(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/default`,{}))}var Ay=Sr;async function vr(e,t,n={}){return o(await i.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}var Iy=vr;async function Cr(e,t){return o(await i.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}var jy=Cr;async function Bi(e){return o(await i.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function Ki(e){return o(await i.post(`/executor/projects/${e}/connectors/sync`,{}))}async function Hi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function zi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function Ni(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function Wi(e,t){return o(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Vi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function Ey(e,t){throw new Error("Authorization-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function $y(e,t,n){throw new Error("Authorization-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function Ji(e,t){return o(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function Qi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function Xi(e,t){return o(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Yi(e,t){return o(await i.post(`/executor/projects/${e}/connectors`,t))}async function Zi(e,t){return o(await i.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function eo(e,t){return o(await i.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function to(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function no(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function ro(e,t){let n=new URLSearchParams({id:t});return o(await i.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function so(){return o(await i.get("/executor/connect-status"))}async function io(e,t,n){let r=typeof n=="string"?{value:n}:n;return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function oo(e,t){return o(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function ao(e){return o(await i.get(`/executor/projects/${e}/policies`))}async function co(e,t,n){return o(await i.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function lo(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function uo(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 po(e,t){return o(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function go(e){return o(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function mo(e,t){return o(await i.post(`/projects/${e}/sandbox-templates`,t))}async function fo(e,t,n){return o(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function yo(e,t){return o(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function ho(e,t){return o(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function bo(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function xo(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 ko(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 Po(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),o(await i.get(`/projects/${e}/files/content?${r.toString()}`))}async function _o(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 Ee(),u=`${q().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 wo(e){return o(await i.get(`/projects/${e}/branches`))}async function So(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 vo(e,t){return o(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Co(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 Ro(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 To(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 Ao(e,t){let n=t?`?status=${t}`:"";return o(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Io(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 Eo(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function $o(e,t){return o(await i.post(`/projects/${e}/change-requests`,t))}async function qo(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function Do(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function Mo(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function Uo(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function Oo(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var Tr=new Set;function ht(e){e&&Tr.add(e)}function Lo(e){return!!e&&Tr.has(e)}function Yy(e){e&&Tr.delete(e)}async function Ge(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope);let r=n.size>0?`?${n}`:"";return o(await i.get(`/projects/${e}/sessions${r}`))}async function Fo(e,t,n){return o(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function Go(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function Bo(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Ko(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function Ho(e,t,n){return o(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function Be(e,t){let n=o(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||ht(n?.session_id),n}async function zo(e){let t=o(await i.post(`/projects/${e}/sessions/warm`,{}));return ht(t.session.session_id),t}async function No(e,t){let n=o(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return ht(n.session_id),n}async function Ar(e,t,n){return o(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function Wo(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 Vo(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 Jo(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 Qo(e,t,n){return o(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function Xo(e,t){return o(await i.delete(`/projects/${e}/sessions/${t}`))}async function bt(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function xt(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function Yo(e,t){return o(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function Zo(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function ea(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function ta(e){return o(await i.get(`/projects/${e}/triggers`))}async function na(e,t){return o(await i.post(`/projects/${e}/triggers`,t))}async function ra(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 ia(e,t){return o(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function oa(e,t){return o(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var re=new Map;function Ir(e,t){return`${e}::${t}`}function aa(e,t){re.delete(e),re.set(e,t)}function ca(e,t){let n=Ir(e,t),r=re.get(n);return r&&aa(n,r),r}function la(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)}aa(r,n)}function ua(e,t){re.delete(Ir(e,t))}function dh(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 gh(e){return e instanceof Error&&e.name==="SessionStartError"}function Tu(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 Ce(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=Tu(s.error);if(p&&!(p.status===404&&Lo(t)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&la(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:rt(u),sandboxId:u}),c}function mh(e,t){return["session-start",e,t]}async function pa(e){return o(await i.get(`/projects/${e}/model-defaults`))}async function da(e,t){return o(await i.put(`/projects/${e}/model-defaults`,t))}async function ga(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 fa(e,t,n){let r=Iu(n);return o(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function ma(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Au(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Iu(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&&!Au(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 Sh(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 vh(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 ya(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function ju(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Er(e){let t=e.connectors_required?ya(e.connectors_required):void 0,n=e.connectors_personal?ya(e.connectors_personal):void 0;if(t&&n&&!ju(t,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...e};return delete r.connectors_personal,(t!==void 0||n!==void 0)&&(r.connectors_required=t??n),r}async function ha(e,t){return o(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function ba(){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 xa(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?ba():s.data}async function ka(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?ba():s.data}async function Pa(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 _a(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 wa(){return o(await i.get("/billing/credit-breakdown"))}async function Sa(e){let t=e!=null?`?days=${e}`:"";return o(await i.get(`/billing/usage-history${t}`))}async function va(){return o(await i.get("/billing/tier-configurations"))}async function Ah(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Se(e,`/v1/billing/account-state${t}`)}async function Ca(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 Ra(e,t){return o(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Ta(e,t){return o(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Aa(e,t){return o(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function Ia(e){return o(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function ja(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 Ea(e){return o(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function $a(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 qa(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 Da(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 Ma(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 Ih(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 jh(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 Eh(e){return o(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function $h(e){return o(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function Ua(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 Oa(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}async function La(e={}){let t=new URLSearchParams;Oa(t,e),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset));let n=t.size>0?`?${t}`:"";return o(await i.get(`/usage/session-costs${n}`))}async function $r(e,t={}){let n=new URLSearchParams;Oa(n,t);let r=n.size>0?`?${n}`:"";return o(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${r}`))}async function Fa(e,t){return o(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function Fh(e){return Fa("slack",e)}function Gh(e){return Fa("teams",e)}async function Ga(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function Ba(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Eu={oauth_available:!1,install_url:null};async function Ka(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Eu:t.data}async function Ha(e){return o(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function za(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 Na(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 Wa(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 qr(e){return{...e,profileId:e.profileId??e.profile_id??null}}var $u={provider:"agentmail",managed_available:!1};async function Va(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?qr(r.data):null}async function Ja(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?$u:t.data}async function Qa(e,t){let n=o(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return qr(n)}async function Xa(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 Ya(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 qr(r)}async function Za(e,t){return o(await i.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function Bh(e){return o(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Kh(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 ec(e){return o(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function tc(e,t){return o(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function nc(e){return o(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function rc(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 ic(e,t){return o(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function oc(e,t){return o(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function ac(e,t){return o(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function cc(e,t){return o(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function lc(e,t){return o(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function uc(e,t){return o(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function pc(e){return o(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function dc(e,t){return o(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function gc(e,t){return o(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function mc(e){return o(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function fc(e,t){return o(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function yc(e,t){return o(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function hc(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 Wh(e,t){return o(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function bc(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 Zh(){return o(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function eb(){return o(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function tb(e){return o(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function nb(){return o(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function rb(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 sb(e){return o(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function x(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function U(e){return i.get(e,{showErrors:!1})}async function ab(e){return x(await U(`/accounts/${e}/iam/groups`)).groups}async function cb(e,t){return x(await U(`/accounts/${e}/iam/groups/${t}`))}async function lb(e,t){return x(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function ub(e,t,n){return x(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function pb(e,t){return x(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function db(e,t){return x(await U(`/accounts/${e}/iam/groups/${t}/members`)).members}async function gb(e,t,n){return x(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function mb(e,t){return x(await U(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function fb(e,t,n){return x(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function yb(e,t){return x(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function hb(e,t){return x(await U(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function bb(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 x(await U(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function xb(e,t){return x(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function kb(e,t,n){return x(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function Pb(e,t){return x(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function _b(e,t){return x(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function wb(e,t){return x(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function Sb(e){return x(await U(`/accounts/${e}/iam/roles`)).roles}async function vb(e){return x(await U(`/accounts/${e}/iam/agent-identities`)).agents}async function Cb(e,t){return x(await U(`/accounts/${e}/iam/roles/${t}/permissions`))}async function Rb(e){return x(await U(`/accounts/${e}/iam/actions`)).actions}async function Tb(e,t){return x(await U(`/accounts/${e}/iam/roles/${t}/usage`))}async function Ab(e,t){return x(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function Ib(e,t,n){return x(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function jb(e,t,n){return x(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function Eb(e,t){return x(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function $b(e,t,n){return x(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function qb(e){return x(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function Db(e,t){return x(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function Mb(e,t){return x(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function Ub(e){return x(await U(`/accounts/${e}/iam/mfa-required`))}async function Ob(e){return x(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function Lb(e,t){return x(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function Fb(e){return x(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function Gb(e,t){return x(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Bb(e,t){return x(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function Kb(e){return x(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function Hb(e){return x(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function zb(e,t){return x(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function Nb(e,t){return x(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Wb(e){return x(await U(`/accounts/${e}/iam/session-policy`))}async function Vb(e,t){return x(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Jb(e){return x(await U(`/accounts/${e}/iam/sessions`)).sessions}async function Qb(e,t){return x(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function Xb(e){return x(await U(`/accounts/${e}/iam/pat-policy`))}async function Yb(e,t){return x(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Zb(e){return x(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function ex(e,t){return x(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function tx(e,t){return x(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function nx(e,t){return x(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function rx(e){return x(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function sx(e,t){return x(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function ix(e,t,n){return x(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function ox(e,t){return x(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function ax(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 x(await U(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function cx(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),x(await U(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function lx(e,t,n){return n.length===0?[]:x(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function ux(e){return x(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function px(e,t){return x(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function fx(){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 yx(e="User requested deletion"){return o(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function hx(){return o(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function bx(){return o(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function xx(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function wx(){return i.get("/admin/api/provider-distribution").then(e=>o(e))}function Sx(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>o(t))}function vx(e){return i.put("/admin/api/provider-distribution",e).then(t=>o(t))}function Cx(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>o(t))}function Rx(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>o(n))}function Tx(){return i.get("/admin/api/provider-fallback").then(e=>o(e))}function Ax(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>o(t))}async function $x(e){return o(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function qx(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 xc(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 kc(e,t){return o(await i.get(`/projects/${e}/review/items/${t}`))}async function Pc(e,t){return o(await i.post(`/projects/${e}/review/items`,t))}async function _c(e,t,n){return o(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function wc(e,t){return o(await i.post(`/projects/${e}/review/bulk`,t))}async function Sc(e){return o(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function vc(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 Cc(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 Dr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Rc(e,t=""){return`${ce()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Tc(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 Dr(s,t.status)}return r}async function Kx(e){return Tc(Rc(e))}async function Hx(e){return Tc(Rc(e,"/messages"))}var Mr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function Ac(e){return`${ce()}/public/voice-join/${encodeURIComponent(e)}`}async function Ic(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 Wx(e){return Ic(Ac(e))}async function Vx(e,t=0){let n=`${Ac(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return Ic(n)}async function jc(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/accounts/tokens${t}`))}async function Ec(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 $c(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.delete(`/accounts/tokens/${e}${n}`))}async function qc(e){return o(await i.get(`/projects/${e}/cli-token`))}async function Dc(e,t){return o(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Mc(e,t){return o(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Uc(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 Oc(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 Lc(e){return o(await i.get(`/accounts/${e}/audit/webhooks`))}async function Fc(e,t){return o(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function Gc(e,t,n){return o(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Bc(e,t){return o(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Kc(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 Hc(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 sk(e){return o(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function zc(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 Nc(){return o(await i.get("/marketplace/marketplaces"))}async function Wc(){return o(await i.get("/marketplace/marketplaces/featured"))}async function Vc(e){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function Jc(e,t){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function Qc(){return o(await i.get("/marketplace/sources"))}async function Xc(e){return o(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function Yc(e){return o(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function ck(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function dk(e){return o(await i.get(`/templates/${encodeURIComponent(e)}`))}async function gk(e,t){return o(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}function hk(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 Zc(e,t){let n=(e===void 0?G():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await E(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var se={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var el=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,tl=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,nl=new Set([22,4096,parseInt(se.KORTIX_MASTER,10)]);function qu(e){return tl.test(e)}function kt(e){if(!e)return"/";let t=e,n=t.indexOf("](");n!==-1&&(t=t.slice(0,n));let r=t.toLowerCase().indexOf("%5d(");return r!==-1&&(t=t.slice(0,r)),t?t.startsWith("/")?t:`/${t}`:"/"}function Du(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Mu=new Set(["'",'"',"`","<","(","["]),Uu=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Ou(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&&Mu.has(e[t]);)t++;for(;n>t&&Uu.has(e[n-1]);)n--;return e.slice(t,n)}function Lu(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Fu=/^\/proxy\/(\d{1,5})(\/.*)?$/,Gu=/^\/(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 Bu(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Gu.test(t.pathname)}catch{return!1}}function Pt(e){if(!e)return null;let t=Ou(Du(e.trim())),n=il(t);if(n){let r=kt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(se.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(Fu);if(g){let y=parseInt(g[1],10);if(y>=1&&y<=65535)return s=y,c=kt(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let p=kt(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Lu(e);return r&&r!==e?Pt(r):null}}function Ku(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let c=r.index,u=c+r[0].length;t.some(([g,y])=>c>=g&&u<=y)||t.push([c,u])}return t}function Hu(e,t){return t.some(([n,r])=>e>=n&&e<r)}function zu(e){let t=[],n=new Set,r=Ku(e);el.lastIndex=0;let s;for(;(s=el.exec(e))!==null;){let c=Pt(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||nl.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:Hu(s.index,r)}))}return t}function Pk(e){return zu(e).length>0}function Nu(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Wu(e){return e.sandboxId.trim().length>0}function de(e,t,n){let r=kt(t);if(!Wu(n))return Xu(e,r);if(!Nu(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 _k(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return de(3211,`/open?path=/workspace/${r}`,t)}function Vu(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function wk(e){return`http://localhost:3211${Vu(e)}`}function Ju(){return"/health"}function Sk(e){return de(3211,Ju(),e)}function vk(e,t){return de(e,"/",t)}function Qu(e){let t=Pt(e);return!(!t||nl.has(t.port)||Bu(e))}function rl(e,t){if(!e)return e;let n=Pt(e);return n?Qu(n.originalUrl)?de(n.port,n.path,t):n.originalUrl:e}function Xu(e,t="/"){return`http://localhost:${e}${t}`}var sl=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function il(e){let t=e.match(tl);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(sl);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 Ck(e){try{let t=il(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function Rk(e){return qu(e)||sl.test(e)}function Tk(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var Ke="/web-proxy/";function Ak(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Ke}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(se.KORTIX_MASTER,10);return`${de(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Ik(e){try{let t=new URL(e),n=t.pathname.indexOf(Ke);if(n===-1)return null;let s=t.pathname.slice(n+Ke.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 jk(e){try{return new URL(e).pathname.includes(Ke)}catch{return e.includes(Ke)}}function Ek(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 $k(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 ol="frontend";function _t(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${ol}] ${t}`,...n?[n]:[]);try{le().app.log({service:ol,level:e,message:t,extra:n})}catch{}}var ie={debug:(e,t)=>_t("debug",e,t),info:(e,t)=>_t("info",e,t),warn:(e,t)=>_t("warn",e,t),error:(e,t)=>_t("error",e,t)};function Yu(e){return{type:"heartbeat-gap",gapMs:e}}function Zu(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 ep={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},tp=16,np=8,rp=6e4,sp=5e3,ip=250,op=1e3,ap=3e4,cp=5,lp=3e3,up=3e4,pp=2e4,dp=2e3,gp=8;function mp(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function al(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 Ur(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??ep,p=e.connectTimeoutMs??pp,g=e.heartbeatTimeoutMs??rp,y=e.maxConsecutiveHardFailures??gp,m=new AbortController,P=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",P,{once:!0}));let w=u.now(),R=[],l,f=0,a=new Map,T=()=>{if(l&&u.clearTimeout(l),l=void 0,R.length===0)return;let k=R;R=[],a.clear(),f=u.now(),w=u.now();for(let j of k)if(j)try{n(j.event)}catch(A){console.warn("[opencode-events] event handler threw, skipping",A)}},v=()=>{if(l)return;let k=u.now()-f;l=u.setTimeout(T,Math.max(0,tp-k))};return(async()=>{let k=0,j=0;for(;!m.signal.aborted;){let A=!1,S=!1,$,L,h=null,C=u.now(),D=new AbortController,F=al(m.signal);F.promise.then(()=>D.abort());try{let H=await new Promise((Et,Te)=>{let V=!1;L=u.setTimeout(()=>{V||(V=!0,ie.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),D.abort(),Te(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:D.signal,sseDefaultRetryDelay:lp,sseMaxRetryDelay:up,sseMaxRetryAttempts:1}).then(Y=>{V||(V=!0,u.clearTimeout(L),Et(Y))},Y=>{V||(V=!0,u.clearTimeout(L),Te(Y))})}),{stream:O}=H;w=u.now();let W=()=>{u.clearTimeout($),$=u.setTimeout(()=>{ie.warn("SSE heartbeat timeout, forcing reconnect"),D.abort()},g)};W();let Je=u.now(),jl=O[Symbol.asyncIterator]();for(;!D.signal.aborted;){let Et=jl.next().then(ee=>({kind:"next",result:ee}),ee=>({kind:"error",error:ee})),Te=al(D.signal),V=await Promise.race([Et,Te.promise.then(()=>({kind:"aborted"}))]);if(Te.cleanup(),V.kind==="aborted")break;if(V.kind==="error")throw V.error;if(V.result.done)break;A=!0,W();let Y=V.result.value,Qe=Y&&typeof Y=="object"&&"payload"in Y?Y.payload:Y;if(!Qe?.type)continue;let $t=mp(Qe);if($t){let ee=a.get($t);ee!==void 0&&(R[ee]=void 0),a.set($t,R.length)}R.push({type:Qe.type,event:Qe}),v(),!(u.now()-Je<np)&&(Je=u.now(),await new Promise(ee=>u.setTimeout(ee,0)))}S=A}catch(H){if(m.signal.aborted)break;h=H;let O=String(H),W=O.includes("401")||O.includes("403")||O.includes("Unauthorized")||O.includes("Token refresh failed");if(ie.error("SSE event stream error",{error:O,retryCount:k,isAuthError:W}),W)try{nt(),await rr(),ie.info("SSE: refreshed auth token after auth error")}catch(Je){ie.error("SSE: failed to refresh auth token",{error:String(Je)})}}finally{u.clearTimeout($),u.clearTimeout(L),D.abort(),F.cleanup(),T()}if(m.signal.aborted)break;let J=u.now()-C,Q=h?.cause?.status;if(j=!A&&(typeof Q=="number"&&Q>=400||J<dp)?j+1:0,j>=y){ie.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:j,lastError:String(h)});try{s?.({consecutiveFailures:j,lastError:h})}catch(H){console.warn("[opencode-events] onParked handler threw",H)}break}let N=u.now()-w;N>sp&&r?.(N),S?k=0:(k++,k>1&&ie.warn("SSE event stream reconnecting",{retryCount:k}));let M=S?ip:Math.min(op*2**Math.min(k-1,cp),ap);await new Promise(H=>{let O=u.setTimeout(H,M),W=()=>{u.clearTimeout(O),H()};m.signal.addEventListener("abort",W,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",P),l&&u.clearTimeout(l)}}}function fp(){return le()}var wt=new Map,St=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 yp(e,t){Dt(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 I(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let f=q().backendUrl??e.backendUrl,a=80,T=n(f);return T&&(a=T.port?Number(T.port):T.protocol==="https:"?443:80),{sandboxId:l,backendPort:a,apiBaseUrl:f}}let s={list:$s,get:Ds,create:qs,updateName:Ms,leave:Ws,members:Us,invite:Os,removeMember:zs,updateMemberRole:Ns,invites:Ls,cancelInvite:Fs,resendInvite:Gs,tokens:{list:jc,create:Ec,revoke:$c},audit:{log:Uc,export:Oc,webhooks:{list:Lc,create:Fc,update:Gc,remove:Bc}}},c={accountState:xa,accountStateMinimal:ka,transactions:Pa,transactionsSummary:_a,creditBreakdown:wa,usageHistory:Sa,usageRollup:Ua,sessionCosts:{list:La,get:$r},tierConfigurations:va,checkout:{createSession:l=>Ca(l),confirmSession:(l,f)=>Ra(l,f)},subscription:{createPortalSession:(l,f)=>Ta(l,f),cancel:(l,f)=>Aa(l,f),reactivate:l=>Ia(l),scheduleDowngrade:(l,f,a)=>ja(l,f,a),cancelScheduledChange:l=>Ea(l),prorationPreview:(l,f)=>$a(l,f)},credits:{purchase:l=>qa(l),autoTopupSettings:l=>Da(l),configureAutoTopup:l=>Ma(l)}},u={describe:Bs,accept:Ks,decline:Hs},p={list:ve,listForAccount:Js,get:pr,detail:dr,create:Zs,createRepo:ei,provision:ti,update:fr,archive:yr,llmCatalog:gr,modelPicker:mr,sandboxHealth:Rr,sandboxTemplates:lo,sessions:Ge,createSession:Be},g={linkRepository:ii,getInstallation:oi,listInstallations:ai,listLinkableInstallations:ci,listRepositories:li,listRepositoryBranches:ui,linkInstallation:di,saveInstallation:pi,deleteInstallation:gi},y={list:Sc,create:vc,revoke:Cc},m=so,P={items:l=>zc(l),item:l=>Vc(l),itemFile:(l,f)=>Jc(l,f),marketplaces:()=>Nc(),featured:()=>Wc(),sources:{list:()=>Qc(),add:l=>Xc(l),remove:l=>Yc(l)}};function w(l){let f={list:()=>hr(l),listAll:()=>br(l),reconcile:(...a)=>xr(l,...a),reconcileMember:(...a)=>kr(l,...a),updateCredential:(...a)=>Pr(l,...a),revoke:(...a)=>_r(l,...a),activate:(...a)=>wr(l,...a),setDefault:(...a)=>Sr(l,...a),pipedreamConnect:(...a)=>vr(l,...a),pipedreamFinalize:(...a)=>Cr(l,...a)};return{get:a=>pr(l,a),detail:()=>dr(l),update:a=>fr(l,a),archive:()=>yr(l),llmCatalog:()=>gr(l),modelPicker:()=>mr(l),sandboxHealth:()=>Rr(l),onboardingComplete:(...a)=>si(l,...a),tokens:{list:()=>qc(l),create:a=>Dc(l,a),revoke:a=>Mc(l,a)},setupLinks:{requestSecret:a=>Kc(l,a),requestConnector:a=>Hc(l,a)},validateManifest:a=>Xs(l,a),gitToken:()=>Ys(l),secrets:{list:()=>qi(l),upsert:a=>Di(l,a),remove:a=>Li(l,a),setPersonal:(...a)=>Fi(l,...a),removePersonal:a=>Gi(l,a),setGitCredential:a=>Oi(l,a),startProviderOAuth:(...a)=>Mi(l,...a),pollProviderOAuth:(...a)=>Ui(l,...a)},access:{list:()=>hi(l),invite:(...a)=>ki(l,...a),update:(...a)=>bi(l,...a),revoke:a=>xi(l,a),pendingInvites:()=>Pi(l),resendInvite:(...a)=>wi(l,...a),revokeInvite:(...a)=>_i(l,...a),requests:()=>mi(l),approveRequest:(...a)=>fi(l,...a),rejectRequest:(...a)=>yi(l,...a),groupGrants:()=>Si(l),attachGroupGrant:(...a)=>vi(l,...a),updateGroupGrant:(...a)=>Ci(l,...a),detachGroupGrant:a=>Ri(l,a),resourceGrants:{list:()=>Ti(l),create:a=>Ai(l,a),remove:a=>Ii(l,a)}},connectors:{list:()=>Bi(l),config:(...a)=>Ji(l,...a),create:(...a)=>Yi(l,...a),remove:(...a)=>eo(l,...a),sync:()=>Ki(l),auth:{discover:(...a)=>Zi(l,...a)},setName:(...a)=>Qi(l,...a),setCredentialMode:(...a)=>Hi(l,...a),setAuthorizationStrategy:(...a)=>zi(l,...a),setCredential:(...a)=>io(l,...a),setSensitive:(...a)=>Ni(l,...a),authorizations:f,profiles:f,policies:{get:(...a)=>Wi(l,...a),set:(...a)=>Vi(l,...a)},pipedream:{listApps:(...a)=>to(l,...a),connect:(...a)=>Xi(l,...a),finalize:(...a)=>oo(l,...a)},discover:{list:(...a)=>no(l,...a),detail:(...a)=>ro(l,...a)}},policies:{list:()=>ao(l),set:(...a)=>co(l,...a)},triggers:{list:()=>ta(l),create:(...a)=>na(l,...a),update:(...a)=>ra(l,...a),remove:(...a)=>sa(l,...a),fire:(...a)=>oa(l,...a),setActivation:(...a)=>ia(l,...a)},files:{list:a=>xo(l,a),read:(a,T)=>Po(l,a,T),search:(...a)=>ko(l,...a),archive:(...a)=>_o(l,...a),history:(...a)=>Ro(l,...a)},git:{commits:()=>So(l),commit:a=>vo(l,a),commitDiff:a=>Co(l,a),branches:()=>wo(l),versionDiff:(...a)=>To(l,...a),inviteCollaborator:(...a)=>Qs(l,...a)},changeRequests:{list:()=>Ao(l),get:a=>Io(l,a),diff:a=>jo(l,a),mergePreview:a=>Eo(l,a),open:(...a)=>$o(l,...a),merge:(...a)=>qo(l,...a),close:(...a)=>Do(l,...a),reopen:(...a)=>Mo(l,...a),requestChanges:(...a)=>Uo(l,...a)},sessions:{list:a=>Ge(l,a),create:a=>Be(l,a),ensureWarm:()=>zo(l),claimWarm:a=>No(l,a)},review:{list:a=>xc(l,a),get:a=>kc(l,a),submit:a=>Pc(l,a),act:(...a)=>_c(l,...a),bulkAct:a=>wc(l,a)},approvals:{list:a=>ji(l,a),resolve:(...a)=>$i(l,...a),sessionsNeedingInput:a=>Ei(l,a)},gateway:{logs:a=>sc(l,a),log:a=>ic(l,a),overview:a=>oc(l,a),series:a=>ac(l,a),breakdown:a=>cc(l,a),sessions:a=>lc(l,a),errors:a=>uc(l,a),budgets:()=>pc(l),setBudget:a=>dc(l,a),deleteBudget:a=>gc(l,a),keys:()=>mc(l),createKey:a=>fc(l,a),revokeKey:a=>yc(l,a),routing:{get:()=>ec(l),set:a=>tc(l,a),reset:()=>nc(l),preview:a=>rc(l,a)},playground:(a,T,v)=>hc(l,a,T,v)},channels:{slack:{installation:()=>Ga(l),connect:a=>Ba(l,a),mode:()=>Ka(l),manifest:()=>Ha(l),disconnect:()=>za(l),getFile:a=>Na(l,a),uploadFile:a=>Wa(l,a)},email:{installation:a=>Va(l,a),mode:()=>Ja(l),connect:a=>Qa(l,a),disconnect:a=>Xa(l,a),updatePolicy:(...a)=>Ya(l,...a)},voice:{setBotName:a=>Za(l,a)}},updateExperimentalFeature:(...a)=>ni(l,...a),modelDefaults:{get:()=>pa(l),set:a=>da(l,a),clear:a=>ga(l,a)},setDefaultAgent:a=>ha(l,a),sandbox:{list:()=>bo(l),snapshots:()=>uo(l),rebuildSnapshot:a=>po(l,a),fixWithAgent:()=>go(l),createTemplate:a=>mo(l,a),updateTemplate:(...a)=>fo(l,...a),removeTemplate:a=>yo(l,a),buildTemplate:a=>ho(l,a),setProvider:a=>ri(l,a)},setAgentScope:(...a)=>fa(l,...a),session:a=>R(l,a)}}function R(l,f){let a=null,T,v,k=null;async function j(){k||(k=Ar(l,f,{showErrors:!1}).then(h=>{let C=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",D=C.indexOf("/"),F=D>0&&D<C.length-1?{providerID:C.slice(0,D),modelID:C.slice(D+1)}:void 0,J=h.agent_name?.trim()||void 0;return{model:F,agent:J}}));try{return await k}catch(h){throw k=null,h}}function A(){if(a)return a;let h=ca(l,f);return h&&(a=h),a}async function S(h){let C=A();if(C)return C;let D=h?.readyTimeoutMs??18e4,F=`${l}
|
|
8
|
+
${f}`,J=wt.get(F);if(J)return a=await J,a;let Q=(async()=>{let X=Date.now()+D,N=()=>Math.max(0,X-Date.now()),M=await Ce(l,f,Math.min(3e4,N()));for(;Date.now()<X&&(M==null||(M.stage==="provisioning"||M.stage==="starting")&&M.retriable);)await new Promise(W=>setTimeout(W,Math.min(1e3,N()))),M=await Ce(l,f,Math.min(3e4,N()));if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new I(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let H=M.sandbox.external_id;if(!H)throw new I("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let O=rt(H);return gs(O,H),{opencodeSessionId:M.opencode_session_id,runtimeUrl:O,sandboxId:H}})();wt.set(F,Q);try{return a=await Q,a}finally{wt.get(F)===Q&&wt.delete(F)}}function $(h){let C=A();if(!C)throw new St(h);return C}function L(){a=null,ua(l,f)}return{get:h=>Ar(l,f,h),cost:()=>$r(f,{projectId:l}),update:h=>Qo(l,f,h),delete:()=>(L(),Xo(l,f)),start:(...h)=>Ce(l,f,...h),restart:()=>(L(),bt(l,f)),stop:()=>(L(),xt(l,f)),setSharing:h=>Fo(l,f,h),previews:()=>Go(l,f),commit:h=>Oo(l,f,h),publicShares:{list:()=>Bo(l,f),create:(...h)=>Ko(l,f,...h),revoke:(...h)=>Ho(l,f,...h)},audit:(h,C)=>Wo(l,f,h,C),transcript:h=>Vo(l,f,h),voiceTranscript:h=>Jo(l,f,h),ensureReady:S,health:h=>Zc(A()?.runtimeUrl??null,h),previewUrl:(h,C="/")=>de(h,C,r($("previewUrl").sandboxId)),proxyUrl:h=>rl(h,r($("proxyUrl").sandboxId)),setModel:h=>{T=h},changeModel:async h=>{let C=await ea(l,f,h);return k=null,C},scope:()=>Yo(l,f),rescope:h=>Zo(l,f,h),setAgent:h=>{v=h},send:async(h,C)=>{let{opencodeSessionId:D,runtimeUrl:F}=await S(),J=C?.model??T,Q=C?.agent??v,X=J&&Q?{}:await j(),N=J??X.model,M=Q??X.agent;return te(F).session.prompt({sessionID:D,parts:[{type:"text",text:h}],...N?{model:N}:{},...M?{agent:M}:{}})},abort:async()=>{let{opencodeSessionId:h,runtimeUrl:C}=await S();return te(C).session.abort({sessionID:h})},rewind:async h=>{let{opencodeSessionId:C,runtimeUrl:D}=await S();return te(D).session.revert({sessionID:C,messageID:h})},restoreRewind:async()=>{let{opencodeSessionId:h,runtimeUrl:C}=await S();return te(C).session.unrevert({sessionID:h})},stream:async h=>{let{runtimeUrl:C}=await S();return Ur({client:te(C),onEvent:h.onEvent,onGapRehydrate:h.onGapRehydrate,signal:h.signal})},get runtime(){return te($("runtime").runtimeUrl)},files:{list:async h=>ct(h,(await S()).runtimeUrl),read:async h=>Oe(h,(await S()).runtimeUrl),readBlob:async h=>Le(h,(await S()).runtimeUrl),status:async()=>lt((await S()).runtimeUrl),findFiles:async(h,C)=>ut(h,C,(await S()).runtimeUrl),findText:async h=>pt(h,(await S()).runtimeUrl),upload:async(h,C,D)=>Fe(h,C,D,(await S()).runtimeUrl),create:async h=>dt(h,(await S()).runtimeUrl),copy:async(h,C)=>gt(h,C,(await S()).runtimeUrl),remove:async h=>mt(h,(await S()).runtimeUrl),mkdir:async h=>ft(h,(await S()).runtimeUrl),rename:async(h,C)=>yt(h,C,(await S()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:p,project:w,session:R,github:g,billing:c,sandboxShares:y,transcribe:bc,connectStatus:m,marketplace:P,validateToken:Vs,runtime:fp}}function hp(){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 cl={thinking:!1,toolDetails:!0,assistantMetadata:!0};function bp(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function xp(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 kp(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
|
|
9
9
|
|
|
10
10
|
`;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
|
|
11
11
|
>
|
|
@@ -38,15 +38,15 @@ ${s}
|
|
|
38
38
|
${e.state.error}
|
|
39
39
|
\`\`\`
|
|
40
40
|
`),n+=`
|
|
41
|
-
`,n}return""}function
|
|
41
|
+
`,n}return""}function Pp(e,t){if(!t)return`## Assistant
|
|
42
42
|
|
|
43
|
-
`;let n=e.agent?
|
|
43
|
+
`;let n=e.agent?bp(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=xp(e.time.completed-e.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
|
|
44
44
|
|
|
45
45
|
`:`## ${n}
|
|
46
46
|
|
|
47
|
-
`}function
|
|
47
|
+
`}function _p(e,t,n){let r="";e.role==="user"?r+=`## User
|
|
48
48
|
|
|
49
|
-
`:r+=
|
|
49
|
+
`:r+=Pp(e,n.assistantMetadata);for(let s of t)r+=kp(s,n);return r}function wp(e,t,n=cl){let r=`# ${e.title||"Untitled Session"}
|
|
50
50
|
|
|
51
51
|
`;r+=`**Session ID:** \`${e.id}\`
|
|
52
52
|
`,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
|
|
@@ -54,19 +54,14 @@ ${e.state.error}
|
|
|
54
54
|
|
|
55
55
|
`,r+=`---
|
|
56
56
|
|
|
57
|
-
`;for(let s of t)r+=
|
|
57
|
+
`;for(let s of t)r+=_p(s.info,s.parts,n),r+=`---
|
|
58
58
|
|
|
59
|
-
`;return r}function Cp(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 Qe(r)||t}catch{return t}}return Qe(n)||t}catch{return Tp(t)??t}}return typeof e=="object"?Qe(e)||"An error occurred":String(e)}function dl(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Tp(e){let t=dl(e);if(t)try{return Qe(JSON.parse(t))}catch{return}}function Qe(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 Er(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function pl(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,o=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!o?void 0:{message:typeof e.message=="string"&&e.message||Qe(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:o}}function ye(e){if(e==null)return;if(typeof e=="string"){let l=e.startsWith("Error: ")?e.slice(7):e,p=Er(l)??Er(dl(l));return p!==void 0?ye(p):void 0}if(typeof e!="object")return;let t=e,n=pl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let l=pl(r);if(l)return l}let s=t.data;if(s&&typeof s.responseBody=="string"){let l=Er(s.responseBody);if(l!==void 0){let p=ye(l);if(p)return p}}let o=t.cause;if(o&&typeof o=="object"){let l=o.body;if(l!==void 0){let p=ye(l);if(p)return p}}}var Ap={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"}},Ip=[{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 jp(e){return e.replace(/^oc[-_]/,"")}function he(e){return jp(e).replace(/-/g,"_")}function $r(e){return he(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Ee(e){let t=he(e),n=Ap[t];if(n)return n;for(let{prefix:r,category:s}of Ip)if(t.startsWith(r))return{label:$r(e),category:s};return{label:$r(e),category:"other"}}var Ep=256*1024;function $p(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function qp(e){if(e===void 0)return{};if(e.length>Ep)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Dp(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 Mp(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=qp(r),l=$p(t),p=t.status==="error"?t.error:void 0;if(l==="done"){let d=Dp(s);d&&(l="error",p=d)}return{name:e,title:n||Ee(e).label,status:l,input:t.input,output:r,outputParsed:s,outputText:o,error:p}}function Up(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Op(e){return{kind:"reasoning",id:e.id,text:e.text}}function Lp(e){return{kind:"tool",id:e.id,tool:Mp(e.tool,e.state)}}function Fp(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 Gp(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Bp(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Np(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Hp(e){return{kind:"agent",id:e.id,name:e.name}}function Kp(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Z(e.error),createdAt:e.time.created}}function Wp(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function Vp(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function zp(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function gl(e){switch(e.type){case"text":return Up(e);case"reasoning":return Op(e);case"tool":return Lp(e);case"file":return Fp(e);case"subtask":return Gp(e);case"patch":return Bp(e);case"snapshot":return Np(e);case"agent":return Hp(e);case"retry":return Kp(e);case"compaction":return Wp(e);case"step-start":return Vp(e);case"step-finish":return zp(e);default:return{kind:"unknown",raw:e}}}function Jp(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ye(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 Qp(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Xp(e){let t=e.parts.map(gl),n=e.info.role==="assistant"?e.info.error:void 0,r=Jp(n),s=!r&&!t.some(Qp);return{parts:t,error:r,isEmpty:s}}function be(e){return e.type==="text"}function qr(e){return e.type==="reasoning"}function le(e){return e.type==="tool"}function Yp(e){return e.type==="file"}function Pk(e){return e.type==="agent"}function kk(e){return e.type==="compaction"}function wk(e){return e.type==="snapshot"}function _k(e){return e.type==="patch"}function Sk(e){if(be(e)||qr(e))return e.text}function Zp(e){if(!Yp(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function vk(e){let t=[],n=[];for(let r of e)Zp(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Rk(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Ck(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var ed=new Set(["todoread","context_info"]);function td(e){return!ed.has(e.tool)}function Tk(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 l=s.match(/\bses_[a-zA-Z0-9]+/);if(l)return l[0]}let o=e.state?.output;if(o){let l=o.match(/\bses_[a-zA-Z0-9]+/);if(l)return l[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 Ak(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 Ik(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)le(r)&&td(r)&&t.push(r);return t}function jk(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:nd(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:rd(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:sd(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:ml(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:ml(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 nd(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function ml(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 rd(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Ek(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 Xe(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
|
|
61
|
-
\u2026`:e}function
|
|
59
|
+
`;return r}function Sp(e,t){return`session-${e}.md`}function Z(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return He(r)||t}catch{return t}}return He(n)||t}catch{return vp(t)??t}}return typeof e=="object"?He(e)||"An error occurred":String(e)}function ul(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function vp(e){let t=ul(e);if(t)try{return He(JSON.parse(t))}catch{return}}function He(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let n=t.data;if(typeof n?.message=="string")return n.message;let r=t.error;if(typeof r?.message=="string")return r.message}function Or(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function ll(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||He(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function ge(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,p=Or(u)??Or(ul(u));return p!==void 0?ge(p):void 0}if(typeof e!="object")return;let t=e,n=ll(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=ll(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Or(s.responseBody);if(u!==void 0){let p=ge(u);if(p)return p}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let p=ge(u);if(p)return p}}}var Cp={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"}},Rp=[{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 Tp(e){return e.replace(/^oc[-_]/,"")}function vt(e){return Tp(e).replace(/-/g,"_")}function Lr(e){return vt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Fr(e){let t=vt(e),n=Cp[t];if(n)return n;for(let{prefix:r,category:s}of Rp)if(t.startsWith(r))return{label:Lr(e),category:s};return{label:Lr(e),category:"other"}}var Ap=256*1024;function Ip(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function jp(e){if(e===void 0)return{};if(e.length>Ap)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Ep(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 $p(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=jp(r),u=Ip(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let g=Ep(s);g&&(u="error",p=g)}return{name:e,title:n||Fr(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:p}}function qp(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Dp(e){return{kind:"reasoning",id:e.id,text:e.text}}function Mp(e){return{kind:"tool",id:e.id,tool:$p(e.tool,e.state)}}function Up(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 Op(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Lp(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Fp(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Gp(e){return{kind:"agent",id:e.id,name:e.name}}function Bp(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Z(e.error),createdAt:e.time.created}}function Kp(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function Hp(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function zp(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function pl(e){switch(e.type){case"text":return qp(e);case"reasoning":return Dp(e);case"tool":return Mp(e);case"file":return Up(e);case"subtask":return Op(e);case"patch":return Lp(e);case"snapshot":return Fp(e);case"agent":return Gp(e);case"retry":return Bp(e);case"compaction":return Kp(e);case"step-start":return Hp(e);case"step-finish":return zp(e);default:return{kind:"unknown",raw:e}}}function Np(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ge(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 Wp(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Vp(e){let t=e.parts.map(pl),n=e.info.role==="assistant"?e.info.error:void 0,r=Np(n),s=!r&&!t.some(Wp);return{parts:t,error:r,isEmpty:s}}function me(e){return e.type==="text"}function Gr(e){return e.type==="reasoning"}function oe(e){return e.type==="tool"}function Jp(e){return e.type==="file"}function oP(e){return e.type==="agent"}function aP(e){return e.type==="compaction"}function cP(e){return e.type==="snapshot"}function lP(e){return e.type==="patch"}function uP(e){if(me(e)||Gr(e))return e.text}function Qp(e){if(!Jp(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function pP(e){let t=[],n=[];for(let r of e)Qp(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function dP(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function gP(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var Xp=new Set(["todoread","context_info"]);function Yp(e){return!Xp.has(e.tool)}function mP(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 fP(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 yP(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)oe(r)&&Yp(r)&&t.push(r);return t}function hP(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Zp(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:ed(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:td(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:dl(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:dl(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 Zp(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function dl(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 ed(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function bP(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 ze(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 td(e){let t=ze(e.description);if(t)return t;let n=ze(e.title,80);if(n)return n;let r=ze(e.message);if(r)return r;let s=ze(e.prompt);if(s)return s;let c=ze(e.agent_id,40);return c?`Agent ${c}`:"Worker task"}function xP(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function kP(e,t){return e.find(n=>n.tool?.callID===t)}function PP(e,t){return e.find(n=>n.tool?.callID===t)}var nd=/\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 _P(e){return e?e.replace(nd,""):""}function vP(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 CP(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function RP(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(me(n)&&n.text?.trim())return n}}function TP(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function AP(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 IP(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 jP(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 rd(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(...rd(e,s));return r}function sd(e){let t=e.userMessage.parts;if(t.length===0||!t.every(c=>me(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 qP(e){if(sd(e))return e.assistantMessages[0].parts[0]}function OP(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 LP(e,t){return!t||!e?!1:e.type!=="idle"}function FP(e,t){return!e&&!!t}function GP(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Z(n.error)}}function BP(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ge(n.error)}}function gl(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(Gr(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(me(e))return"Gathering thoughts..."}}function KP(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=oe(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&t&&t.length>0){for(let u=t.length-1;u>=0;u--){let p=t[u];if(p.info.role==="assistant")for(let g=p.parts.length-1;g>=0;g--){let y=gl(p.parts[g]);if(y)return y}}return"Delegating to agent..."}let c=gl(r);if(c)return c}return"Considering next steps..."}function HP(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 ml=1.2;function fl(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,P)=>P.contextThreshold-m.contextThreshold)[0]??t,y=u/1e6*g.inputPer1M;return y+=r/1e6*g.outputPer1M,s>0&&(y+=s/1e6*(g.cacheReadPer1M??g.inputPer1M)),c>0&&(y+=c/1e6*(g.cacheWritePer1M??g.inputPer1M)),y}function 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?fl(e.tokens,c):0}function hl(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function zP(e,t){let n=0,r=0,s=0,c=0,u=0,p=0,g=!1;for(let{part:y,message:m}of e)if(y.type==="step-finish"){g=!0;let P=y,{providerID:w,modelID:R}=hl(m.info);n+=yl(P,w,R,t),r+=P.tokens?.input||0,s+=P.tokens?.output||0,c+=P.tokens?.reasoning||0,u+=P.tokens?.cache?.read||0,p+=P.tokens?.cache?.write||0}if(!g)for(let{message:y}of e){if(y.info.role!=="assistant")continue;let m=y.info,P=bl(m,t);if(P<=0)continue;g=!0,n+=P;let w=m.tokens;w&&(r+=w.input??0,s+=w.output??0,c+=w.reasoning??0,u+=w.cache?.read??0,p+=w.cache?.write??0)}if(g)return{cost:n*ml,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:p}}}function bl(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?fl({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function NP(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=hl(s),p=0,g=!1;for(let y of r.parts)y.type==="step-finish"&&(g=!0,p+=yl(y,c,u,t));g||(p+=bl(s,t)),n+=p}return n*ml}function WP(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function VP(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function JP(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 QP(e){if(!(!e||e.type!=="retry"))return Z(e.message)}function XP(e){return(e.info.summary?.diffs?.length??0)>0}var id=4e3;function Ne(e,t=id){return e.length>t?`${e.slice(0,t)}
|
|
61
|
+
\u2026`:e}function xl(e){if(e!==void 0)try{return Ne(JSON.stringify(e,null,2))}catch{return}}function B(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function Re(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function od(e){let t=B(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Re(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=Re(c)??{};return{title:B(u.title)??"",url:B(u.url,u.link)??"",snippet:B(u.snippet,u.description,u.source)}});return{kind:"web-search",query:B(n.query)??t,results:s.length>0?s:void 0,answer:B(n.answer)}}var ad=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function cd(e,t,n){let r="",s=0;for(;;){let c=e.indexOf(t,s);if(c===-1)return r+e.slice(s);let u=e.indexOf(n,c+t.length);if(u===-1)return r+e.slice(s);r+=e.slice(s,c),s=u+n.length}}var ld=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function ud(e){let t=-1;for(let n of ld){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var pd=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function dd(e){return e.replace(pd,"")}function gd(e){let t=B(e.input?.command)??"",n=e.output??"",r=n.match(ad),s=r?Number(r[1]):void 0,u=dd(ud(cd(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:u||void 0,exitCode:s}}function Kr(e){return B(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function md(e){let t=e.status==="error"?e.error:e.output&&Ne(e.output)||void 0;return{kind:"file-read",path:Kr(e),preview:t}}function fd(e){let t=B(e.input?.content),n=e.status==="error"?e.error:Ne(t??e.output??"")||void 0;return{kind:"file-write",path:Kr(e),preview:n}}var yd=256*1024;function hd(e,t){if(e.length+t.length>yd)return;let n=e.split(`
|
|
62
62
|
`),r=t.split(`
|
|
63
|
-
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let
|
|
64
|
-
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function vd(e){let t=L(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=_l.test(e.output.trim())?_d(e.output):Sd(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Rd(e){let t=L(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=L(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function Dr(e){let t=$e(e)??{};return{content:L(t.content)??"",status:L(t.status)??"pending",priority:L(t.priority)}}function Cd(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Dr)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Dr)};let n=$e(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Dr)}:{kind:"todo",items:[]}}function Td(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=$e(r)??{},l=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=$e(p),f=d&&L(d.label);return f?[{label:f,description:d?L(d.description):void 0}]:[]});return{question:L(s.question)??"",header:L(s.header),options:l}})}}function Ad(e){let n=e.input&&Object.keys(e.input).length>0?kl(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?Ye(e.outputParsed):kl(e.outputParsed):e.outputText!==void 0?r=Ye(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Id(e){switch(he(e.name)){case"web_search":case"websearch":case"image_search":return ld(e);case"bash":return yd(e);case"read":return hd(e);case"write":return bd(e);case"edit":case"morph_edit":return kd(e);case"grep":case"glob":return vd(e);case"task":return Rd(e);case"todowrite":return Cd(e);case"question":case"ask":return Td(e);default:return Ad(e)}}var Ze=class extends Error{constructor(n,r,s){super(n);this.code=r;this.data=s;this.name="AcpRpcError"}code;data},ee=class extends Error{constructor(n,r,s){super(n);this.status=r;this.terminal=s;this.name="AcpTransportError"}status;terminal};var jd=12e4;function Ed(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}function $d(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Sl(e){return!!e&&"id"in e&&("result"in e||"error"in e)}function vl(e){return e>=400&&e<500&&e!==408&&e!==429}function qd(e){let t=null,n=[];for(let s of e.split(/\r?\n/))s.startsWith("id:")&&(t=Number(s.slice(3).trim())),s.startsWith("data:")&&n.push(s.slice(5).trimStart());if(!Number.isSafeInteger(t)||t===null||n.length===0)return null;let r=JSON.parse(n.join(`
|
|
65
|
-
`));
|
|
66
|
-
|
|
67
|
-
`);let d=o.split(`
|
|
68
|
-
|
|
69
|
-
`);o=d.pop()??"",l&&o.trim()&&d.push(o);for(let f of d)try{let m=qd(f);m&&t(m)}catch(m){n(m)}if(l)return}}var Ur=class e{static instanceCount=0;idPrefix=`${Date.now()}-${e.instanceCount++}`;nextId=0;endpoint;fetcher;requestTimeoutMs;pending=new Map;constructor(t){this.endpoint=Ed(t.endpoint),this.fetcher=t.fetch??E,this.requestTimeoutMs=t.requestTimeoutMs??jd}async request(t,n){return this.requestWithTimeout(t,n,this.requestTimeoutMs)}async requestWithTimeout(t,n,r){let s=`${this.idPrefix}-${++this.nextId}`,o=JSON.stringify(s),l=new Promise((p,d)=>{let f=r===null?null:setTimeout(()=>{this.pending.delete(o),d(new Error(`Timed out waiting for ACP response to ${t}`))},r);this.pending.set(o,{resolve:m=>p(m),reject:d,timer:f})});try{let p=await this.post({jsonrpc:"2.0",id:s,method:t,...n===void 0?{}:{params:n}});if(p){if(!Sl(p))throw new Error(`ACP method ${t} returned an invalid response`);this.settleResponse(p)}}catch(p){let d=this.pending.get(o);d&&(d.timer&&clearTimeout(d.timer),this.pending.delete(o),d.reject(p instanceof Error?p:new Error(String(p))))}return l}async notify(t,n){await this.post({jsonrpc:"2.0",method:t,...n===void 0?{}:{params:n}})}async respond(t,n,r){await this.post({jsonrpc:"2.0",id:t,...r?{error:r}:{result:n??null}})}loadSession(t){return this.request("session/load",{...t,mcpServers:t.mcpServers??[]})}prompt(t,n){return this.requestWithTimeout("session/prompt",{sessionId:t,prompt:n},null)}cancel(t){return this.notify("session/cancel",{sessionId:t})}revertSession(t,n){return this.request("session/revert",{sessionId:t,messageId:n})}unrevertSession(t){return this.request("session/unrevert",{sessionId:t})}setSessionConfigOption(t,n,r){return this.request("session/set_config_option",{sessionId:t,configId:n,value:r})}connect(t){let n=t.lastEventId??0,r=t.lastEventId!==void 0,s=!1,o=new AbortController,l=()=>{},p=()=>{},d=!1,f=new Promise((x,P)=>{l=x,p=P}),m=()=>o.abort(t.signal?.reason);t.signal?.addEventListener("abort",m,{once:!0});let h=async()=>{let x=250;for(;!s&&!o.signal.aborted;){try{let P=await this.fetcher(this.endpoint,{headers:{Accept:"text/event-stream",...r?{"Last-Event-ID":String(n)}:{}},signal:o.signal});if(!P.ok)throw new ee(`ACP stream failed with HTTP ${P.status}`,P.status,vl(P.status));if(!P.body)throw new Error("ACP stream response has no body");if(await Dd(P.body,u=>{d||(d=!0,l()),!(r&&u.id<=n)&&(r=!0,n=u.id,x=250,Sl(u.envelope)&&this.settleResponse(u.envelope),t.onEvent(u))},u=>t.onError?.(u)),t.reconnect===!1)return}catch(P){if(s||o.signal.aborted)return;if(t.onError?.(P),t.reconnect===!1||P instanceof ee&&P.terminal){d||p(P instanceof Error?P:new Error(String(P)));return}}await new Promise(P=>setTimeout(P,x)),x=Math.min(x*2,5e3)}};return queueMicrotask(()=>{h()}),{close(){s||(s=!0,t.signal?.removeEventListener("abort",m),o.abort(),d||p(new Error("ACP stream closed before opening")))},get lastEventId(){return n},ready:f}}async post(t){let n=await this.fetcher(this.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(n.status===202||n.status===204)return null;if(!n.ok){let s=await n.text().catch(()=>"");throw new ee(`ACP request failed with HTTP ${n.status}: ${s}`,n.status,vl(n.status))}let r=await n.json();if(!$d(r)||r.jsonrpc!=="2.0")throw new Error("ACP response is not a JSON-RPC 2.0 envelope");return r}settleResponse(t){let n=JSON.stringify(t.id),r=this.pending.get(n);if(r){if(r.timer&&clearTimeout(r.timer),this.pending.delete(n),t.error){r.reject(new Ze(t.error.message,t.error.code,t.error.data));return}r.resolve(t.result)}}};function Rl(e){return new Ur(e)}function M(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function j(e){return typeof e=="string"&&e.length>0?e:null}function Cl(e){if(typeof e=="string")return e;if(e==null)return"";try{return JSON.stringify(e)}catch{return String(e)}}function Tl(e){return!M(e)||!Object.prototype.hasOwnProperty.call(e,"output")?Cl(e):Cl(e.output)}var Md={execute:"bash",read:"read",edit:"edit",delete:"edit",move:"edit",search:"grep",fetch:"webfetch"};function Ud(e){return/^[A-Za-z][A-Za-z0-9_.-]*$/.test(e)}function Od(e,t){if(t)return t.tool;let n=j(e.title);if(n&&Ud(n))return n;let r=j(e.kind)??"other";return Md[r]??r}function Ld(e,t){return!t||he(t)===he(e)?Ee(e).label:t}function jl(e,t){return`acp-${t}-${String(e.nextId).padStart(8,"0")}`}function Fd(e,t,n){let r=n??jl(e,"user");return{info:{id:r,sessionID:e.sessionId,role:"user",time:{created:Date.now()},agent:"default",model:{providerID:"acp",modelID:"runtime"}},parts:[{id:`${r}-text`,sessionID:e.sessionId,messageID:r,type:"text",text:t}]}}function Gd(e,t){let n=t??jl(e,"assistant"),r=[...e.messages].reverse().find(o=>o.info.role==="user")?.info.id;return{info:{id:n,sessionID:e.sessionId,role:"assistant",time:{created:Date.now()},parentID:r??n,modelID:"runtime",providerID:"acp",mode:e.currentModeId??"build",agent:"default",path:{cwd:"/workspace",root:"/workspace"},cost:0,tokens:{input:0,output:0,reasoning:0,cache:{read:0,write:0}}},parts:[]}}function Bd(e,t){if(e.info.role!=="assistant"||e.info.time.completed)return e;let n=e.parts.map(r=>{if(r.type!=="tool"||r.state.status!=="pending"&&r.state.status!=="running")return r;let s=r.state,o=s.status==="running"?s.time.start:t;return{...r,state:{status:"completed",input:s.input,output:"",title:s.status==="running"&&s.title?s.title:Ee(r.tool).label,metadata:s.status==="running"?s.metadata??{}:{},time:{start:o,end:t}}}});return{...e,info:{...e.info,time:{...e.info.time,completed:t}},parts:n}}function El(e,t,n){if(t){let p=e.messages.findIndex(d=>d.info.role==="assistant"&&d.info.id===t);if(p>=0){let d=[...e.messages];return d[p]=n(d[p]),{...e,messages:d,status:{type:"busy"}}}}let r=e.messages.at(-1);if(!t&&r?.info.role==="assistant"&&!r.info.time.completed){let p=[...e.messages];return p[p.length-1]=n(r),{...e,messages:p,status:{type:"busy"}}}let s=Date.now(),o=e.messages.map(p=>Bd(p,s)),l=Gd({...e,messages:o},t);return{...e,nextId:e.nextId+1,messages:[...o,n(l)],status:{type:"busy"}}}function Al(e,t,n,r){return n?El(e,r,s=>{let o=[...s.parts],l=o.findIndex(p=>p.type===t);if(l>=0){let p=o[l];o[l]={...p,text:p.text+n}}else o.push({id:`${s.info.id}-${t}`,sessionID:e.sessionId,messageID:s.info.id,type:t,text:n,...t==="reasoning"?{time:{start:Date.now()}}:{}});return{...s,parts:o}}):e}function Nd(e,t,n){if(!t)return e;if(n){let s=e.messages.findIndex(o=>o.info.role==="user"&&o.info.id===n);if(s>=0){let o=e.messages[s],l=[...o.parts],p=l.findIndex(f=>f.type==="text");if(p>=0){let f=l[p];l[p]={...f,text:f.text+t}}let d=[...e.messages];return d[s]={...o,parts:l},{...e,messages:d}}}let r=e.messages.at(-1);if(!n&&r?.info.role==="user"){let s=[...r.parts],o=s.findIndex(p=>p.type==="text");if(o>=0){let p=s[o];s[o]={...p,text:p.text+t}}let l=[...e.messages];return l[l.length-1]={...r,parts:s},{...e,messages:l}}return{...e,nextId:e.nextId+1,messages:[...e.messages,Fd(e,t,n)]}}function Hd(e,t){let n=j(t.toolCallId);if(!n)return e;let r=e.messages.find(o=>o.parts.some(l=>l.type==="tool"&&l.callID===n)),s=r?.info.role==="assistant"?r.info.id:null;return El(e,s,o=>{let l=[...o.parts],p=l.findIndex(C=>C.type==="tool"&&C.callID===n),d=p>=0?l[p]:null,f=M(t.rawInput)?t.rawInput:d?.state.input??{},m=j(t.status)??d?.state.status??"pending",h=Od(t,d),x=Ld(h,j(t.title)),P=d?.state.status==="running"?d.state.title:void 0,u=t.rawOutput,a=M(u)&&M(u.metadata)?u.metadata:{},S=Date.now(),T;return m==="completed"?T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"completed",input:f,output:Tl(u),title:x??P??h,metadata:a,time:{start:d?.state.status==="running"?d.state.time.start:S,end:S}}}:m==="failed"?T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"error",input:f,error:Tl(u)||x||"Tool call failed",time:{start:d?.state.status==="running"?d.state.time.start:S,end:S}}}:T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"running",input:f,title:x,time:{start:d?.state.status==="running"?d.state.time.start:S}}},p>=0?l[p]=T:l.push(T),{...o,parts:l}})}function Kd(e){if(!M(e))return null;let t=j(e.content)??j(e.title);return t?{content:t,status:j(e.status)??"pending",priority:j(e.priority)??"medium"}:null}function Il(e){return Array.isArray(e)?e.flatMap(t=>{let n=Kd(t);return n?[n]:[]}):[]}function Wd(e){let n=(Array.isArray(e.questions)?e.questions:[]).flatMap(p=>{if(!M(p))return[];let d=j(p.question)??j(p.label)??j(e.message);if(!d)return[];let f=Array.isArray(p.options)?p.options.flatMap(m=>{if(typeof m=="string")return[{label:m,description:m}];if(!M(m))return[];let h=j(m.label)??j(m.name);return h?[{label:h,description:j(m.description)??h}]:[]}):[];return[{question:d,header:j(p.header)??d.slice(0,30),options:f,multiple:p.multiple===!0,custom:p.allowText===!0}]});if(n.length>0)return n;let r=M(e.requestedSchema)?e.requestedSchema:M(e.schema)?e.schema:null,s=r&&M(r.properties)?r.properties:{},o=Object.entries(s).flatMap(([p,d])=>{if(!M(d))return[];let f=Array.isArray(d.enum)?d.enum:[];return[{question:j(d.title)??j(d.description)??j(e.message)??p,header:p.slice(0,30),options:f.map(m=>({label:String(m),description:String(m)})),custom:f.length===0}]});if(o.length>0)return o;let l=j(e.message)??"Kortix needs your input";return[{question:l,header:l.slice(0,30),options:[],custom:!0}]}function Vd(e,t,n,r){let s=M(r)?r:{};if(j(s.sessionId)!==e.sessionId)return e;if(n==="session/request_permission"){let o=M(s.toolCall)?s.toolCall:{},l={id:String(t),sessionID:e.sessionId,permission:j(o.title)??j(s.permission)??"tool",patterns:[],metadata:{acp:s},always:[],...j(o.toolCallId)?{tool:{messageID:e.messages.at(-1)?.info.id??e.sessionId,callID:String(o.toolCallId)}}:{}};return{...e,permissions:[...e.permissions.filter(p=>p.id!==l.id),l]}}if(n==="elicitation/create"||n==="elicitation/request"||n==="session/request_input"){let o={id:String(t),sessionID:e.sessionId,questions:Wd(s)};return{...e,questions:[...e.questions.filter(l=>l.id!==o.id),o]}}return e}function zd(e,t){let n=e.messages.at(-1);if(!n||n.info.role!=="assistant")return{...e,status:{type:"idle"}};let r=M(t.usage)?t.usage:{},s=Number(r.inputTokens)||0,o=Number(r.outputTokens)||0,l=Number(r.thoughtTokens)||0,p=Number(r.cachedReadTokens)||0,d=Number(r.cachedWriteTokens)||0,f=j(t.stopReason)??"end_turn",m={id:`${n.info.id}-finish`,sessionID:e.sessionId,messageID:n.info.id,type:"step-finish",reason:f,cost:Number(r.cost)||0,tokens:{input:s,output:o,reasoning:l,cache:{read:p,write:d}}},h={...n.info,time:{...n.info.time,completed:Date.now()},finish:f,cost:m.cost,tokens:m.tokens},x=[...e.messages];return x[x.length-1]={info:h,parts:[...n.parts.filter(P=>P.type!=="step-finish"),m]},{...e,messages:x,status:{type:"idle"}}}function Or(e){return{sessionId:e,messages:[],status:{type:"idle"},todos:[],permissions:[],questions:[],configOptions:[],availableCommands:[],currentModeId:null,sessionInfo:null,usage:null,nextId:1}}function Lr(e,t){if("method"in t&&"id"in t)return Vd(e,t.id,t.method,t.params);if("method"in t&&t.method==="session/update"){let n=M(t.params)?t.params:{};if(j(n.sessionId)!==e.sessionId)return e;let r=M(n.update)?n.update:{},s=j(r.sessionUpdate)??j(r.type),o=M(r.content)?r.content:{},l=j(o.text)??"",p=j(r.messageId);if(s==="user_message_chunk")return Nd(e,l,p);if(s==="agent_thought_chunk")return Al(e,"reasoning",l,p);if(s==="agent_message_chunk")return Al(e,"text",l,p);if(s==="tool_call"||s==="tool_call_update")return Hd(e,r);if(s==="plan")return{...e,todos:Il(r.entries)};if(s==="plan_update"){let d=M(r.plan)?r.plan:r;return j(d.type)!=="items"?e:{...e,todos:Il(d.entries)}}if(s==="plan_removed")return{...e,todos:[]};if(s==="config_option_update"&&Array.isArray(r.configOptions))return{...e,configOptions:r.configOptions.filter(M)};if(s==="available_commands_update"&&Array.isArray(r.availableCommands))return{...e,availableCommands:r.availableCommands.filter(M)};if(s==="current_mode_update")return{...e,currentModeId:j(r.currentModeId)};if(s==="session_info_update"){let{sessionUpdate:d,type:f,...m}=r;return{...e,sessionInfo:m}}if(s==="usage_update"){let{sessionUpdate:d,type:f,...m}=r;return{...e,usage:m}}return e}if("id"in t){let n=String(t.id),r={...e,permissions:e.permissions.filter(s=>s.id!==n),questions:e.questions.filter(s=>s.id!==n)};return M(t.result)&&(j(t.result.stopReason)||M(t.result.usage))?zd(r,t.result):r}return e}function Jd(e,t){return t||(e==="acp"?"acp":"rest")}function ww(e,t){let n=Jd(e,t),r=n==="acp";return{transport:n,useAcp:r,streamOpenCodeEvents:!r,listOpenCodeSessions:!r,syncOpenCodeMessages:!r,sendWith:r?"acp":"opencode-rest"}}function Qd(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}function $l(e,t){return`${Qd(e)}/kortix/acp/${encodeURIComponent(t)}`}function ql(e,t){if(!t)return e;let n=e.findIndex(r=>r.info.id===t);return n<0?e:e.slice(0,n)}var Dl=3,Xd=500,xe=class extends Error{constructor(){super("ACP runtime restarted"),this.name="AcpRuntimeRestartError"}};function te(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ml(e){return typeof e=="string"&&e.length>0?e:null}function Yd(e,t){let n=Array.isArray(e.options)?e.options.filter(te):[],r=t==="once"?["allow_once","allow"]:t==="always"?["allow_always","always"]:["reject_once","reject_always","reject"];for(let s of r){let o=n.find(p=>p.kind===s),l=o&&Ml(o.optionId);if(l)return l}return null}function Zd(e,t){let n=te(e.requestedSchema)?e.requestedSchema:te(e.schema)?e.schema:null,r=n&&te(n.properties)?Object.keys(n.properties):[];return r.length===0?{answers:t}:Object.fromEntries(r.map((s,o)=>{let l=t[o]??[];return[s,l.length<=1?l[0]??"":l]}))}function Fr(e){return e.permissions.length>0||e.questions.length>0||e.messages.some(t=>t.parts.some(n=>n.type==="tool"&&(n.state.status==="pending"||n.state.status==="running")))}function eg(e){return"id"in e&&!("method"in e)&&te(e.result)&&(Ml(e.result.stopReason)!==null||te(e.result.usage))}function tg(e){if(Fr(e))return e;let t=Date.now();return{...e,status:{type:"idle"},messages:e.messages.map(n=>n.info.role==="assistant"&&!n.info.time.completed?{...n,info:{...n.info,time:{...n.info.time,completed:t}}}:n)}}var Gr=class{constructor(t){this.options=t;if(!t.client&&!t.runtimeUrl)throw new Error("AcpSessionController requires a runtimeUrl or injected client");this.client=t.client??Rl({endpoint:$l(t.runtimeUrl,t.sessionId)}),this.snapshot={ready:!1,sending:!1,connection:"idle",error:null,projection:Or(t.sessionId),configOptions:[],rewind:null}}options;client;listeners=new Set;openRequests=new Map;stream=null;connecting=null;runtimeReload=null;runtimeGeneration=0;restartWaiters=new Set;promptQueue=Promise.resolve();promptSettlement=null;snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));getSnapshot=()=>this.snapshot;async connect(){if(this.runtimeReload)return this.runtimeReload;if(!this.snapshot.ready){if(this.connecting)return this.connecting;this.connecting=this.open();try{await this.connecting}finally{this.connecting=null}}}async open(){this.resetCanonicalSessionState(),this.patch({connection:"connecting",error:null}),this.stream||(this.stream=this.client.connect({onEvent:t=>this.onEnvelope(t.envelope),onError:t=>{!(t instanceof ee)||!t.terminal||this.patch({ready:!1,connection:"error",error:t instanceof Error?t:new Error(String(t))})}}));try{await this.stream.ready,await this.loadCanonicalSession()}catch(t){throw this.patch({ready:!1,connection:"error",error:t instanceof Error?t:new Error(String(t))}),t}}resetCanonicalSessionState(){this.openRequests.clear(),this.patch({projection:Or(this.options.sessionId)})}async loadCanonicalSession(){let t=await this.client.loadSession({sessionId:this.options.sessionId,cwd:this.options.cwd??"/workspace"}),n=Array.isArray(t.configOptions)?t.configOptions.filter(te):[],r=tg(this.snapshot.projection),s=this.snapshot.rewind?{...r,messages:ql(r.messages,this.snapshot.rewind.messageId)}:r;this.patch({ready:!0,connection:"open",error:null,configOptions:n,projection:{...s,configOptions:n}})}reloadAfterRuntimeReady(){if(!this.snapshot.ready||this.runtimeReload)return;this.resetCanonicalSessionState(),this.patch({ready:!1,connection:"connecting",error:null});let t=this.loadCanonicalSession().catch(n=>{this.patch({ready:!1,connection:"error",error:n instanceof Error?n:new Error(String(n))})}).finally(()=>{this.runtimeReload===t&&(this.runtimeReload=null)});this.runtimeReload=t}onRuntimeReady(){this.runtimeGeneration+=1;for(let t of this.restartWaiters)t();this.restartWaiters.clear(),this.reloadAfterRuntimeReady()}async raceWithRuntimeRestart(t,n){if(n!==this.runtimeGeneration)throw t.catch(()=>{}),new xe;let r=()=>{},s=new Promise((o,l)=>{r=()=>l(new xe)});this.restartWaiters.add(r);try{return await Promise.race([t,s])}finally{this.restartWaiters.delete(r)}}send(t,n={}){let r=()=>{},s=()=>{},o=new Promise((p,d)=>{r=p,s=d}),l=this.promptQueue.then(()=>this.executeSend(t,n,{resolve:r,reject:s}));return this.promptQueue=l.catch(()=>{}),o}async executeSend(t,n,r){let s=t.filter(o=>o.type==="text").map(o=>o.text).join("");this.patch({sending:!0,error:null});try{let o=0,l=this.runtimeGeneration;for(;;){this.snapshot.ready||await this.connect(),l=this.runtimeGeneration;try{if(n.model&&await this.raceWithRuntimeRestart(this.client.setSessionConfigOption(this.options.sessionId,"model",n.model),l),n.agent&&await this.raceWithRuntimeRestart(this.client.setSessionConfigOption(this.options.sessionId,"mode",n.agent),l),l!==this.runtimeGeneration)throw new xe;break}catch(f){if(!(f instanceof xe))throw f;if(o+=1,o>Dl)throw new Error(`ACP runtime restarted more than ${Dl} times while preparing the prompt`);this.runtimeReload&&await this.runtimeReload}}s&&this.onEnvelope({jsonrpc:"2.0",method:"session/update",params:{sessionId:this.options.sessionId,update:{sessionUpdate:"user_message_chunk",content:{type:"text",text:s}}}}),this.snapshot.rewind&&this.patch({rewind:null});let p=this.client.prompt(this.options.sessionId,t),d;try{d=await this.raceWithRuntimeRestart(p,l)}catch(f){throw f instanceof xe?new Error("ACP runtime restarted after session/prompt dispatch; the prompt result is unknown"):f}this.applyPromptResult(d,!1),r.resolve(),await this.settlePrompt(d)}catch(o){throw r.reject(o),this.discardPromptSettlement(),this.patch({error:o instanceof Error?o:new Error(String(o)),projection:{...this.snapshot.projection,status:{type:"idle"}}}),o}finally{this.patch({sending:!1})}}async cancel(){await this.client.cancel(this.options.sessionId),this.discardPromptSettlement(),this.patch({projection:{...this.snapshot.projection,status:{type:"idle"},permissions:[],questions:[]}})}async rewind(t){if(!t)throw new Error("ACP session rewind requires a message id");if(this.snapshot.sending)throw new Error("Cannot rewind a busy ACP session");this.snapshot.ready||await this.connect();let n=await this.resolveRewindMessageId(t);await this.client.revertSession(this.options.sessionId,n),this.patch({rewind:{messageId:n}}),this.resetCanonicalSessionState(),await this.loadCanonicalSession()}async resolveRewindMessageId(t){if(!t.startsWith("acp-user-"))return t;let n=this.snapshot.projection.messages.filter(f=>f.info.role==="user"),r=n.findIndex(f=>f.info.id===t),s=n[r]?.parts.filter(f=>f.type==="text").map(f=>f.text).join("");if(r<0||!s)throw new Error("ACP session rewind message is not in the current transcript");this.resetCanonicalSessionState(),await this.loadCanonicalSession();let o=this.snapshot.projection.messages.filter(f=>f.info.role==="user"),l=o[r],p=[...o].reverse().find(f=>f.parts.filter(m=>m.type==="text").map(m=>m.text).join("")===s),d=l?.info.id.startsWith("acp-user-")?p:l;if(!d||d.info.id.startsWith("acp-user-"))throw new Error("ACP session rewind could not resolve the canonical OpenCode message id");return d.info.id}async restoreRewind(){if(this.snapshot.rewind){if(this.snapshot.sending)throw new Error("Cannot restore a busy ACP session");await this.client.unrevertSession(this.options.sessionId),this.patch({rewind:null}),this.resetCanonicalSessionState(),await this.loadCanonicalSession()}}async runCommand(t,n,r={}){let s=t.replace(/^\/+/,"").toLowerCase();if(s==="undo"||s==="redo")throw new Error(`OpenCode ACP does not support /${s}`);let o=`/${s}${n.trim()?` ${n.trim()}`:""}`;await this.send([{type:"text",text:o}],r)}async answerPermission(t,n){let r=this.openRequests.get(t),s=r?.id??t,o=r?.params??{},l=Yd(o,n);if(n==="reject"&&!l){let d={outcome:{outcome:"cancelled"}};await this.client.respond(s,d),this.onEnvelope({jsonrpc:"2.0",id:s,result:d});return}if(!l)throw new Error(`ACP permission request ${t} has no compatible ${n} option`);let p={outcome:{outcome:"selected",optionId:l}};await this.client.respond(s,p),this.onEnvelope({jsonrpc:"2.0",id:s,result:p})}async answerQuestion(t,n){let r=this.openRequests.get(t),s=r?.id??t,o=r?.params??{},l={action:"accept",content:Zd(o,n)};await this.client.respond(s,l),this.onEnvelope({jsonrpc:"2.0",id:s,result:l})}async rejectQuestion(t){let n=this.openRequests.get(t)?.id??t,r={action:"decline"};await this.client.respond(n,r),this.onEnvelope({jsonrpc:"2.0",id:n,result:r})}close(){this.discardPromptSettlement(),this.stream?.close(),this.stream=null,this.patch({connection:"closed",ready:!1})}onEnvelope(t){if(this.snapshot.sending&&eg(t))return;"method"in t&&t.method==="kortix/runtime_ready"&&(!te(t.params)||t.params.sessionId===null||t.params.sessionId===this.options.sessionId)&&this.onRuntimeReady(),"method"in t&&"id"in t&&te(t.params)?this.openRequests.set(String(t.id),{id:t.id,params:t.params}):"id"in t&&!("method"in t)&&this.openRequests.delete(String(t.id));let n=Lr(this.snapshot.projection,t);n!==this.snapshot.projection&&this.patch({projection:n}),"method"in t&&t.method==="session/update"&&this.schedulePromptSettlement()}settlePrompt(t){return new Promise(n=>{this.promptSettlement={result:t,timer:null,resolve:n},this.schedulePromptSettlement()})}schedulePromptSettlement(){let t=this.promptSettlement;t&&(t.timer&&(clearTimeout(t.timer),t.timer=null),!Fr(this.snapshot.projection)&&(t.timer=setTimeout(()=>{if(this.promptSettlement!==t||Fr(this.snapshot.projection)){this.schedulePromptSettlement();return}this.promptSettlement=null,this.applyPromptResult(t.result,!0),t.resolve()},Xd)))}applyPromptResult(t,n){let r=Lr(this.snapshot.projection,{jsonrpc:"2.0",id:`prompt:${Date.now()}`,result:t}),s=n?r:{...r,status:{type:"busy"}};s!==this.snapshot.projection&&this.patch({projection:s})}discardPromptSettlement(){let t=this.promptSettlement;t&&(this.promptSettlement=null,t.timer&&clearTimeout(t.timer),t.resolve())}patch(t){this.snapshot={...this.snapshot,...t};for(let n of this.listeners)n()}};function Iw(e){return new Gr(e)}function $t(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function ng(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 Dw(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 Br(e,t,n){return e!==void 0?e:ng($t(t),n)}var Mw={get disableMobileAdvertising(){return Br(q().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Br(q().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Br(q().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var qt="kortix-active-instance",rg=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function sg(e){return rg.some(t=>e===t||e.startsWith(`${t}/`))}function et(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 Ow(e){let t=et(e);return!!t&&t.innerPath===""}function Lw(e){let t=et(e);return!t||!t.innerPath?e:t.innerPath}function ig(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=et(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return sg(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function og(e){return e?et(e)?.instanceId??null:null}function Fw(){return typeof window>"u"?null:og(window.location.pathname)||ag()}function ag(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${qt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function Gw(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${qt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${qt}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${qt}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Bw(e,t){return t?ig(t,e):e}function Nw(e){let t=et(e);return t?t.innerPath||"/dashboard":e}function Ul(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 cg(e){let t=Ul(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 Ol(e){let t=cg(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function Kw(e){return Ol(e)!==null}function lg(e){let t=Ol(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=t.data?.issues?.[0]?.message,l=t.data?.issues?.[0]?.path?.join("."),p=l?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:o?`${l?`${l}: `:""}${o}`:void 0}}return{title:"OpenCode failed to load",message:Ul(e)||"The sandbox is running, but OpenCode returned an error."}}function W(){let e=$t("BACKEND_URL")||q().backendUrl;return e||"http://localhost:8008/v1"}function tt(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=tt(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return tt(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var Ll=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Fl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function ug(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 Nr(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}/${ae.KORTIX_MASTER}`:""),status:ug(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 Hr(){let e=await Ie(),t=[];for(let n of e){let r=await Ve(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Nr(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},o=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return o!==0?o:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function Pe(e){let t=await Hr();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 Dt(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await E(`${W()}${e}`,{...t,headers:n,signal:r}),o=await s.text().catch(()=>{}),l;if(o)try{l=JSON.parse(o)}catch{}if(!s.ok){let p=l?.error||l?.message||l?.detail||o||`Platform API error ${s.status}`,d=new I(p,{status:s.status,code:l?.code||l?.error_code||String(s.status),details:l??(o?{rawText:o}:void 0),response:s,endpoint:e});throw s.status===402&&(d=Ge(Object.assign(d,{response:s,status:s.status,data:l}))),d}return l}function Gl(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}/${ae.KORTIX_MASTER}`}function n_(e,t){return e.external_id?`${W()}/p/${e.external_id}/${t}`:null}async function c_(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function pg(e){let t=await Pe();if(t)return{sandbox:t.sandbox,created:!1};let r=(await Ie())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await ze(r.project_id,{...e?.provider?{provider:e.provider}:{}}),o=(await je(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Nr(r,s,o),created:!0}}async function l_(){return(await Pe().catch(()=>null))?.sandbox??null}async function u_(e){return{sandbox:(await pg(e)).sandbox}}async function p_(e){let t=tt(e);return t?(await Pe(t).catch(()=>null))?.sandbox??null:null}async function d_(e,t){throw await Pe(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function g_(e){let t=tt(e);return(await Hr().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function m_(){if(typeof window>"u")return null;let e=W(),t=Array.from(new Set([e,...Ll]));for(let n of t)try{let r=await fetch(Fl(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 f_(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await Pe(e);if(!t)throw new Error("Project session sandbox not found");await Rt(t.project.project_id,t.session.session_id)}async function y_(e){if(!e)throw new Error("No sandbox selected to stop");let t=await Pe(e);if(!t)throw new Error("Project session sandbox not found");await Ct(t.project.project_id,t.session.session_id)}async function h_(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function b_(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function __(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function S_(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function v_(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function R_(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function C_(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function T_(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function A_(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function I_(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Kr(e,t,n){let r=Gl(e),s=await E(`${ve(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let o=await s.text().catch(()=>"");throw new Error(o||`Request failed (${s.status})`)}return await s.json()}async function j_(e,t){return Kr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function E_(e,t,n,r="member"){await Kr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function $_(e,t,n){await Kr(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function q_(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function U_(e){let t=await Dt(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function O_(e){let t=await Dt(`/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 L_(e){let t=await Dt(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function G_(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function B_(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function N_(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function H_(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function W_(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function V_(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var dg=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Q_(e){return dg.includes(e)}async function X_(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 Y_(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 gg(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function gg(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 Z_(){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 eS(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function tS(e){}async function nS(e){}async function oS(e){return{serverTypes:[],location:e||"hel1"}}async function aS(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function cS(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function lS(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function uS(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function pS(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function dS(e,t){return`${W()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var ue=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Mt(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Wr(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 Ut(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function Ot(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 G(e,t,n){let r=n?.body!==void 0,s=await fetch(`${Mt(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Wr(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),o=await Ut(s);if(!s.ok)throw new ue(Ot(s,o),s.status,o);return o}function mg(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 mS(e,t){return G(`/marketplace/items${mg(t)}`,e)}function fS(e){return G("/marketplace/marketplaces",e)}function yS(e,t){return G(`/marketplace/items/${encodeURIComponent(e)}`,t)}function hS(e,t,n){return G(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function bS(e,t){return G("/access/check-email",t,{method:"POST",body:{email:e}})}function xS(e,t){return G("/access/request-access",t,{method:"POST",body:e})}function PS(e){return G("/auth/logout",e,{method:"POST",body:{}})}function kS(e,t){return G(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function wS(e,t){return G("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function _S(e,t){return G(`/setup-links/connector/${encodeURIComponent(e)}`,t)}function SS(e,t){return G(`/setup-links/connector/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function vS(e,t){return G(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function RS(e,t,n){return G(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function CS(e,t){return G(`/p/public-share/${encodeURIComponent(e)}`,t)}function TS(e,t,n){return G(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function AS(e){return G("/system/maintenance",e)}function IS(e,t){return G("/system/maintenance",t,{method:"PUT",body:e})}function jS(e){return G("/user-roles",e)}function ES(e,t){return G("/system/demo-request",t,{method:"POST",body:e})}async function $S(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.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(`${Mt(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Wr(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await Ut(s);throw new ue(Ot(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count")}}async function qS(e,t){let n=await fetch(`${Mt(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Wr(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await Ut(n);throw new ue(Ot(n,r),n.status,r)}if(!n.body)throw new ue("No response body",n.status,null);return n.body}var fg=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function yg(e,t){return fg.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${Mt(e)}/`):null}async function DS(e,t,n){let r=yg(e,t);if(!r)throw new ue("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await Ut(s);if(!s.ok)throw new ue(Ot(s,o),s.status,o);return o}async function OS(){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 LS(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 FS(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 GS(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 BS(){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 Bl(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 hg(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(t)try{o.add(new URL(t).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function HS(e,t){return hg(e,t)?(t?Bl(t):null)??Bl(e):null}function KS(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function WS(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}function Vr(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function zS(e,t){return`${Vr(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function JS(e,t){return`${Vr(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function bg(e,t){return`${Vr(e)}/presentation/convert-to-${t}`}async function QS(e,t,n,r){let s=bg(t,e),o=r?.pollIntervalMs??2500,l=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let u=await f.blob();if(u.size===0)throw new Error("Downloaded file is empty");return u}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>l)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((u,a)=>{let S=setTimeout(u,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(S),a(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),P=f.statusText;try{let u=JSON.parse(x);P=String(u.error||u.detail||u.message||P)}catch{x&&(P=x)}throw new Error(`Failed to download ${e.toUpperCase()}: ${P} (HTTP ${f.status})`)}}function Hl(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let o=new URLSearchParams({limit:String(r)});s&&o.set("before",s);let l=await e.getToken?.(),p=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${o}`,{headers:l?{Authorization:`Bearer ${l}`}: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 xg(e){return kg(Hl(e))}function Pg(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=Hl(e),s=async o=>{let l=await e.getToken?.(),p=await t(`${n}${o}`,{headers:l?{Authorization:`Bearer ${l}`}: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 kg(e){let t=new Map,n=new Set,r;do{let s=await e({limit:10,...r?{before:r}:{}});for(let o of s.messages)t.set(o.info.id,o);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,o)=>s.info.id.localeCompare(o.info.id))}var wg={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Nl=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??wg,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})}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})}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.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 o=await this.options.loadPage({limit:10,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t)}async loadCompleteTurn(t,n,r,s){let o=[...t.messages],l=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),d=t.nextCursor;for(let f of t.messages)f.info.role==="user"&&l.add(f.info.id);for(;d&&o.some(f=>f.info.role==="assistant"&&!!f.info.parentID&&!l.has(f.info.parentID));){if(p.has(d))throw new Error(`Session history cursor repeated: ${d}`);p.add(d);let f=await this.loadPage(n,r,d);o.unshift(...f.messages);for(let m of f.messages)m.info.role==="user"&&l.add(m.info.id);d=f.nextCursor}return{messages:o,nextCursor:d}}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 Promise.all([this.reconcile("poll"),this.reconcileStatus()]),this.lastActivityAt=this.scheduler.now())}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.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(t,Nl):setTimeout(t,Nl)}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 _g(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Sg(e){let{url:t,token:n,method:r="GET",body:s,onEvent:o,onOpen:l,onError:p,signal:d}=e,f=new Map,m=null,h=!1;function x(T,C){o?.(T,C);let w=f.get(T);if(w)for(let v of w)try{v(C)}catch{}}async function P(){if(h)return;m=new AbortController;let T=d?AbortSignal.any([m.signal,d]):m.signal;try{let C={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(C["Content-Type"]="application/json");let w=await fetch(t,{method:r,headers:C,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:T,credentials:"include"});if(!w.ok)throw new Error(`SSE connection failed: ${w.status} ${w.statusText}`);if(!w.body)throw new Error("SSE response has no body");l?.();let v=w.body.getReader(),A=new TextDecoder,$="",y="message",R="";for(;!h;){let{done:H,value:V}=await v.read();if(H)break;$+=A.decode(V,{stream:!0});let B=$.split(`
|
|
70
|
-
`);$=B.pop()||"";for(let F of B)F===""?R&&(x(y,R.trimEnd()),y="message",R=""):F.startsWith("event: ")?y=F.slice(7).trim():F.startsWith("data: ")?R+=(R?`
|
|
71
|
-
`:"")+F.slice(6):F.startsWith("data:")&&(R+=(R?`
|
|
72
|
-
`:"")+F.slice(5))}}catch(C){if(h||C instanceof DOMException&&C.name==="AbortError")return;p?.(C instanceof Error?C:new Error(String(C)))}}function u(){h=!0,m?.abort(),m=null,f.clear()}function a(T,C){let w=f.get(T)??new Set;w.add(C),f.set(T,w)}function S(T,C){f.get(T)?.delete(C)}return{connect:P,close:u,addEventListener:a,removeEventListener:S}}function ZS(e,t){return Sg({...t,url:_g(e)})}export{qt as ACTIVE_INSTANCE_COOKIE,Ur as AcpClient,Ze as AcpRpcError,Gr as AcpSessionController,ee as AcpTransportError,I as ApiError,Le as AuthError,Se as BillingError,yl as COST_MARKUP,ul as DEFAULT_TRANSCRIPT_OPTIONS,dg as DESTRUCTIVE_PHASES,Tu as FEATURE_NOT_SUPPORTED_CODE,ue as HostBoundaryError,rg as INSTANCE_SCOPED_ROUTES,Ar as PublicSessionShareError,Ir as PublicVoiceJoinError,Fe as RequestTooLargeError,gr as RuntimeNotReadyError,mr as SANDBOX_FS_ROOTS,ae as SANDBOX_PORTS,Et as SessionNotReadyError,Cr as SessionStartError,Rg as __getConfigResolver,vg as __setConfigResolver,Gs as acceptAccountInvite,O_ as acceptInvite,Sc as actReviewItem,Wi as activateConnectionProfile,Tb as addGroupMembers,Zc as addMarketplaceSource,S_ as addSandboxMember,od as allDescendantIds,WS as appendPreviewToken,Lr as applyAcpEnvelope,gi as approveProjectAccessRequest,Nm as approveTask,_r as archiveProject,Xm as assignTicket,_i as attachGroupToProject,E as authenticatedFetch,i as backendApi,tb as bindSlackIdentity,nb as bindTeamsIdentity,$l as buildAcpBridgeEndpoint,ig as buildInstancePath,JS as buildPresentationTemplateImageUrl,zS as buildPresentationTemplatePdfUrl,HS as buildPreviewAuthEndpoint,yg as buildPublicTemplateUrl,bg as buildRuntimePresentationConversionUrl,So as buildSandboxTemplate,OP as buildStaticFileHealthPreviewUrl,UP as buildStaticFileLocalUrl,MP as buildStaticFilePreviewUrl,Xu as buildStaticFileServicePath,_g as buildTunnelEventStreamUrl,NP as buildWebProxyUrl,vc as bulkActReviewItems,Ub as bulkDeletePolicies,Ob as bulkImportPolicies,Ex as cancelAccountDeletion,Os as cancelAccountInvite,h_ as cancelSandbox,nS as cancelSandboxUpdate,Ma as cancelScheduledChange,$a as cancelSubscription,bS as checkAccessEmail,Hk as childMapByParent,uS as claimComputer,Qh as claimPerSeatBilling,Zo as claimWarmProjectSession,gl as classifyPart,Xp as classifyTurn,xa as clearModelDefault,yh as clearSessionFresh,Bo as closeChangeRequest,Rf as closeMilestone,Fk as collectTurnParts,Zm as commentTicket,Ko as commitSessionChanges,fl as computeStatusFromPart,Fa as configureAutoTopup,Bt as configureKortix,ja as confirmCheckoutSession,Ya as connectEmail,Ha as connectSlack,Jx as convertPresentationToGoogleSlides,QS as convertRuntimePresentation,kt as copyFile,Es as createAccount,Bc as createAccountAuditWebhook,qc as createAccountToken,Rl as createAcpClient,Or as createAcpProjection,Iw as createAcpSessionController,xx as createAuditWebhook,B_ as createBackup,Ia as createCheckoutSession,io as createConnector,Pt as createFile,hc as createGatewayKey,Sb as createGroup,Pg as createHttpSessionSyncController,aS as createInstance,xp as createKortix,bs as createKortixPty,wP as createMarketplaceInstallSession,Sf as createMilestone,Jh as createPerSeatCheckout,qb as createPolicy,Ea as createPortalSession,Xs as createProject,uf as createProjectAgent,Uc as createProjectCliToken,Ys as createProjectRepo,Ci as createProjectResourceGrant,ze as createProjectSession,ca as createProjectTrigger,Hb as createRole,Sg as createSSEStream,u_ as createSandbox,Cc as createSandboxShare,ko as createSandboxTemplate,Qb as createScimToken,fx as createServiceAccountApi,Qo as createSessionPublicShare,ww as createSessionRuntimePolicy,ox as createSsoGroupMapping,Fm as createTask,zm as createTicket,ZS as createTunnelEventStream,Bs as declineAccountInvite,L_ as declineInvite,$x as deleteAccountImmediately,kx as deleteAuditWebhook,H_ as deleteBackup,ao as deleteConnector,$f as deleteCredential,ys as deleteEnv,wt as deleteFile,fc as deleteGatewayBudget,pi as deleteGitHubInstallation,Rb as deleteGroup,cS as deleteInstance,xf as deleteKortixProject,Tf as deleteMilestone,Li as deletePersonalProjectSecret,Mb as deletePolicy,df as deleteProjectAgent,Ti as deleteProjectResourceGrant,Ui as deleteProjectSecret,ia as deleteProjectSession,ua as deleteProjectTrigger,Vb as deleteRole,_o as deleteSandboxTemplate,hx as deleteServiceAccountApi,ax as deleteSsoGroupMapping,sx as deleteSsoProvider,Hm as deleteTask,ef as deleteTicket,Fs as describeAccountInvite,vi as detachGroupFromProject,zu as detectLocalhostUrls,yx as disableServiceAccountApi,Za as disconnectEmail,BS as disconnectGitHubApp,Va as disconnectSlack,Ky as discoverConnectionProfileOAuth2,oo as discoverConnectorAuth,m_ as discoverLocalSandbox,$S as downloadAccountAudit,Wf as dropClientForUrl,Jf as dropPublicClientForUrl,cf as ensurePmSession,By as ensureProjectConnectorProfile,pg as ensureSandbox,Yo as ensureWarmProjectSession,fu as env,Fc as exportAccountAudit,ye as extractGatewayErrorDetails,et as extractInstanceRoute,Mw as featureFlags,Vh as fetchAccountStateWithToken,hy as fetchAccountsWithToken,Ao as fetchProjectArchive,Ry as fetchProjectsForAccountWithToken,Ru as files,bt as findFiles,Gk as findLastTextPart,xt as findText,da as fireProjectTrigger,Po as fixSandboxWithAgent,mu as formatBillingErrorForUI,aw as formatCost,sw as formatDuration,lg as formatOpenCodeRuntimeError,lg as formatRuntimeError,cw as formatTokens,Rp as formatTranscript,Pp as generateSessionId,$s as getAccount,Ix as getAccountDeletionStatus,_a as getAccountState,Sa as getAccountStateMinimal,ag as getActiveInstanceIdFromCookie,Gx as getAdminProviderAnalytics,Ox as getAdminProviderDistribution,Nx as getAdminProviderFallback,qx as getAdminRole,sd as getAgentCardLabel,Bh as getAgentConfig,gf as getAgentPersona,Z_ as getAllVersions,Nk as getAnsweredQuestionParts,ut as getAuthToken,ls as getAuthTokenWithRetry,La as getAutoTopupSettings,zh as getAutoTopupSetupStatus,Ca as getBillingCreditBreakdown,Aa as getBillingTierConfigurations,Ra as getBillingTransactionsSummary,Ta as getBillingUsageHistory,Uo as getChangeRequest,Oo as getChangeRequestDiff,Lo as getChangeRequestMergePreview,Ak as getChildSessionError,Tk as getChildSessionId,Ik as getChildSessionToolParts,de as getClient,se as getClientForUrl,po as getConnectStatus,Qy as getConnectionPolicies,Hy as getConnectionProfileOAuth2Application,Jy as getConnectionProfileOAuth2Status,no as getConnectorConfig,eo as getConnectorPolicies,_S as getConnectorSetupLink,og as getCurrentInstanceIdFromPathname,Fw as getCurrentInstanceIdFromWindow,Ts as getCurrentProject,wa as getDefaultAccountState,$k as getDiagnostics,rd as getDirectory,uo as getDiscoverIntegration,Qa as getEmailInstallation,Xa as getEmailMode,vx as getEnterpriseDemo,ht as getFileStatus,ml as getFileWithDir,nd as getFilename,gg as getFullChangelog,uc as getGatewayBreakdown,gc as getGatewayBudgets,dc as getGatewayErrors,yc as getGatewayKeys,ac as getGatewayLog,cc as getGatewayOverview,nc as getGatewayRoutingPolicy,lc as getGatewaySeries,pc as getGatewaySessions,OS as getGitHubAppStatus,si as getGitHubInstallation,zx as getGoogleAuthUrl,_b as getGroup,Rk as getHiddenToolParts,U_ as getInvite,oS as getJustavpsServerTypes,yf as getKortixProject,hf as getKortixProjectBySession,ks as getKortixPtyWebSocketUrl,Y_ as getLatestSandboxVersion,AS as getMaintenanceConfig,_y as getManagedGitStatus,Qc as getMarketplaceCatalogItem,Xc as getMarketplaceCatalogItemFile,Yb as getMfaRequired,wf as getMilestone,ha as getModelDefaults,kS as getOAuthConsentRequest,Ol as getOpenCodeConfigInvalidError,Sk as getPartText,dx as getPatPolicy,qk as getPermissionForTool,br as getProject,mf as getProjectActivity,Eo as getProjectCommit,$o as getProjectCommitDiff,xr as getProjectDetail,qo as getProjectFileHistory,Qs as getProjectGitToken,Pr as getProjectLlmCatalog,wy as getProjectLlmCatalogProviders,kr as getProjectModelPicker,Sr as getProjectSandboxHealth,Sy as getProjectSandboxProviderTransition,ea as getProjectSession,Ua as getProrationPreview,c_ as getProviders,LP as getProxyBaseUrl,zf as getPublicClientForUrl,yS as getPublicMarketplaceItem,hS as getPublicMarketplaceItemFile,sP as getPublicSessionShare,iP as getPublicSessionShareMessages,CS as getPublicShareByToken,DS as getPublicTemplate,cP as getPublicVoiceJoin,lP as getPublicVoiceTranscript,Dk as getQuestionForTool,mb as getReferralCode,hb as getReferralStats,lw as getRetryInfo,uw as getRetryMessage,wc as getReviewItem,Gb as getRolePermissions,Nb as getRoleUsage,V_ as getSSHConnection,l_ as getSandbox,p_ as getSandboxById,A_ as getSandboxMemberScopes,n_ as getSandboxPortUrl,pS as getSandboxProvisionStatus,dS as getSandboxProvisionStreamUrl,X_ as getSandboxUpdateStatus,Gl as getSandboxUrl,vS as getSecretSetupLink,fr as getServerHealth,Mf as getServiceLogs,ta as getSessionAudit,ow as getSessionCost,tl as getSessionHealth,cx as getSessionPolicy,zo as getSessionPreviewCandidates,na as getSessionTranscript,zk as getShellModePart,za as getSlackChannelFile,Na as getSlackInstallation,Wa as getSlackManifest,Ka as getSlackMode,tx as getSsoProvider,Yu as getStaticFileHealthPath,ur as getSupabaseAccessToken,Oe as getSupabaseAccessTokenWithRetry,Um as getTask,Lm as getTaskStatus,RP as getTemplate,Wm as getTicket,jk as getToolInfo,Cp as getTranscriptFilename,iw as getTurnCost,tw as getTurnError,nw as getTurnErrorDetails,rw as getTurnStatus,Ga as getUsageRollup,jS as getUserRolesWithToken,Do as getVersionDiff,T_ as getViewerSandboxScopes,ra as getVoiceTranscript,Zk as getWorkingState,E_ as grantSandboxProjectAccess,Lk as groupMessagesIntoTurns,pw as hasDiffs,DP as hasLocalhostUrls,Qu as hasPreviewTarget,tp as heartbeatGapEvent,$r as humanizeToolName,rx as importSsoProviderFromMetadata,CP as installTemplate,lt as invalidateTokenCache,Ms as inviteAccountMember,bi as inviteProjectMember,zs as inviteRepoCollaborator,py as isAdminBypassEnabled,Pk as isAgentPart,Ku as isAppRouteUrl,Zp as isAttachment,gu as isBillingError,kk as isCompactionPart,Nt as isConfigured,Q_ as isDestructivePhase,WP as isExternalUrl,Yp as isFilePart,Ow as isInstanceDetailPath,sg as isInstanceScopedAppPath,BP as isInternalLocalhostUrl,Dy as isInviteSent,Yk as isLastUserMessage,ky as isManagedGithubProject,Kw as isOpenCodeConfigInvalidError,_k as isPatchPart,GP as isPreviewUrl,Zu as isProxiableLocalhostUrl,qr as isReasoningPart,jP as isRuntimeReady,As as isServerReachable,Wo as isSessionFresh,jh as isSessionStartError,ad as isShellMode,wk as isSnapshotPart,KS as isSubdomainPreviewUrl,be as isTextPart,le as isToolPart,Ck as isToolPartHidden,Ss as isUnderSandboxRoot,KP as isWebProxyUrl,hu as kortixPty,Ks as leaveAccount,ui as linkGitHubInstallation,ri as linkRepository,Lc as listAccountAudit,Gc as listAccountAuditWebhooks,Us as listAccountInvites,Ds as listAccountMembers,ux as listAccountSessions,$c as listAccountTokens,js as listAccounts,Bb as listActions,Lx as listAdminSandboxes,Fb as listAgentIdentities,Gi as listAllConnectionProfiles,wx as listAuditEvents,bx as listAuditWebhooks,G_ as listBackups,va as listBillingTransactions,Mo as listChangeRequests,rb as listChannelBindings,tf as listColumns,Fi as listConnectionProfiles,Qi as listConnectors,If as listCredentialEvents,Af as listCredentials,lo as listDiscoverIntegrations,ms as listEnv,Jc as listFeaturedMarketplaces,rf as listFields,yt as listFiles,oc as listGatewayLogs,ii as listGitHubInstallations,ai as listGitHubRepositories,ci as listGitHubRepositoryBranches,Cb as listGroupMembers,Ab as listGroupProjectGrants,wb as listGroups,bf as listKortixProjectSessions,ff as listKortixProjects,hs as listKortixPty,oi as listLinkableGitHubInstallations,Vc as listMarketplaceCatalogItems,Yc as listMarketplaceSources,zc as listMarketplaces,jb as listMemberGroups,Eb as listMemberProjectAccess,_f as listMilestoneEvents,kf as listMilestones,Ai as listPendingApprovals,xi as listPendingProjectInvites,co as listPipedreamApps,$b as listPolicies,fi as listProjectAccess,di as listProjectAccessRequests,lf as listProjectAgents,Io as listProjectBranches,Mc as listProjectCliTokens,jo as listProjectCommits,Ro as listProjectFiles,wi as listProjectGroupGrants,fo as listProjectPolicies,Ri as listProjectResourceGrants,ho as listProjectSandboxTemplates,vo as listProjectSandboxes,Ei as listProjectSecrets,Ve as listProjectSessions,bo as listProjectSnapshots,aa as listProjectTriggers,Ie as listProjects,Vs as listProjectsForAccount,mS as listPublicMarketplaceItems,fS as listPublicMarketplaces,bb as listReferrals,kc as listReviewItems,Lb as listRoles,__ as listSandboxMembers,j_ as listSandboxProjectMembers,Rc as listSandboxShares,g_ as listSandboxes,Jb as listScimTokens,mx as listServiceAccountsApi,Df as listServiceTemplates,qf as listServices,Jo as listSessionPublicShares,Ii as listSessionsNeedingInput,ix as listSsoGroupMappings,Om as listTaskEvents,Mm as listTasks,of as listTemplates,Vm as listTicketEvents,Km as listTickets,xg as loadHttpSessionHistory,lS as markInstanceError,vt as markSessionFresh,Go as mergeChangeRequest,Bx as migrateAdminSandboxProvider,_t as mkdir,np as narrowChatEvent,Nw as normalizeAppPathname,VP as normalizeExternalInput,he as normalizeToolName,Fo as openChangeRequest,jr as openEventStream,qS as openStressTestStream,Ge as parseBillingError,Dw as parseFlagOverride,At as parseLocalhostUrl,cg as parseOpenCodeErrorPayload,al as parseSubdomainUrl,HP as parseWebProxyUrl,Pf as patchKortixProject,so as pipedreamConnect,zi as pipedreamConnectConnectionProfile,mo as pipedreamFinalize,Ji as pipedreamFinalizeConnectionProfile,q as platformConfig,zy as pollConnectionProfileOAuth2DeviceAuthorization,Di as pollProjectProviderOAuth,ic as previewGatewayRoute,Zb as previewMfaRequired,_x as probeEffectivePermission,Sx as probeEffectivePermissions,Ih as projectSessionStartSeed,Zs as provisionProject,Cy as provisionProjectWithToken,il as proxyLocalhostUrl,FP as proxyUrlToInternal,Oa as purchaseCredits,Ny as putConnectionProfileOAuth2Application,b_ as reactivateSandbox,qa as reactivateSubscription,Ke as readBlob,He as readFile,To as readProjectFile,xo as rebuildProjectSnapshot,Bi as reconcileConnectionProfile,Ni as reconcileMemberConnectionProfile,Of as reconcileServices,PS as recordPlatformLogout,fb as refreshReferralCode,Lf as registerService,mi as rejectProjectAccessRequest,Ek as relativizePath,Hc as removeAccountAuditWebhook,Ns as removeAccountMember,Ib as removeGroupMember,Ps as removeKortixPty,el as removeMarketplaceSource,v_ as removeSandboxMember,St as renameFile,d_ as renameSandbox,No as reopenChangeRequest,Cf as reopenMilestone,nf as replaceColumns,sf as replaceFields,af as replaceTemplates,jx as requestAccountDeletion,Ho as requestChangesOnChangeRequest,qy as requestProjectAccess,Wc as requestProjectConnector,Kc as requestProjectSecret,Ls as resendAccountInvite,ki as resendPendingProjectInvite,Vf as resetClient,sc as resetGatewayRoutingPolicy,Qf as resetPublicClient,tS as resetSandboxUpdateStatus,ji as resolveApproval,Jd as resolveSessionRuntimeTransport,Rt as restartProjectSession,f_ as restartSandbox,N_ as restoreBackup,Ef as revealCredential,px as revokeAccountSession,Dc as revokeAccountToken,Ki as revokeConnectionProfile,bc as revokeGatewayKey,Pi as revokePendingProjectInvite,hi as revokeProjectAccess,Oc as revokeProjectCliToken,q_ as revokeSandboxInvite,$_ as revokeSandboxProjectAccess,Tc as revokeSandboxShare,Xb as revokeScimToken,Xo as revokeSessionPublicShare,fe as rewriteLocalhostUrl,xc as runGatewayPlayground,li as saveGitHubInstallation,Da as scheduleDowngrade,Co as searchProjectFiles,xb as sendReferralEmails,Uf as serviceAction,Eh as sessionStartKey,Gw as setActiveInstanceCookie,uy as setAdminBypass,Fx as setAdminProviderDistribution,Hx as setAdminProviderFallback,Pa as setAgentScope,fm as setBootstrapAuthToken,mm as setCachedAuthToken,Xy as setConnectionPolicies,go as setConnectorCredential,Yi as setConnectorCredentialMode,ro as setConnectorName,to as setConnectorPolicies,Zi as setConnectorSensitive,Vi as setDefaultConnectionProfile,Rx as setEnterpriseDemo,fs as setEnv,mc as setGatewayBudget,rc as setGatewayRoutingPolicy,FS as setGitHubAppFromExisting,GS as setGitHubAppPat,IS as setMaintenanceConfig,tc as setMeetBotName,zb as setMemberSuperAdmin,ex as setMfaRequired,ba as setModelDefault,Oi as setPersonalProjectSecret,ni as setProjectOnboardingComplete,yo as setProjectPolicies,oa as setProjectSessionModel,Vo as setProjectSessionSharing,pa as setProjectTriggersActivation,W_ as setupSSH,ew as shouldHideResponsePart,td as shouldShowToolPart,Kk as sortSessions,vk as splitUserParts,Wy as startConnectionProfileOAuth2Authorization,Vy as startConnectionProfileOAuth2DeviceAuthorization,SS as startConnectorSetupLink,LS as startGitHubAppManifest,qi as startProjectProviderOAuth,je as startProjectSession,TS as startSessionWithToken,Bm as startTask,Ct as stopProjectSession,y_ as stopSandbox,Mk as stripAnsi,Lw as stripInstancePrefix,ve as stripTrailingSlashes,xS as submitAccessRequest,ES as submitDemoRequest,wS as submitOAuthConsent,_c as submitReviewItem,RS as submitSecretSetupLink,dy as supabaseClient,Xi as syncConnectors,Xh as syncSubscription,Xf as systemReload,Te as toDaemonPath,Bw as toInstanceAwarePath,ep as toInternalUrl,vs as toSandboxAbsolutePath,Rs as toWorkspaceRelative,Ee as toolInfo,Id as toolViewModel,Pc as transcribeAudio,eS as triggerSandboxUpdate,yu as triggersRequest,Bk as turnHasSteps,Ym as unassignTicket,Z as unwrapError,Nc as updateAccountAuditWebhook,Hs as updateAccountMemberRole,qs as updateAccountName,Nh as updateAgentConfig,Px as updateAuditWebhook,sb as updateChannelBinding,Hi as updateConnectionProfileCredential,ec as updateEmailPolicy,ei as updateExperimentalFeature,vb as updateGroup,xs as updateKortixPty,vf as updateMilestone,gx as updatePatPolicy,Db as updatePolicy,wr as updateProject,yi as updateProjectAccess,pf as updateProjectAgent,ka as updateProjectDefaultAgent,Si as updateProjectGroupGrant,ti as updateProjectSandboxProvider,sa as updateProjectSession,la as updateProjectTrigger,Kb as updateRole,Wb as updateRolePermissions,R_ as updateSandboxMemberRole,I_ as updateSandboxMemberScope,C_ as updateSandboxMemberSpendCap,wo as updateSandboxTemplate,lx as updateSessionPolicy,Gm as updateTask,vy as updateTemplateWarmPool,Jm as updateTicket,Qm as updateTicketStatus,We as uploadFile,Ja as uploadSlackChannelFile,jf as upsertCredential,Mi as upsertProjectGitCredential,$i as upsertProjectSecret,nx as upsertSsoProvider,Js as validateProjectManifest,yb as validateReferralCode,Ws as validateToken,cb as verifyGatewayProvider};
|
|
63
|
+
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let c=n.length,u=r.length;for(;c>s&&u>s&&n[c-1]===r[u-1];)c--,u--;let p=[];for(let g=0;g<s;g++)p.push({type:"unchanged",text:n[g]});for(let g=s;g<c;g++)p.push({type:"removed",text:n[g]});for(let g=s;g<u;g++)p.push({type:"added",text:r[g]});for(let g=c;g<n.length;g++)p.push({type:"unchanged",text:n[g]});return p}function bd(e){let t=B(e.input?.oldString),n=B(e.input?.newString),r=t!==void 0&&n!==void 0?hd(t,n):void 0;return{kind:"file-edit",path:Kr(e),diff:r}}var Pl=/^Found\s+(\d+)\s+match/i,xd=/^(\/[^:]+?):\s*/,kl=/Line\s+(\d+):/g;function kd(e){let t=e.trim(),n=t.match(Pl),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(xd);if(!p)continue;let g=p[1],y=u.slice(p[0].length),m=[],P;for(kl.lastIndex=0;(P=kl.exec(y))!==null;)m.push({line:Number(P[1]),contentStart:P.index+P[0].length,headerStart:P.index});for(let w=0;w<m.length;w++){let R=w+1<m.length?m[w+1].headerStart:y.length,l=y.slice(m[w].contentStart,R).trim();s.push({path:g,line:m[w].line,content:l.endsWith(";")?l.slice(0,-1):l})}}return s}function Pd(e){return e.trim().split(`
|
|
64
|
+
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function _d(e){let t=B(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=Pl.test(e.output.trim())?kd(e.output):Pd(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function wd(e){let t=B(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=B(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function Br(e){let t=Re(e)??{};return{content:B(t.content)??"",status:B(t.status)??"pending",priority:B(t.priority)}}function Sd(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Br)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Br)};let n=Re(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Br)}:{kind:"todo",items:[]}}function vd(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Re(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=Re(p),y=g&&B(g.label);return y?[{label:y,description:g?B(g.description):void 0}]:[]});return{question:B(s.question)??"",header:B(s.header),options:u}})}}function Cd(e){let n=e.input&&Object.keys(e.input).length>0?xl(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?Ne(e.outputParsed):xl(e.outputParsed):e.outputText!==void 0?r=Ne(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Rd(e){switch(vt(e.name)){case"web_search":case"websearch":case"image_search":return od(e);case"bash":return gd(e);case"read":return md(e);case"write":return fd(e);case"edit":case"morph_edit":return bd(e);case"grep":case"glob":return _d(e);case"task":return wd(e);case"todowrite":return Sd(e);case"question":case"ask":return vd(e);default:return Cd(e)}}function Ct(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Td(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 s_(e){if(e==null)return;let t=e.trim().toLowerCase();if(["1","true","yes","y","on"].includes(t))return!0;if(["0","false","no","n","off"].includes(t))return!1}function Hr(e,t,n){return e!==void 0?e:Td(Ct(t),n)}var i_={get disableMobileAdvertising(){return Hr(q().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Hr(q().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Hr(q().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var Rt="kortix-active-instance",Ad=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Id(e){return Ad.some(t=>e===t||e.startsWith(`${t}/`))}function We(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let n=decodeURIComponent(t[1]),r=t[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function a_(e){let t=We(e);return!!t&&t.innerPath===""}function c_(e){let t=We(e);return!t||!t.innerPath?e:t.innerPath}function jd(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=We(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return Id(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function Ed(e){return e?We(e)?.instanceId??null:null}function l_(){return typeof window>"u"?null:Ed(window.location.pathname)||$d()}function $d(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${Rt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function u_(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${Rt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${Rt}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${Rt}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function p_(e,t){return t?jd(t,e):e}function d_(e){let t=We(e);return t?t.innerPath||"/dashboard":e}function _l(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 qd(e){let t=_l(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 wl(e){let t=qd(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function m_(e){return wl(e)!==null}function Dd(e){let t=wl(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:_l(e)||"The sandbox is running, but OpenCode returned an error."}}function z(){let e=Ct("BACKEND_URL")||q().backendUrl;return e||"http://localhost:8008/v1"}function Ve(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let n=Ve(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return Ve(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var Sl=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function vl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function Md(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 zr(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?`${z()}/p/${n.external_id}/${se.KORTIX_MASTER}`:""),status:Md(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 Nr(){let e=await ve(),t=[];for(let n of e){let r=await Ge(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:zr(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 fe(e){let t=await Nr();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 Tt(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await E(`${z()}${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 I(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=De(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function Cl(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`${z()}/p/${e.external_id}/${se.KORTIX_MASTER}`}function v_(e,t){return e.external_id?`${z()}/p/${e.external_id}/${t}`:null}async function j_(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Ud(e){let t=await fe();if(t)return{sandbox:t.sandbox,created:!1};let r=(await ve())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Be(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await Ce(r.project_id,s.session_id))?.sandbox??null;return{sandbox:zr(r,s,c),created:!0}}async function E_(){return(await fe().catch(()=>null))?.sandbox??null}async function $_(e){return{sandbox:(await Ud(e)).sandbox}}async function q_(e){let t=Ve(e);return t?(await fe(t).catch(()=>null))?.sandbox??null:null}async function D_(e,t){throw await fe(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function M_(e){let t=Ve(e);return(await Nr().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function U_(){if(typeof window>"u")return null;let e=z(),t=Array.from(new Set([e,...Sl]));for(let n of t)try{let r=await fetch(vl(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 O_(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await fe(e);if(!t)throw new Error("Project session sandbox not found");await bt(t.project.project_id,t.session.session_id)}async function L_(e){if(!e)throw new Error("No sandbox selected to stop");let t=await fe(e);if(!t)throw new Error("Project session sandbox not found");await xt(t.project.project_id,t.session.session_id)}async function F_(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function G_(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function N_(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function W_(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function V_(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function J_(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function Q_(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function X_(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Y_(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Z_(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Wr(e,t,n){let r=Cl(e),s=await E(`${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 ew(e,t){return Wr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function tw(e,t,n,r="member"){await Wr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function nw(e,t,n){await Wr(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function rw(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function ow(e){let t=await Tt(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function aw(e){let t=await Tt(`/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 cw(e){let t=await Tt(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function uw(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function pw(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function dw(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function gw(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function fw(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function yw(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Od=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function xw(e){return Od.includes(e)}async function kw(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 Pw(e){let t=e?`?channel=${e}`:"",n=await fetch(`${z()}/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 Ld(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Ld(e){let t=e?`?channel=${e}`:"",n=await fetch(`${z()}/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 _w(){let e=await fetch(`${z()}/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 ww(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Sw(e){}async function vw(e){}async function Aw(e){return{serverTypes:[],location:e||"hel1"}}async function Iw(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function jw(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function Ew(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function $w(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function qw(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function Dw(e,t){return`${z()}/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 At(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Vr(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 It(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function jt(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 K(e,t,n){let r=n?.body!==void 0,s=await fetch(`${At(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Vr(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 It(s);if(!s.ok)throw new ae(jt(s,c),s.status,c);return c}function Fd(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 Uw(e,t){return K(`/marketplace/items${Fd(t)}`,e)}function Ow(e){return K("/marketplace/marketplaces",e)}function Lw(e,t){return K(`/marketplace/items/${encodeURIComponent(e)}`,t)}function Fw(e,t,n){return K(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function Gw(e,t){return K("/access/check-email",t,{method:"POST",body:{email:e}})}function Bw(e,t){return K("/access/request-access",t,{method:"POST",body:e})}function Kw(e){return K("/auth/logout",e,{method:"POST",body:{}})}function Hw(e,t){return K(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function zw(e,t){return K("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function Nw(e,t){return K(`/setup-links/connector/${encodeURIComponent(e)}`,t)}function Ww(e,t){return K(`/setup-links/connector/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function Vw(e,t){return K(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function Jw(e,t,n){return K(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function Qw(e,t){return K(`/p/public-share/${encodeURIComponent(e)}`,t)}function Xw(e,t,n){return K(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function Yw(e){return K("/system/maintenance",e)}function Zw(e,t){return K("/system/maintenance",t,{method:"PUT",body:e})}function eS(e){return K("/user-roles",e)}function tS(e,t){return K("/system/demo-request",t,{method:"POST",body:e})}async function nS(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(`${At(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Vr(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let c=await It(s);throw new ae(jt(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 rS(e,t){let n=await fetch(`${At(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Vr(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await It(n);throw new ae(jt(n,r),n.status,r)}if(!n.body)throw new ae("No response body",n.status,null);return n.body}var Gd=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Bd(e,t){return Gd.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${At(e)}/`):null}async function sS(e,t,n){let r=Bd(e,t);if(!r)throw new ae("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),c=await It(s);if(!s.ok)throw new ae(jt(s,c),s.status,c);return c}async function aS(){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 cS(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 lS(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 uS(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 pS(){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 Rl(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 Kd(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 Tl(e,t){return Kd(e,t)?(t?Rl(t):null)??Rl(e):null}function gS(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function mS(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function bS(e,t={}){let n=Tl(e,t.serverUrl);if(!n)return!1;let r=await he();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}function Jr(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function kS(e,t){return`${Jr(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function PS(e,t){return`${Jr(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function Hd(e,t){return`${Jr(e)}/presentation/convert-to-${t}`}async function _S(e,t,n,r){let s=Hd(t,e),c=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),g=!1;for(;;){let y=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=y.headers.get("content-type")||"";if(y.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let l=await y.blob();if(l.size===0)throw new Error("Downloaded file is empty");return l}if(y.status===202){if(g||(g=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((l,f)=>{let a=setTimeout(l,c);r?.signal?.addEventListener("abort",()=>{clearTimeout(a),f(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let w=await y.text().catch(()=>""),R=y.statusText;try{let l=JSON.parse(w);R=String(l.error||l.detail||l.message||R)}catch{w&&(R=w)}throw new Error(`Failed to download ${e.toUpperCase()}: ${R} (HTTP ${y.status})`)}}function Il(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 zd(e){return Wd(Il(e))}function Nd(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=Il(e),s=async c=>{let u=await e.getToken?.(),p=await t(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new Qr({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function Wd(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 Vd={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Al=500,Qr=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??Vd,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0}),this.setBusy(!0)}observePromptStatus(t){if(this.promptObservationPhase!=="idle"){if(t.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.setBusy(!1)}setBusy(t){if(!t){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t),r=await this.loadCompleteTurn(n,"tail",t);if(this.destroyed)return;this.containsNewPromptReply(r.messages)&&this.observePromptActivity(),this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t)}async loadCompleteTurn(t,n,r,s){let c=[...t.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),g=t.nextCursor;for(let y of t.messages)y.info.role==="user"&&u.add(y.info.id);for(;g&&c.some(y=>y.info.role==="assistant"&&!!y.info.parentID&&!u.has(y.info.parentID));){if(p.has(g))throw new Error(`Session history cursor repeated: ${g}`);p.add(g);let y=await this.loadPage(n,r,g);c.unshift(...y.messages);for(let m of y.messages)m.info.role==="user"&&u.add(m.info.id);g=y.nextCursor}return{messages:c,nextCursor:g}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.reconcile("poll"),await this.reconcileStatus(),this.lastActivityAt=this.scheduler.now())}containsNewPromptReply(t){if(this.promptObservationPhase==="idle")return!1;let n=new Set(t.filter(r=>r.info.role==="user"&&!this.knownUserMessageIds.has(r.info.id)).map(r=>r.info.id));return n.size===0?!1:t.some(r=>r.info.role==="assistant"&&!!r.info.parentID&&n.has(r.info.parentID))}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let t=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.stopLivenessTimer())};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(t,Al):setTimeout(t,Al)}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 Jd(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Qd(e){let{url:t,token:n,method:r="GET",body:s,onEvent:c,onOpen:u,onError:p,signal:g}=e,y=new Map,m=null,P=!1;function w(T,v){c?.(T,v);let k=y.get(T);if(k)for(let j of k)try{j(v)}catch{}}async function R(){if(P)return;m=new AbortController;let T=g?AbortSignal.any([m.signal,g]):m.signal;try{let v={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(v["Content-Type"]="application/json");let k=await fetch(t,{method:r,headers:v,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:T,credentials:"include"});if(!k.ok)throw new Error(`SSE connection failed: ${k.status} ${k.statusText}`);if(!k.body)throw new Error("SSE response has no body");u?.();let j=k.body.getReader(),A=new TextDecoder,S="",$="message",L="";for(;!P;){let{done:h,value:C}=await j.read();if(h)break;S+=A.decode(C,{stream:!0});let D=S.split(`
|
|
65
|
+
`);S=D.pop()||"";for(let F of D)F===""?L&&(w($,L.trimEnd()),$="message",L=""):F.startsWith("event: ")?$=F.slice(7).trim():F.startsWith("data: ")?L+=(L?`
|
|
66
|
+
`:"")+F.slice(6):F.startsWith("data:")&&(L+=(L?`
|
|
67
|
+
`:"")+F.slice(5))}}catch(v){if(P||v instanceof DOMException&&v.name==="AbortError")return;p?.(v instanceof Error?v:new Error(String(v)))}}function l(){P=!0,m?.abort(),m=null,y.clear()}function f(T,v){let k=y.get(T)??new Set;k.add(v),y.set(T,k)}function a(T,v){y.get(T)?.delete(v)}return{connect:R,close:l,addEventListener:f,removeEventListener:a}}function vS(e,t){return Qd({...t,url:Jd(e)})}export{Rt as ACTIVE_INSTANCE_COOKIE,I as ApiError,$e as AuthError,xe as BillingError,ml as COST_MARKUP,cl as DEFAULT_TRANSCRIPT_OPTIONS,Od as DESTRUCTIVE_PHASES,mu as FEATURE_NOT_SUPPORTED_CODE,ae as HostBoundaryError,Ad as INSTANCE_SCOPED_ROUTES,Dr as PublicSessionShareError,Mr as PublicVoiceJoinError,qe as RequestTooLargeError,or as RuntimeNotReadyError,ar as SANDBOX_FS_ROOTS,se as SANDBOX_PORTS,St as SessionNotReadyError,jr as SessionStartError,Yd as __getConfigResolver,Xd as __setConfigResolver,Ks as acceptAccountInvite,aw as acceptInvite,_c as actReviewItem,Ty as activateConnectionProfile,wr as activateConnectorAuthorization,gb as addGroupMembers,Xc as addMarketplaceSource,W_ as addSandboxMember,rd as allDescendantIds,mS as appendPreviewToken,fi as approveProjectAccessRequest,fm as approveTask,yr as archiveProject,wm as assignTicket,vi as attachGroupToProject,E as authenticatedFetch,i as backendApi,Fh as bindSlackIdentity,Gh as bindTeamsIdentity,jd as buildInstancePath,PS as buildPresentationTemplateImageUrl,kS as buildPresentationTemplatePdfUrl,Tl as buildPreviewAuthEndpoint,Bd as buildPublicTemplateUrl,Hd as buildRuntimePresentationConversionUrl,ho as buildSandboxTemplate,Sk as buildStaticFileHealthPreviewUrl,wk as buildStaticFileLocalUrl,_k as buildStaticFilePreviewUrl,Vu as buildStaticFileServicePath,Jd as buildTunnelEventStreamUrl,Ak as buildWebProxyUrl,wc as bulkActReviewItems,_b as bulkDeletePolicies,wb as bulkImportPolicies,hx as cancelAccountDeletion,Fs as cancelAccountInvite,F_ as cancelSandbox,vw as cancelSandboxUpdate,Ea as cancelScheduledChange,Aa as cancelSubscription,Gw as checkAccessEmail,IP as childMapByParent,$w as claimComputer,Eh as claimPerSeatBilling,No as claimWarmProjectSession,pl as classifyPart,Vp as classifyTurn,ga as clearModelDefault,Yy as clearSessionFresh,Do as closeChangeRequest,Xm as closeMilestone,CP as collectTurnParts,vm as commentTicket,Oo as commitSessionChanges,gl as computeStatusFromPart,Ma as configureAutoTopup,Dt as configureKortix,Ra as confirmCheckoutSession,Qa as connectEmail,Ba as connectSlack,qx as convertPresentationToGoogleSlides,_S as convertRuntimePresentation,gt as copyFile,qs as createAccount,Fc as createAccountAuditWebhook,Ec as createAccountToken,sx as createAuditWebhook,pw as createBackup,Ca as createCheckoutSession,Yi as createConnector,dt as createFile,fc as createGatewayKey,lb as createGroup,Nd as createHttpSessionSyncController,Iw as createInstance,yp as createKortix,ks as createKortixPty,ck as createMarketplaceInstallSession,Jm as createMilestone,jh as createPerSeatCheckout,xb as createPolicy,Ta as createPortalSession,Zs as createProject,Dm as createProjectAgent,Dc as createProjectCliToken,ei as createProjectRepo,Ai as createProjectResourceGrant,Be as createProjectSession,na as createProjectTrigger,Ab as createRole,Qd as createSSEStream,$_ as createSandbox,vc as createSandboxShare,mo as createSandboxTemplate,Db as createScimToken,ex as createServiceAccountApi,Ko as createSessionPublicShare,zb as createSsoGroupMapping,dm as createTask,km as createTicket,vS as createTunnelEventStream,Hs as declineAccountInvite,cw as declineInvite,bx as deleteAccountImmediately,ox as deleteAuditWebhook,gw as deleteBackup,eo as deleteConnector,sf as deleteCredential,bs as deleteEnv,mt as deleteFile,gc as deleteGatewayBudget,gi as deleteGitHubInstallation,pb as deleteGroup,jw as deleteInstance,Hm as deleteKortixProject,Zm as deleteMilestone,Gi as deletePersonalProjectSecret,Pb as deletePolicy,Um as deleteProjectAgent,Ii as deleteProjectResourceGrant,Li as deleteProjectSecret,Xo as deleteProjectSession,sa as deleteProjectTrigger,Eb as deleteRole,yo as deleteSandboxTemplate,nx as deleteServiceAccountApi,Nb as deleteSsoGroupMapping,Kb as deleteSsoProvider,ym as deleteTask,Cm as deleteTicket,Bs as describeAccountInvite,Ri as detachGroupFromProject,zu as detectLocalhostUrls,tx as disableServiceAccountApi,Xa as disconnectEmail,pS as disconnectGitHubApp,za as disconnectSlack,_y as discoverConnectionProfileOAuth2,Zi as discoverConnectorAuth,wu as discoverConnectorAuthorizationOAuth2,U_ as discoverLocalSandbox,nS as downloadAccountAudit,bf as dropClientForUrl,Pf as dropPublicClientForUrl,$m as ensurePmSession,bS as ensurePreviewSessionCookie,ku as ensureProjectConnectorAuthorization,xy as ensureProjectConnectorProfile,Ud as ensureSandbox,zo as ensureWarmProjectSession,tu as env,Oc as exportAccountAudit,ge as extractGatewayErrorDetails,We as extractInstanceRoute,i_ as featureFlags,Ah as fetchAccountStateWithToken,Kf as fetchAccountsWithToken,_o as fetchProjectArchive,Yf as fetchProjectsForAccountWithToken,du as files,ut as findFiles,RP as findLastTextPart,pt as findText,oa as fireProjectTrigger,go as fixSandboxWithAgent,eu as formatBillingErrorForUI,WP as formatCost,HP as formatDuration,Dd as formatOpenCodeRuntimeError,Dd as formatRuntimeError,VP as formatTokens,wp as formatTranscript,hp as generateSessionId,Ds as getAccount,fx as getAccountDeletionStatus,xa as getAccountState,ka as getAccountStateMinimal,$d as getActiveInstanceIdFromCookie,Cx as getAdminProviderAnalytics,wx as getAdminProviderDistribution,Tx as getAdminProviderFallback,xx as getAdminRole,td as getAgentCardLabel,Sh as getAgentConfig,Om as getAgentPersona,_w as getAllVersions,AP as getAnsweredQuestionParts,sk as getApprovalLink,he as getAuthToken,ps as getAuthTokenWithRetry,Da as getAutoTopupSettings,Ih as getAutoTopupSetupStatus,wa as getBillingCreditBreakdown,va as getBillingTierConfigurations,_a as getBillingTransactionsSummary,Sa as getBillingUsageHistory,Io as getChangeRequest,jo as getChangeRequestDiff,Eo as getChangeRequestMergePreview,fP as getChildSessionError,mP as getChildSessionId,yP as getChildSessionToolParts,le as getClient,te as getClientForUrl,so as getConnectStatus,Ey as getConnectionPolicies,Py as getConnectionProfileOAuth2Application,Cy as getConnectionProfileOAuth2Status,_u as getConnectorAuthorizationOAuth2Application,Ru as getConnectorAuthorizationOAuth2Status,Ji as getConnectorConfig,Wi as getConnectorPolicies,Nw as getConnectorSetupLink,Ed as getCurrentInstanceIdFromPathname,l_ as getCurrentInstanceIdFromWindow,Is as getCurrentProject,ba as getDefaultAccountState,xP as getDiagnostics,ed as getDirectory,ro as getDiscoverIntegration,Va as getEmailInstallation,Ja as getEmailMode,ux as getEnterpriseDemo,lt as getFileStatus,dl as getFileWithDir,Zp as getFilename,Ld as getFullChangelog,cc as getGatewayBreakdown,pc as getGatewayBudgets,uc as getGatewayErrors,mc as getGatewayKeys,ic as getGatewayLog,oc as getGatewayOverview,ec as getGatewayRoutingPolicy,ac as getGatewaySeries,lc as getGatewaySessions,aS as getGitHubAppStatus,oi as getGitHubInstallation,$x as getGoogleAuthUrl,cb as getGroup,dP as getHiddenToolParts,ow as getInvite,Aw as getJustavpsServerTypes,Gm as getKortixProject,Bm as getKortixProjectBySession,ws as getKortixPtyWebSocketUrl,Pw as getLatestSandboxVersion,Yw as getMaintenanceConfig,Jf as getManagedGitStatus,Vc as getMarketplaceCatalogItem,Jc as getMarketplaceCatalogItemFile,Ub as getMfaRequired,Wm as getMilestone,pa as getModelDefaults,Hw as getOAuthConsentRequest,wl as getOpenCodeConfigInvalidError,uP as getPartText,Xb as getPatPolicy,kP as getPermissionForTool,pr as getProject,Lm as getProjectActivity,vo as getProjectCommit,Co as getProjectCommitDiff,dr as getProjectDetail,Ro as getProjectFileHistory,Ys as getProjectGitToken,gr as getProjectLlmCatalog,Vf as getProjectLlmCatalogProviders,mr as getProjectModelPicker,Rr as getProjectSandboxHealth,Qf as getProjectSandboxProviderTransition,Ar as getProjectSession,Yo as getProjectSessionScope,$a as getProrationPreview,j_ as getProviders,vk as getProxyBaseUrl,kf as getPublicClientForUrl,Lw as getPublicMarketplaceItem,Fw as getPublicMarketplaceItemFile,Kx as getPublicSessionShare,Hx as getPublicSessionShareMessages,Qw as getPublicShareByToken,sS as getPublicTemplate,Wx as getPublicVoiceJoin,Vx as getPublicVoiceTranscript,PP as getQuestionForTool,Zh as getReferralCode,nb as getReferralStats,JP as getRetryInfo,QP as getRetryMessage,kc as getReviewItem,Cb as getRolePermissions,Tb as getRoleUsage,yw as getSSHConnection,E_ as getSandbox,q_ as getSandboxById,Y_ as getSandboxMemberScopes,v_ as getSandboxPortUrl,qw as getSandboxProvisionStatus,Dw as getSandboxProvisionStreamUrl,kw as getSandboxUpdateStatus,Cl as getSandboxUrl,Vw as getSecretSetupLink,cr as getServerHealth,cf as getServiceLogs,Wo as getSessionAudit,NP as getSessionCost,$r as getSessionCostRecord,Zc as getSessionHealth,Wb as getSessionPolicy,Go as getSessionPreviewCandidates,Vo as getSessionTranscript,qP as getShellModePart,Na as getSlackChannelFile,Ga as getSlackInstallation,Ha as getSlackManifest,Ka as getSlackMode,Fb as getSsoProvider,Ju as getStaticFileHealthPath,rr as getSupabaseAccessToken,Ee as getSupabaseAccessTokenWithRetry,lm as getTask,pm as getTaskStatus,dk as getTemplate,bm as getTicket,hP as getToolInfo,Sp as getTranscriptFilename,zP as getTurnCost,GP as getTurnError,BP as getTurnErrorDetails,KP as getTurnStatus,Ua as getUsageRollup,eS as getUserRolesWithToken,To as getVersionDiff,X_ as getViewerSandboxScopes,Jo as getVoiceTranscript,LP as getWorkingState,tw as grantSandboxProjectAccess,vP as groupMessagesIntoTurns,XP as hasDiffs,Pk as hasLocalhostUrls,Wu as hasPreviewTarget,Yu as heartbeatGapEvent,Lr as humanizeToolName,Bb as importSsoProviderFromMetadata,gk as installTemplate,nt as invalidateTokenCache,Os as inviteAccountMember,ki as inviteProjectMember,Qs as inviteRepoCollaborator,Uf as isAdminBypassEnabled,oP as isAgentPart,Bu as isAppRouteUrl,Qp as isAttachment,Zl as isBillingError,aP as isCompactionPart,Mt as isConfigured,xw as isDestructivePhase,Ek as isExternalUrl,Jp as isFilePart,a_ as isInstanceDetailPath,Id as isInstanceScopedAppPath,Tk as isInternalLocalhostUrl,ay as isInviteSent,OP as isLastUserMessage,Wf as isManagedGithubProject,m_ as isOpenCodeConfigInvalidError,lP as isPatchPart,Rk as isPreviewUrl,Qu as isProxiableLocalhostUrl,Gr as isReasoningPart,hk as isRuntimeReady,js as isServerReachable,Lo as isSessionFresh,gh as isSessionStartError,sd as isShellMode,cP as isSnapshotPart,gS as isSubdomainPreviewUrl,me as isTextPart,oe as isToolPart,gP as isToolPartHidden,Cs as isUnderSandboxRoot,jk as isWebProxyUrl,ru as kortixPty,Ws as leaveAccount,di as linkGitHubInstallation,ii as linkRepository,Uc as listAccountAudit,Lc as listAccountAuditWebhooks,Ls as listAccountInvites,Us as listAccountMembers,Jb as listAccountSessions,jc as listAccountTokens,$s as listAccounts,Rb as listActions,Sx as listAdminSandboxes,vb as listAgentIdentities,fy as listAllConnectionProfiles,br as listAllConnectorAuthorizations,ax as listAuditEvents,rx as listAuditWebhooks,uw as listBackups,Pa as listBillingTransactions,Ao as listChangeRequests,Bh as listChannelBindings,Rm as listColumns,my as listConnectionProfiles,hr as listConnectorAuthorizations,Bi as listConnectors,tf as listCredentialEvents,ef as listCredentials,no as listDiscoverIntegrations,ys as listEnv,Wc as listFeaturedMarketplaces,Am as listFields,ct as listFiles,sc as listGatewayLogs,ai as listGitHubInstallations,li as listGitHubRepositories,ui as listGitHubRepositoryBranches,db as listGroupMembers,mb as listGroupProjectGrants,ab as listGroups,Km as listKortixProjectSessions,Fm as listKortixProjects,xs as listKortixPty,ci as listLinkableGitHubInstallations,zc as listMarketplaceCatalogItems,Qc as listMarketplaceSources,Nc as listMarketplaces,yb as listMemberGroups,hb as listMemberProjectAccess,Vm as listMilestoneEvents,Nm as listMilestones,ji as listPendingApprovals,Pi as listPendingProjectInvites,to as listPipedreamApps,bb as listPolicies,hi as listProjectAccess,mi as listProjectAccessRequests,qm as listProjectAgents,wo as listProjectBranches,qc as listProjectCliTokens,So as listProjectCommits,xo as listProjectFiles,Si as listProjectGroupGrants,ao as listProjectPolicies,Ti as listProjectResourceGrants,lo as listProjectSandboxTemplates,bo as listProjectSandboxes,qi as listProjectSecrets,Ge as listProjectSessions,uo as listProjectSnapshots,ta as listProjectTriggers,ve as listProjects,Js as listProjectsForAccount,Uw as listPublicMarketplaceItems,Ow as listPublicMarketplaces,rb as listReferrals,xc as listReviewItems,Sb as listRoles,N_ as listSandboxMembers,ew as listSandboxProjectMembers,Sc as listSandboxShares,M_ as listSandboxes,qb as listScimTokens,Zb as listServiceAccountsApi,af as listServiceTemplates,of as listServices,La as listSessionCosts,Bo as listSessionPublicShares,Ei as listSessionsNeedingInput,Hb as listSsoGroupMappings,um as listTaskEvents,cm as listTasks,jm as listTemplates,xm as listTicketEvents,hm as listTickets,zd as loadHttpSessionHistory,Ew as markInstanceError,ht as markSessionFresh,qo as mergeChangeRequest,Rx as migrateAdminSandboxProvider,ft as mkdir,Zu as narrowChatEvent,d_ as normalizeAppPathname,$k as normalizeExternalInput,vt as normalizeToolName,$o as openChangeRequest,Ur as openEventStream,rS as openStressTestStream,De as parseBillingError,s_ as parseFlagOverride,Pt as parseLocalhostUrl,qd as parseOpenCodeErrorPayload,il as parseSubdomainUrl,Ik as parseWebProxyUrl,zm as patchKortixProject,Xi as pipedreamConnect,Iy as pipedreamConnectConnectionProfile,vr as pipedreamConnectConnectorAuthorization,oo as pipedreamFinalize,jy as pipedreamFinalizeConnectionProfile,Cr as pipedreamFinalizeConnectorAuthorization,q as platformConfig,vy as pollConnectionProfileOAuth2DeviceAuthorization,Cu as pollConnectorAuthorizationOAuth2DeviceAuthorization,Ui as pollProjectProviderOAuth,rc as previewGatewayRoute,Ob as previewMfaRequired,cx as probeEffectivePermission,lx as probeEffectivePermissions,dh as projectSessionStartSeed,ti as provisionProject,Zf as provisionProjectWithToken,rl as proxyLocalhostUrl,Ck as proxyUrlToInternal,qa as purchaseCredits,ky as putConnectionProfileOAuth2Application,Pu as putConnectorAuthorizationOAuth2Application,G_ as reactivateSandbox,Ia as reactivateSubscription,Le as readBlob,Oe as readFile,Po as readProjectFile,po as rebuildProjectSnapshot,yy as reconcileConnectionProfile,xr as reconcileConnectorAuthorization,hy as reconcileMemberConnectionProfile,kr as reconcileMemberConnectorAuthorization,uf as reconcileServices,Kw as recordPlatformLogout,eb as refreshReferralCode,pf as registerService,yi as rejectProjectAccessRequest,bP as relativizePath,Bc as removeAccountAuditWebhook,zs as removeAccountMember,fb as removeGroupMember,_s as removeKortixPty,Yc as removeMarketplaceSource,V_ as removeSandboxMember,yt as renameFile,D_ as renameSandbox,Mo as reopenChangeRequest,Ym as reopenMilestone,Tm as replaceColumns,Im as replaceFields,Em as replaceTemplates,yx as requestAccountDeletion,Uo as requestChangesOnChangeRequest,oy as requestProjectAccess,Hc as requestProjectConnector,Kc as requestProjectSecret,Gs as resendAccountInvite,wi as resendPendingProjectInvite,xf as resetClient,nc as resetGatewayRoutingPolicy,_f as resetPublicClient,Sw as resetSandboxUpdateStatus,$i as resolveApproval,bt as restartProjectSession,O_ as restartSandbox,dw as restoreBackup,rf as revealCredential,Qb as revokeAccountSession,$c as revokeAccountToken,Ry as revokeConnectionProfile,_r as revokeConnectorAuthorization,yc as revokeGatewayKey,_i as revokePendingProjectInvite,xi as revokeProjectAccess,Mc as revokeProjectCliToken,rw as revokeSandboxInvite,nw as revokeSandboxProjectAccess,Cc as revokeSandboxShare,Mb as revokeScimToken,Ho as revokeSessionPublicShare,de as rewriteLocalhostUrl,hc as runGatewayPlayground,pi as saveGitHubInstallation,ja as scheduleDowngrade,ko as searchProjectFiles,sb as sendReferralEmails,lf as serviceAction,mh as sessionStartKey,u_ as setActiveInstanceCookie,Mf as setAdminBypass,vx as setAdminProviderDistribution,Ax as setAdminProviderFallback,fa as setAgentScope,Gg as setBootstrapAuthToken,Fg as setCachedAuthToken,$y as setConnectionPolicies,zi as setConnectorAuthorizationStrategy,io as setConnectorCredential,Hi as setConnectorCredentialMode,Qi as setConnectorName,Vi as setConnectorPolicies,Ni as setConnectorSensitive,Ay as setDefaultConnectionProfile,Sr as setDefaultConnectorAuthorization,px as setEnterpriseDemo,hs as setEnv,dc as setGatewayBudget,tc as setGatewayRoutingPolicy,lS as setGitHubAppFromExisting,uS as setGitHubAppPat,Zw as setMaintenanceConfig,Za as setMeetBotName,$b as setMemberSuperAdmin,Lb as setMfaRequired,da as setModelDefault,Fi as setPersonalProjectSecret,si as setProjectOnboardingComplete,co as setProjectPolicies,ea as setProjectSessionModel,Zo as setProjectSessionScope,Fo as setProjectSessionSharing,ia as setProjectTriggersActivation,fw as setupSSH,FP as shouldHideResponsePart,Yp as shouldShowToolPart,jP as sortSessions,pP as splitUserParts,wy as startConnectionProfileOAuth2Authorization,Sy as startConnectionProfileOAuth2DeviceAuthorization,Su as startConnectorAuthorizationOAuth2Authorization,vu as startConnectorAuthorizationOAuth2DeviceAuthorization,Ww as startConnectorSetupLink,cS as startGitHubAppManifest,Mi as startProjectProviderOAuth,Ce as startProjectSession,Xw as startSessionWithToken,mm as startTask,xt as stopProjectSession,L_ as stopSandbox,_P as stripAnsi,c_ as stripInstancePrefix,ke as stripTrailingSlashes,Bw as submitAccessRequest,tS as submitDemoRequest,zw as submitOAuthConsent,Pc as submitReviewItem,Jw as submitSecretSetupLink,Of as supabaseClient,Ki as syncConnectors,$h as syncSubscription,wf as systemReload,we as toDaemonPath,p_ as toInstanceAwarePath,Xu as toInternalUrl,Rs as toSandboxAbsolutePath,Ts as toWorkspaceRelative,Fr as toolInfo,Rd as toolViewModel,bc as transcribeAudio,ww as triggerSandboxUpdate,nu as triggersRequest,TP as turnHasSteps,Sm as unassignTicket,Z as unwrapError,Gc as updateAccountAuditWebhook,Ns as updateAccountMemberRole,Ms as updateAccountName,vh as updateAgentConfig,ix as updateAuditWebhook,Kh as updateChannelBinding,by as updateConnectionProfileCredential,Pr as updateConnectorAuthorizationCredential,Ya as updateEmailPolicy,ni as updateExperimentalFeature,ub as updateGroup,Ps as updateKortixPty,Qm as updateMilestone,Yb as updatePatPolicy,kb as updatePolicy,fr as updateProject,bi as updateProjectAccess,Mm as updateProjectAgent,ha as updateProjectDefaultAgent,Ci as updateProjectGroupGrant,ri as updateProjectSandboxProvider,Qo as updateProjectSession,ra as updateProjectTrigger,Ib as updateRole,jb as updateRolePermissions,J_ as updateSandboxMemberRole,Z_ as updateSandboxMemberScope,Q_ as updateSandboxMemberSpendCap,fo as updateSandboxTemplate,Vb as updateSessionPolicy,gm as updateTask,Xf as updateTemplateWarmPool,Pm as updateTicket,_m as updateTicketStatus,Fe as uploadFile,Wa as uploadSlackChannelFile,nf as upsertCredential,Oi as upsertProjectGitCredential,Di as upsertProjectSecret,Gb as upsertSsoProvider,Xs as validateProjectManifest,tb as validateReferralCode,Vs as validateToken,Wh as verifyGatewayProvider};
|