@kortix/sdk 0.13.3 → 0.13.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/cache/idb-sync-cache.d.ts +19 -1
- package/dist/browser/cache/idb-sync-cache.d.ts.map +1 -1
- package/dist/browser/cache/idb-sync-cache.js +39 -4
- package/dist/browser/cache/idb-sync-cache.js.map +1 -1
- package/dist/browser/session-sync/session-sync-registry.d.ts +20 -0
- package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
- package/dist/browser/session-sync/session-sync-registry.js +69 -6
- package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
- package/dist/browser/session-sync/visibility.d.ts +19 -0
- package/dist/browser/session-sync/visibility.d.ts.map +1 -0
- package/dist/browser/session-sync/visibility.js +16 -0
- package/dist/browser/session-sync/visibility.js.map +1 -0
- package/dist/browser/stores/sandbox-connection-store.js +1 -1
- package/dist/browser/stores/sandbox-connection-store.js.map +1 -1
- package/dist/browser/stores/sync-store.d.ts +27 -1
- package/dist/browser/stores/sync-store.d.ts.map +1 -1
- package/dist/browser/stores/sync-store.js +198 -41
- package/dist/browser/stores/sync-store.js.map +1 -1
- package/dist/core/client/kortix.d.ts +0 -11
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +14 -8
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/rest/projects-client/channels.d.ts +0 -3
- package/dist/core/rest/projects-client/channels.d.ts.map +1 -1
- package/dist/core/rest/projects-client/channels.js +0 -6
- package/dist/core/rest/projects-client/channels.js.map +1 -1
- package/dist/core/rest/projects-client/index.d.ts +0 -2
- package/dist/core/rest/projects-client/index.d.ts.map +1 -1
- package/dist/core/rest/projects-client/index.js +0 -2
- package/dist/core/rest/projects-client/index.js.map +1 -1
- package/dist/core/rest/projects-client/projects.d.ts +1 -1
- package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
- package/dist/core/rest/projects-client/projects.js +5 -3
- package/dist/core/rest/projects-client/projects.js.map +1 -1
- package/dist/core/rest/projects-client/sessions.d.ts +8 -33
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sessions.js +1 -18
- package/dist/core/rest/projects-client/sessions.js.map +1 -1
- package/dist/core/runtime/attachment-part.d.ts +26 -0
- package/dist/core/runtime/attachment-part.d.ts.map +1 -0
- package/dist/core/runtime/attachment-part.js +41 -0
- package/dist/core/runtime/attachment-part.js.map +1 -0
- package/dist/core/runtime/client.d.ts +4 -2
- package/dist/core/runtime/client.d.ts.map +1 -1
- package/dist/core/runtime/client.js +3 -2
- package/dist/core/runtime/client.js.map +1 -1
- package/dist/core/runtime/opencode-v2-event-aliases.d.ts +184 -0
- package/dist/core/runtime/opencode-v2-event-aliases.d.ts.map +1 -0
- package/dist/core/runtime/opencode-v2-event-aliases.js +2 -0
- package/dist/core/runtime/opencode-v2-event-aliases.js.map +1 -0
- package/dist/core/runtime/pty.d.ts +11 -1
- package/dist/core/runtime/pty.d.ts.map +1 -1
- package/dist/core/runtime/pty.js +19 -6
- package/dist/core/runtime/pty.js.map +1 -1
- package/dist/core/session/connection.d.ts +64 -0
- package/dist/core/session/connection.d.ts.map +1 -0
- package/dist/core/session/connection.js +36 -0
- package/dist/core/session/connection.js.map +1 -0
- package/dist/core/session/index.d.ts +1 -0
- package/dist/core/session/index.d.ts.map +1 -1
- package/dist/core/session/index.js +1 -0
- package/dist/core/session/index.js.map +1 -1
- package/dist/core/session/preview-auth.d.ts +25 -0
- package/dist/core/session/preview-auth.d.ts.map +1 -1
- package/dist/core/session/preview-auth.js +31 -1
- package/dist/core/session/preview-auth.js.map +1 -1
- package/dist/core/session/preview-config.d.ts +26 -0
- package/dist/core/session/preview-config.d.ts.map +1 -0
- package/dist/core/session/preview-config.js +95 -0
- package/dist/core/session/preview-config.js.map +1 -0
- package/dist/core/session/preview-options.d.ts +25 -0
- package/dist/core/session/preview-options.d.ts.map +1 -0
- package/dist/core/session/preview-options.js +45 -0
- package/dist/core/session/preview-options.js.map +1 -0
- package/dist/core/session/preview.d.ts +8 -3
- package/dist/core/session/preview.d.ts.map +1 -1
- package/dist/core/session/preview.js +11 -4
- package/dist/core/session/preview.js.map +1 -1
- package/dist/core/session/rewind.d.ts +67 -24
- package/dist/core/session/rewind.d.ts.map +1 -1
- package/dist/core/session/rewind.js +74 -26
- package/dist/core/session/rewind.js.map +1 -1
- package/dist/core/session/server-store/active.d.ts +10 -12
- package/dist/core/session/server-store/active.d.ts.map +1 -1
- package/dist/core/session/server-store/active.js +11 -9
- package/dist/core/session/server-store/active.js.map +1 -1
- package/dist/core/session/server-store/url-helpers.d.ts +11 -2
- package/dist/core/session/server-store/url-helpers.d.ts.map +1 -1
- package/dist/core/session/server-store/url-helpers.js +11 -2
- package/dist/core/session/server-store/url-helpers.js.map +1 -1
- package/dist/core/session/url.d.ts +25 -2
- package/dist/core/session/url.d.ts.map +1 -1
- package/dist/core/session/url.js +87 -11
- package/dist/core/session/url.js.map +1 -1
- package/dist/core/session/working.d.ts +44 -0
- package/dist/core/session/working.d.ts.map +1 -1
- package/dist/core/session/working.js +146 -4
- package/dist/core/session/working.js.map +1 -1
- package/dist/core/session-sync/durable-log.d.ts +96 -0
- package/dist/core/session-sync/durable-log.d.ts.map +1 -0
- package/dist/core/session-sync/durable-log.js +94 -0
- package/dist/core/session-sync/durable-log.js.map +1 -0
- package/dist/core/session-sync/fragment.d.ts +27 -0
- package/dist/core/session-sync/fragment.d.ts.map +1 -0
- package/dist/core/session-sync/fragment.js +24 -0
- package/dist/core/session-sync/fragment.js.map +1 -0
- package/dist/core/session-sync/session-sync-controller.d.ts +83 -9
- package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
- package/dist/core/session-sync/session-sync-controller.js +183 -17
- package/dist/core/session-sync/session-sync-controller.js.map +1 -1
- package/dist/core/turns/grouping.d.ts.map +1 -1
- package/dist/core/turns/grouping.js +60 -23
- package/dist/core/turns/grouping.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/kortix.esm.min.js +24 -24
- package/dist/kortix.global.js +24 -24
- package/dist/platform/auth-core.d.ts +13 -1
- package/dist/platform/auth-core.d.ts.map +1 -1
- package/dist/platform/auth-core.js +13 -1
- package/dist/platform/auth-core.js.map +1 -1
- package/dist/react/opencode.d.ts +1 -0
- package/dist/react/opencode.d.ts.map +1 -1
- package/dist/react/opencode.js +3 -0
- package/dist/react/opencode.js.map +1 -1
- package/dist/react/use-admin-accounts.d.ts +35 -0
- package/dist/react/use-admin-accounts.d.ts.map +1 -1
- package/dist/react/use-admin-accounts.js +18 -0
- package/dist/react/use-admin-accounts.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 +26 -0
- package/dist/react/use-opencode-events/handle-event.js.map +1 -1
- package/dist/react/use-opencode-events/index.d.ts.map +1 -1
- package/dist/react/use-opencode-events/index.js +59 -6
- package/dist/react/use-opencode-events/index.js.map +1 -1
- package/dist/react/use-opencode-events/rehydrate-targets.d.ts +18 -0
- package/dist/react/use-opencode-events/rehydrate-targets.d.ts.map +1 -0
- package/dist/react/use-opencode-events/rehydrate-targets.js +20 -0
- package/dist/react/use-opencode-events/rehydrate-targets.js.map +1 -0
- package/dist/react/use-opencode-events/stream-revival.d.ts +37 -0
- package/dist/react/use-opencode-events/stream-revival.d.ts.map +1 -0
- package/dist/react/use-opencode-events/stream-revival.js +53 -0
- package/dist/react/use-opencode-events/stream-revival.js.map +1 -0
- package/dist/react/use-opencode-pty.d.ts +7 -1
- package/dist/react/use-opencode-pty.d.ts.map +1 -1
- package/dist/react/use-opencode-pty.js +6 -2
- package/dist/react/use-opencode-pty.js.map +1 -1
- package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/agents.js +13 -2
- package/dist/react/use-opencode-sessions/agents.js.map +1 -1
- package/dist/react/use-opencode-sessions/commands.d.ts +12 -0
- package/dist/react/use-opencode-sessions/commands.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/commands.js +15 -3
- package/dist/react/use-opencode-sessions/commands.js.map +1 -1
- package/dist/react/use-opencode-sessions/index.d.ts +1 -0
- package/dist/react/use-opencode-sessions/index.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/index.js +1 -0
- package/dist/react/use-opencode-sessions/index.js.map +1 -1
- package/dist/react/use-opencode-sessions/keys.d.ts +8 -0
- package/dist/react/use-opencode-sessions/keys.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/keys.js +8 -0
- package/dist/react/use-opencode-sessions/keys.js.map +1 -1
- package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/providers.js +12 -2
- package/dist/react/use-opencode-sessions/providers.js.map +1 -1
- package/dist/react/use-opencode-sessions/shared.d.ts +23 -0
- package/dist/react/use-opencode-sessions/shared.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/shared.js +31 -0
- package/dist/react/use-opencode-sessions/shared.js.map +1 -1
- package/dist/react/use-opencode-sessions/vcs.d.ts +28 -0
- package/dist/react/use-opencode-sessions/vcs.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/vcs.js +42 -0
- package/dist/react/use-opencode-sessions/vcs.js.map +1 -0
- package/dist/react/use-session-prompts.d.ts +37 -2
- package/dist/react/use-session-prompts.d.ts.map +1 -1
- package/dist/react/use-session-prompts.js +62 -15
- package/dist/react/use-session-prompts.js.map +1 -1
- package/dist/react/use-session-send.d.ts +17 -0
- package/dist/react/use-session-send.d.ts.map +1 -1
- package/dist/react/use-session-send.js +40 -4
- package/dist/react/use-session-send.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 +81 -55
- package/dist/react/use-session-sync.js.map +1 -1
- package/dist/react/use-session-working.d.ts +17 -0
- package/dist/react/use-session-working.d.ts.map +1 -1
- package/dist/react/use-session-working.js +33 -3
- package/dist/react/use-session-working.js.map +1 -1
- package/package.json +3 -3
- package/dist/browser/session-sync/session-transcript-cache.d.ts +0 -79
- package/dist/browser/session-sync/session-transcript-cache.d.ts.map +0 -1
- package/dist/browser/session-sync/session-transcript-cache.js +0 -91
- package/dist/browser/session-sync/session-transcript-cache.js.map +0 -1
- package/dist/core/rest/projects-client/public-voice-join.d.ts +0 -59
- package/dist/core/rest/projects-client/public-voice-join.d.ts.map +0 -1
- package/dist/core/rest/projects-client/public-voice-join.js +0 -64
- package/dist/core/rest/projects-client/public-voice-join.js.map +0 -1
- package/dist/core/rest/projects-client/transcription.d.ts +0 -5
- package/dist/core/rest/projects-client/transcription.d.ts.map +0 -1
- package/dist/core/rest/projects-client/transcription.js +0 -14
- package/dist/core/rest/projects-client/transcription.js.map +0 -1
package/dist/kortix.esm.min.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
var
|
|
1
|
+
var _p={backendUrl:"",getToken:async()=>null},Wt=null,rt=null;function wf(t){rt=t}function Sf(){return rt}function zt(t,e){e?.global!==!1&&(Wt=t)}function D(){return rt?.()??Wt??_p}function Vt(){return Wt!==null||rt?.()!==void 0}var fs=({onRequest:t,onSseError:e,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:o,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:d,url:f,...m})=>{let b,x=d??(E=>new Promise(l=>setTimeout(l,E)));return{stream:async function*(){let E=o??3e3,l=0,y=m.signal??new AbortController().signal;for(;!y.aborted;){l++;let c=m.headers instanceof Headers?m.headers:new Headers(m.headers);b!==void 0&&c.set("Last-Event-ID",b);try{let T={redirect:"follow",...m,body:m.serializedBody,headers:c,signal:y},R=new Request(f,T);t&&(R=await t(f,T));let j=await(m.fetch??globalThis.fetch)(R);if(!j.ok)throw new Error(`SSE failed: ${j.status} ${j.statusText}`);if(!j.body)throw new Error("No body in SSE response");let $=j.body.pipeThrough(new TextDecoderStream).getReader(),A="",W=()=>{try{$.cancel()}catch{}};y.addEventListener("abort",W);try{for(;;){let{done:K,value:h}=await $.read();if(K)break;A+=h,A=A.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
|
-
`);let S=
|
|
3
|
+
`);let S=A.split(`
|
|
4
4
|
|
|
5
|
-
`);
|
|
6
|
-
`),
|
|
7
|
-
`);try{F=JSON.parse(M),H=!0}catch{F=M}}H&&(s&&await s(F),r&&(F=await r(F))),n?.({data:F,event:B,id:b,retry:C}),U.length&&(yield F)}}}finally{y.removeEventListener("abort",z),j.releaseLock()}break}catch(R){if(e?.(R),u!==void 0&&l>=u)break;let A=Math.min(C*2**(l-1),p??3e4);await x(A)}}}()}};var mp=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},fp=t=>{switch(t){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},yp=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},rt=({allowReserved:t,explode:e,name:n,style:r,value:s})=>{if(!e){let p=(t?s:s.map(d=>encodeURIComponent(d))).join(fp(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=mp(r),u=s.map(p=>r==="label"||r==="simple"?t?p:encodeURIComponent(p):ke({allowReserved:t,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+u:u},ke=({allowReserved:t,name:e,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${t?n:encodeURIComponent(n)}`},st=({allowReserved:t,explode:e,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!e){let d=[];Object.entries(s).forEach(([m,b])=>{d=[...d,m,t?b:encodeURIComponent(b)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let u=yp(r),p=Object.entries(s).map(([d,f])=>ke({allowReserved:t,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var hp=/\{[^{}]+\}/g,bp=({path:t,url:e})=>{let n=e,r=e.match(hp);if(r)for(let s of r){let o=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(o=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let d=t[u];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,rt({explode:o,name:u,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,st({explode:o,name:u,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${ke({name:u,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},ds=({baseUrl:t,path:e,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,u=(t??"")+o;e&&(u=bp({path:e,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function zt(t){let e=t.body!==void 0;if(e&&t.bodySerializer)return"serializedBody"in t?t.serializedBody!==void 0&&t.serializedBody!==""?t.serializedBody:null:t.body!==""?t.body:null;if(e)return t.body}var gs=async(t,e)=>{let n=typeof e=="function"?await e(t):e;if(n)return t.scheme==="bearer"?`Bearer ${n}`:t.scheme==="basic"?`Basic ${btoa(n)}`:n};var Vt={bodySerializer:t=>JSON.stringify(t,(e,n)=>typeof n=="bigint"?n.toString():n)};var ms=({parameters:t={},...e}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let u=r[o];if(u==null)continue;let p=t[o]||e;if(Array.isArray(u)){let d=rt({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:u,...p.array});d&&s.push(d)}else if(typeof u=="object"){let d=st({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:u,...p.object});d&&s.push(d)}else{let d=ke({allowReserved:p.allowReserved,name:o,value:u});d&&s.push(d)}}return s.join("&")},fs=t=>{if(!t)return"stream";let e=t.split(";")[0]?.trim();if(e){if(e.startsWith("application/json")||e.endsWith("+json"))return"json";if(e==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>e.startsWith(n)))return"blob";if(e.startsWith("text/"))return"text"}},xp=(t,e)=>e?!!(t.headers.has(e)||t.query?.[e]||t.headers.get("Cookie")?.includes(`${e}=`)):!1,ys=async({security:t,...e})=>{for(let n of t){if(xp(e,n.name))continue;let r=await gs(n,e.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":e.query||(e.query={}),e.query[s]=r;break;case"cookie":e.headers.append("Cookie",`${s}=${r}`);break;default:e.headers.set(s,r);break}}},Jt=t=>ds({baseUrl:t.baseUrl,path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:ms(t.querySerializer),url:t.url}),Xt=(t,e)=>{let n={...t,...e};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=it(t.headers,e.headers),n},_p=t=>{let e=[];return t.forEach((n,r)=>{e.push([r,n])}),e},it=(...t)=>{let e=new Headers;for(let n of t){if(!n)continue;let r=n instanceof Headers?_p(n):Object.entries(n);for(let[s,o]of r)if(o===null)e.delete(s);else if(Array.isArray(o))for(let u of o)e.append(s,u);else o!==void 0&&e.set(s,typeof o=="object"?JSON.stringify(o):o)}return e},Me=class{fns=[];clear(){this.fns=[]}eject(e){let n=this.getInterceptorIndex(e);this.fns[n]&&(this.fns[n]=null)}exists(e){let n=this.getInterceptorIndex(e);return!!this.fns[n]}getInterceptorIndex(e){return typeof e=="number"?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,n){let r=this.getInterceptorIndex(e);return this.fns[r]?(this.fns[r]=n,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},hs=()=>({error:new Me,request:new Me,response:new Me}),Pp=ms({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),kp={"Content-Type":"application/json"},Oe=(t={})=>({...Vt,headers:kp,parseAs:"auto",querySerializer:Pp,...t});var Ue=(t={})=>{let e=Xt(Oe(),t),n=()=>({...e}),r=f=>(e=Xt(e,f),n()),s=hs(),o=async f=>{let m={...e,...f,fetch:f.fetch??e.fetch??globalThis.fetch,headers:it(e.headers,f.headers),serializedBody:void 0};m.security&&await ys({...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 b=Jt(m);return{opts:m,url:b}},u=async f=>{let{opts:m,url:b}=await o(f),x={redirect:"follow",...m,body:zt(m)},I=new Request(b,x);for(let k of s.request.fns)k&&(I=await k(I,m));let E=m.fetch,C;try{C=await E(I)}catch(k){let D=k;for(let j of s.error.fns)j&&(D=await j(k,void 0,I,m));if(D=D||{},m.throwOnError)throw D;return m.responseStyle==="data"?void 0:{error:D,request:I,response:void 0}}for(let k of s.response.fns)k&&(C=await k(C,I,m));let l={request:I,response:C};if(C.ok){let k=(m.parseAs==="auto"?fs(C.headers.get("Content-Type")):m.parseAs)??"json";if(C.status===204||C.headers.get("Content-Length")==="0"){let j;switch(k){case"arrayBuffer":case"blob":case"text":j=await C[k]();break;case"formData":j=new FormData;break;case"stream":j=C.body;break;default:j={};break}return m.responseStyle==="data"?j:{data:j,...l}}let D;switch(k){case"arrayBuffer":case"blob":case"formData":case"text":D=await C[k]();break;case"json":{let j=await C.text();D=j?JSON.parse(j):{};break}case"stream":return m.responseStyle==="data"?C.body:{data:C.body,...l}}return k==="json"&&(m.responseValidator&&await m.responseValidator(D),m.responseTransformer&&(D=await m.responseTransformer(D))),m.responseStyle==="data"?D:{data:D,...l}}let y=await C.text(),c;try{c=JSON.parse(y)}catch{}let R=c??y,A=R;for(let k of s.error.fns)k&&(A=await k(R,C,I,m));if(A=A||{},m.throwOnError)throw A;return m.responseStyle==="data"?void 0:{error:A,...l}},p=f=>m=>u({...m,method:f}),d=f=>async m=>{let{opts:b,url:x}=await o(m);return ps({...b,body:b.body,headers:b.headers,method:f,onRequest:async(I,E)=>{let C=new Request(I,E);for(let l of s.request.fns)l&&(C=await l(C,b));return C},serializedBody:zt(b),url:x})};return{buildUrl:Jt,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var wp={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Sp=Object.entries(wp),bs=(t,e)=>{e||(e=new Map);for(let n of t)"in"in n?n.key&&e.set(n.key,{in:n.in,map:n.map}):"key"in n?e.set(n.key,{map:n.map}):n.args&&bs(n.args,e);return e},vp=t=>{for(let[e,n]of Object.entries(t))n&&typeof n=="object"&&!Object.keys(n).length&&delete t[e]},g=(t,e)=>{let n={body:{},headers:{},path:{},query:{}},r=bs(e),s;for(let[o,u]of t.entries())if(e[o]&&(s=e[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=u)}else n.body=u;else for(let[p,d]of Object.entries(u??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=Sp.find(([b])=>p.startsWith(b));if(m){let[b,x]=m;n[x][p.slice(b.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[b,x]of Object.entries(s.allowExtra))if(x){n[b][p]=d;break}}}}return vp(n),n};var xs=Ue(Oe({baseUrl:"http://localhost:4096"}));var _=class{client;constructor(e){this.client=e?.client??xs}},Qt=class{defaultKey="default";instances=new Map;get(e){let n=this.instances.get(e??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(e,n){this.instances.set(n??this.defaultKey,e)}},Yt=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Zt=class extends _{log(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},en=class extends _{moveSession(e,n){let r=g([e],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},tn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},nn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},sn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},on=class extends _{generateName(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},an=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},cn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new an({client:this.client})}},ln=class extends _{_controlPlane;get controlPlane(){return this._controlPlane??=new en({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new tn({client:this.client})}_console;get console(){return this._console??=new nn({client:this.client})}_session;get session(){return this._session??=new rn({client:this.client})}_resource;get resource(){return this._resource??=new sn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new on({client:this.client})}_workspace;get workspace(){return this._workspace??=new cn({client:this.client})}},un=class extends _{get(e){return(e?.client??this.client).get({url:"/global/config",...e})}update(e,n){let r=g([e],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},pn=class extends _{health(e){return(e?.client??this.client).get({url:"/global/health",...e})}event(e){return(e?.client??this.client).sse.get({url:"/global/event",...e})}dispose(e){return(e?.client??this.client).post({url:"/global/dispose",...e})}upgrade(e,n){let r=g([e],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new un({client:this.client})}},dn=class extends _{subscribe(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},gn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},mn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},fn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},yn=class extends _{text(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},hn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},bn=class extends _{dispose(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},xn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},_n=class extends _{raw(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Pn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new _n({client:this.client})}},kn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},wn=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Sn=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},vn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Cn=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new vn({client:this.client})}},Rn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},An=class extends _{shells(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},Tn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},In=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},En=class extends _{authorize(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},jn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new En({client:this.client})}},$n=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},Dn=class extends _{delete(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},qn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Mn=class extends _{start(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(e,n){let r=g([e],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new qn({client:this.client})}},On=class extends _{next(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Un=class extends _{appendPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new On({client:this.client})}},Fn=class extends _{get(e){return(e?.client??this.client).get({url:"/api/health",...e})}},Ln=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},Gn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},Bn=class extends _{stage(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},Nn=class extends _{list(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Kn=class extends _{list(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},Hn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new Bn({client:this.client})}_permission;get permission(){return this._permission??=new Nn({client:this.client})}_question;get question(){return this._question??=new Kn({client:this.client})}},Wn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},zn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Vn=class extends _{key(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Jn=class extends _{cancel(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Xn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new Vn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Jn({client:this.client})}},Qn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Yn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Zn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},er=class extends _{_request;get request(){return this._request??=new Yn({client:this.client})}_saved;get saved(){return this._saved??=new Zn({client:this.client})}},tr=class extends _{read(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},nr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},rr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},sr=class extends _{subscribe(e){return(e?.client??this.client).sse.get({url:"/api/event",...e})}},ir=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},or=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},ar=class extends _{_request;get request(){return this._request??=new or({client:this.client})}},cr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},lr=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},ur=class extends _{_health;get health(){return this._health??=new Fn({client:this.client})}_location;get location(){return this._location??=new Ln({client:this.client})}_agent;get agent(){return this._agent??=new Gn({client:this.client})}_session;get session(){return this._session??=new Hn({client:this.client})}_model;get model(){return this._model??=new Wn({client:this.client})}_provider;get provider(){return this._provider??=new zn({client:this.client})}_integration;get integration(){return this._integration??=new Xn({client:this.client})}_credential;get credential(){return this._credential??=new Qn({client:this.client})}_permission;get permission(){return this._permission??=new er({client:this.client})}_fs;get fs(){return this._fs??=new tr({client:this.client})}_command;get command(){return this._command??=new nr({client:this.client})}_skill;get skill(){return this._skill??=new rr({client:this.client})}_event;get event(){return this._event??=new sr({client:this.client})}_pty;get pty(){return this._pty??=new ir({client:this.client})}_question;get question(){return this._question??=new ar({client:this.client})}_reference;get reference(){return this._reference??=new cr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new lr({client:this.client})}},ot=class t extends _{static __registry=new Qt;constructor(e){super(e),t.__registry.set(this,e?.key)}_auth;get auth(){return this._auth??=new Yt({client:this.client})}_app;get app(){return this._app??=new Zt({client:this.client})}_experimental;get experimental(){return this._experimental??=new ln({client:this.client})}_global;get global(){return this._global??=new pn({client:this.client})}_event;get event(){return this._event??=new dn({client:this.client})}_config;get config(){return this._config??=new gn({client:this.client})}_tool;get tool(){return this._tool??=new mn({client:this.client})}_worktree;get worktree(){return this._worktree??=new fn({client:this.client})}_find;get find(){return this._find??=new yn({client:this.client})}_file;get file(){return this._file??=new hn({client:this.client})}_instance;get instance(){return this._instance??=new bn({client:this.client})}_path;get path(){return this._path??=new xn({client:this.client})}_vcs;get vcs(){return this._vcs??=new Pn({client:this.client})}_command;get command(){return this._command??=new kn({client:this.client})}_lsp;get lsp(){return this._lsp??=new wn({client:this.client})}_formatter;get formatter(){return this._formatter??=new Sn({client:this.client})}_mcp;get mcp(){return this._mcp??=new Cn({client:this.client})}_project;get project(){return this._project??=new Rn({client:this.client})}_pty;get pty(){return this._pty??=new An({client:this.client})}_question;get question(){return this._question??=new Tn({client:this.client})}_permission;get permission(){return this._permission??=new In({client:this.client})}_provider;get provider(){return this._provider??=new jn({client:this.client})}_session;get session(){return this._session??=new $n({client:this.client})}_part;get part(){return this._part??=new Dn({client:this.client})}_sync;get sync(){return this._sync??=new Mn({client:this.client})}_tui;get tui(){return this._tui??=new Un({client:this.client})}_v2;get v2(){return this._v2??=new ur({client:this.client})}};function Ps(t,e,n,r){if(!r?.throwOnError||t instanceof Error)return t;if(typeof t=="object"&&t!==null&&Object.keys(t).length>0){let o=t,u=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||_s(n,e);return new Error(u,{cause:{body:t,status:e?.status}})}if(typeof t=="string"&&t.length>0)return new Error(t,{cause:{body:t,status:e?.status}});let s=e?"(empty response body)":"network error (no response)";return new Error(`opencode server ${_s(n,e)}: ${s}`,{cause:{body:t,status:e?.status}})}function _s(t,e){let n=t?.method??"?",r=t?.url??"?",s=e?.status,o=e?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function Cp(t,e,n){if(t)return e&&(t===e||n&&t===n(e))?e:t}function Rp(t,e){if(t.method!=="GET"&&t.method!=="HEAD")return t;let n=new URL(t.url),r=!1;for(let[o,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=Cp(t.headers.get(o),u==="directory"?e.directory:e.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(d)||n.searchParams.set(d,p);r=!0}}if(!r)return t;let s=new Request(n,t);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function pr(t){t?.fetch||(t={...t,fetch:r=>(r.timeout=!1,fetch(r))}),t?.directory&&(t.headers={...t.headers,"x-opencode-directory":encodeURIComponent(t.directory)}),t?.experimental_workspaceID&&(t.headers={...t.headers,"x-opencode-workspace":t.experimental_workspaceID});let e=Ue(t);return e.interceptors.request.use(n=>Rp(n,{directory:t?.directory,workspace:t?.experimental_workspaceID})),e.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),e.interceptors.error.use(Ps),new ot({client:e})}var Ap=new Set(["api","cli","mobile","web"]);function at(t){let e=t?.trim().toLowerCase();return e&&Ap.has(e)?e:null}function Tp(t){return new Promise(e=>setTimeout(e,t))}async function ks(t,e,n){let r=Math.max(1,e?.attempts??1),s=e?.baseDelayMs??0,o=e?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await Tp(s)),u=await t(),u)return u;return u}var Ip=3e4;function Ep(t){return(t instanceof Request?t.url:String(t)).includes("/global/event")}function dr(t,e,n=Ip){let r=t instanceof Request?t.signal:e?.signal;if(Ep(t))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function gr(t,e,n,r){let s=new Headers(t instanceof Request?t.headers:void 0);e?.headers&&new Headers(e.headers).forEach((u,p)=>{s.set(p,u)}),n&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${n}`);let o=at(r);return o&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",o),s}function ws(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function mr(){return $().getToken()}async function se(t){return ks(()=>$().getToken(),t,ct)}function ct(){}function ey(t){}function ty(t){}async function lt(){return mr()}async function Ss(t){return se(t)}function vs(t,e,n,r){let s=$().fetch??fetch;if(t instanceof Request){let o=new Request(t,{headers:n,...r?{signal:r}:{}});return s(o)}return s(t,{...e,headers:n,...r?{signal:r}:{}})}async function q(t,e,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},o=await Ss();if(!o)return ws();let u=$().clientSource,p=gr(t,e,o,u),d=s===void 0?dr(t,e):dr(t,e,s),f=await vs(t,e,p,d);if(f.status===401&&r&&o){ct();let m=await Ss({attempts:2,baseDelayMs:200});if(m&&m!==o){let b=gr(t,e,m,u);return vs(t,e,b,d)}}return f}var we={url:null,sandboxId:null,dbSandboxId:null,version:0},jp=new Set;function Cs(t,e=null,n=null){if(!(we.url===t&&we.sandboxId===e&&we.dbSandboxId===n)){we={url:t,sandboxId:e,dbSandboxId:n,version:we.version+1};for(let r of jp)r()}}function Rs(){return we.url}function $p(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function de(){return $p($().backendUrl||"http://localhost:8008/v1")}function As(){let t=$().sandboxId;return t?`${de()}/p/${t}/8000`:""}function Dp(t){return`${de()}/p/${t}/8000`}function ut(t){return Dp(t)}function ge(){let t=Rs();return t||($().billingEnabled??!1?"":As())}var v=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(e,n={}){super(e),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let u=typeof e=="string"?e:e==null?"":String(e);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},Se=class extends v{constructor(e="Not authenticated"){super(e,{code:"NO_SESSION"}),this.name="AuthError"}},me=class t extends Error{status;detail;constructor(e,n,r){super(r||n.message||`Billing Error: ${e}`),this.name="BillingError",this.status=e,this.detail=n,Object.setPrototypeOf(this,t.prototype)}},ve=class t extends Error{status;detail;constructor(e=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=e,this.detail={message:n?.message||s,suggestion:n?.suggestion||o},Object.setPrototypeOf(this,t.prototype)}},fr="feature_disabled";function Ts(t){if(!(t instanceof v)||t.status!==403||t.code!==fr)return null;let e=t.details??t.data;return e&&typeof e=="object"?e:{}}function Is(t){let e=Ts(t);return e?(typeof e.feature=="string"&&!t.feature&&(t.feature=e.feature),!0):!1}function Es(t){let e=Ts(t);if(!e)return null;let n=t.feature;return typeof n=="string"?n:typeof e.feature=="string"?e.feature:null}function Ce(t){let e=t.response?.status||t.status;if(e!==402)return t;let n=t.response?.data||t.data||t.detail||{},r=n?.detail||n;return new me(e,{message:r?.message||t.message||"Billing error",...r})}function js(t){return t instanceof me}function $s(t){if(!(t instanceof me))return null;let e=t.detail?.message?.toLowerCase()||"";return e.includes("credit")||e.includes("balance")||e.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:t.detail?.message||"Please upgrade to continue."}}async function yr(t,e){return(await t.json().catch(()=>({})))?.error||t.statusText||e}function hr(t){if(!t)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return t}async function Ds(t){let e=hr(t),n=await q(`${e}/env`);if(!n.ok)throw new Error(await yr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function qs(t,e,n){let r=hr(t),s=await q(`${r}/env/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await yr(s,"Failed to save secret"))}async function Ms(t,e){let n=hr(t),r=await q(`${n}/env/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await yr(r,"Failed to delete secret"))}var qp={list:Ds,set:qs,delete:Ms};async function Mp(t,e,n){let r=t;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await q(`${r}/kortix/triggers${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}function Re(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return e===t.length?t:t.slice(0,e)}async function pt(t,e){let n=await t.json().catch(()=>({}));return n?.error||n?.message||t.statusText||e}function Fe(t){if(!t)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return Re(t)}async function Os(t){let e=Fe(t),n=await q(`${e}/kortix/pty`);if(!n.ok)throw new Error(await pt(n,"Failed to list terminals"));return n.json()}async function Us(t,e){let n=Fe(t),r=await q(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e??{})});if(!r.ok)throw new Error(await pt(r,"Failed to create terminal"));return r.json()}async function Fs(t,e,n){let r=Fe(t),s=await q(`${r}/kortix/pty/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await pt(s,"Failed to update terminal"));return s.json()}async function Ls(t,e){let n=Fe(t),r=await q(`${n}/kortix/pty/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await pt(r,"Failed to remove terminal"))}async function Gs(t,e){let n=Fe(e),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),Re(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(t)}/connect`,o=await lt();if(!o)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(o)}`}var Op={list:Os,create:Us,update:Fs,remove:Ls,webSocketUrl:Gs};async function w(t,e,n,r){let s=t;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await q(`${s}${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await o.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${o.status}`);return p}async function ky(t,e={}){let n=new URLSearchParams;e.projectId&&n.set("project_id",e.projectId),e.status&&n.set("status",e.status);let r=n.toString()?`?${n}`:"";return w(t,`/kortix/tasks${r}`)}async function wy(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`)}async function Sy(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/events`)}async function vy(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/status`)}async function Cy(t,e){return w(t,"/kortix/tasks",{method:"POST",body:JSON.stringify(e)})}async function Ry(t,e,n){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Ay(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/start`,{method:"POST"})}async function Ty(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/approve`,{method:"POST"})}async function Iy(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Ey(t,e){let n=e?`?project_id=${encodeURIComponent(e)}`:"";return w(t,`/kortix/tickets${n}`)}async function jy(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`)}async function $y(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/events`)}async function Dy(t,e){return w(t,"/kortix/tickets",{method:"POST",body:JSON.stringify(e)})}async function qy(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function My(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Oy(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Uy(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Fy(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Ly(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Gy(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/columns`)}async function By(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Ny(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/fields`)}async function Ky(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Hy(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/templates`)}async function Wy(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function zy(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/pm-session`,{method:"POST"})}async function Vy(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents`)}async function Jy(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Xy(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Qy(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Yy(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}/persona`)}async function Zy(t,e,n=200){return w(t,`/kortix/projects/${encodeURIComponent(e)}/activity?limit=${n}`)}async function eh(t){return w(t,"/kortix/projects")}async function th(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}`)}async function nh(t,e){return w(t,`/kortix/projects/by-session/${encodeURIComponent(e)}`)}async function rh(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/sessions`)}async function sh(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"DELETE"})}async function ih(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function oh(t,e,n="all"){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones?status=${n}`)}async function ah(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`)}async function ch(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/events`)}async function lh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function uh(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function ph(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function dh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function gh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function mh(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`)}async function fh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}/events`)}async function yh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function hh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`)}async function bh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var Up=1e4,Fp={retryOnAuthError:!1};function Ae(t,e,n){return w(t,e,{signal:AbortSignal.timeout(Up),...n},Fp)}async function xh(t,e=!1){return(await Ae(t,`/kortix/services${e?"?all=true":""}`)).services??[]}async function _h(t){return(await Ae(t,"/kortix/services/templates")).templates??[]}async function Ph(t,e){return(await Ae(t,`/kortix/services/${encodeURIComponent(e)}/logs`)).logs??[]}async function kh(t,e,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(e)}`:`/kortix/services/${encodeURIComponent(e)}/${n}`;return Ae(t,s,{method:r?"DELETE":"POST"})}async function wh(t,e){return Ae(t,`/kortix/services/reconcile${e?"?reload=true":""}`,{method:"POST"})}async function Sh(t,e){return Ae(t,"/kortix/services/register",{method:"POST",body:JSON.stringify(e)})}var dt=new Map,Le=class extends Error{constructor(e="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(e),this.name="RuntimeNotReadyError"}};function fe(){let t=ge();if(!t)throw new Le;return ie(t)}function ie(t){if(!t)throw new Error("[opencode-sdk] getClientForUrl called without a url");let e=dt.get(t);if(e)return e;if(!Wt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=pr({baseUrl:t,fetch:q});return dt.set(t,n),n}function Eh(t){dt.delete(t)}function jh(){dt.clear()}var gt=new Map;function $h(t){if(!t)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let e=gt.get(t);if(e)return e;let n=pr({baseUrl:t,fetch});return gt.set(t,n),n}function Dh(t){gt.delete(t)}function qh(){gt.clear()}async function Lp(t){let e=await t.text().catch(()=>"");try{let n=JSON.parse(e);return n?.error||n?.message||e||t.statusText||`HTTP ${t.status}`}catch{return e||t.statusText||`HTTP ${t.status}`}}async function Mh(t){let e=ge();if(!e)throw new v("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=t==="full"?"/kortix/refresh":"/global/dispose",r=await q(`${e}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",o=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new v(`System reload failed (${r.status}): ${await Lp(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new v(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(d){throw new v(`System reload returned malformed JSON from ${n}: ${d instanceof Error?d.message:String(d)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode:t,steps:p?[t==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:p?[]:[`the sandbox did not confirm the reload (${n})`]}}function Ns(t){if(t.error){let e=t.error,n=e?.data?.message||e?.message||(typeof e?.error=="string"?e.error:null)||"SDK request failed";throw new v(n,{status:e?.response?.status??e?.status,response:e?.response,details:e})}return t.data}async function Ie(t){let e=await t.text().catch(()=>""),n=null;try{n=JSON.parse(e)}catch{}return n?.error||e||t.statusText||`HTTP ${t.status}`}function K(t){let e=(t??ge()).trim();if(!e)throw new Le;return e}async function ft(t,e){let n=await q(`${K(e)}${t}`);if(!n.ok)throw new v(await Ie(n),{status:n.status,response:n});return n.json()}var xr=["/workspace","/tmp","/home","/opt"],Gp=xr.filter(t=>t!=="/workspace");function Ks(t){return xr.some(e=>t===e||t.startsWith(`${e}/`))}function mt(t){return Ks(t)?t:`/workspace/${t.replace(/^\/+/,"")}`}function Ee(t){let e=t||"";if(e==="/workspace"||e==="/workspace/")return"";if(e.startsWith("/workspace/"))e=e.slice(11);else if(Gp.some(n=>e===n||e.startsWith(`${n}/`)))return e;for(;e.startsWith("/");)e=e.slice(1);return e}var Hs=Ee;async function yt(t,e){let n=K(e),r=Ee(t)||".";return(await ft(`/file?path=${encodeURIComponent(r)}`,n)).map(o=>({...o,path:o.absolute||`/workspace/${o.path}`}))}async function Be(t,e){let n=K(e),r=Ee(t),s=await q(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new v(await Ie(s),{status:s.status,response:s});return s.json()}async function Bp(t,e,n){let r=K(n),s=Ee(t),o=await q(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new v(await Ie(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new v("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let u=await o.blob();return e&&(!u.type||u.type==="application/octet-stream")?new Blob([u],{type:e}):u}async function Ne(t,e){let n=K(e);try{return await Bp(t,void 0,n)}catch{}let r=await Be(t,n);if(r.encoding==="base64"&&r.content){let s=Uint8Array.from(atob(r.content),o=>o.charCodeAt(0));return new Blob([s],{type:r.mimeType||"application/octet-stream"})}return new Blob([r.content??""],{type:r.mimeType||"text/plain;charset=utf-8"})}async function ht(t){return ft("/file/status",K(t))}async function bt(t,e,n){let r=K(n),s=new URLSearchParams({query:t});return e?.type&&s.set("type",e.type),e?.limit&&s.set("limit",String(e.limit)),ft(`/find/file?${s.toString()}`,r)}async function xt(t,e){let n=K(e);return(await ft(`/find?pattern=${encodeURIComponent(t)}`,n)).map(s=>({path:typeof s.path=="string"?s.path:s.path?.text??"",lines:typeof s.lines=="string"?s.lines:s.lines?.text??"",line_number:s.line_number,absolute_offset:s.absolute_offset,submatches:(s.submatches??[]).map(o=>({start:o.start,end:o.end}))}))}var Ge=[400,1200],Np=t=>t===408||t===429||t===502||t===503||t===504,Bs=t=>new Promise(e=>setTimeout(e,t));function Kp(t){let e=t?.name;return e==="TimeoutError"||e==="AbortError"}var br=3e4,Hp=15*6e4,Wp=256;function Ws(t){if(typeof t!="number"||!Number.isFinite(t)||t<=0)return br;let e=br+t/Wp;return Math.min(Hp,Math.max(br,Math.round(e)))}async function zp(t){let e=await t.text().catch(()=>""),n=null;try{n=e?JSON.parse(e):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(t.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(e)?t.status===502||/bad gateway/i.test(e)?"Bad gateway while reaching the sandbox upload service. Please retry.":t.statusText||`HTTP ${t.status}`:e.replace(/\s+/g," ").trim().slice(0,500)||t.statusText||`HTTP ${t.status}`}async function zs(t,e){let n;for(let s=0;s<=Ge.length;s++){let o;try{o=await e(t())}catch(p){if(n=p,Kp(p)||s===Ge.length)break;await Bs(Ge[s]);continue}if(o.ok)return o.json();let u=await zp(o);if(n=new v(`Upload failed (${o.status}): ${u}`,{status:o.status,response:o}),!Np(o.status)||s===Ge.length)throw n;await Bs(Ge[s])}if(n instanceof v)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new v(`Upload failed: ${r}`)}async function Ke(t,e,n,r){let s=K(r),o=Ws(t.size),u=n||(t instanceof File?t.name:"")||"";return zs(()=>{let p=new FormData,d=(e??"").trim();return d&&p.append("path",d.startsWith("/")?d:`/${d}`),u&&p.append("filename",u),u?p.append("file",t,u):p.append("file",t),p},p=>q(`${s}/file/upload`,{method:"POST",body:p},{timeoutMs:o}))}function Vp(t,e,n){let r=K(n),s=Ws(e.size);return zs(()=>{let o=new FormData;return o.append(t,e,t.split("/").pop()||"file"),o},o=>q(`${r}/file/upload`,{method:"POST",body:o},{timeoutMs:s}))}async function _t(t,e){let n=K(e),r=t.trim(),o=(r.startsWith("/")?r:`/${r}`).split("/"),u=o.pop()||"untitled",p=o.join("/")||"/workspace",d=await He(`${p}/${u}`,new Blob([],{type:"application/octet-stream"}),n);return[{path:d.path,size:d.bytes}]}async function Pt(t,e,n){let r=K(n);return Vp(e,await Ne(t,r),r)}function Jp(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function Xp(t){let e=t.lastIndexOf("/");return e<=0?"/":t.slice(0,e)}function Qp(t){return t.slice(t.lastIndexOf("/")+1)}function Yp(){let t=typeof crypto<"u"?crypto:void 0;if(t?.randomUUID)return t.randomUUID();if(t?.getRandomValues){let e=new Uint8Array(8);return t.getRandomValues(e),[...e].map(n=>n.toString(16).padStart(2,"0")).join("")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}async function He(t,e,n){let r=K(n),s=mt(Jp(t.trim())),o=Qp(s);if(!o)throw new v(`writeFile needs a file path, got "${t}"`,{code:"INVALID_PATH"});let u=Xp(s);await We(u,r).catch(()=>{});let p=Yp(),d=await Ke(e,u,`.${o}.kortix-write-${p}`,r),f=d[0]?.path;if(!f)throw new v(`Upload returned no file for ${s}`,{code:"UPLOAD_NO_RESULT"});let m=mt(f),b=`${s}.kortix-write-backup-${p}`,x=!1;try{await ye(s,b,r),x=!0}catch{}try{await ye(m,s,r)}catch(E){throw x&&await ye(b,s,r).catch(()=>{}),await Te(m,r).catch(()=>{}),E}x&&await Te(b,r).catch(()=>{});let I=d[0]?.size;return{path:s,bytes:typeof I=="number"?I:e.size}}async function Te(t,e){let n=await q(`${K(e)}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new v(`Delete failed (${n.status}): ${await Ie(n)}`,{status:n.status,response:n});return n.json()}async function We(t,e){let n=await q(`${K(e)}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new v(`Mkdir failed (${n.status}): ${await Ie(n)}`,{status:n.status,response:n});return n.json()}async function ye(t,e,n){let r=await q(`${K(n)}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:t,to:e})});if(!r.ok)throw new v(`Rename failed (${r.status}): ${await Ie(r)}`,{status:r.status,response:r});return r.json()}async function Vs(){return Ns(await fe().project.current())}async function _r(){return Ns(await fe().global.health())}async function Js(){try{return(await _r()).healthy===!0}catch{return!1}}var Zp={list:yt,read:Be,readBlob:Ne,status:ht,findFiles:bt,findText:xt,upload:Ke,write:He,create:_t,copy:Pt,remove:Te,mkdir:We,rename:ye,currentProject:Vs,health:_r,isReachable:Js,toDaemonPath:Ee,toSandboxAbsolutePath:mt,toWorkspaceRelative:Hs};var td="X-Kortix-Impersonate",kr="kortix.impersonation",he=null,kt=!1,Pr=new Set;function wr(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function nd(t,e=Date.now()){if(!t||!t.grantId||!t.accountId)return!1;let n=Date.parse(t.expiresAt);return Number.isFinite(n)&&n>e}function rd(t){if(!t)return null;try{let e=JSON.parse(t);return typeof e?.grantId!="string"||typeof e?.accountId!="string"?null:{grantId:e.grantId,accountId:e.accountId,accountName:typeof e.accountName=="string"?e.accountName:null,expiresAt:typeof e.expiresAt=="string"?e.expiresAt:""}}catch{return null}}function Xs(){for(let t of Pr)try{t()}catch{}}function sd(){return kt||(kt=!0,he=rd(wr()?.getItem(kr)??null)),he&&!nd(he)?(Qs(),null):he}function Wh(t){if(kt=!0,!t){Qs();return}he=t;try{wr()?.setItem(kr,JSON.stringify(t))}catch{}Xs()}function Qs(){kt=!0;let t=he!==null;he=null;try{wr()?.removeItem(kr)}catch{}t&&Xs()}function zh(t){return Pr.add(t),()=>{Pr.delete(t)}}var id=/(^|\/)admin\/(api|analytics)(\/|$)/;function od(t){let e=t;if(/^https?:\/\//.test(t))try{e=new URL(t).pathname}catch{e=t}return!id.test(e)}function Sr(t){if(t!==void 0&&!od(t))return{};let e=sd();return e?{[td]:e.grantId}:{}}var ee=()=>$().backendUrl||"",ad="feature_not_supported",cd="model_not_servable",ld="provision_in_flight",Zs="request_deadline",ud=/^Request exceeded the \d+s server processing deadline$/,pd=(t,e,n)=>t!==503?!1:(typeof e=="object"&&e!==null&&"code"in e?e.code:void 0)===Zs||ud.test(n),dd=t=>new Promise(e=>setTimeout(e,t)),gd=new Set([502,503,504]),md=t=>gd.has(t),fd=t=>{let e=(t??"GET").toUpperCase();return e==="GET"||e==="HEAD"},yd=2,Ys=t=>t?.name==="AbortError"||t?.name==="AbortSignal"||t instanceof Error&&t.message.includes("aborted"),wt=!1;function eb(t){wt=t}function tb(){return wt}async function be(t,e={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=e,u=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!u.signal.aborted&&(d=!0,f=!0,u.abort())},s);let m=await se(),b=o.body instanceof FormData,x={};b||(x["Content-Type"]="application/json"),Object.assign(x,o.headers);let I=at($().clientSource),E=Object.keys(x).some(A=>A.toLowerCase()==="x-kortix-client");if(I&&!E&&(x["X-Kortix-Client"]=I),wt&&(x["x-kortix-admin-bypass"]="1"),Object.assign(x,Sr(t)),m)x.Authorization=`Bearer ${m}`;else return{error:new Se,success:!1};let C=fd(o.method),l=C?yd+1:1,y;for(let A=0;A<l;A++){A>0&&await dd(250*2**(A-1));let k=A===0?u:new AbortController;A>0&&(p=setTimeout(()=>{f=!0,k.abort()},s));try{y=await($().fetch??fetch)(t,{...o,headers:x,signal:k.signal,credentials:o.credentials??"omit"})}catch(j){if(p&&(clearTimeout(p),p=null),Ys(j)||A===l-1)throw j;continue}if(p&&(clearTimeout(p),p=null),!(C&&md(y.status)&&A<l-1))break;try{await y.arrayBuffer()}catch{}}if(!y.ok){let A=`HTTP ${y.status}: ${y.statusText}`,k=null;try{k=await y.json(),typeof k.message=="string"?A=k.message:k.error&&typeof k.error=="string"?A=k.error:typeof k.detail=="string"?A=k.detail:typeof k.detail?.message=="string"?A=k.detail.message:typeof k.reason=="string"&&(A=k.reason)}catch{}let D=pd(y.status,k,A),j=new v(A,{status:y.status,response:y,details:k||void 0,data:k,detail:k?.detail,code:D?Zs:k?.code||k?.error_code||k?.detail?.error_code||y.status.toString()});if(y.status===402&&(j=Ce(j)),y.status===403&&k?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}y.status===431&&(j=new ve(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 T=y.status===501&&k?.code===ad,z=y.status===409&&k?.code===cd,V=y.status===409&&k?.code===ld;return n&&!T&&!z&&!V&&!D&&$().onError?.(j,r),{error:j,success:!1}}let c,R=y.headers.get("content-type");return R?.includes("application/json")?c=await y.json():R?.includes("text/")?c=await y.text():c=await y.blob(),{data:c,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let b=Ys(m);b&&(d=!0);let x;if(b){if(!f)return{error:new v("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let I=t.replace(ee(),"")||t;x=new v(`Request timed out after ${Math.round(s/1e3)}s: ${I}`,{code:"TIMEOUT",url:t,endpoint:I,timeout:s})}else m instanceof Error?(x=new v(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(x,r)):(x=new v(String(m)),n&&$().onError?.(x,r));return{error:x,success:!1}}}var nb={async execute(t,e){try{let{data:n,error:r}=await t();if(r){let s=new v(r.message||"Database error",{code:r.code,details:r});return $().onError?.(s,e),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new v(n.message,{name:n.name||"ApiError",stack:n.stack}):new v(String(n));return $().onError?.(r,e),{error:r,success:!1}}}};async function hd(t,e,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,o=await se(),u={Accept:"text/event-stream","Content-Type":"application/json"},p=at($().clientSource);p&&(u["X-Kortix-Client"]=p),wt&&(u["x-kortix-admin-bypass"]="1"),Object.assign(u,Sr(t)),o&&(u.Authorization=`Bearer ${o}`);let d=new AbortController,f=setTimeout(()=>d.abort(),r);try{return await s(`${ee()}${t}`,{method:"POST",headers:u,body:JSON.stringify(e),signal:d.signal,credentials:"omit"})}finally{clearTimeout(f)}}var i={get:(t,e)=>be(`${ee()}${t}`,{...e,method:"GET"}),post:(t,e,n)=>be(`${ee()}${t}`,{...n,method:"POST",body:e?JSON.stringify(e):void 0}),put:(t,e,n)=>be(`${ee()}${t}`,{...n,method:"PUT",body:e?JSON.stringify(e):void 0}),patch:(t,e,n)=>be(`${ee()}${t}`,{...n,method:"PATCH",body:e?JSON.stringify(e):void 0}),delete:(t,e)=>be(`${ee()}${t}`,{...e,method:"DELETE"}),upload:(t,e,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],be(`${ee()}${t}`,{...s,method:"POST",body:e,headers:o})},uploadPut:(t,e,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],be(`${ee()}${t}`,{...s,method:"PUT",body:e,headers:o})},postStream:hd};function a(t,e="Project request failed"){if(!t.success||t.data===void 0)throw t.error??new Error(e);return t.data}function vr(t){return t.replace(/\/v1\/?$/,"")}async function je(t,e){if(!t.backendUrl||!t.accessToken)return null;let n=vr(t.backendUrl);try{let r=await fetch(`${n}${e}`,{headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(t.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function ei(){return a(await i.get("/accounts"))}async function ti(t){return a(await i.post("/accounts",t))}async function ni(t){return a(await i.get(`/accounts/${t}`))}async function ri(t,e){return a(await i.patch(`/accounts/${t}`,{name:e}))}async function si(t){return a(await i.get(`/accounts/${t}/members`))}async function ii(t,e){return a(await i.post(`/accounts/${t}/members`,e,{showErrors:!1}))}async function oi(t){return a(await i.get(`/accounts/${t}/invites`))}async function ai(t,e){return a(await i.delete(`/accounts/${t}/invites/${e}`))}async function ci(t,e){return a(await i.post(`/accounts/${t}/invites/${e}/resend`,{}))}async function li(t){return a(await i.get(`/account-invites/${t}`,{showErrors:!1}))}async function ui(t){return a(await i.post(`/account-invites/${t}/accept`,{}))}async function pi(t){return a(await i.post(`/account-invites/${t}/decline`,{}))}async function di(t,e){return a(await i.delete(`/accounts/${t}/members/${e}`))}async function gi(t,e,n){return a(await i.patch(`/accounts/${t}/members/${e}`,{role:n}))}async function mi(t){return a(await i.post(`/accounts/${t}/leave`,{}))}async function cb(t){return je(t,"/v1/accounts")}async function fi(){let t=await i.get("/accounts/me",{showErrors:!1});return!t.success||!t.data?{valid:!1,error:t.error}:{valid:!0,identity:t.data}}var db=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","voice","llm_gateway","review_center","meta_agent","apps","monitors","warm_sessions"];async function $e(){return a(await i.get("/projects"))}async function hi(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/projects${e}`))}async function Cr(t,e){return a(await i.get(`/projects/${t}`,e))}async function bi(t,e,n="write"){return a(await i.post(`/projects/${t}/git/collaborators`,{github_username:e,permission:n}))}async function xi(t,e){return a(await i.post(`/projects/${t}/manifest/validate`,{raw:e}),"Failed to validate manifest")}async function _i(t){return a(await i.post(`/projects/${t}/git-token`,{}),"Failed to mint git token")}function gb(t){let e=t.metadata?.git;return e?.provider==="github"&&e?.managed===!0}async function Rr(t,e){let n=a(await i.get(`/projects/${t}/detail`,{showErrors:!1,...e}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Ar(t,e){return a(await i.get(`/projects/${t}/llm-catalog`,{showErrors:!1,...e}))}async function Tr(t,e){return a(await i.get(`/projects/${t}/model-picker`,{showErrors:!1,...e}))}async function mb(t,e){return a(await i.get(`/projects/${t}/llm-catalog/providers`,{showErrors:!1,...e}))}async function Pi(t){return a(await i.post("/projects",t))}async function ki(t){return a(await i.post("/projects/create-repo",t))}async function wi(t,e={}){return a(await i.post("/projects/provision",{seed_starter:!0,...t},{timeout:12e4,...e}))}var yi=200;function bd(t){let e=t.split(`
|
|
5
|
+
`);A=S.pop()??"";for(let H of S){let Q=H.split(`
|
|
6
|
+
`),M=[],N;for(let L of Q)if(L.startsWith("data:"))M.push(L.replace(/^data:\s*/,""));else if(L.startsWith("event:"))N=L.replace(/^event:\s*/,"");else if(L.startsWith("id:"))b=L.replace(/^id:\s*/,"");else if(L.startsWith("retry:")){let B=Number.parseInt(L.replace(/^retry:\s*/,""),10);Number.isNaN(B)||(E=B)}let U,J=!1;if(M.length){let L=M.join(`
|
|
7
|
+
`);try{U=JSON.parse(L),J=!0}catch{U=L}}J&&(s&&await s(U),r&&(U=await r(U))),n?.({data:U,event:N,id:b,retry:E}),M.length&&(yield U)}}}finally{y.removeEventListener("abort",W),$.releaseLock()}break}catch(T){if(e?.(T),u!==void 0&&l>=u)break;let R=Math.min(E*2**(l-1),p??3e4);await x(R)}}}()}};var Pp=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},kp=t=>{switch(t){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},wp=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},st=({allowReserved:t,explode:e,name:n,style:r,value:s})=>{if(!e){let p=(t?s:s.map(d=>encodeURIComponent(d))).join(kp(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=Pp(r),u=s.map(p=>r==="label"||r==="simple"?t?p:encodeURIComponent(p):Pe({allowReserved:t,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+u:u},Pe=({allowReserved:t,name:e,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${t?n:encodeURIComponent(n)}`},it=({allowReserved:t,explode:e,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!e){let d=[];Object.entries(s).forEach(([m,b])=>{d=[...d,m,t?b:encodeURIComponent(b)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let u=wp(r),p=Object.entries(s).map(([d,f])=>Pe({allowReserved:t,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var Sp=/\{[^{}]+\}/g,vp=({path:t,url:e})=>{let n=e,r=e.match(Sp);if(r)for(let s of r){let o=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(o=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let d=t[u];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,st({explode:o,name:u,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,it({explode:o,name:u,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${Pe({name:u,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},ys=({baseUrl:t,path:e,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,u=(t??"")+o;e&&(u=vp({path:e,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function Jt(t){let e=t.body!==void 0;if(e&&t.bodySerializer)return"serializedBody"in t?t.serializedBody!==void 0&&t.serializedBody!==""?t.serializedBody:null:t.body!==""?t.body:null;if(e)return t.body}var hs=async(t,e)=>{let n=typeof e=="function"?await e(t):e;if(n)return t.scheme==="bearer"?`Bearer ${n}`:t.scheme==="basic"?`Basic ${btoa(n)}`:n};var Xt={bodySerializer:t=>JSON.stringify(t,(e,n)=>typeof n=="bigint"?n.toString():n)};var bs=({parameters:t={},...e}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let u=r[o];if(u==null)continue;let p=t[o]||e;if(Array.isArray(u)){let d=st({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:u,...p.array});d&&s.push(d)}else if(typeof u=="object"){let d=it({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:u,...p.object});d&&s.push(d)}else{let d=Pe({allowReserved:p.allowReserved,name:o,value:u});d&&s.push(d)}}return s.join("&")},xs=t=>{if(!t)return"stream";let e=t.split(";")[0]?.trim();if(e){if(e.startsWith("application/json")||e.endsWith("+json"))return"json";if(e==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>e.startsWith(n)))return"blob";if(e.startsWith("text/"))return"text"}},Cp=(t,e)=>e?!!(t.headers.has(e)||t.query?.[e]||t.headers.get("Cookie")?.includes(`${e}=`)):!1,_s=async({security:t,...e})=>{for(let n of t){if(Cp(e,n.name))continue;let r=await hs(n,e.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":e.query||(e.query={}),e.query[s]=r;break;case"cookie":e.headers.append("Cookie",`${s}=${r}`);break;default:e.headers.set(s,r);break}}},Yt=t=>ys({baseUrl:t.baseUrl,path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:bs(t.querySerializer),url:t.url}),Qt=(t,e)=>{let n={...t,...e};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=ot(t.headers,e.headers),n},Rp=t=>{let e=[];return t.forEach((n,r)=>{e.push([r,n])}),e},ot=(...t)=>{let e=new Headers;for(let n of t){if(!n)continue;let r=n instanceof Headers?Rp(n):Object.entries(n);for(let[s,o]of r)if(o===null)e.delete(s);else if(Array.isArray(o))for(let u of o)e.append(s,u);else o!==void 0&&e.set(s,typeof o=="object"?JSON.stringify(o):o)}return e},qe=class{fns=[];clear(){this.fns=[]}eject(e){let n=this.getInterceptorIndex(e);this.fns[n]&&(this.fns[n]=null)}exists(e){let n=this.getInterceptorIndex(e);return!!this.fns[n]}getInterceptorIndex(e){return typeof e=="number"?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,n){let r=this.getInterceptorIndex(e);return this.fns[r]?(this.fns[r]=n,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},Ps=()=>({error:new qe,request:new qe,response:new qe}),Ap=bs({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Tp={"Content-Type":"application/json"},Me=(t={})=>({...Xt,headers:Tp,parseAs:"auto",querySerializer:Ap,...t});var Oe=(t={})=>{let e=Qt(Me(),t),n=()=>({...e}),r=f=>(e=Qt(e,f),n()),s=Ps(),o=async f=>{let m={...e,...f,fetch:f.fetch??e.fetch??globalThis.fetch,headers:ot(e.headers,f.headers),serializedBody:void 0};m.security&&await _s({...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 b=Yt(m);return{opts:m,url:b}},u=async f=>{let{opts:m,url:b}=await o(f),x={redirect:"follow",...m,body:Jt(m)},C=new Request(b,x);for(let P of s.request.fns)P&&(C=await P(C,m));let I=m.fetch,E;try{E=await I(C)}catch(P){let j=P;for(let $ of s.error.fns)$&&(j=await $(P,void 0,C,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,request:C,response:void 0}}for(let P of s.response.fns)P&&(E=await P(E,C,m));let l={request:C,response:E};if(E.ok){let P=(m.parseAs==="auto"?xs(E.headers.get("Content-Type")):m.parseAs)??"json";if(E.status===204||E.headers.get("Content-Length")==="0"){let $;switch(P){case"arrayBuffer":case"blob":case"text":$=await E[P]();break;case"formData":$=new FormData;break;case"stream":$=E.body;break;default:$={};break}return m.responseStyle==="data"?$:{data:$,...l}}let j;switch(P){case"arrayBuffer":case"blob":case"formData":case"text":j=await E[P]();break;case"json":{let $=await E.text();j=$?JSON.parse($):{};break}case"stream":return m.responseStyle==="data"?E.body:{data:E.body,...l}}return P==="json"&&(m.responseValidator&&await m.responseValidator(j),m.responseTransformer&&(j=await m.responseTransformer(j))),m.responseStyle==="data"?j:{data:j,...l}}let y=await E.text(),c;try{c=JSON.parse(y)}catch{}let T=c??y,R=T;for(let P of s.error.fns)P&&(R=await P(T,E,C,m));if(R=R||{},m.throwOnError)throw R;return m.responseStyle==="data"?void 0:{error:R,...l}},p=f=>m=>u({...m,method:f}),d=f=>async m=>{let{opts:b,url:x}=await o(m);return fs({...b,body:b.body,headers:b.headers,method:f,onRequest:async(C,I)=>{let E=new Request(C,I);for(let l of s.request.fns)l&&(E=await l(E,b));return E},serializedBody:Jt(b),url:x})};return{buildUrl:Yt,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var Ip={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Ep=Object.entries(Ip),ks=(t,e)=>{e||(e=new Map);for(let n of t)"in"in n?n.key&&e.set(n.key,{in:n.in,map:n.map}):"key"in n?e.set(n.key,{map:n.map}):n.args&&ks(n.args,e);return e},jp=t=>{for(let[e,n]of Object.entries(t))n&&typeof n=="object"&&!Object.keys(n).length&&delete t[e]},g=(t,e)=>{let n={body:{},headers:{},path:{},query:{}},r=ks(e),s;for(let[o,u]of t.entries())if(e[o]&&(s=e[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=u)}else n.body=u;else for(let[p,d]of Object.entries(u??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=Ep.find(([b])=>p.startsWith(b));if(m){let[b,x]=m;n[x][p.slice(b.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[b,x]of Object.entries(s.allowExtra))if(x){n[b][p]=d;break}}}}return jp(n),n};var ws=Oe(Me({baseUrl:"http://localhost:4096"}));var _=class{client;constructor(e){this.client=e?.client??ws}},Zt=class{defaultKey="default";instances=new Map;get(e){let n=this.instances.get(e??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(e,n){this.instances.set(n??this.defaultKey,e)}},en=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},tn=class extends _{log(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},nn=class extends _{moveSession(e,n){let r=g([e],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},sn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},on=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},an=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},cn=class extends _{generateName(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ln=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},un=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new ln({client:this.client})}},pn=class extends _{_controlPlane;get controlPlane(){return this._controlPlane??=new nn({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new rn({client:this.client})}_console;get console(){return this._console??=new sn({client:this.client})}_session;get session(){return this._session??=new on({client:this.client})}_resource;get resource(){return this._resource??=new an({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new cn({client:this.client})}_workspace;get workspace(){return this._workspace??=new un({client:this.client})}},dn=class extends _{get(e){return(e?.client??this.client).get({url:"/global/config",...e})}update(e,n){let r=g([e],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},gn=class extends _{health(e){return(e?.client??this.client).get({url:"/global/health",...e})}event(e){return(e?.client??this.client).sse.get({url:"/global/event",...e})}dispose(e){return(e?.client??this.client).post({url:"/global/dispose",...e})}upgrade(e,n){let r=g([e],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new dn({client:this.client})}},mn=class extends _{subscribe(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},fn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},yn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},hn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},bn=class extends _{text(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},xn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},_n=class extends _{dispose(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},Pn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},kn=class extends _{raw(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},wn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new kn({client:this.client})}},Sn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},vn=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Cn=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Rn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},An=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Rn({client:this.client})}},Tn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},In=class extends _{shells(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},En=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},jn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},$n=class extends _{authorize(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Dn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new $n({client:this.client})}},qn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},Mn=class extends _{delete(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},On=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Un=class extends _{start(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(e,n){let r=g([e],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new On({client:this.client})}},Fn=class extends _{next(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Ln=class extends _{appendPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new Fn({client:this.client})}},Gn=class extends _{get(e){return(e?.client??this.client).get({url:"/api/health",...e})}},Bn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},Nn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},Kn=class extends _{stage(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},Hn=class extends _{list(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"action"},{in:"body",key:"resources"},{in:"body",key:"save"},{in:"body",key:"metadata"},{in:"body",key:"source"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission/{requestID}",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Wn=class extends _{list(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},zn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}active(e){return(e?.client??this.client).get({url:"/api/session/active",...e})}get(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}history(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"after"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/history",...n,...r})}events(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"after"}]}]);return(n?.client??this.client).sse.get({url:"/api/session/{sessionID}/event",...n,...r})}interrupt(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/interrupt",...n,...r})}message(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message/{messageID}",...n,...r})}messages(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new Kn({client:this.client})}_permission;get permission(){return this._permission??=new Hn({client:this.client})}_question;get question(){return this._question??=new Wn({client:this.client})}},Vn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Jn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Xn=class extends _{key(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Yn=class extends _{cancel(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Qn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new Xn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Yn({client:this.client})}},Zn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},er=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},tr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},nr=class extends _{_request;get request(){return this._request??=new er({client:this.client})}_saved;get saved(){return this._saved??=new tr({client:this.client})}},rr=class extends _{read(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},sr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},ir=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},or=class extends _{subscribe(e){return(e?.client??this.client).sse.get({url:"/api/event",...e})}},ar=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},cr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},lr=class extends _{_request;get request(){return this._request??=new cr({client:this.client})}},ur=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},pr=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},dr=class extends _{_health;get health(){return this._health??=new Gn({client:this.client})}_location;get location(){return this._location??=new Bn({client:this.client})}_agent;get agent(){return this._agent??=new Nn({client:this.client})}_session;get session(){return this._session??=new zn({client:this.client})}_model;get model(){return this._model??=new Vn({client:this.client})}_provider;get provider(){return this._provider??=new Jn({client:this.client})}_integration;get integration(){return this._integration??=new Qn({client:this.client})}_credential;get credential(){return this._credential??=new Zn({client:this.client})}_permission;get permission(){return this._permission??=new nr({client:this.client})}_fs;get fs(){return this._fs??=new rr({client:this.client})}_command;get command(){return this._command??=new sr({client:this.client})}_skill;get skill(){return this._skill??=new ir({client:this.client})}_event;get event(){return this._event??=new or({client:this.client})}_pty;get pty(){return this._pty??=new ar({client:this.client})}_question;get question(){return this._question??=new lr({client:this.client})}_reference;get reference(){return this._reference??=new ur({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new pr({client:this.client})}},at=class t extends _{static __registry=new Zt;constructor(e){super(e),t.__registry.set(this,e?.key)}_auth;get auth(){return this._auth??=new en({client:this.client})}_app;get app(){return this._app??=new tn({client:this.client})}_experimental;get experimental(){return this._experimental??=new pn({client:this.client})}_global;get global(){return this._global??=new gn({client:this.client})}_event;get event(){return this._event??=new mn({client:this.client})}_config;get config(){return this._config??=new fn({client:this.client})}_tool;get tool(){return this._tool??=new yn({client:this.client})}_worktree;get worktree(){return this._worktree??=new hn({client:this.client})}_find;get find(){return this._find??=new bn({client:this.client})}_file;get file(){return this._file??=new xn({client:this.client})}_instance;get instance(){return this._instance??=new _n({client:this.client})}_path;get path(){return this._path??=new Pn({client:this.client})}_vcs;get vcs(){return this._vcs??=new wn({client:this.client})}_command;get command(){return this._command??=new Sn({client:this.client})}_lsp;get lsp(){return this._lsp??=new vn({client:this.client})}_formatter;get formatter(){return this._formatter??=new Cn({client:this.client})}_mcp;get mcp(){return this._mcp??=new An({client:this.client})}_project;get project(){return this._project??=new Tn({client:this.client})}_pty;get pty(){return this._pty??=new In({client:this.client})}_question;get question(){return this._question??=new En({client:this.client})}_permission;get permission(){return this._permission??=new jn({client:this.client})}_provider;get provider(){return this._provider??=new Dn({client:this.client})}_session;get session(){return this._session??=new qn({client:this.client})}_part;get part(){return this._part??=new Mn({client:this.client})}_sync;get sync(){return this._sync??=new Un({client:this.client})}_tui;get tui(){return this._tui??=new Ln({client:this.client})}_v2;get v2(){return this._v2??=new dr({client:this.client})}};function vs(t,e,n,r){if(!r?.throwOnError||t instanceof Error)return t;if(typeof t=="object"&&t!==null&&Object.keys(t).length>0){let o=t,u=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||Ss(n,e);return new Error(u,{cause:{body:t,status:e?.status}})}if(typeof t=="string"&&t.length>0)return new Error(t,{cause:{body:t,status:e?.status}});let s=e?"(empty response body)":"network error (no response)";return new Error(`opencode server ${Ss(n,e)}: ${s}`,{cause:{body:t,status:e?.status}})}function Ss(t,e){let n=t?.method??"?",r=t?.url??"?",s=e?.status,o=e?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function $p(t,e,n){if(t)return e&&(t===e||n&&t===n(e))?e:t}function Dp(t,e){if(t.method!=="GET"&&t.method!=="HEAD")return t;let n=new URL(t.url),r=!1;for(let[o,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=$p(t.headers.get(o),u==="directory"?e.directory:e.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(d)||n.searchParams.set(d,p);r=!0}}if(!r)return t;let s=new Request(n,t);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function gr(t){t?.fetch||(t={...t,fetch:r=>(r.timeout=!1,fetch(r))}),t?.directory&&(t.headers={...t.headers,"x-opencode-directory":encodeURIComponent(t.directory)}),t?.experimental_workspaceID&&(t.headers={...t.headers,"x-opencode-workspace":t.experimental_workspaceID});let e=Oe(t);return e.interceptors.request.use(n=>Dp(n,{directory:t?.directory,workspace:t?.experimental_workspaceID})),e.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),e.interceptors.error.use(vs),new at({client:e})}var qp=new Set(["api","cli","mobile","web"]);function ct(t){let e=t?.trim().toLowerCase();return e&&qp.has(e)?e:null}function Mp(t){return new Promise(e=>setTimeout(e,t))}async function Cs(t,e,n){let r=Math.max(1,e?.attempts??1),s=e?.baseDelayMs??0,o=e?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await Mp(s)),u=await t(),u)return u;return u}var Op=12e4;function Up(t){return(t instanceof Request?t.url:String(t)).includes("/global/event")}function mr(t,e,n=Op){let r=t instanceof Request?t.signal:e?.signal;if(Up(t))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function fr(t,e,n,r){let s=new Headers(t instanceof Request?t.headers:void 0);e?.headers&&new Headers(e.headers).forEach((u,p)=>{s.set(p,u)}),n&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${n}`);let o=ct(r);return o&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",o),s}function Rs(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function yr(){return D().getToken()}async function ie(t){return Cs(()=>D().getToken(),t,lt)}function lt(){}function dy(t){}function gy(t){}async function Ue(){return yr()}async function As(t){return ie(t)}function Ts(t,e,n,r){let s=D().fetch??fetch;if(t instanceof Request){let o=new Request(t,{headers:n,...r?{signal:r}:{}});return s(o)}return s(t,{...e,headers:n,...r?{signal:r}:{}})}async function q(t,e,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},o=await As();if(!o)return Rs();let u=D().clientSource,p=fr(t,e,o,u),d=s===void 0?mr(t,e):mr(t,e,s),f=await Ts(t,e,p,d);if(f.status===401&&r&&o){lt();let m=await As({attempts:2,baseDelayMs:200});if(m&&m!==o){let b=fr(t,e,m,u);return Ts(t,e,b,d)}}return f}var ke={url:null,sandboxId:null,dbSandboxId:null,version:0},Fp=new Set;function Is(t,e=null,n=null){if(!(ke.url===t&&ke.sandboxId===e&&ke.dbSandboxId===n)){ke={url:t,sandboxId:e,dbSandboxId:n,version:ke.version+1};for(let r of Fp)r()}}function Es(){return ke.url}function Lp(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function Fe(){return Lp(D().backendUrl||"http://localhost:8008/v1")}function js(){let t=D().sandboxId;return t?`${Fe()}/p/${t}/8000`:""}function Gp(t){return`${Fe()}/p/${t}/8000`}function ut(t){return Gp(t)}var v=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(e,n={}){super(e),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let u=typeof e=="string"?e:e==null?"":String(e);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},we=class extends v{constructor(e="Not authenticated"){super(e,{code:"NO_SESSION"}),this.name="AuthError"}},ge=class t extends Error{status;detail;constructor(e,n,r){super(r||n.message||`Billing Error: ${e}`),this.name="BillingError",this.status=e,this.detail=n,Object.setPrototypeOf(this,t.prototype)}},Se=class t extends Error{status;detail;constructor(e=431,n,r){let s="Request headers are too large",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=e,this.detail={message:n?.message||s,suggestion:n?.suggestion||o},Object.setPrototypeOf(this,t.prototype)}},hr="feature_disabled";function $s(t){if(!(t instanceof v)||t.status!==403||t.code!==hr)return null;let e=t.details??t.data;return e&&typeof e=="object"?e:{}}function Ds(t){let e=$s(t);return e?(typeof e.feature=="string"&&!t.feature&&(t.feature=e.feature),!0):!1}function qs(t){let e=$s(t);if(!e)return null;let n=t.feature;return typeof n=="string"?n:typeof e.feature=="string"?e.feature:null}function ve(t){let e=t.response?.status||t.status;if(e!==402)return t;let n=t.response?.data||t.data||t.detail||{},r=n?.detail||n;return new ge(e,{message:r?.message||t.message||"Billing error",...r})}function Ms(t){return t instanceof ge}function Os(t){if(!(t instanceof ge))return null;let e=t.detail?.message?.toLowerCase()||"";return e.includes("credit")||e.includes("balance")||e.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:t.detail?.message||"Please upgrade to continue."}}var Bp="X-Kortix-Impersonate",xr="kortix.impersonation",me=null,pt=!1,br=new Set;function _r(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function Np(t,e=Date.now()){if(!t||!t.grantId||!t.accountId)return!1;let n=Date.parse(t.expiresAt);return Number.isFinite(n)&&n>e}function Kp(t){if(!t)return null;try{let e=JSON.parse(t);return typeof e?.grantId!="string"||typeof e?.accountId!="string"?null:{grantId:e.grantId,accountId:e.accountId,accountName:typeof e.accountName=="string"?e.accountName:null,expiresAt:typeof e.expiresAt=="string"?e.expiresAt:""}}catch{return null}}function Us(){for(let t of br)try{t()}catch{}}function Hp(){return pt||(pt=!0,me=Kp(_r()?.getItem(xr)??null)),me&&!Np(me)?(Fs(),null):me}function xy(t){if(pt=!0,!t){Fs();return}me=t;try{_r()?.setItem(xr,JSON.stringify(t))}catch{}Us()}function Fs(){pt=!0;let t=me!==null;me=null;try{_r()?.removeItem(xr)}catch{}t&&Us()}function _y(t){return br.add(t),()=>{br.delete(t)}}var Wp=/(^|\/)admin\/(api|analytics)(\/|$)/;function zp(t){let e=t;if(/^https?:\/\//.test(t))try{e=new URL(t).pathname}catch{e=t}return!Wp.test(e)}function Pr(t){if(t!==void 0&&!zp(t))return{};let e=Hp();return e?{[Bp]:e.grantId}:{}}var te=()=>D().backendUrl||"",Vp="feature_not_supported",Jp="model_not_servable",Xp="provision_in_flight",Gs="request_deadline",Yp=/^Request exceeded the \d+s server processing deadline$/,Qp=(t,e,n)=>t!==503?!1:(typeof e=="object"&&e!==null&&"code"in e?e.code:void 0)===Gs||Yp.test(n),Zp=t=>new Promise(e=>setTimeout(e,t)),ed=new Set([502,503,504]),td=t=>ed.has(t),nd=t=>{let e=(t??"GET").toUpperCase();return e==="GET"||e==="HEAD"},rd=2,Ls=t=>t?.name==="AbortError"||t?.name==="AbortSignal"||t instanceof Error&&t.message.includes("aborted"),dt=!1;function Ry(t){dt=t}function Ay(){return dt}async function fe(t,e={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=e,u=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!u.signal.aborted&&(d=!0,f=!0,u.abort())},s);let m=await ie(),b=o.body instanceof FormData,x={};b||(x["Content-Type"]="application/json"),Object.assign(x,o.headers);let C=ct(D().clientSource),I=Object.keys(x).some(R=>R.toLowerCase()==="x-kortix-client");if(C&&!I&&(x["X-Kortix-Client"]=C),dt&&(x["x-kortix-admin-bypass"]="1"),Object.assign(x,Pr(t)),m)x.Authorization=`Bearer ${m}`;else return{error:new we,success:!1};let E=nd(o.method),l=E?rd+1:1,y;for(let R=0;R<l;R++){R>0&&await Zp(250*2**(R-1));let P=R===0?u:new AbortController;R>0&&(p=setTimeout(()=>{f=!0,P.abort()},s));try{y=await(D().fetch??fetch)(t,{...o,headers:x,signal:P.signal,credentials:o.credentials??"omit"})}catch($){if(p&&(clearTimeout(p),p=null),Ls($)||R===l-1)throw $;continue}if(p&&(clearTimeout(p),p=null),!(E&&td(y.status)&&R<l-1))break;try{await y.arrayBuffer()}catch{}}if(!y.ok){let R=`HTTP ${y.status}: ${y.statusText}`,P=null;try{P=await y.json(),typeof P.message=="string"?R=P.message:P.error&&typeof P.error=="string"?R=P.error:typeof P.detail=="string"?R=P.detail:typeof P.detail?.message=="string"?R=P.detail.message:typeof P.reason=="string"&&(R=P.reason)}catch{}let j=Qp(y.status,P,R),$=new v(R,{status:y.status,response:y,details:P||void 0,data:P,detail:P?.detail,code:j?Gs:P?.code||P?.error_code||P?.detail?.error_code||y.status.toString()});if(y.status===402&&($=ve($)),y.status===403&&P?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}y.status===431&&($=new Se(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let A=y.status===501&&P?.code===Vp,W=y.status===409&&P?.code===Jp,K=y.status===409&&P?.code===Xp;return n&&!A&&!W&&!K&&!j&&D().onError?.($,r),{error:$,success:!1}}let c,T=y.headers.get("content-type");return T?.includes("application/json")?c=await y.json():T?.includes("text/")?c=await y.text():c=await y.blob(),{data:c,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let b=Ls(m);b&&(d=!0);let x;if(b){if(!f)return{error:new v("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let C=t.replace(te(),"")||t;x=new v(`Request timed out after ${Math.round(s/1e3)}s: ${C}`,{code:"TIMEOUT",url:t,endpoint:C,timeout:s})}else m instanceof Error?(x=new v(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&D().onError?.(x,r)):(x=new v(String(m)),n&&D().onError?.(x,r));return{error:x,success:!1}}}var Ty={async execute(t,e){try{let{data:n,error:r}=await t();if(r){let s=new v(r.message||"Database error",{code:r.code,details:r});return D().onError?.(s,e),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new v(n.message,{name:n.name||"ApiError",stack:n.stack}):new v(String(n));return D().onError?.(r,e),{error:r,success:!1}}}};async function sd(t,e,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,o=await ie(),u={Accept:"text/event-stream","Content-Type":"application/json"},p=ct(D().clientSource);p&&(u["X-Kortix-Client"]=p),dt&&(u["x-kortix-admin-bypass"]="1"),Object.assign(u,Pr(t)),o&&(u.Authorization=`Bearer ${o}`);let d=new AbortController,f=setTimeout(()=>d.abort(),r);try{return await s(`${te()}${t}`,{method:"POST",headers:u,body:JSON.stringify(e),signal:d.signal,credentials:"omit"})}finally{clearTimeout(f)}}var i={get:(t,e)=>fe(`${te()}${t}`,{...e,method:"GET"}),post:(t,e,n)=>fe(`${te()}${t}`,{...n,method:"POST",body:e?JSON.stringify(e):void 0}),put:(t,e,n)=>fe(`${te()}${t}`,{...n,method:"PUT",body:e?JSON.stringify(e):void 0}),patch:(t,e,n)=>fe(`${te()}${t}`,{...n,method:"PATCH",body:e?JSON.stringify(e):void 0}),delete:(t,e)=>fe(`${te()}${t}`,{...e,method:"DELETE"}),upload:(t,e,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],fe(`${te()}${t}`,{...s,method:"POST",body:e,headers:o})},uploadPut:(t,e,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],fe(`${te()}${t}`,{...s,method:"PUT",body:e,headers:o})},postStream:sd};var gt=new Map,kr=new Map;function wr(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function Bs(t){return gt.get(wr(t))??null}function Ns(t){return gt.has(wr(t))}async function mt(t){let e=wr(t),n=gt.get(e);if(n!==void 0)return n;let r=kr.get(e);if(r)return r;let s=(async()=>{try{let o=await i.get("/p/config",{showErrors:!1,errorContext:{operation:"load preview config",silent:!0}});if(!o.success)return null;let u=typeof o.data?.preview_url_template=="string"?o.data.preview_url_template:null;return gt.set(e,u),u}catch{return null}finally{kr.delete(e)}})();return kr.set(e,s),s}function Ks(t){let{apiBaseUrl:e}=t;return Ns(e)||mt(e).catch(()=>{}),{sandboxId:t.sandboxId,backendPort:t.backendPort,apiBaseUrl:e,previewUrlTemplate:Bs(e)}}function ne(){let t=Es();return t||(D().billingEnabled??!1?"":js())}async function Sr(t,e){return(await t.json().catch(()=>({})))?.error||t.statusText||e}function vr(t){if(!t)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return t}async function Hs(t){let e=vr(t),n=await q(`${e}/env`);if(!n.ok)throw new Error(await Sr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Ws(t,e,n){let r=vr(t),s=await q(`${r}/env/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await Sr(s,"Failed to save secret"))}async function zs(t,e){let n=vr(t),r=await q(`${n}/env/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Sr(r,"Failed to delete secret"))}var id={list:Hs,set:Ws,delete:zs};async function od(t,e,n){let r=t;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await q(`${r}/kortix/triggers${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}function Ce(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return e===t.length?t:t.slice(0,e)}async function ft(t,e){let n=await t.json().catch(()=>({}));return n?.error||n?.message||t.statusText||e}function Le(t){if(!t)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return Ce(t)}async function Vs(t){let e=Le(t),n=await q(`${e}/kortix/pty`);if(!n.ok)throw new Error(await ft(n,"Failed to list terminals"));return n.json()}async function Js(t,e){let n=Le(t),r=await q(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e??{})});if(!r.ok)throw new Error(await ft(r,"Failed to create terminal"));return r.json()}async function Xs(t,e,n){let r=Le(t),s=await q(`${r}/kortix/pty/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await ft(s,"Failed to update terminal"));return s.json()}async function Ys(t,e){let n=Le(t),r=await q(`${n}/kortix/pty/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await ft(r,"Failed to remove terminal"))}async function Qs(t,e,n){let r=Le(e),o=`${(()=>{try{let f=new URL(r);return f.protocol==="https:"?f.protocol="wss:":f.protocol==="http:"&&(f.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&f.protocol==="ws:"&&(f.protocol="wss:"),Ce(f.toString())}catch{return r.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(t)}/connect`,u=new URLSearchParams,p=await Ue();p&&u.set("token",p),n?.wake&&u.set("wake","1");let d=u.toString();return d?`${o}${o.includes("?")?"&":"?"}${d}`:o}var ad={list:Vs,create:Js,update:Xs,remove:Ys,webSocketUrl:Qs};async function w(t,e,n,r){let s=t;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await q(`${s}${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await o.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${o.status}`);return p}async function Yy(t,e={}){let n=new URLSearchParams;e.projectId&&n.set("project_id",e.projectId),e.status&&n.set("status",e.status);let r=n.toString()?`?${n}`:"";return w(t,`/kortix/tasks${r}`)}async function Qy(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`)}async function Zy(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/events`)}async function eh(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/status`)}async function th(t,e){return w(t,"/kortix/tasks",{method:"POST",body:JSON.stringify(e)})}async function nh(t,e,n){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function rh(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/start`,{method:"POST"})}async function sh(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/approve`,{method:"POST"})}async function ih(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"DELETE"})}async function oh(t,e){let n=e?`?project_id=${encodeURIComponent(e)}`:"";return w(t,`/kortix/tickets${n}`)}async function ah(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`)}async function ch(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/events`)}async function lh(t,e){return w(t,"/kortix/tickets",{method:"POST",body:JSON.stringify(e)})}async function uh(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function ph(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/status`,{method:"POST",body:JSON.stringify(n)})}async function dh(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function gh(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function mh(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function fh(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"DELETE"})}async function yh(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/columns`)}async function hh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function bh(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/fields`)}async function xh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function _h(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/templates`)}async function Ph(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function kh(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/pm-session`,{method:"POST"})}async function wh(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents`)}async function Sh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function vh(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Ch(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Rh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}/persona`)}async function Ah(t,e,n=200){return w(t,`/kortix/projects/${encodeURIComponent(e)}/activity?limit=${n}`)}async function Th(t){return w(t,"/kortix/projects")}async function Ih(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}`)}async function Eh(t,e){return w(t,`/kortix/projects/by-session/${encodeURIComponent(e)}`)}async function jh(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/sessions`)}async function $h(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Dh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function qh(t,e,n="all"){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones?status=${n}`)}async function Mh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`)}async function Oh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/events`)}async function Uh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function Fh(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Lh(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function Gh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function Bh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Nh(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`)}async function Kh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}/events`)}async function Hh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function Wh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`)}async function zh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var cd=1e4,ld={retryOnAuthError:!1};function Re(t,e,n){return w(t,e,{signal:AbortSignal.timeout(cd),...n},ld)}async function Vh(t,e=!1){return(await Re(t,`/kortix/services${e?"?all=true":""}`)).services??[]}async function Jh(t){return(await Re(t,"/kortix/services/templates")).templates??[]}async function Xh(t,e){return(await Re(t,`/kortix/services/${encodeURIComponent(e)}/logs`)).logs??[]}async function Yh(t,e,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(e)}`:`/kortix/services/${encodeURIComponent(e)}/${n}`;return Re(t,s,{method:r?"DELETE":"POST"})}async function Qh(t,e){return Re(t,`/kortix/services/reconcile${e?"?reload=true":""}`,{method:"POST"})}async function Zh(t,e){return Re(t,"/kortix/services/register",{method:"POST",body:JSON.stringify(e)})}var yt=new Map,Ge=class extends Error{constructor(e="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(e),this.name="RuntimeNotReadyError"}};function ye(){let t=ne();if(!t)throw new Ge;return oe(t)}function oe(t){if(!t)throw new Error("[opencode-sdk] getClientForUrl called without a url");let e=yt.get(t);if(e)return e;if(!Vt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=gr({baseUrl:t,fetch:q});return yt.set(t,n),n}function ob(t){yt.delete(t)}function ab(){yt.clear()}var ht=new Map;function cb(t){if(!t)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let e=ht.get(t);if(e)return e;let n=gr({baseUrl:t,fetch});return ht.set(t,n),n}function lb(t){ht.delete(t)}function ub(){ht.clear()}async function ud(t){let e=await t.text().catch(()=>"");try{let n=JSON.parse(e);return n?.error||n?.message||e||t.statusText||`HTTP ${t.status}`}catch{return e||t.statusText||`HTTP ${t.status}`}}async function pb(t){let e=ne();if(!e)throw new v("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=t==="full"?"/kortix/refresh":"/global/dispose",r=await q(`${e}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",o=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new v(`System reload failed (${r.status}): ${await ud(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new v(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(d){throw new v(`System reload returned malformed JSON from ${n}: ${d instanceof Error?d.message:String(d)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode:t,steps:p?[t==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:p?[]:[`the sandbox did not confirm the reload (${n})`]}}function ei(t){if(t.error){let e=t.error,n=e?.data?.message||e?.message||(typeof e?.error=="string"?e.error:null)||"SDK request failed";throw new v(n,{status:e?.response?.status??e?.status,response:e?.response,details:e})}return t.data}async function Te(t){let e=await t.text().catch(()=>""),n=null;try{n=JSON.parse(e)}catch{}return n?.error||e||t.statusText||`HTTP ${t.status}`}function z(t){let e=(t??ne()).trim();if(!e)throw new Ge;return e}async function xt(t,e){let n=await q(`${z(e)}${t}`);if(!n.ok)throw new v(await Te(n),{status:n.status,response:n});return n.json()}var Rr=["/workspace","/tmp","/home","/opt"],pd=Rr.filter(t=>t!=="/workspace");function ti(t){return Rr.some(e=>t===e||t.startsWith(`${e}/`))}function bt(t){return ti(t)?t:`/workspace/${t.replace(/^\/+/,"")}`}function Ie(t){let e=t||"";if(e==="/workspace"||e==="/workspace/")return"";if(e.startsWith("/workspace/"))e=e.slice(11);else if(pd.some(n=>e===n||e.startsWith(`${n}/`)))return e;for(;e.startsWith("/");)e=e.slice(1);return e}var ni=Ie;async function _t(t,e){let n=z(e),r=Ie(t)||".";return(await xt(`/file?path=${encodeURIComponent(r)}`,n)).map(o=>({...o,path:o.absolute||`/workspace/${o.path}`}))}async function Ne(t,e){let n=z(e),r=Ie(t),s=await q(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new v(await Te(s),{status:s.status,response:s});return s.json()}async function dd(t,e,n){let r=z(n),s=Ie(t),o=await q(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new v(await Te(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new v("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let u=await o.blob();return e&&(!u.type||u.type==="application/octet-stream")?new Blob([u],{type:e}):u}async function Ke(t,e){let n=z(e);try{return await dd(t,void 0,n)}catch{}let r=await Ne(t,n);if(r.encoding==="base64"&&r.content){let s=Uint8Array.from(atob(r.content),o=>o.charCodeAt(0));return new Blob([s],{type:r.mimeType||"application/octet-stream"})}return new Blob([r.content??""],{type:r.mimeType||"text/plain;charset=utf-8"})}async function Pt(t){return xt("/file/status",z(t))}async function kt(t,e,n){let r=z(n),s=new URLSearchParams({query:t});return e?.type&&s.set("type",e.type),e?.limit&&s.set("limit",String(e.limit)),xt(`/find/file?${s.toString()}`,r)}async function wt(t,e){let n=z(e);return(await xt(`/find?pattern=${encodeURIComponent(t)}`,n)).map(s=>({path:typeof s.path=="string"?s.path:s.path?.text??"",lines:typeof s.lines=="string"?s.lines:s.lines?.text??"",line_number:s.line_number,absolute_offset:s.absolute_offset,submatches:(s.submatches??[]).map(o=>({start:o.start,end:o.end}))}))}var Be=[400,1200],gd=t=>t===408||t===429||t===502||t===503||t===504,Zs=t=>new Promise(e=>setTimeout(e,t));function md(t){let e=t?.name;return e==="TimeoutError"||e==="AbortError"}var Cr=3e4,fd=15*6e4,yd=256;function ri(t){if(typeof t!="number"||!Number.isFinite(t)||t<=0)return Cr;let e=Cr+t/yd;return Math.min(fd,Math.max(Cr,Math.round(e)))}async function hd(t){let e=await t.text().catch(()=>""),n=null;try{n=e?JSON.parse(e):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(t.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(e)?t.status===502||/bad gateway/i.test(e)?"Bad gateway while reaching the sandbox upload service. Please retry.":t.statusText||`HTTP ${t.status}`:e.replace(/\s+/g," ").trim().slice(0,500)||t.statusText||`HTTP ${t.status}`}async function si(t,e){let n;for(let s=0;s<=Be.length;s++){let o;try{o=await e(t())}catch(p){if(n=p,md(p)||s===Be.length)break;await Zs(Be[s]);continue}if(o.ok)return o.json();let u=await hd(o);if(n=new v(`Upload failed (${o.status}): ${u}`,{status:o.status,response:o}),!gd(o.status)||s===Be.length)throw n;await Zs(Be[s])}if(n instanceof v)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new v(`Upload failed: ${r}`)}async function He(t,e,n,r){let s=z(r),o=ri(t.size),u=n||(t instanceof File?t.name:"")||"";return si(()=>{let p=new FormData,d=(e??"").trim();return d&&p.append("path",d.startsWith("/")?d:`/${d}`),u&&p.append("filename",u),u?p.append("file",t,u):p.append("file",t),p},p=>q(`${s}/file/upload`,{method:"POST",body:p},{timeoutMs:o}))}function bd(t,e,n){let r=z(n),s=ri(e.size);return si(()=>{let o=new FormData;return o.append(t,e,t.split("/").pop()||"file"),o},o=>q(`${r}/file/upload`,{method:"POST",body:o},{timeoutMs:s}))}async function St(t,e){let n=z(e),r=t.trim(),o=(r.startsWith("/")?r:`/${r}`).split("/"),u=o.pop()||"untitled",p=o.join("/")||"/workspace",d=await We(`${p}/${u}`,new Blob([],{type:"application/octet-stream"}),n);return[{path:d.path,size:d.bytes}]}async function vt(t,e,n){let r=z(n);return bd(e,await Ke(t,r),r)}function xd(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function _d(t){let e=t.lastIndexOf("/");return e<=0?"/":t.slice(0,e)}function Pd(t){return t.slice(t.lastIndexOf("/")+1)}function kd(){let t=typeof crypto<"u"?crypto:void 0;if(t?.randomUUID)return t.randomUUID();if(t?.getRandomValues){let e=new Uint8Array(8);return t.getRandomValues(e),[...e].map(n=>n.toString(16).padStart(2,"0")).join("")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}async function We(t,e,n){let r=z(n),s=bt(xd(t.trim())),o=Pd(s);if(!o)throw new v(`writeFile needs a file path, got "${t}"`,{code:"INVALID_PATH"});let u=_d(s);await ze(u,r).catch(()=>{});let p=kd(),d=await He(e,u,`.${o}.kortix-write-${p}`,r),f=d[0]?.path;if(!f)throw new v(`Upload returned no file for ${s}`,{code:"UPLOAD_NO_RESULT"});let m=bt(f),b=`${s}.kortix-write-backup-${p}`,x=!1;try{await he(s,b,r),x=!0}catch{}try{await he(m,s,r)}catch(I){throw x&&await he(b,s,r).catch(()=>{}),await Ae(m,r).catch(()=>{}),I}x&&await Ae(b,r).catch(()=>{});let C=d[0]?.size;return{path:s,bytes:typeof C=="number"?C:e.size}}async function Ae(t,e){let n=await q(`${z(e)}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new v(`Delete failed (${n.status}): ${await Te(n)}`,{status:n.status,response:n});return n.json()}async function ze(t,e){let n=await q(`${z(e)}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new v(`Mkdir failed (${n.status}): ${await Te(n)}`,{status:n.status,response:n});return n.json()}async function he(t,e,n){let r=await q(`${z(n)}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:t,to:e})});if(!r.ok)throw new v(`Rename failed (${r.status}): ${await Te(r)}`,{status:r.status,response:r});return r.json()}async function ii(){return ei(await ye().project.current())}async function Ar(){return ei(await ye().global.health())}async function oi(){try{return(await Ar()).healthy===!0}catch{return!1}}var wd={list:_t,read:Ne,readBlob:Ke,status:Pt,findFiles:kt,findText:wt,upload:He,write:We,create:St,copy:vt,remove:Ae,mkdir:ze,rename:he,currentProject:ii,health:Ar,isReachable:oi,toDaemonPath:Ie,toSandboxAbsolutePath:bt,toWorkspaceRelative:ni};function a(t,e="Project request failed"){if(!t.success||t.data===void 0)throw t.error??new Error(e);return t.data}function Tr(t){return t.replace(/\/v1\/?$/,"")}async function Ee(t,e){if(!t.backendUrl||!t.accessToken)return null;let n=Tr(t.backendUrl);try{let r=await fetch(`${n}${e}`,{headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(t.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function ai(){return a(await i.get("/accounts"))}async function ci(t){return a(await i.post("/accounts",t))}async function li(t){return a(await i.get(`/accounts/${t}`))}async function ui(t,e){return a(await i.patch(`/accounts/${t}`,{name:e}))}async function pi(t){return a(await i.get(`/accounts/${t}/members`))}async function di(t,e){return a(await i.post(`/accounts/${t}/members`,e,{showErrors:!1}))}async function gi(t){return a(await i.get(`/accounts/${t}/invites`))}async function mi(t,e){return a(await i.delete(`/accounts/${t}/invites/${e}`))}async function fi(t,e){return a(await i.post(`/accounts/${t}/invites/${e}/resend`,{}))}async function yi(t){return a(await i.get(`/account-invites/${t}`,{showErrors:!1}))}async function hi(t){return a(await i.post(`/account-invites/${t}/accept`,{}))}async function bi(t){return a(await i.post(`/account-invites/${t}/decline`,{}))}async function xi(t,e){return a(await i.delete(`/accounts/${t}/members/${e}`))}async function _i(t,e,n){return a(await i.patch(`/accounts/${t}/members/${e}`,{role:n}))}async function Pi(t){return a(await i.post(`/accounts/${t}/leave`,{}))}async function Sb(t){return Ee(t,"/v1/accounts")}async function ki(){let t=await i.get("/accounts/me",{showErrors:!1});return!t.success||!t.data?{valid:!1,error:t.error}:{valid:!0,identity:t.data}}var Ab=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","llm_gateway","review_center","meta_agent","apps","monitors","warm_sessions","secrets_egress"];async function je(){return a(await i.get("/projects"))}async function Si(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/projects${e}`))}async function Ir(t,e){return a(await i.get(`/projects/${t}`,e))}async function vi(t,e,n="write"){return a(await i.post(`/projects/${t}/git/collaborators`,{github_username:e,permission:n}))}async function Ci(t,e){return a(await i.post(`/projects/${t}/manifest/validate`,{raw:e}),"Failed to validate manifest")}async function Ri(t){return a(await i.post(`/projects/${t}/git-token`,{}),"Failed to mint git token")}function Tb(t){let e=t.metadata?.git;return e?.provider==="github"&&e?.managed===!0}async function Er(t,e){let n=a(await i.get(`/projects/${t}/detail`,{showErrors:!1,...e}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function jr(t,e){return a(await i.get(`/projects/${t}/llm-catalog`,{showErrors:!1,...e}))}async function $r(t,e){return a(await i.get(`/projects/${t}/model-picker`,{showErrors:!1,...e}))}async function Ib(t,e){return a(await i.get(`/projects/${t}/llm-catalog/providers`,{showErrors:!1,...e}))}async function Ai(t){return a(await i.post("/projects",t))}async function Ti(t){return a(await i.post("/projects/create-repo",t))}async function Ii(t,e={}){return a(await i.post("/projects/provision",{seed_starter:!0,...t},{timeout:12e4,...e}))}var wi=200;function vd(t){let e=t.split(`
|
|
8
8
|
`).filter(r=>r.startsWith("data:")).map(r=>r.slice(5).replace(/^ /,""));if(e.length===0)return null;let n=e.join(`
|
|
9
|
-
`);try{return JSON.parse(n)}catch(r){let s=n.length>
|
|
9
|
+
`);try{return JSON.parse(n)}catch(r){let s=n.length>wi?`${n.slice(0,wi)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function Eb(t,e,n={}){let r=await i.postStream("/projects/provision-stream",{seed_starter:!0,...t},n);if(!r.ok){let d=await r.json().catch(()=>null);throw new v(d?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:d?.code})}let s=r.body?.getReader();if(!s)throw new Error("Provision stream is unavailable on this runtime (no response body)");let o=new TextDecoder,u="",p=null;try{for(;;){let{done:d,value:f}=await s.read();if(d)break;u+=o.decode(f,{stream:!0});let m=u.indexOf(`
|
|
10
10
|
|
|
11
11
|
`);for(;m!==-1;){let b=u.slice(0,m);u=u.slice(m+2),m=u.indexOf(`
|
|
12
12
|
|
|
13
|
-
`);let x=bd(b);if(x){if(e(x),x.type==="error")throw new v(x.error,{status:x.status,code:x.code});x.type==="done"&&(p=x.project)}}}}finally{s.cancel().catch(()=>{})}if(!p)throw new Error("Provision stream ended without a result");return p}async function yb(){try{return a(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Ir(t,e){return a(await i.patch(`/projects/${t}`,e))}async function Si(t,e,n){return a(await i.patch(`/projects/${t}/features`,{feature:e,enabled:n}))}async function vi(t,e,n){return a(await i.patch(`/projects/${t}/experimental`,{feature:e,enabled:n}))}async function Ci(t,e){return a(await i.patch(`/projects/${t}/sandbox-provider`,{provider:e}))}async function hb(t,e){return a(await i.get(`/projects/${t}/sandbox-provider/transition`,{showErrors:!1,...e}))}async function bb(t,e){return a(await i.patch(`/projects/${t}/warm-pool`,e))}async function Ri(t,e){return a(await i.patch(`/projects/${t}/onboarding`,{completed:e}))}async function xb(t,e){return a(await i.patch(`/projects/${t}/onboarding`,{profile:e}))}async function Er(t){return a(await i.delete(`/projects/${t}`))}async function _b(t,e){return je(t,`/v1/projects?account_id=${encodeURIComponent(e)}`)}async function Pb(t,e){if(!t.backendUrl||!t.accessToken)return{ok:!1,limitReached:!1};let n=vr(t.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...e}),signal:AbortSignal.timeout(t.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function Ai(t){return a(await i.post("/projects/link-repository",t,{showErrors:!1}))}async function Ti(t){return a(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Ii(t){return a(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Ei(t){return a(await i.post("/projects/github/installations/linkable",t,{showErrors:!1}))}async function ji(t,e,n){let r=new URLSearchParams({account_id:t});e&&r.set("installation_id",e);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function $i(t,e,n){let r=new URLSearchParams({account_id:t,installation_id:e,repo_full_name:n});return a(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Di(t){return a(await i.post("/projects/github/installation",t,{showErrors:!1}))}async function qi(t){return a(await i.post("/projects/github/installations/link",t,{showErrors:!1}))}async function Mi(t,e){let n=new URLSearchParams({account_id:t});return e&&n.set("installation_id",e),a(await i.delete(`/projects/github/installation?${n.toString()}`))}async function Ab(t,e){return a(await i.post(`/projects/${t}/access-requests`,{message:e?.trim()||void 0},{showErrors:!1}))}async function Oi(t,e){return a(await i.get(`/projects/${t}/access-requests`,e))}async function Ui(t,e,n="member"){return a(await i.post(`/projects/${t}/access-requests/${e}/approve`,{role:n}))}async function Fi(t,e){return a(await i.post(`/projects/${t}/access-requests/${e}/reject`,{}))}async function Li(t){return a(await i.get(`/projects/${t}/access`))}async function Gi(t,e,n){return a(await i.put(`/projects/${t}/access/${e}`,{role:n}))}async function Bi(t,e){return a(await i.delete(`/projects/${t}/access/${e}`))}function Tb(t){return"status"in t&&t.status==="invited"}async function Ni(t,e,n,r){return a(await i.post(`/projects/${t}/access/invite`,{email:e,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Ki(t){return a(await i.get(`/projects/${t}/access/pending-invites`))}async function Hi(t,e){return a(await i.delete(`/projects/${t}/access/pending-invites/${e}`))}async function Wi(t,e){return a(await i.post(`/projects/${t}/access/pending-invites/${e}/resend`))}async function zi(t){return a(await i.get(`/projects/${t}/group-grants`))}async function Vi(t,e,n,r){return a(await i.post(`/projects/${t}/group-grants`,r===void 0?{group_id:e,role:n}:{group_id:e,role:n,expires_at:r}))}async function Ji(t,e,n,r){return a(await i.patch(`/projects/${t}/group-grants/${e}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Xi(t,e){return a(await i.delete(`/projects/${t}/group-grants/${e}`))}async function Qi(t){return a(await i.get(`/projects/${t}/resource-grants`))}async function Yi(t,e){return a(await i.post(`/projects/${t}/resource-grants`,{resource_type:e.resourceType,resource_id:e.resourceId,principal_type:e.principalType,principal_id:e.principalId,...e.expiresAt!==void 0?{expires_at:e.expiresAt}:{}}))}async function Zi(t,e){return a(await i.delete(`/projects/${t}/resource-grants/${e}`))}async function eo(t,e){return a(await i.get(`/projects/${t}/approvals`,{showErrors:e?.showErrors}))}async function to(t,e){return a(await i.get(`/projects/${t}/approvals/needs-input`,{showErrors:e?.showErrors}))}async function no(t,e,n){return a(await i.post(`/projects/${t}/approvals/${e}`,{decision:n}))}async function ro(t){return a(await i.get(`/projects/${t}/secrets`,{showErrors:!1}))}async function so(t,e){return a(await i.post(`/projects/${t}/secrets`,e))}async function io(t,e,n,r={}){return a(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/strategy`,{strategy:n,...r}))}async function oo(t,e,n){return a(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/broker`,n))}async function ao(t,e,n){return a(await i.post(`/projects/${t}/oauth/${e}/start`,{sharing:n?.sharing}))}async function co(t,e,n){return a(await i.post(`/projects/${t}/oauth/${e}/poll`,{flow_id:n}))}async function lo(t,e){return a(await i.delete(`/projects/${t}/oauth/${encodeURIComponent(e)}`))}async function uo(t,e){return a(await i.put(`/projects/${t}/git-credential`,e))}async function po(t,e){return a(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}`))}async function go(t,e,n){return a(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`,n))}async function mo(t,e){return a(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`))}function jr(t,e){return t?`/connectors/projects/${encodeURIComponent(t)}/${e}`:`/connectors/${e}`}async function $r(t){return a(await i.get(jr(t,"catalog"))).connectors??[]}async function St(t){let e=[];for(let n of await $r(t))for(let r of n.actions)e.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return e}async function fo(t,e="",n={}){let r=e.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),o=[],u=[];for(let p of await St(t)){let d=`${p.tool} ${p.description}`.toLowerCase();!r||d.includes(r)?o.push(p):s.every(f=>d.includes(f))&&u.push(p)}return[...o,...u].slice(0,n.limit??20)}async function yo(t,e){return(await St(t)).find(n=>n.tool===e)??null}function xd(t){let e=t.indexOf("."),n=e<0?"":t.slice(0,e).trim(),r=e<0?"":t.slice(e+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}async function ho(t,e,n={}){let{connector:r,action:s}=xd(e);return a(await i.post(jr(t,"call"),{connector:r,action:s,args:n}))}function _d(t,e){if(t&&typeof t=="object"){let n=t;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${e}`}function Pd(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e-=1;return e===t.length?t:t.slice(0,e)}async function bo(t,e,n){let r=n.filename.trim(),s=n.contentType.trim();if(!r)throw new Error("filename is required");if(!s)throw new Error("contentType is required");let o={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(o["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let u=Pd($().backendUrl),p=jr(t,"attachments"),d=await q(`${u}${p}`,{method:"POST",headers:o,body:e},{timeoutMs:6e4}),f=await d.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!d.ok)throw new v(_d(m,d.status),{status:d.status,code:String(m&&typeof m=="object"?m.code??d.status:d.status),details:m,response:d,endpoint:p});return m}async function xo(t){return a(await i.get(`/projects/${t}/connections`))}async function _o(t){return a(await i.get(`/projects/${t}/connections/all`))}async function Po(t,e){return a(await i.post(`/projects/${t}/connections`,e))}async function ko(t,e){return a(await i.post(`/projects/${t}/connections/me`,e))}async function wo(t,e,n){return a(await i.put(`/projects/${t}/connections/${e}/credential`,n))}function te(t,e,n){return`/projects/${t}/connections/${e}/oauth2/${n}`}async function Fb(t,e){return a(await i.post(`/projects/${t}/connectors/${encodeURIComponent(e)}/oauth2/connection`,{}))}async function Lb(t,e,n){return a(await i.put(te(t,e,"application"),n))}async function Gb(t,e){return a(await i.get(te(t,e,"application")))}async function Bb(t,e,n){return a(await i.post(te(t,e,"discover"),n))}async function Nb(t,e,n={}){return a(await i.post(te(t,e,"discover-resource"),n))}async function Kb(t,e,n){return a(await i.post(te(t,e,"register"),n))}async function Hb(t,e,n){return a(await i.post(te(t,e,"authorize"),n))}async function Wb(t,e,n){return a(await i.post(te(t,e,"device"),n))}async function zb(t,e,n){return a(await i.post(te(t,e,`device/${encodeURIComponent(n)}`),{}))}async function Vb(t,e){return a(await i.get(te(t,e,"status")))}async function So(t,e){return a(await i.put(`/projects/${t}/connections/${e}/revoke`,{}))}async function vo(t,e){return a(await i.put(`/projects/${t}/connections/${e}/activate`,{}))}async function Co(t,e){return a(await i.put(`/projects/${t}/connections/${e}/default`,{}))}async function Ro(t,e,n={}){return a(await i.post(`/projects/${t}/connections/${e}/connect`,n))}async function Ao(t,e){return a(await i.post(`/projects/${t}/connections/${e}/connect/finalize`,{}))}async function To(t){return a(await i.get(`/connectors/projects/${t}/connectors`,{showErrors:!1}))}async function Io(t){return a(await i.post(`/connectors/projects/${t}/connectors/sync`,{}))}async function Eo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential-mode`,{mode:n}))}async function jo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/authorization-strategy`,{authorization_strategy:n}))}async function $o(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/sensitive`,{sensitive:n}))}async function Do(t,e){return a(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`))}async function qo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`,{policies:n}))}async function Jb(t,e){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function Xb(t,e,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function Mo(t,e){return a(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/config`))}async function Oo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/name`,{name:n}))}async function Uo(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect`,{}))}async function Fo(t,e){return a(await i.post(`/connectors/projects/${t}/connectors`,e))}async function Lo(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/auth-discovery`,e))}async function Go(t,e){return a(await i.delete(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}`))}async function Bo(t,e,n){let r=typeof e=="string"||e===void 0?{...e?{q:e}:{},...n?{cursor:n}:{}}:e,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let o=s.toString();return a(await i.get(`/connectors/projects/${t}/pipedream/apps${o?`?${o}`:""}`))}async function No(t,e){let n=new URLSearchParams;e?.perCategory&&n.set("perCategory",String(e.perCategory)),e?.maxCategories&&n.set("maxCategories",String(e.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${t}/pipedream/sections${r?`?${r}`:""}`))}async function Dr(t,e,n){let r=new URLSearchParams;e&&r.set("q",e),n&&r.set("cursor",n);let s=r.toString();return a(await i.get(`/connectors/projects/${t}/discover/connectors${s?`?${s}`:""}`))}async function qr(t,e){let n=new URLSearchParams({id:e});return a(await i.get(`/connectors/projects/${t}/discover/connectors/detail?${n.toString()}`))}var Qb=Dr,Yb=qr;async function Ko(){return a(await i.get("/connectors/connect-status"))}async function Ho(t,e,n){let r=typeof n=="string"?{value:n}:n;return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential`,r))}async function Zb(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/secret-binding`,{secret_identifier:n}))}async function Wo(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect/finalize`,{}))}async function zo(t){return a(await i.get(`/connectors/projects/${t}/policies`))}async function Vo(t,e,n){return a(await i.put(`/connectors/projects/${t}/policies`,{policies:e,defaultMode:n}))}async function Jo(t){return a(await i.get(`/projects/${t}/sandboxes`))}async function Xo(t){return a(await i.get(`/projects/${t}/snapshots`))}async function Mr(t){return a(await i.get(`/projects/${t}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Qo(t,e){return a(await i.post(`/projects/${t}/snapshots/rebuild`,e?{slug:e}:{}))}async function Yo(t){return a(await i.post(`/projects/${t}/snapshots/fix-with-agent`,{}))}async function Zo(t,e){return a(await i.post(`/projects/${t}/sandbox-templates`,e))}async function ea(t,e,n){return a(await i.patch(`/projects/${t}/sandbox-templates/${e}`,n))}async function ta(t,e){return a(await i.delete(`/projects/${t}/sandbox-templates/${e}`))}async function na(t,e){return a(await i.post(`/projects/${t}/sandbox-templates/${e}/build`,{}))}async function ra(t){return a(await i.get(`/projects/${t}/sandboxes`))}async function sa(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path);let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${t}/files${r}`,{showErrors:!1}))}async function ia(t,e,n){let r=new URLSearchParams({q:e});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),a(await i.get(`/projects/${t}/files/search?${r.toString()}`))}async function oa(t,e,n){let r=new URLSearchParams({path:e});return n&&r.set("ref",n),a(await i.get(`/projects/${t}/files/content?${r.toString()}`,{showErrors:!1}))}async function aa(t,e,n){let r=new URLSearchParams;e&&r.set("ref",e),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await se(),u=`${$().backendUrl||""}/projects/${t}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function ca(t){return a(await i.get(`/projects/${t}/branches`))}async function la(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path),e?.limit!=null&&n.set("limit",String(e.limit)),e?.skip!=null&&n.set("skip",String(e.skip));let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${t}/commits${r}`))}async function ua(t,e){return a(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}`))}async function pa(t,e,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}/diff${s}`))}async function da(t,e,n){let r=new URLSearchParams({path:e});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),a(await i.get(`/projects/${t}/files/history?${r.toString()}`))}async function ga(t,e){let n=new URLSearchParams({from:e.from,into:e.into});return a(await i.get(`/projects/${t}/version-diff?${n.toString()}`))}async function ma(t,e){let n=e?`?status=${e}`:"";return a(await i.get(`/projects/${t}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function fa(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}`))}async function ya(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}/diff`))}async function ha(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}/merge-preview`))}async function ba(t,e){return a(await i.post(`/projects/${t}/change-requests`,e))}async function xa(t,e,n){return a(await i.post(`/projects/${t}/change-requests/${e}/merge`,n??{},{showErrors:!1}))}async function _a(t,e){return a(await i.post(`/projects/${t}/change-requests/${e}/close`,{}))}async function Pa(t,e){return a(await i.post(`/projects/${t}/change-requests/${e}/reopen`,{}))}async function ka(t,e,n){return a(await i.post(`/projects/${t}/change-requests/${e}/request-changes`,{feedback:n}))}async function wa(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/commit-push`,n??{}))}var Or=new Set;function vt(t){t&&Or.add(t)}function Sa(t){return!!t&&Or.has(t)}function bx(t){t&&Or.delete(t)}async function ze(t,e){let n=new URLSearchParams;e?.scope&&e.scope!=="visible"&&n.set("scope",e.scope);let r=n.size>0?`?${n}`:"";return a(await i.get(`/projects/${t}/sessions${r}`))}async function va(t,e,n){return a(await i.put(`/projects/${t}/sessions/${e}/sharing`,n))}async function Ca(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/previews`))}async function Ra(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/public-shares`,{showErrors:!1}))}async function Aa(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/public-shares`,n))}async function Ta(t,e,n){return a(await i.delete(`/projects/${t}/sessions/${e}/public-shares/${n}`))}async function Ve(t,e){let n=a(await i.post(`/projects/${t}/sessions`,e??{}));return e?.initial_prompt||vt(n?.session_id),n}async function Ia(t,e){let n=e?.excludeSessionId?{exclude_session_id:e.excludeSessionId}:{},r=a(await i.post(`/projects/${t}/sessions/warm`,n,{showErrors:!1}));return r.reused||vt(r.session.session_id),r}async function Ea(t,e){let n=a(await i.post(`/projects/${t}/sessions/warm/claim`,e,{showErrors:!1}));return vt(n.session_id),n}async function Ur(t,e,n){return a(await i.get(`/projects/${t}/sessions/${e}`,{showErrors:n?.showErrors}))}async function ja(t,e,n,r){let s=new URLSearchParams;n&&s.set("limit",String(n)),r?.cursor&&s.set("cursor",r.cursor),r?.includeEvents!=null&&s.set("include_events",String(r.includeEvents));let o=s.toString();return a(await i.get(`/projects/${t}/sessions/${e}/audit${o?`?${o}`:""}`,{showErrors:r?.showErrors}))}async function $a(t,e,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return a(await i.get(`/projects/${t}/sessions/${e}/transcript${s?`?${s}`:""}`))}async function Da(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/turn`))}async function qa(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts`,{client_message_id:n.clientMessageId,message_id:n.messageId,parts:n.parts,...n.overrides?{overrides:n.overrides}:{},...n.remintOnDelivery?{remint_on_delivery:!0}:{},...typeof n.clientSentAtMs=="number"?{client_sent_at_ms:Math.trunc(n.clientSentAtMs)}:{}}))}async function Ma(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/prompts`))}async function Oa(t,e,n){return a(await i.delete(`/projects/${t}/sessions/${e}/prompts/${n}`)).removed}async function Ua(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts/${n}/retry`,{}))}async function Fa(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts/hold`,{held:n}))}async function La(t,e,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return a(await i.get(`/projects/${t}/sessions/${e}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function Ga(t,e,n){return a(await i.patch(`/projects/${t}/sessions/${e}`,n))}async function Ba(t,e){return a(await i.delete(`/projects/${t}/sessions/${e}`))}async function Ct(t,e){return a(await i.post(`/projects/${t}/sessions/${e}/restart`,{}))}async function Rt(t,e){return a(await i.post(`/projects/${t}/sessions/${e}/stop`,{}))}async function Na(t,e){return a(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/config`,{showErrors:!1}))}function kd(t){let e=t.split(`
|
|
13
|
+
`);let x=vd(b);if(x){if(e(x),x.type==="error")throw new v(x.error,{status:x.status,code:x.code});x.type==="done"&&(p=x.project)}}}}finally{s.cancel().catch(()=>{})}if(!p)throw new Error("Provision stream ended without a result");return p}async function jb(){try{return a(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Dr(t,e){return a(await i.patch(`/projects/${t}`,e))}async function Ei(t,e,n){return a(await i.patch(`/projects/${t}/features`,{feature:e,enabled:n}))}async function ji(t,e,n){return a(await i.patch(`/projects/${t}/experimental`,{feature:e,enabled:n}))}async function $i(t,e){return a(await i.patch(`/projects/${t}/sandbox-provider`,{provider:e}))}async function $b(t,e){return a(await i.get(`/projects/${t}/sandbox-provider/transition`,{showErrors:!1,...e}))}async function Db(t,e){return a(await i.patch(`/projects/${t}/warm-pool`,e))}async function Di(t,e){return a(await i.patch(`/projects/${t}/onboarding`,{completed:e}))}async function qb(t,e){return a(await i.patch(`/projects/${t}/onboarding`,{profile:e}))}async function qr(t){return a(await i.delete(`/projects/${t}`))}async function Mb(t,e){return Ee(t,`/v1/projects?account_id=${encodeURIComponent(e)}`)}async function Ob(t,e){if(!t.backendUrl||!t.accessToken)return{ok:!1,limitReached:!1};let n=Tr(t.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...e}),signal:AbortSignal.timeout(t.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function qi(t){return a(await i.post("/projects/link-repository",t,{showErrors:!1}))}async function Mi(t){return a(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Oi(t){return a(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Ui(t){return a(await i.post("/projects/github/installations/linkable",t,{showErrors:!1}))}async function Fi(t,e,n){let r=new URLSearchParams({account_id:t});e&&r.set("installation_id",e);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function Li(t,e,n){let r=new URLSearchParams({account_id:t,installation_id:e,repo_full_name:n});return a(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Gi(t){return a(await i.post("/projects/github/installation",t,{showErrors:!1}))}async function Bi(t){return a(await i.post("/projects/github/installations/link",t,{showErrors:!1}))}async function Ni(t,e){let n=new URLSearchParams({account_id:t});return e&&n.set("installation_id",e),a(await i.delete(`/projects/github/installation?${n.toString()}`))}async function Kb(t,e){return a(await i.post(`/projects/${t}/access-requests`,{message:e?.trim()||void 0},{showErrors:!1}))}async function Ki(t,e){return a(await i.get(`/projects/${t}/access-requests`,e))}async function Hi(t,e,n="member"){return a(await i.post(`/projects/${t}/access-requests/${e}/approve`,{role:n}))}async function Wi(t,e){return a(await i.post(`/projects/${t}/access-requests/${e}/reject`,{}))}async function zi(t){return a(await i.get(`/projects/${t}/access`))}async function Vi(t,e,n){return a(await i.put(`/projects/${t}/access/${e}`,{role:n}))}async function Ji(t,e){return a(await i.delete(`/projects/${t}/access/${e}`))}function Hb(t){return"status"in t&&t.status==="invited"}async function Xi(t,e,n,r){return a(await i.post(`/projects/${t}/access/invite`,{email:e,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Yi(t){return a(await i.get(`/projects/${t}/access/pending-invites`))}async function Qi(t,e){return a(await i.delete(`/projects/${t}/access/pending-invites/${e}`))}async function Zi(t,e){return a(await i.post(`/projects/${t}/access/pending-invites/${e}/resend`))}async function eo(t){return a(await i.get(`/projects/${t}/group-grants`))}async function to(t,e,n,r){return a(await i.post(`/projects/${t}/group-grants`,r===void 0?{group_id:e,role:n}:{group_id:e,role:n,expires_at:r}))}async function no(t,e,n,r){return a(await i.patch(`/projects/${t}/group-grants/${e}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function ro(t,e){return a(await i.delete(`/projects/${t}/group-grants/${e}`))}async function so(t){return a(await i.get(`/projects/${t}/resource-grants`))}async function io(t,e){return a(await i.post(`/projects/${t}/resource-grants`,{resource_type:e.resourceType,resource_id:e.resourceId,principal_type:e.principalType,principal_id:e.principalId,...e.expiresAt!==void 0?{expires_at:e.expiresAt}:{}}))}async function oo(t,e){return a(await i.delete(`/projects/${t}/resource-grants/${e}`))}async function ao(t,e){return a(await i.get(`/projects/${t}/approvals`,{showErrors:e?.showErrors}))}async function co(t,e){return a(await i.get(`/projects/${t}/approvals/needs-input`,{showErrors:e?.showErrors}))}async function lo(t,e,n){return a(await i.post(`/projects/${t}/approvals/${e}`,{decision:n}))}async function uo(t){return a(await i.get(`/projects/${t}/secrets`,{showErrors:!1}))}async function po(t,e){return a(await i.post(`/projects/${t}/secrets`,e))}async function go(t,e,n,r={}){return a(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/strategy`,{strategy:n,...r}))}async function mo(t,e,n){return a(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/broker`,n))}async function fo(t,e,n){return a(await i.post(`/projects/${t}/oauth/${e}/start`,{sharing:n?.sharing}))}async function yo(t,e,n){return a(await i.post(`/projects/${t}/oauth/${e}/poll`,{flow_id:n}))}async function ho(t,e){return a(await i.delete(`/projects/${t}/oauth/${encodeURIComponent(e)}`))}async function bo(t,e){return a(await i.put(`/projects/${t}/git-credential`,e))}async function xo(t,e){return a(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}`))}async function _o(t,e,n){return a(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`,n))}async function Po(t,e){return a(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`))}function Mr(t,e){return t?`/connectors/projects/${encodeURIComponent(t)}/${e}`:`/connectors/${e}`}async function Or(t){return a(await i.get(Mr(t,"catalog"))).connectors??[]}async function Ct(t){let e=[];for(let n of await Or(t))for(let r of n.actions)e.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return e}async function ko(t,e="",n={}){let r=e.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),o=[],u=[];for(let p of await Ct(t)){let d=`${p.tool} ${p.description}`.toLowerCase();!r||d.includes(r)?o.push(p):s.every(f=>d.includes(f))&&u.push(p)}return[...o,...u].slice(0,n.limit??20)}async function wo(t,e){return(await Ct(t)).find(n=>n.tool===e)??null}function Cd(t){let e=t.indexOf("."),n=e<0?"":t.slice(0,e).trim(),r=e<0?"":t.slice(e+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}async function So(t,e,n={}){let{connector:r,action:s}=Cd(e);return a(await i.post(Mr(t,"call"),{connector:r,action:s,args:n}))}function Rd(t,e){if(t&&typeof t=="object"){let n=t;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${e}`}function Ad(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e-=1;return e===t.length?t:t.slice(0,e)}async function vo(t,e,n){let r=n.filename.trim(),s=n.contentType.trim();if(!r)throw new Error("filename is required");if(!s)throw new Error("contentType is required");let o={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(o["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let u=Ad(D().backendUrl),p=Mr(t,"attachments"),d=await q(`${u}${p}`,{method:"POST",headers:o,body:e},{timeoutMs:6e4}),f=await d.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!d.ok)throw new v(Rd(m,d.status),{status:d.status,code:String(m&&typeof m=="object"?m.code??d.status:d.status),details:m,response:d,endpoint:p});return m}async function Co(t){return a(await i.get(`/projects/${t}/connections`))}async function Ro(t){return a(await i.get(`/projects/${t}/connections/all`))}async function Ao(t,e){return a(await i.post(`/projects/${t}/connections`,e))}async function To(t,e){return a(await i.post(`/projects/${t}/connections/me`,e))}async function Io(t,e,n){return a(await i.put(`/projects/${t}/connections/${e}/credential`,n))}function re(t,e,n){return`/projects/${t}/connections/${e}/oauth2/${n}`}async function tx(t,e){return a(await i.post(`/projects/${t}/connectors/${encodeURIComponent(e)}/oauth2/connection`,{}))}async function nx(t,e,n){return a(await i.put(re(t,e,"application"),n))}async function rx(t,e){return a(await i.get(re(t,e,"application")))}async function sx(t,e,n){return a(await i.post(re(t,e,"discover"),n))}async function ix(t,e,n={}){return a(await i.post(re(t,e,"discover-resource"),n))}async function ox(t,e,n){return a(await i.post(re(t,e,"register"),n))}async function ax(t,e,n){return a(await i.post(re(t,e,"authorize"),n))}async function cx(t,e,n){return a(await i.post(re(t,e,"device"),n))}async function lx(t,e,n){return a(await i.post(re(t,e,`device/${encodeURIComponent(n)}`),{}))}async function ux(t,e){return a(await i.get(re(t,e,"status")))}async function Eo(t,e){return a(await i.put(`/projects/${t}/connections/${e}/revoke`,{}))}async function jo(t,e){return a(await i.put(`/projects/${t}/connections/${e}/activate`,{}))}async function $o(t,e){return a(await i.put(`/projects/${t}/connections/${e}/default`,{}))}async function Do(t,e,n={}){return a(await i.post(`/projects/${t}/connections/${e}/connect`,n))}async function qo(t,e){return a(await i.post(`/projects/${t}/connections/${e}/connect/finalize`,{}))}async function Mo(t){return a(await i.get(`/connectors/projects/${t}/connectors`,{showErrors:!1}))}async function Oo(t){return a(await i.post(`/connectors/projects/${t}/connectors/sync`,{}))}async function Uo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential-mode`,{mode:n}))}async function Fo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/authorization-strategy`,{authorization_strategy:n}))}async function Lo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/sensitive`,{sensitive:n}))}async function Go(t,e){return a(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`))}async function Bo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`,{policies:n}))}async function px(t,e){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function dx(t,e,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function No(t,e){return a(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/config`))}async function Ko(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/name`,{name:n}))}async function Ho(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect`,{}))}async function Wo(t,e){return a(await i.post(`/connectors/projects/${t}/connectors`,e))}async function zo(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/auth-discovery`,e))}async function Vo(t,e){return a(await i.delete(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}`))}async function Jo(t,e,n){let r=typeof e=="string"||e===void 0?{...e?{q:e}:{},...n?{cursor:n}:{}}:e,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let o=s.toString();return a(await i.get(`/connectors/projects/${t}/pipedream/apps${o?`?${o}`:""}`))}async function Xo(t,e){let n=new URLSearchParams;e?.perCategory&&n.set("perCategory",String(e.perCategory)),e?.maxCategories&&n.set("maxCategories",String(e.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${t}/pipedream/sections${r?`?${r}`:""}`))}async function Ur(t,e,n){let r=new URLSearchParams;e&&r.set("q",e),n&&r.set("cursor",n);let s=r.toString();return a(await i.get(`/connectors/projects/${t}/discover/connectors${s?`?${s}`:""}`))}async function Fr(t,e){let n=new URLSearchParams({id:e});return a(await i.get(`/connectors/projects/${t}/discover/connectors/detail?${n.toString()}`))}var gx=Ur,mx=Fr;async function Yo(){return a(await i.get("/connectors/connect-status"))}async function Qo(t,e,n){let r=typeof n=="string"?{value:n}:n;return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential`,r))}async function fx(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/secret-binding`,{secret_identifier:n}))}async function Zo(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect/finalize`,{}))}async function ea(t){return a(await i.get(`/connectors/projects/${t}/policies`))}async function ta(t,e,n){return a(await i.put(`/connectors/projects/${t}/policies`,{policies:e,defaultMode:n}))}async function na(t){return a(await i.get(`/projects/${t}/sandboxes`))}async function ra(t){return a(await i.get(`/projects/${t}/snapshots`))}async function Lr(t){return a(await i.get(`/projects/${t}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function sa(t,e){return a(await i.post(`/projects/${t}/snapshots/rebuild`,e?{slug:e}:{}))}async function ia(t){return a(await i.post(`/projects/${t}/snapshots/fix-with-agent`,{}))}async function oa(t,e){return a(await i.post(`/projects/${t}/sandbox-templates`,e))}async function aa(t,e,n){return a(await i.patch(`/projects/${t}/sandbox-templates/${e}`,n))}async function ca(t,e){return a(await i.delete(`/projects/${t}/sandbox-templates/${e}`))}async function la(t,e){return a(await i.post(`/projects/${t}/sandbox-templates/${e}/build`,{}))}async function ua(t){return a(await i.get(`/projects/${t}/sandboxes`))}async function pa(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path);let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${t}/files${r}`,{showErrors:!1}))}async function da(t,e,n){let r=new URLSearchParams({q:e});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),a(await i.get(`/projects/${t}/files/search?${r.toString()}`))}async function ga(t,e,n){let r=new URLSearchParams({path:e});return n&&r.set("ref",n),a(await i.get(`/projects/${t}/files/content?${r.toString()}`,{showErrors:!1}))}async function ma(t,e,n){let r=new URLSearchParams;e&&r.set("ref",e),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await ie(),u=`${D().backendUrl||""}/projects/${t}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function fa(t){return a(await i.get(`/projects/${t}/branches`))}async function ya(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path),e?.limit!=null&&n.set("limit",String(e.limit)),e?.skip!=null&&n.set("skip",String(e.skip));let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${t}/commits${r}`))}async function ha(t,e){return a(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}`))}async function ba(t,e,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}/diff${s}`))}async function xa(t,e,n){let r=new URLSearchParams({path:e});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),a(await i.get(`/projects/${t}/files/history?${r.toString()}`))}async function _a(t,e){let n=new URLSearchParams({from:e.from,into:e.into});return a(await i.get(`/projects/${t}/version-diff?${n.toString()}`))}async function Pa(t,e){let n=e?`?status=${e}`:"";return a(await i.get(`/projects/${t}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function ka(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}`))}async function wa(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}/diff`))}async function Sa(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}/merge-preview`))}async function va(t,e){return a(await i.post(`/projects/${t}/change-requests`,e))}async function Ca(t,e,n){return a(await i.post(`/projects/${t}/change-requests/${e}/merge`,n??{},{showErrors:!1}))}async function Ra(t,e){return a(await i.post(`/projects/${t}/change-requests/${e}/close`,{}))}async function Aa(t,e){return a(await i.post(`/projects/${t}/change-requests/${e}/reopen`,{}))}async function Ta(t,e,n){return a(await i.post(`/projects/${t}/change-requests/${e}/request-changes`,{feedback:n}))}async function Ia(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/commit-push`,n??{}))}var Gr=new Set;function Rt(t){t&&Gr.add(t)}function Ea(t){return!!t&&Gr.has(t)}function Dx(t){t&&Gr.delete(t)}async function Ve(t,e){let n=new URLSearchParams;e?.scope&&e.scope!=="visible"&&n.set("scope",e.scope);let r=n.size>0?`?${n}`:"";return a(await i.get(`/projects/${t}/sessions${r}`))}async function ja(t,e,n){return a(await i.put(`/projects/${t}/sessions/${e}/sharing`,n))}async function $a(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/previews`))}async function Da(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/public-shares`,{showErrors:!1}))}async function qa(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/public-shares`,n))}async function Ma(t,e,n){return a(await i.delete(`/projects/${t}/sessions/${e}/public-shares/${n}`))}async function Je(t,e){let n=a(await i.post(`/projects/${t}/sessions`,e??{}));return e?.initial_prompt||Rt(n?.session_id),n}async function Oa(t,e){let n=e?.excludeSessionId?{exclude_session_id:e.excludeSessionId}:{},r=a(await i.post(`/projects/${t}/sessions/warm`,n,{showErrors:!1}));return r.reused||Rt(r.session.session_id),r}async function Ua(t,e){let n=a(await i.post(`/projects/${t}/sessions/warm/claim`,e,{showErrors:!1}));return Rt(n.session_id),n}async function Br(t,e,n){return a(await i.get(`/projects/${t}/sessions/${e}`,{showErrors:n?.showErrors}))}async function Fa(t,e,n,r){let s=new URLSearchParams;n&&s.set("limit",String(n)),r?.cursor&&s.set("cursor",r.cursor),r?.includeEvents!=null&&s.set("include_events",String(r.includeEvents));let o=s.toString();return a(await i.get(`/projects/${t}/sessions/${e}/audit${o?`?${o}`:""}`,{showErrors:r?.showErrors}))}async function La(t,e,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return a(await i.get(`/projects/${t}/sessions/${e}/transcript${s?`?${s}`:""}`))}async function Ga(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/turn`))}async function Ba(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts`,{client_message_id:n.clientMessageId,message_id:n.messageId,parts:n.parts,...n.overrides?{overrides:n.overrides}:{},...n.remintOnDelivery?{remint_on_delivery:!0}:{},...typeof n.clientSentAtMs=="number"?{client_sent_at_ms:Math.trunc(n.clientSentAtMs)}:{}}))}async function Na(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/prompts`))}async function Ka(t,e,n){return a(await i.delete(`/projects/${t}/sessions/${e}/prompts/${n}`)).removed}async function Ha(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts/${n}/retry`,{}))}async function Wa(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts/hold`,{held:n}))}async function za(t,e,n){return a(await i.patch(`/projects/${t}/sessions/${e}`,n))}async function Va(t,e){return a(await i.delete(`/projects/${t}/sessions/${e}`))}async function At(t,e){return a(await i.post(`/projects/${t}/sessions/${e}/restart`,{}))}async function Tt(t,e){return a(await i.post(`/projects/${t}/sessions/${e}/stop`,{}))}async function Ja(t,e){return a(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/config`,{showErrors:!1}))}function Td(t){let e=t.split(`
|
|
14
14
|
`).filter(n=>n.startsWith("data:")).map(n=>n.slice(5).replace(/^ /,""));if(e.length===0)return null;try{return JSON.parse(e.join(`
|
|
15
|
-
`))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function
|
|
15
|
+
`))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function Xa(t,e,n={}){return a(await i.post(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload`,n,{showErrors:!1}))}async function Ya(t,e,n,r,s={}){let o=await i.postStream(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload-stream`,n,s);if(!o.ok){let m=await o.json().catch(()=>null);throw new v(m?.error||`Reload failed: HTTP ${o.status}`,{status:o.status,code:m?.code,data:m})}let u=o.body?.getReader();if(!u)throw new Error("Reload stream is unavailable on this runtime (no response body)");let p=new TextDecoder,d="",f=null;try{for(;;){let{done:m,value:b}=await u.read();if(m)break;d+=p.decode(b,{stream:!0});let x=d.indexOf(`
|
|
16
16
|
|
|
17
|
-
`);for(;x!==-1;){let
|
|
17
|
+
`);for(;x!==-1;){let C=d.slice(0,x);d=d.slice(x+2),x=d.indexOf(`
|
|
18
18
|
|
|
19
|
-
`);let E=kd(I);if(E){if(r(E),E.type==="error")throw new v(E.error,{status:E.status,code:E.code,data:{reason:E.reason}});E.type==="done"&&(f=E.result)}}}}finally{u.cancel().catch(()=>{})}if(!f)throw new Error("Reload stream ended without a result");return f}async function Wa(t,e){return a(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`))}async function za(t,e,n){return a(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`,n))}async function Va(t,e,n){return a(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/model`,{opencode_model:n}))}async function Ja(t){return a(await i.get(`/projects/${t}/triggers`))}async function Xa(t,e){return a(await i.post(`/projects/${t}/triggers`,e))}async function Qa(t,e,n){return a(await i.patch(`/projects/${t}/triggers/${e}`,n))}async function Ya(t,e){return a(await i.delete(`/projects/${t}/triggers/${e}`))}async function Za(t,e){return a(await i.patch(`/projects/${t}/triggers/activation`,{paused:e}))}async function ec(t,e){return a(await i.post(`/projects/${t}/triggers/${e}/fire`,{}))}var oe=new Map;function Fr(t,e){return`${t}::${e}`}function tc(t,e){oe.delete(t),oe.set(t,e)}function nc(t,e){let n=Fr(t,e),r=oe.get(n);return r&&tc(n,r),r}function rc(t,e,n){let r=Fr(t,e);if(!oe.has(r)&&oe.size>=512){let s=oe.keys().next().value;s!==void 0&&oe.delete(s)}tc(r,n)}function sc(t,e){oe.delete(Fr(t,e))}function jx(t){if(t.status!=="running"||!t.sandbox_id||!t.sandbox_provider||!t.sandbox_url||!t.opencode_session_id)return null;let e=t.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return e?{stage:"ready",agent_name:t.agent_name??"default",retriable:!0,sandbox:{sandbox_id:t.sandbox_id,session_id:t.session_id,project_id:t.project_id,account_id:t.account_id,provider:t.sandbox_provider,external_id:e,base_url:t.sandbox_url,status:"active",config:{},metadata:t.metadata,last_used_at:t.updated_at,created_at:t.created_at,updated_at:t.updated_at},opencode_session_id:t.opencode_session_id,runtime_url:t.sandbox_url}:null}var Lr=class extends Error{status;code;terminal;constructor(e,n){super(e),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function $x(t){return t instanceof Error&&t.name==="SessionStartError"}function wd(t){let e=t,n=e?.status,r=e?.code??e?.details?.code??e?.details?.error,s=e?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Lr(s,{status:n,code:r,terminal:!0}):null}async function De(t,e,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${t}/sessions/${e}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=wd(s.error);if(p&&!(p.status===404&&Sa(e)))throw p;return null}let o=s.data,u=o.sandbox?.external_id;return o.stage==="ready"&&u&&o.opencode_session_id&&rc(t,e,{opencodeSessionId:o.opencode_session_id,runtimeUrl:ut(u),sandboxId:u}),o}function Dx(t,e){return["session-start",t,e]}async function ic(t){return a(await i.get(`/projects/${t}/model-defaults`))}async function oc(t,e){return a(await i.put(`/projects/${t}/model-defaults`,e))}async function ac(t,e){let n=new URLSearchParams({scope:e.scope,...e.agentName?{agentName:e.agentName}:{}}).toString();return a(await i.delete(`/projects/${t}/model-defaults?${n}`))}async function Gx(t,e){return a(await i.put(`/projects/${t}/model-enablement`,{modelOverrides:e}))}async function lc(t,e,n){let r=vd(n);return a(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/scope`,r))}function cc(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function Sd(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function vd(t){let e=t.connectors_required?cc(t.connectors_required):void 0,n=t.connectors_personal?cc(t.connectors_personal):void 0;if(e&&n&&!Sd(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function Vx(t,e){let n=a(await i.get(`/projects/${t}/agents/${encodeURIComponent(e)}/config`));return{...n,block:n.block?Gr(n.block):null}}async function Jx(t,e,n){let r=Gr(n),s=a(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/config`,r));return{...s,block:s.block?Gr(s.block):null}}function uc(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function Cd(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function Gr(t){let e=t.connectors_required?uc(t.connectors_required):void 0,n=t.connectors_personal?uc(t.connectors_personal):void 0;if(e&&n&&!Cd(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function Xx(t,e,n){return a(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/grant`,{agent:n}))}async function pc(t,e){return a(await i.put(`/projects/${t}/default-agent`,{agent:e}))}function Br(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}function Rd(t){let e=t.trim().toLowerCase();return e===""||e==="free"||e==="none"?"free":e==="enterprise"?"enterprise":"team"}function e_(t){let e=t?.plan;if(e)return{family:e.family,label:e.label,sublabel:e.sublabel??null,isGrandfathered:e.is_grandfathered===!0};let n=t??Br(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:Rd(r),label:s,sublabel:null,isGrandfathered:!1}}async function dc(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),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?Br():s.data}async function gc(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),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?Br():s.data}async function mc(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.limit!=null&&e.set("limit",String(t.limit)),t?.offset!=null&&e.set("offset",String(t.offset)),t?.typeFilter&&e.set("type_filter",Array.isArray(t.typeFilter)?t.typeFilter.join(","):t.typeFilter);let n=e.toString();return a(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function fc(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.days!=null&&e.set("days",String(t.days));let n=e.toString();return a(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function yc(){return a(await i.get("/billing/credit-breakdown"))}async function hc(t){let e=t!=null?`?days=${t}`:"";return a(await i.get(`/billing/usage-history${e}`))}async function bc(){return a(await i.get("/billing/tier-configurations"))}async function t_(t){let e=t.accountId?`?account_id=${encodeURIComponent(t.accountId)}`:"";return je(t,`/v1/billing/account-state${e}`)}async function xc(t){return a(await i.post("/billing/create-checkout-session",{account_id:t.accountId,tier_key:t.tierKey,success_url:t.successUrl,cancel_url:t.cancelUrl,commitment_type:t.commitmentType,locale:t.locale,server_type:t.serverType,location:t.location}),"Failed to create checkout session")}async function _c(t,e){return a(await i.post("/billing/confirm-checkout-session",{account_id:e,session_id:t}),"Failed to confirm checkout session")}async function Pc(t,e){return a(await i.post("/billing/create-portal-session",{account_id:e,return_url:t}),"Failed to create portal session")}async function kc(t,e){return a(await i.post("/billing/cancel-subscription",{account_id:e,feedback:t}),"Failed to cancel subscription")}async function wc(t){return a(await i.post("/billing/reactivate-subscription",{account_id:t}),"Failed to reactivate subscription")}async function Sc(t,e,n){return a(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:t,commitment_type:e}),"Failed to schedule downgrade")}async function vc(t){return a(await i.post("/billing/cancel-scheduled-change",{account_id:t}),"Failed to cancel scheduled change")}async function Cc(t,e){let n=new URLSearchParams({new_price_id:t});return e&&n.set("account_id",e),a(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Rc(t){return a(await i.post("/billing/purchase-credits",{amount:t.amount,account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl}),"Failed to purchase credits")}async function Ac(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/billing/auto-topup/settings${e}`),"Failed to load auto-topup settings")}async function Tc(t){return a(await i.post("/billing/auto-topup/configure",{account_id:t.accountId,enabled:t.enabled,threshold:t.threshold,amount:t.amount},{showErrors:!1}),"Failed to configure auto-topup")}async function n_(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/billing/auto-topup/setup-status${e}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function r_(t){return a(await i.post("/billing/create-per-seat-checkout",{account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl,locale:t.locale}),"Failed to create per-seat checkout")}async function s_(t){return a(await i.post("/billing/claim-per-seat",{account_id:t}),"Failed to switch to per-seat billing")}async function i_(t){return a(await i.post("/billing/sync-subscription",{account_id:t}),"Failed to sync subscription")}async function Ic(t={}){let e=new URLSearchParams;t.start&&e.set("start",t.start),t.end&&e.set("end",t.end),(t.groupBy==="model"||t.groupBy==="provider"||t.groupBy==="day")&&e.set("group_by",t.groupBy),t.accountId&&e.set("account_id",t.accountId);let n=e.toString();return a(await i.get(`/usage${n?`?${n}`:""}`))}function Nr(t,e){e.accountId&&t.set("account_id",e.accountId),e.projectId&&t.set("project_id",e.projectId)}function At(t,e){e.from&&t.set("from",e.from),e.to&&t.set("to",e.to)}function Tt(t){return t.size>0?`?${t}`:""}async function jc(t={}){let e=new URLSearchParams;return Nr(e,t),t.ownerId&&e.set("owner_id",t.ownerId),At(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),a(await i.get(`/usage/session-costs${Tt(e)}`))}async function Kr(t,e={}){let n=new URLSearchParams;return Nr(n,e),a(await i.get(`/usage/session-costs/${encodeURIComponent(t)}${Tt(n)}`))}async function p_(t={}){let e=new URLSearchParams;return t.accountId&&e.set("account_id",t.accountId),At(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),a(await i.get(`/usage/cost-by-project${Tt(e)}`))}async function d_(t={}){let e=new URLSearchParams;return Nr(e,t),t.sessionId&&e.set("session_id",t.sessionId),At(e,t),a(await i.get(`/usage/cost-summary${Tt(e)}`))}function Ec(t,e={}){let n=new URLSearchParams;if(e.accountId&&n.set("account_id",e.accountId),t==="sessions"){let s=e;s.projectId&&n.set("project_id",s.projectId),s.ownerId&&n.set("owner_id",s.ownerId)}At(n,e),e.sort&&n.set("sort",e.sort),n.set("format","csv");let r=t==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${$().backendUrl||""}${r}?${n}`}async function g_(t,e={}){let n=Ec(t==="projects"?"projects":"sessions",e),r=await se(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let d=await s.text().catch(()=>"");throw new Error(d||`Failed to export CSV (HTTP ${s.status})`)}let o=s.headers.get("x-kortix-row-cap"),u=o!=null?Number(o):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function $c(t,e){return a(await i.post(`/channels/${t}/identity/bind`,{token:e}),"Failed to connect your account")}function h_(t){return $c("slack",t)}function b_(t){return $c("teams",t)}async function Dc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});return e.success?e.data??null:null}async function qc(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/connect`,e,{showErrors:!1}),"Failed to connect")}var Ad={oauth_available:!1,install_url:null};async function Mc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/mode`,{showErrors:!1});return!e.success||!e.data?Ad:e.data}async function Oc(t){return a(await i.get(`/webhooks/slack/${encodeURIComponent(t)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Uc(t){let e=await i.delete(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});if(!e.success)throw new Error(e.error?.message??"Failed to disconnect")}async function Fc(t,e){return a(await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/file?url=${encodeURIComponent(e)}`,{showErrors:!1}),"Failed to download Slack file")}async function Lc(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/file/upload`,{channel:e.channel,filename:e.filename,content_base64:e.contentBase64,comment:e.comment,thread_ts:e.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Hr(t){let e=t.connectionId??t.connection_id??null,n=t.connectorSlug??t.connector_slug??t.connectionSlug??t.connection_slug??"kortix_email";return{...t,connectionId:e,connectorSlug:n}}var Td={provider:"agentmail",managed_available:!1};async function Gc(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Hr(r.data):null}async function Bc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/mode`,{showErrors:!1});return!e.success||!e.data?Td:e.data}async function Nc(t,e){let n=a(await i.post(`/projects/${encodeURIComponent(t)}/channels/email/connect`,e,{showErrors:!1}),"Failed to connect email");return Hr(n)}async function Kc(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.delete(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function Hc(t,e,n){let r=a(await i.patch(`/projects/${encodeURIComponent(t)}/channels/email/installation`,{connector_slug:e??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Hr(r)}async function Wc(t,e){return a(await i.put(`/projects/${encodeURIComponent(t)}/channels/meet/name`,{name:e},{showErrors:!1}),"Failed to save name")}async function x_(t){return a(await i.get(`/projects/${encodeURIComponent(t)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function __(t,e,n){return a(await i.patch(`/projects/${encodeURIComponent(t)}/channels/bindings/${encodeURIComponent(e)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function zc(t){return a(await i.get(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Vc(t,e){return a(await i.put(`/projects/${t}/gateway/routing-policy`,e),"Gateway routing policy request failed")}async function Jc(t){return a(await i.delete(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Xc(t,e){return a(await i.post(`/projects/${t}/gateway/routing-policy/preview`,e),"Gateway route preview failed")}async function Qc(t,e){let n=new URLSearchParams;e?.limit&&n.set("limit",String(e.limit)),e?.offset&&n.set("offset",String(e.offset)),e?.ok!==void 0&&n.set("ok",String(e.ok));let r=n.toString();return a(await i.get(`/projects/${t}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Yc(t,e){return a(await i.get(`/projects/${t}/gateway/logs/${e}`),"Gateway request failed")}async function Zc(t,e){return a(await i.get(`/projects/${t}/gateway/overview${e?`?days=${e}`:""}`),"Gateway request failed")}async function el(t,e){return a(await i.get(`/projects/${t}/gateway/series${e?`?days=${e}`:""}`),"Gateway request failed")}async function tl(t,e){return a(await i.get(`/projects/${t}/gateway/breakdown${e?`?days=${e}`:""}`),"Gateway request failed")}async function nl(t,e){return a(await i.get(`/projects/${t}/gateway/sessions${e?`?days=${e}`:""}`),"Gateway request failed")}async function rl(t,e){return a(await i.get(`/projects/${t}/gateway/errors${e?`?days=${e}`:""}`),"Gateway request failed")}async function sl(t){return a(await i.get(`/projects/${t}/gateway/budgets`),"Gateway request failed")}async function il(t,e){return a(await i.put(`/projects/${t}/gateway/budgets`,e),"Gateway request failed")}async function ol(t,e){return a(await i.delete(`/projects/${t}/gateway/budgets/${e}`),"Gateway request failed")}async function al(t){return a(await i.get(`/projects/${t}/gateway/keys`),"Gateway request failed")}async function cl(t,e){return a(await i.post(`/projects/${t}/gateway/keys`,{name:e}),"Gateway request failed")}async function ll(t,e){return a(await i.delete(`/projects/${t}/gateway/keys/${e}`),"Gateway request failed")}async function ul(t,e,n,r,s){return a(await i.post(`/projects/${t}/gateway/playground`,{prompt:e,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function S_(t,e){return a(await i.post(`/projects/${t}/gateway/providers/${encodeURIComponent(e)}/verify`,{}),"Gateway provider verification failed")}async function pl(t){let e=new FormData;e.append("audio_file",t);let n=await i.upload("/transcription",e,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function I_(){return a(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function E_(){return a(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function j_(t){return a(await i.post("/referrals/validate",{referral_code:t}),"VALIDATE_CODE_FAILED")}async function $_(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function D_(t={}){let e=new URLSearchParams({limit:String(t.limit??50),offset:String(t.offset??0)});return a(await i.get(`/referrals/list?${e}`),"GET_REFERRALS_FAILED")}async function q_(t){return a(await i.post("/referrals/email",{emails:t}),"SEND_EMAILS_FAILED")}function P(t){if(!t.success||t.data===void 0)throw t.error||new Error("Unexpected empty response");return t.data}function O(t){return i.get(t,{showErrors:!1})}async function dl(t){return P(await O(`/accounts/${t}/iam/groups`)).groups}async function gl(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}`))}async function ml(t,e){return P(await i.post(`/accounts/${t}/iam/groups`,e,{showErrors:!1}))}async function fl(t,e,n){return P(await i.patch(`/accounts/${t}/iam/groups/${e}`,n))}async function yl(t,e){return P(await i.delete(`/accounts/${t}/iam/groups/${e}`))}async function hl(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/members`)).members}async function bl(t,e,n){return P(await i.post(`/accounts/${t}/iam/groups/${e}/members`,{userIds:n}))}async function U_(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/project-grants`)).grants}async function xl(t,e,n){return P(await i.delete(`/accounts/${t}/iam/groups/${e}/members/${n}`))}async function F_(t,e){return P(await O(`/accounts/${t}/iam/members/${e}/groups`)).groups}async function L_(t,e){let n=P(await O(`/accounts/${t}/iam/members/${e}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}async function G_(t,e={}){let n=new URLSearchParams;e.resourceType&&n.set("resourceType",e.resourceType),e.principalType&&n.set("principalType",e.principalType),e.principalId&&n.set("principalId",e.principalId),e.projectId&&n.set("projectId",e.projectId);let r=n.toString();return P(await O(`/accounts/${t}/iam/resource-grants${r?`?${r}`:""}`)).grants}async function B_(t,e={}){let n=new URLSearchParams;e.principalType&&n.set("principalType",e.principalType),e.principalId&&n.set("principalId",e.principalId),e.scopeType&&n.set("scopeType",e.scopeType),e.scopeId!==void 0&&n.set("scopeId",e.scopeId===null?"null":e.scopeId);let r=n.toString();return P(await O(`/accounts/${t}/iam/policies${r?`?${r}`:""}`)).policies}async function N_(t,e){return P(await i.post(`/accounts/${t}/iam/policies`,e,{showErrors:!1}))}async function K_(t,e,n){return P(await i.patch(`/accounts/${t}/iam/policies/${e}`,n,{showErrors:!1}))}async function H_(t,e){return P(await i.delete(`/accounts/${t}/iam/policies/${e}`))}async function W_(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-delete`,{policy_ids:e},{showErrors:!1}))}async function z_(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-import`,{policies:e},{showErrors:!1}))}async function _l(t){return P(await O(`/accounts/${t}/iam/roles`)).roles}async function Pl(t){return P(await O(`/accounts/${t}/iam/agent-identities`)).agents}async function kl(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/permissions`))}async function V_(t){return P(await O(`/accounts/${t}/iam/actions`)).actions}async function wl(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/usage`))}async function Sl(t,e){return P(await i.post(`/accounts/${t}/iam/roles`,e,{showErrors:!1}))}async function vl(t,e,n){return P(await i.patch(`/accounts/${t}/iam/roles/${e}`,n,{showErrors:!1}))}async function Cl(t,e,n){return P(await i.put(`/accounts/${t}/iam/roles/${e}/permissions`,{actions:n},{showErrors:!1}))}async function Rl(t,e){return P(await i.delete(`/accounts/${t}/iam/roles/${e}`,{showErrors:!1}))}async function J_(t,e,n){return P(await i.patch(`/accounts/${t}/iam/members/${e}/super-admin`,{isSuperAdmin:n}))}async function X_(t){return P(await O(`/accounts/${t}/iam/scim/tokens`)).tokens}async function Q_(t,e){return P(await i.post(`/accounts/${t}/iam/scim/tokens`,e,{showErrors:!1}))}async function Y_(t,e){return P(await i.delete(`/accounts/${t}/iam/scim/tokens/${e}`))}async function Z_(t){return P(await O(`/accounts/${t}/iam/mfa-required`))}async function eP(t){return P(await O(`/accounts/${t}/iam/mfa-required/preview`))}async function tP(t,e){return P(await i.patch(`/accounts/${t}/iam/mfa-required`,{enabled:e},{showErrors:!1}))}async function nP(t){return P(await O(`/accounts/${t}/iam/sso/provider`)).provider}async function rP(t,e){return P(await i.put(`/accounts/${t}/iam/sso/provider`,e,{showErrors:!1})).provider}async function sP(t,e){return P(await i.post(`/accounts/${t}/iam/sso/provider/from-metadata`,e,{showErrors:!1})).provider}async function iP(t){return P(await i.delete(`/accounts/${t}/iam/sso/provider`))}async function oP(t){return P(await O(`/accounts/${t}/iam/sso/mappings`)).mappings}async function aP(t,e){return P(await i.post(`/accounts/${t}/iam/sso/mappings`,e,{showErrors:!1}))}async function cP(t,e){return P(await i.delete(`/accounts/${t}/iam/sso/mappings/${e}`))}async function lP(t){return P(await O(`/accounts/${t}/iam/session-policy`))}async function uP(t,e){return P(await i.patch(`/accounts/${t}/iam/session-policy`,e,{showErrors:!1}))}async function pP(t){return P(await O(`/accounts/${t}/iam/sessions`)).sessions}async function dP(t,e){return P(await i.post(`/accounts/${t}/iam/sessions/${e}/revoke`,{},{showErrors:!1}))}async function gP(t){return P(await O(`/accounts/${t}/iam/pat-policy`))}async function mP(t,e){return P(await i.patch(`/accounts/${t}/iam/pat-policy`,e,{showErrors:!1}))}async function fP(t){return P(await O(`/accounts/${t}/iam/service-accounts`)).service_accounts}async function yP(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts`,e,{showErrors:!1}))}async function hP(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts/${e}/disable`,{},{showErrors:!1}))}async function bP(t,e){return P(await i.delete(`/accounts/${t}/iam/service-accounts/${e}`))}async function xP(t){return P(await O(`/accounts/${t}/audit/webhooks`)).webhooks}async function _P(t,e){return P(await i.post(`/accounts/${t}/audit/webhooks`,e,{showErrors:!1}))}async function PP(t,e,n){return P(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function kP(t,e){return P(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function wP(t,e={}){let n=new URLSearchParams;e.action&&n.set("action",e.action),e.actor&&n.set("actor",e.actor),e.project_id&&n.set("project_id",e.project_id),e.session_id&&n.set("session_id",e.session_id),e.actor_type&&n.set("actor_type",e.actor_type),e.source&&n.set("source",e.source),e.phase&&n.set("phase",e.phase),e.outcome&&n.set("outcome",e.outcome),e.request_id&&n.set("request_id",e.request_id),e.correlation_id&&n.set("correlation_id",e.correlation_id),e.resource_type&&n.set("resource_type",e.resource_type),e.since&&n.set("since",e.since),e.until&&n.set("until",e.until),e.q&&n.set("q",e.q),e.cursor&&n.set("cursor",e.cursor),e.limit&&n.set("limit",String(e.limit));let r=n.toString();return P(await O(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function Al(t,e,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),P(await O(`/accounts/${t}/iam/members/${e}/effective?${r.toString()}`))}async function Tl(t,e,n){return n.length===0?[]:P(await i.post(`/accounts/${t}/iam/members/${e}/effective:batch`,{probes:n})).results}async function SP(t){return P(await O(`/accounts/${t}/iam/enterprise-demo`)).enabled}async function vP(t,e){return P(await i.put(`/accounts/${t}/iam/enterprise-demo`,{enabled:e})).enabled}function Il(t){return i.get(t,{showErrors:!1})}function Id(t){let e=new URLSearchParams;t?.principalType&&e.set("principal_type",t.principalType),t?.principalId&&e.set("principal_id",t.principalId),t?.scopeType&&e.set("scope_type",t.scopeType),t?.scopeId&&e.set("scope_id",t.scopeId),t?.objectType&&e.set("object_type",t.objectType),t?.objectId&&e.set("object_id",t.objectId),t?.roleId&&e.set("role_id",t.roleId),t?.includeExpired&&e.set("include_expired","true");let n=e.toString();return n?`?${n}`:""}async function El(t,e){return a(await Il(`/accounts/${t}/iam/assignments${Id(e)}`)).assignments}async function jl(t,e){let n={principal_type:e.principal.type,principal_id:e.principal.id,scope_type:e.scope.type,scope_id:e.scope.type==="project"?e.scope.id:null};return e.roleId?n.role_id=e.roleId:n.role_key=e.roleKey,e.object&&(n.object_type=e.object.type,n.object_id=e.object.id),e.expiresAt!==void 0&&(n.expires_at=e.expiresAt),a(await i.post(`/accounts/${t}/iam/assignments`,n))}async function $l(t,e){return a(await i.delete(`/accounts/${t}/iam/assignments/${e}`)).assignment}async function Dl(t,e){let n=e?.scopeType?`?scope_type=${e.scopeType}`:"";return a(await Il(`/accounts/${t}/iam/permissions${n}`)).permissions}async function jP(){let t=await i.get("/account/deletion-status",{showErrors:!1});return t.error?.status===404?null:a(t,"Failed to load account deletion status")}async function $P(t="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:t},{showErrors:!1}),"Failed to request account deletion")}async function DP(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function qP(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function MP(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function LP(){return i.get("/admin/api/provider-distribution").then(t=>a(t))}function GP(t=300){return i.get(`/admin/api/sandboxes?limit=${t}`).then(e=>a(e))}function BP(t){return i.put("/admin/api/provider-distribution",t).then(e=>a(e))}function NP(t){return i.get(`/admin/api/provider-analytics?days=${t}`).then(e=>a(e))}function KP(t,e){return i.post(`/admin/api/sandboxes/${encodeURIComponent(t)}/migrate`,{targetProvider:e}).then(n=>a(n))}function HP(){return i.get("/admin/api/provider-fallback").then(t=>a(t))}function WP(t){return i.put("/admin/api/provider-fallback",{enabled:t}).then(e=>a(e))}async function XP(t){return a(await i.get(`/google/auth-url?return_url=${encodeURIComponent(t)}`),"Failed to get Google auth URL")}async function QP(t,e){return a(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:t,sandbox_url:e},{timeout:18e4}),"Failed to upload to Google Slides")}async function ql(t,e){let n=new URLSearchParams;e?.segment&&n.set("segment",e.segment),e?.kind&&n.set("kind",e.kind);let r=n.toString();return a(await i.get(`/projects/${t}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Ml(t,e){return a(await i.get(`/projects/${t}/review/items/${e}`))}async function Ol(t,e){return a(await i.post(`/projects/${t}/review/items`,e))}async function Ul(t,e,n){return a(await i.post(`/projects/${t}/review/items/${e}/act`,n))}async function Fl(t,e){return a(await i.post(`/projects/${t}/review/bulk`,e))}async function Ll(t){return a(await i.get(`/p/share?sandbox_id=${encodeURIComponent(t)}`),"Failed to load public links").shares??[]}async function Gl(t){return a(await i.post("/p/share",{sandbox_id:t.sandboxId,port:t.port,ttl:t.ttl,label:t.label}),"Failed to generate public URL")}async function Bl(t,e){let n=await i.delete(`/p/share/${encodeURIComponent(e)}?sandbox_id=${encodeURIComponent(t)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Wr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Nl(t,e=""){return`${de()}/public/session-shares/${encodeURIComponent(t)}${e}`}async function Kl(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new Wr(s,e.status)}return r}async function ok(t){return Kl(Nl(t))}async function ak(t){return Kl(Nl(t,"/messages"))}var zr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function Hl(t){return`${de()}/public/voice-join/${encodeURIComponent(t)}`}async function Wl(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new zr(s,e.status)}return r}async function uk(t){return Wl(Hl(t))}async function pk(t,e=0){let n=`${Hl(t)}/transcript?cursor=${encodeURIComponent(String(e))}`;return Wl(n)}async function zl(t,e){let n=new URLSearchParams;t&&n.set("account_id",t),e?.mine&&n.set("mine","true");let r=n.size>0?`?${n.toString()}`:"";return a(await i.get(`/accounts/tokens${r}`))}async function Vl(t){let{accountId:e,expiresAt:n,projectId:r,name:s}=t;return a(await i.post("/accounts/tokens",{name:s,...e?{account_id:e}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Jl(t,e){let n=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.delete(`/accounts/tokens/${t}${n}`))}async function Xl(t){return a(await i.get(`/projects/${t}/cli-token`))}async function Ql(t,e){return a(await i.post(`/projects/${t}/cli-token`,e??{}))}async function Yl(t,e){return a(await i.delete(`/projects/${t}/cli-token/${e}`))}async function Zl(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function eu(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/projects/${t}/audit${r?`?${r}`:""}`))}async function tu(t,e){let n=new URLSearchParams;e?.format&&n.set("format",e.format),e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/accounts/${t}/audit/export${r?`?${r}`:""}`))}async function nu(t){return a(await i.get(`/accounts/${t}/audit/webhooks`))}async function ru(t,e){return a(await i.post(`/accounts/${t}/audit/webhooks`,e))}async function su(t,e,n){return a(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function iu(t,e){return a(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function ou(t,e){return a(await i.post(`/projects/${t}/secret-requests`,{names:e.names,labels:e.labels,descriptions:e.descriptions,scope:e.scope,expires_in_minutes:e.expiresInMinutes}),"Failed to mint secret-entry link")}async function au(t,e){return a(await i.post(`/projects/${t}/connect-requests`,{slug:e.slug,expires_in_minutes:e.expiresInMinutes}),"Failed to mint connect link")}async function Pk(t){return a(await i.get(`/approval-links/${t}`),"Failed to load approval")}async function cu(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString()?`?${e.toString()}`:"";return a(await i.get(`/marketplace/items${n}`))}async function lu(){return a(await i.get("/marketplace/marketplaces"))}async function uu(){return a(await i.get("/marketplace/marketplaces/featured"))}async function pu(t){return a(await i.get(`/marketplace/items/${encodeURIComponent(t)}`),"Item not found")}async function du(t,e){return a(await i.get(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`),"File not found")}async function gu(){return a(await i.get("/marketplace/sources"))}async function mu(t){return a(await i.post("/marketplace/sources",t),"Failed to add marketplace source")}async function fu(t){return a(await i.delete(`/marketplace/sources/${encodeURIComponent(t)}`),"Failed to remove marketplace source")}async function vk(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/marketplace/install-session`,{id:e}),"Failed to start marketplace install session")}async function Tk(t){return a(await i.get(`/templates/${encodeURIComponent(t)}`))}async function Ik(t,e){return a(await i.post(`/templates/${encodeURIComponent(t)}/install`,e))}async function yu(t){return a(await i.get(`/projects/${t}/apps`),"Failed to list Apps").apps}async function hu(t,e){return a(await i.post(`/projects/${t}/apps`,e),"Failed to create App")}async function bu(t,e){return a(await i.get(`/projects/${t}/apps/${e}`),"Failed to load App")}async function xu(t,e,n){return a(await i.patch(`/projects/${t}/apps/${e}`,n),"Failed to update App")}async function _u(t,e){return a(await i.delete(`/projects/${t}/apps/${e}`),"Failed to delete App")}async function Pu(t,e){return a(await i.get(`/projects/${t}/apps/${e}/access`),"Failed to load App access policy")}async function ku(t,e,n){return a(await i.patch(`/projects/${t}/apps/${e}/access`,n),"Failed to update App access policy")}async function wu(t,e){return a(await i.post(`/projects/${t}/apps/${e}/access-session`,{}),"Failed to create App access session")}async function Vr(t,e){return a(await i.post(`/projects/${t}/apps/artifacts`,e),"Failed to register App artifact")}async function Jr(t,e,n){return a(await i.post(`/projects/${t}/apps/artifacts/${e}/finalize`,n),"Failed to finalize App artifact")}async function Ed(t){return t instanceof Uint8Array?t:new Uint8Array(await t.arrayBuffer())}async function jd(t){let e=Uint8Array.from(t),n=await globalThis.crypto.subtle.digest("SHA-256",e.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function Su(t,e,n={}){let r=await Ed(e),s=n.mediaType??"application/gzip",o=await Vr(t,{kind:"archive",media_type:s});if(!o.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>o.upload.max_bytes)throw new Error(`App artifact exceeds ${o.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let u=await fetch(o.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!u.ok){let p=await u.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${u.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),Jr(t,o.artifact.artifact_id,{sha256:await jd(r),size_bytes:r.byteLength})}async function vu(t,e,n){return a(await i.post(`/projects/${t}/apps/${e}/deployments`,n),"Failed to create App deployment")}async function Cu(t,e){return a(await i.get(`/projects/${t}/apps/${e}/deployments`),"Failed to list App deployments").deployments}async function Ru(t,e,n){return a(await i.get(`/projects/${t}/apps/${e}/deployments/${n}`),"Failed to load App deployment")}async function Au(t,e,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let o=s.size?`?${s.toString()}`:"";return a(await i.get(`/projects/${t}/apps/${e}/deployments/${n}/logs${o}`),"Failed to load App logs")}async function Tu(t,e){return a(await i.post(`/projects/${t}/apps/${e}/start`,{}),"Failed to start App")}async function Iu(t,e){return a(await i.post(`/projects/${t}/apps/${e}/stop`,{}),"Failed to stop App")}async function Eu(t,e,n){return a(await i.post(`/projects/${t}/apps/${e}/rollback`,{deployment_id:n}),"Failed to roll back App")}var $d=["control_plane","provider_ingress","daemon","upstream_port"];function ju(t){return typeof t=="string"&&$d.includes(t)?t:null}function Ok(t){return t?t.runtimeReady!==void 0?t.runtimeReady===!0:t.opencode!==void 0?t.opencode==="ok"||t.opencode===!0:t.status!=="starting"&&t.status!=="down"&&t.status!=="error":!1}async function $u(t,e){let n=(t===void 0?ge():t)||null;if(!n)return{status:0,ok:!1,health:null,body:"",hop:null,upstreamStatus:null};let r=await q(`${n}/kortix/health`,{method:"GET",...e},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}let u=o,p=ju(r.headers.get("X-Kortix-Proxy-Hop"))??ju(o?.hop),d=Number(r.headers.get("X-Kortix-Upstream-Status")),f=o?.upstream_status,m=Number.isFinite(d)&&d>0?d:typeof f=="number"?f:null;return{status:r.status,ok:r.ok,health:u,body:s,hop:p,upstreamStatus:m}}var 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 Du=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,qu=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Mu=new Set([22,4096,parseInt(ae.KORTIX_MASTER,10)]);function Dd(t){return qu.test(t)}function It(t){if(!t)return"/";let e=t,n=e.indexOf("](");n!==-1&&(e=e.slice(0,n));let r=e.toLowerCase().indexOf("%5d(");return r!==-1&&(e=e.slice(0,r)),e?e.startsWith("/")?e:`/${e}`:"/"}function qd(t){let e=t.indexOf("](");return e===-1?t:t.slice(0,e)}var Md=new Set(["'",'"',"`","<","(","["]),Od=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Ud(t){let e=0,n=t.length;for(;e<n&&(t[e]===" "||t[e]===" ");)e++;for(;n>e&&(t[n-1]===" "||t[n-1]===" ");)n--;for(;e<n&&Md.has(t[e]);)e++;for(;n>e&&Od.has(t[n-1]);)n--;return t.slice(e,n)}function Fd(t){return t.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Ld=/^\/proxy\/(\d{1,5})(\/.*)?$/,Gd=/^\/(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 Bd(t){if(!t)return!1;try{let e=new URL(t);return e.hostname!=="localhost"&&e.hostname!=="127.0.0.1"?!1:Gd.test(e.pathname)}catch{return!1}}function Et(t){if(!t)return null;let e=Ud(qd(t.trim())),n=Fu(e);if(n){let r=It(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let o=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(ae.KORTIX_MASTER,10);if(s===u){let d=r.pathname.match(Ld);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=It(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=It(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Fd(t);return r&&r!==t?Et(r):null}}function Nd(t){let e=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(t))!==null;)e.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(t))!==null;){let o=r.index,u=o+r[0].length;e.some(([d,f])=>o>=d&&u<=f)||e.push([o,u])}return e}function Kd(t,e){return e.some(([n,r])=>t>=n&&t<r)}function Hd(t){let e=[],n=new Set,r=Nd(t);Du.lastIndex=0;let s;for(;(s=Du.exec(t))!==null;){let o=Et(s[0]);if(!o)continue;let{originalUrl:u,port:p,path:d}=o;p<1||p>65535||Mu.has(p)||n.has(u)||(n.add(u),e.push({originalUrl:u,port:p,path:d,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Kd(s.index,r)}))}return e}function Gk(t){return Hd(t).length>0}function Wd(t){try{let{hostname:e}=new URL(t);return e==="localhost"||e==="127.0.0.1"}catch{return!1}}function zd(t){return t.sandboxId.trim().length>0}function xe(t,e,n){let r=It(e);if(!zd(n))return Qd(t,r);if(!Wd(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${t}${r}`}return`http://p${t}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function Bk(t,e){if(!t)return;let r=t.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return xe(3211,`/open?path=/workspace/${r}`,e)}function Vd(t){return`/open?path=/${(t.startsWith("/workspace")?t:`/workspace/${t.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Nk(t){return`http://localhost:3211${Vd(t)}`}function Jd(){return"/health"}function Kk(t){return xe(3211,Jd(),t)}function Hk(t,e){return xe(t,"/",e)}function Xd(t){let e=Et(t);return!(!e||Mu.has(e.port)||Bd(t))}function Ou(t,e){if(!t)return t;let n=Et(t);return n?Xd(n.originalUrl)?xe(n.port,n.path,e):n.originalUrl:t}function Qd(t,e="/"){return`http://localhost:${t}${e}`}var Uu=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Fu(t){let e=t.match(qu);if(e)return{port:parseInt(e[1],10),sandboxId:e[2],backendPort:e[3]?parseInt(e[3],10):80,path:e[4]||"/"};let n=t.match(Uu);if(n)try{let r=new URL(t);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function Wk(t){try{let e=Fu(t);return e?`http://localhost:${e.port}${e.path}`:null}catch{return null}}function zk(t){return Dd(t)||Uu.test(t)}function Vk(t){try{let{hostname:e,port:n}=new URL(t);return(e==="localhost"||e==="127.0.0.1")&&n!==""}catch{return!1}}var Je="/web-proxy/";function Jk(t,e){try{let n=new URL(t);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`${xe(o,"/",e).replace(/\/$/,"")}${s}`}catch{return null}}function Xk(t){try{let e=new URL(t),n=e.pathname.indexOf(Je);if(n===-1)return null;let s=e.pathname.slice(n+Je.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],u=s[2],p=s[3]||"/";return`${o}://${u}${p}${e.search}${e.hash}`}catch{return null}}function Qk(t){try{return new URL(t).pathname.includes(Je)}catch{return t.includes(Je)}}function Yk(t){if(!t)return!1;let e=t.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(e)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e))}function Zk(t){let e=t.trim();return e?/^https?:\/\//i.test(e)?e:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e)?`https://${e}`:null:null}var Lu="frontend";function jt(t,e,n){(t==="error"?console.error:t==="warn"?console.warn:t==="debug"?console.debug:console.log)(`[${Lu}] ${e}`,...n?[n]:[]);try{fe().app.log({service:Lu,level:t,message:e,extra:n})}catch{}}var ce={debug:(t,e)=>jt("debug",t,e),info:(t,e)=>jt("info",t,e),warn:(t,e)=>jt("warn",t,e),error:(t,e)=>jt("error",t,e)};function Yd(t){return{type:"heartbeat-gap",gapMs:t}}function Zd(t){switch(t.type){case"message.updated":return{type:"message.updated",sessionID:t.properties.sessionID,message:t.properties.info};case"message.removed":return{type:"message.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:t.properties.sessionID,part:t.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID,partID:t.properties.partID};case"session.status":return{type:"session.status",sessionID:t.properties.sessionID,status:t.properties.status};case"session.idle":return{type:"session.idle",sessionID:t.properties.sessionID};case"session.error":return{type:"session.error",sessionID:t.properties.sessionID,error:t.properties.error};case"question.asked":return{type:"question.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,questions:t.properties.questions,tool:t.properties.tool};case"question.replied":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"replied",answers:t.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,permission:t.properties.permission,patterns:t.properties.patterns,tool:t.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:t.properties.sessionID,requestID:t.properties.requestID,reply:t.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:t.properties.sessionID,todos:t.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var eg={now:()=>Date.now(),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},tg=16,ng=8,rg=6e4,sg=5e3,ig=250,og=1e3,ag=3e4,cg=5,lg=3e3,ug=3e4,pg=2e4,dg=2e3,gg=8;function mg(t){if(t.type==="session.status")return`session.status:${t.properties.sessionID}`;if(t.type==="lsp.updated")return"lsp.updated"}function Gu(t){if(t.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let e=()=>{};return{promise:new Promise(r=>{e=()=>r(),t.addEventListener("abort",e,{once:!0})}),cleanup:()=>t.removeEventListener("abort",e)}}var $t=new WeakMap;function fg(t,e,n){let r=e.timers??eg,s=e.connectTimeoutMs??pg,o=e.heartbeatTimeoutMs??rg,u=e.maxConsecutiveHardFailures??gg,p=new AbortController;function d(l,...y){for(let c of n){let R=l(c);if(R)try{R(...y)}catch(A){console.warn("[opencode-events] subscriber handler threw, skipping",A)}}}let f=r.now(),m=[],b,x=0,I=new Map,E=()=>{if(b&&r.clearTimeout(b),b=void 0,m.length===0)return;let l=m;m=[],I.clear(),x=r.now(),f=r.now();for(let y of l)y&&d(c=>c.onEvent,y.event)},C=()=>{if(b)return;let l=r.now()-x;b=r.setTimeout(E,Math.max(0,tg-l))};return(async()=>{let l=0,y=0;for(;!p.signal.aborted;){let c=!1,R=!1,A,k,D=null,j=r.now(),T=new AbortController,z=Gu(p.signal);z.promise.then(()=>T.abort());try{let U=await new Promise((Q,ne)=>{let W=!1;k=r.setTimeout(()=>{W||(W=!0,ce.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),T.abort(),ne(new Error(`SSE connect timed out after ${s}ms`)))},s),t.global.event({signal:T.signal,sseDefaultRetryDelay:lg,sseMaxRetryDelay:ug,sseMaxRetryAttempts:1}).then(Z=>{W||(W=!0,r.clearTimeout(k),Q(Z))},Z=>{W||(W=!0,r.clearTimeout(k),ne(Z))})}),{stream:B}=U;f=r.now();let F=()=>{r.clearTimeout(A),A=r.setTimeout(()=>{ce.warn("SSE heartbeat timeout, forcing reconnect"),T.abort()},o)};F();let H=r.now(),M=B[Symbol.asyncIterator]();for(;!T.signal.aborted;){let Q=M.next().then(re=>({kind:"next",result:re}),re=>({kind:"error",error:re})),ne=Gu(T.signal),W=await Promise.race([Q,ne.promise.then(()=>({kind:"aborted"}))]);if(ne.cleanup(),W.kind==="aborted")break;if(W.kind==="error")throw W.error;if(W.result.done)break;c=!0,F();let Z=W.result.value,tt=Z&&typeof Z=="object"&&"payload"in Z?Z.payload:Z;if(!tt?.type)continue;let Nt=mg(tt);if(Nt){let re=I.get(Nt);re!==void 0&&(m[re]=void 0),I.set(Nt,m.length)}m.push({type:tt.type,event:tt}),C(),!(r.now()-H<ng)&&(H=r.now(),await new Promise(re=>r.setTimeout(re,0)))}R=c}catch(U){if(p.signal.aborted)break;D=U;let B=String(U),F=B.includes("401")||B.includes("403")||B.includes("Unauthorized")||B.includes("Token refresh failed");if(ce.error("SSE event stream error",{error:B,retryCount:l,isAuthError:F}),F)try{ct(),await mr(),ce.info("SSE: refreshed auth token after auth error")}catch(H){ce.error("SSE: failed to refresh auth token",{error:String(H)})}}finally{r.clearTimeout(A),r.clearTimeout(k),T.abort(),z.cleanup(),E()}if(p.signal.aborted)break;let V=r.now()-j,h=D?.cause?.status;if(y=!c&&(typeof h=="number"&&h>=400||V<dg)?y+1:0,y>=u){ce.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:y,lastError:String(D)}),d(U=>U.onParked,{consecutiveFailures:y,lastError:D});break}let N=r.now()-f;N>sg&&d(U=>U.onGapRehydrate,N),R?l=0:(l++,l>1&&ce.warn("SSE event stream reconnecting",{retryCount:l}));let X=R?ig:Math.min(og*2**Math.min(l-1,cg),ag);await new Promise(U=>{let B=r.setTimeout(U,X),F=()=>{r.clearTimeout(B),U()};p.signal.addEventListener("abort",F,{once:!0})})}})(),{subscribers:n,teardown:()=>{p.abort(),b&&r.clearTimeout(b)}}}function Xr(t){let{client:e,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=t,u={onEvent:n,onGapRehydrate:r,onParked:s},p=$t.get(e);p?p.subscribers.add(u):(p=fg(e,t,new Set([u])),$t.set(e,p));let d=p,f=!1,m=()=>{f||(f=!0,o&&o.removeEventListener("abort",b),d.subscribers.delete(u),d.subscribers.size===0&&(d.teardown(),$t.get(e)===d&&$t.delete(e)))},b=()=>m();return o&&(o.aborted?m():o.addEventListener("abort",b,{once:!0})),{close:m}}function yg(){return fe()}var Dt=new Map,qt=class extends Error{constructor(e){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${e}\`.`),this.name="SessionNotReadyError"}};function hg(t,e){Ht(t,e);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new v(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let y=$().backendUrl??t.backendUrl,c=80,R=n(y);return R&&(c=R.port?Number(R.port):R.protocol==="https:"?443:80),{sandboxId:l,backendPort:c,apiBaseUrl:y}}let s={list:ei,get:ni,create:ti,updateName:ri,leave:mi,members:si,invite:ii,removeMember:di,updateMemberRole:gi,invites:oi,cancelInvite:ai,resendInvite:ci,tokens:{list:zl,create:Vl,revoke:Jl},audit:{log:Zl,export:tu,webhooks:{list:nu,create:ru,update:su,remove:iu}}},o={assignments:{list:El,create:jl,revoke:$l},permissions:{list:Dl,forRole:kl},roles:{list:_l,create:Sl,update:vl,setPermissions:Cl,remove:Rl,usage:wl},groups:{list:dl,get:gl,create:ml,update:fl,remove:yl,members:{list:hl,add:bl,remove:xl}},agentIdentities:Pl,can:Al,canBatch:Tl},u={accountState:dc,accountStateMinimal:gc,transactions:mc,transactionsSummary:fc,creditBreakdown:yc,usageHistory:hc,usageRollup:Ic,sessionCosts:{list:jc,get:Kr},tierConfigurations:bc,checkout:{createSession:l=>xc(l),confirmSession:(l,y)=>_c(l,y)},subscription:{createPortalSession:(l,y)=>Pc(l,y),cancel:(l,y)=>kc(l,y),reactivate:l=>wc(l),scheduleDowngrade:(l,y,c)=>Sc(l,y,c),cancelScheduledChange:l=>vc(l),prorationPreview:(l,y)=>Cc(l,y)},credits:{purchase:l=>Rc(l),autoTopupSettings:l=>Ac(l),configureAutoTopup:l=>Tc(l)}},p={describe:li,accept:ui,decline:pi},d={list:$e,listForAccount:hi,get:Cr,detail:Rr,create:Pi,createRepo:ki,provision:wi,update:Ir,archive:Er,llmCatalog:Ar,modelPicker:Tr,sandboxHealth:Mr,sandboxTemplates:Jo,sessions:ze,createSession:Ve},f={linkRepository:Ai,getInstallation:Ti,listInstallations:Ii,listLinkableInstallations:Ei,listRepositories:ji,listRepositoryBranches:$i,linkInstallation:qi,saveInstallation:Di,deleteInstallation:Mi},m={list:Ll,create:Gl,revoke:Bl},b=Ko,x={items:l=>cu(l),item:l=>pu(l),itemFile:(l,y)=>du(l,y),marketplaces:()=>lu(),featured:()=>uu(),sources:{list:()=>gu(),add:l=>mu(l),remove:l=>fu(l)}};function I(l){return{catalog:()=>$r(l),tools:()=>St(l),search:(...y)=>fo(l,...y),describe:(...y)=>yo(l,...y),call:(...y)=>ho(l,...y),uploadAttachment:(...y)=>bo(l,...y)}}function E(l){let y={list:()=>xo(l),listAll:()=>_o(l),reconcile:(...c)=>Po(l,...c),reconcileMember:(...c)=>ko(l,...c),updateCredential:(...c)=>wo(l,...c),revoke:(...c)=>So(l,...c),activate:(...c)=>vo(l,...c),setDefault:(...c)=>Co(l,...c),pipedreamConnect:(...c)=>Ro(l,...c),pipedreamFinalize:(...c)=>Ao(l,...c)};return{get:c=>Cr(l,c),detail:()=>Rr(l),audit:c=>eu(l,c),update:c=>Ir(l,c),archive:()=>Er(l),llmCatalog:()=>Ar(l),modelPicker:()=>Tr(l),sandboxHealth:()=>Mr(l),onboardingComplete:(...c)=>Ri(l,...c),apps:{list:()=>yu(l),create:c=>hu(l,c),get:c=>bu(l,c),update:(...c)=>xu(l,...c),access:{get:(...c)=>Pu(l,...c),update:(...c)=>ku(l,...c),session:(...c)=>wu(l,...c)},remove:c=>_u(l,c),artifacts:{register:c=>Vr(l,c),uploadArchive:(...c)=>Su(l,...c),finalize:(...c)=>Jr(l,...c)},deployments:{create:(...c)=>vu(l,...c),list:c=>Cu(l,c),get:(...c)=>Ru(l,...c),logs:(...c)=>Au(l,...c)},start:c=>Tu(l,c),stop:c=>Iu(l,c),rollback:(...c)=>Eu(l,...c)},tokens:{list:()=>Xl(l),create:c=>Ql(l,c),revoke:c=>Yl(l,c)},setupLinks:{requestSecret:c=>ou(l,c),requestConnector:c=>au(l,c)},validateManifest:c=>xi(l,c),gitToken:()=>_i(l),secrets:{list:()=>ro(l),upsert:c=>so(l,c),setStrategy:(...c)=>io(l,...c),broker:(...c)=>oo(l,...c),remove:c=>po(l,c),setPersonal:(...c)=>go(l,...c),removePersonal:c=>mo(l,c),setGitCredential:c=>uo(l,c),startProviderOAuth:(...c)=>ao(l,...c),pollProviderOAuth:(...c)=>co(l,...c),removeProviderOAuth:c=>lo(l,c)},access:{list:()=>Li(l),invite:(...c)=>Ni(l,...c),update:(...c)=>Gi(l,...c),revoke:c=>Bi(l,c),pendingInvites:()=>Ki(l),resendInvite:(...c)=>Wi(l,...c),revokeInvite:(...c)=>Hi(l,...c),requests:()=>Oi(l),approveRequest:(...c)=>Ui(l,...c),rejectRequest:(...c)=>Fi(l,...c),groupGrants:()=>zi(l),attachGroupGrant:(...c)=>Vi(l,...c),updateGroupGrant:(...c)=>Ji(l,...c),detachGroupGrant:c=>Xi(l,c),resourceGrants:{list:()=>Qi(l),create:c=>Yi(l,c),remove:c=>Zi(l,c)}},connectors:{...I(l),list:()=>To(l),config:(...c)=>Mo(l,...c),create:(...c)=>Fo(l,...c),remove:(...c)=>Go(l,...c),sync:()=>Io(l),auth:{discover:(...c)=>Lo(l,...c)},setName:(...c)=>Oo(l,...c),setCredentialMode:(...c)=>Eo(l,...c),setAuthorizationStrategy:(...c)=>jo(l,...c),setCredential:(...c)=>Ho(l,...c),setSensitive:(...c)=>$o(l,...c),connections:y,policies:{get:(...c)=>Do(l,...c),set:(...c)=>qo(l,...c)},pipedream:{listApps:(...c)=>Bo(l,...c),listSections:(...c)=>No(l,...c),connect:(...c)=>Uo(l,...c),finalize:(...c)=>Wo(l,...c)},discover:{list:(...c)=>Dr(l,...c),detail:(...c)=>qr(l,...c)}},policies:{list:()=>zo(l),set:(...c)=>Vo(l,...c)},triggers:{list:()=>Ja(l),create:(...c)=>Xa(l,...c),update:(...c)=>Qa(l,...c),remove:(...c)=>Ya(l,...c),fire:(...c)=>ec(l,...c),setActivation:(...c)=>Za(l,...c)},files:{list:c=>sa(l,c),read:(c,R)=>oa(l,c,R),search:(...c)=>ia(l,...c),archive:(...c)=>aa(l,...c),history:(...c)=>da(l,...c)},git:{commits:()=>la(l),commit:c=>ua(l,c),commitDiff:c=>pa(l,c),branches:()=>ca(l),versionDiff:(...c)=>ga(l,...c),inviteCollaborator:(...c)=>bi(l,...c)},changeRequests:{list:()=>ma(l),get:c=>fa(l,c),diff:c=>ya(l,c),mergePreview:c=>ha(l,c),open:(...c)=>ba(l,...c),merge:(...c)=>xa(l,...c),close:(...c)=>_a(l,...c),reopen:(...c)=>Pa(l,...c),requestChanges:(...c)=>ka(l,...c)},sessions:{list:c=>ze(l,c),create:c=>Ve(l,c),ensureWarm:()=>Ia(l),claimWarm:c=>Ea(l,c)},review:{list:c=>ql(l,c),get:c=>Ml(l,c),submit:c=>Ol(l,c),act:(...c)=>Ul(l,...c),bulkAct:c=>Fl(l,c)},approvals:{list:c=>eo(l,c),resolve:(...c)=>no(l,...c),sessionsNeedingInput:c=>to(l,c)},gateway:{logs:c=>Qc(l,c),log:c=>Yc(l,c),overview:c=>Zc(l,c),series:c=>el(l,c),breakdown:c=>tl(l,c),sessions:c=>nl(l,c),errors:c=>rl(l,c),budgets:()=>sl(l),setBudget:c=>il(l,c),deleteBudget:c=>ol(l,c),keys:()=>al(l),createKey:c=>cl(l,c),revokeKey:c=>ll(l,c),routing:{get:()=>zc(l),set:c=>Vc(l,c),reset:()=>Jc(l),preview:c=>Xc(l,c)},playground:(c,R,A)=>ul(l,c,R,A)},channels:{slack:{installation:()=>Dc(l),connect:c=>qc(l,c),mode:()=>Mc(l),manifest:()=>Oc(l),disconnect:()=>Uc(l),getFile:c=>Fc(l,c),uploadFile:c=>Lc(l,c)},email:{installation:c=>Gc(l,c),mode:()=>Bc(l),connect:c=>Nc(l,c),disconnect:c=>Kc(l,c),updatePolicy:(...c)=>Hc(l,...c)},voice:{setBotName:c=>Wc(l,c)}},updateFeatureFlag:(...c)=>Si(l,...c),updateExperimentalFeature:(...c)=>vi(l,...c),modelDefaults:{get:()=>ic(l),set:c=>oc(l,c),clear:c=>ac(l,c)},setDefaultAgent:c=>pc(l,c),sandbox:{list:()=>ra(l),snapshots:()=>Xo(l),rebuildSnapshot:c=>Qo(l,c),fixWithAgent:()=>Yo(l),createTemplate:c=>Zo(l,c),updateTemplate:(...c)=>ea(l,...c),removeTemplate:c=>ta(l,c),buildTemplate:c=>na(l,c),setProvider:c=>Ci(l,c)},setAgentScope:(...c)=>lc(l,...c),session:c=>C(l,c)}}function C(l,y){let c=null,R,A,k=null;async function D(){k||(k=Ur(l,y,{showErrors:!1}).then(h=>{let S=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",N=S.indexOf("/"),X=N>0&&N<S.length-1?{providerID:S.slice(0,N),modelID:S.slice(N+1)}:void 0,U=h.agent_name?.trim()||void 0;return{model:X,agent:U}}));try{return await k}catch(h){throw k=null,h}}function j(){if(c)return c;let h=nc(l,y);return h&&(c=h),c}async function T(h){let S=j();if(S)return S;let N=h?.readyTimeoutMs??18e4,X=`${l}
|
|
20
|
-
${y}`,
|
|
19
|
+
`);let I=Td(C);if(I){if(r(I),I.type==="error")throw new v(I.error,{status:I.status,code:I.code,data:{reason:I.reason}});I.type==="done"&&(f=I.result)}}}}finally{u.cancel().catch(()=>{})}if(!f)throw new Error("Reload stream ended without a result");return f}async function Qa(t,e){return a(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`))}async function Za(t,e,n){return a(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`,n))}async function ec(t,e,n){return a(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/model`,{opencode_model:n}))}async function tc(t){return a(await i.get(`/projects/${t}/triggers`))}async function nc(t,e){return a(await i.post(`/projects/${t}/triggers`,e))}async function rc(t,e,n){return a(await i.patch(`/projects/${t}/triggers/${e}`,n))}async function sc(t,e){return a(await i.delete(`/projects/${t}/triggers/${e}`))}async function ic(t,e){return a(await i.patch(`/projects/${t}/triggers/activation`,{paused:e}))}async function oc(t,e){return a(await i.post(`/projects/${t}/triggers/${e}/fire`,{}))}var ae=new Map;function Nr(t,e){return`${t}::${e}`}function ac(t,e){ae.delete(t),ae.set(t,e)}function cc(t,e){let n=Nr(t,e),r=ae.get(n);return r&&ac(n,r),r}function lc(t,e,n){let r=Nr(t,e);if(!ae.has(r)&&ae.size>=512){let s=ae.keys().next().value;s!==void 0&&ae.delete(s)}ac(r,n)}function uc(t,e){ae.delete(Nr(t,e))}function Vx(t){if(t.status!=="running"||!t.sandbox_id||!t.sandbox_provider||!t.sandbox_url||!t.opencode_session_id)return null;let e=t.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return e?{stage:"ready",agent_name:t.agent_name??"default",retriable:!0,sandbox:{sandbox_id:t.sandbox_id,session_id:t.session_id,project_id:t.project_id,account_id:t.account_id,provider:t.sandbox_provider,external_id:e,base_url:t.sandbox_url,status:"active",config:{},metadata:t.metadata,last_used_at:t.updated_at,created_at:t.created_at,updated_at:t.updated_at},opencode_session_id:t.opencode_session_id,runtime_url:t.sandbox_url}:null}var Kr=class extends Error{status;code;terminal;constructor(e,n){super(e),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function Jx(t){return t instanceof Error&&t.name==="SessionStartError"}function Id(t){let e=t,n=e?.status,r=e?.code??e?.details?.code??e?.details?.error,s=e?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Kr(s,{status:n,code:r,terminal:!0}):null}async function $e(t,e,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${t}/sessions/${e}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=Id(s.error);if(p&&!(p.status===404&&Ea(e)))throw p;return null}let o=s.data,u=o.sandbox?.external_id;return o.stage==="ready"&&u&&o.opencode_session_id&&lc(t,e,{opencodeSessionId:o.opencode_session_id,runtimeUrl:ut(u),sandboxId:u}),o}function Xx(t,e){return["session-start",t,e]}async function pc(t){return a(await i.get(`/projects/${t}/model-defaults`))}async function dc(t,e){return a(await i.put(`/projects/${t}/model-defaults`,e))}async function gc(t,e){let n=new URLSearchParams({scope:e.scope,...e.agentName?{agentName:e.agentName}:{}}).toString();return a(await i.delete(`/projects/${t}/model-defaults?${n}`))}async function r_(t,e){return a(await i.put(`/projects/${t}/model-enablement`,{modelOverrides:e}))}async function fc(t,e,n){let r=jd(n);return a(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/scope`,r))}function mc(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function Ed(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function jd(t){let e=t.connectors_required?mc(t.connectors_required):void 0,n=t.connectors_personal?mc(t.connectors_personal):void 0;if(e&&n&&!Ed(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function u_(t,e){let n=a(await i.get(`/projects/${t}/agents/${encodeURIComponent(e)}/config`));return{...n,block:n.block?Hr(n.block):null}}async function p_(t,e,n){let r=Hr(n),s=a(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/config`,r));return{...s,block:s.block?Hr(s.block):null}}function yc(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function $d(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function Hr(t){let e=t.connectors_required?yc(t.connectors_required):void 0,n=t.connectors_personal?yc(t.connectors_personal):void 0;if(e&&n&&!$d(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function d_(t,e,n){return a(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/grant`,{agent:n}))}async function hc(t,e){return a(await i.put(`/projects/${t}/default-agent`,{agent:e}))}function Wr(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}function Dd(t){let e=t.trim().toLowerCase();return e===""||e==="free"||e==="none"?"free":e==="enterprise"?"enterprise":"team"}function y_(t){let e=t?.plan;if(e)return{family:e.family,label:e.label,sublabel:e.sublabel??null,isGrandfathered:e.is_grandfathered===!0};let n=t??Wr(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:Dd(r),label:s,sublabel:null,isGrandfathered:!1}}async function bc(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),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?Wr():s.data}async function xc(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),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?Wr():s.data}async function _c(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.limit!=null&&e.set("limit",String(t.limit)),t?.offset!=null&&e.set("offset",String(t.offset)),t?.typeFilter&&e.set("type_filter",Array.isArray(t.typeFilter)?t.typeFilter.join(","):t.typeFilter);let n=e.toString();return a(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function Pc(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.days!=null&&e.set("days",String(t.days));let n=e.toString();return a(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function kc(){return a(await i.get("/billing/credit-breakdown"))}async function wc(t){let e=t!=null?`?days=${t}`:"";return a(await i.get(`/billing/usage-history${e}`))}async function Sc(){return a(await i.get("/billing/tier-configurations"))}async function h_(t){let e=t.accountId?`?account_id=${encodeURIComponent(t.accountId)}`:"";return Ee(t,`/v1/billing/account-state${e}`)}async function vc(t){return a(await i.post("/billing/create-checkout-session",{account_id:t.accountId,tier_key:t.tierKey,success_url:t.successUrl,cancel_url:t.cancelUrl,commitment_type:t.commitmentType,locale:t.locale,server_type:t.serverType,location:t.location}),"Failed to create checkout session")}async function Cc(t,e){return a(await i.post("/billing/confirm-checkout-session",{account_id:e,session_id:t}),"Failed to confirm checkout session")}async function Rc(t,e){return a(await i.post("/billing/create-portal-session",{account_id:e,return_url:t}),"Failed to create portal session")}async function Ac(t,e){return a(await i.post("/billing/cancel-subscription",{account_id:e,feedback:t}),"Failed to cancel subscription")}async function Tc(t){return a(await i.post("/billing/reactivate-subscription",{account_id:t}),"Failed to reactivate subscription")}async function Ic(t,e,n){return a(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:t,commitment_type:e}),"Failed to schedule downgrade")}async function Ec(t){return a(await i.post("/billing/cancel-scheduled-change",{account_id:t}),"Failed to cancel scheduled change")}async function jc(t,e){let n=new URLSearchParams({new_price_id:t});return e&&n.set("account_id",e),a(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function $c(t){return a(await i.post("/billing/purchase-credits",{amount:t.amount,account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl}),"Failed to purchase credits")}async function Dc(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/billing/auto-topup/settings${e}`),"Failed to load auto-topup settings")}async function qc(t){return a(await i.post("/billing/auto-topup/configure",{account_id:t.accountId,enabled:t.enabled,threshold:t.threshold,amount:t.amount},{showErrors:!1}),"Failed to configure auto-topup")}async function b_(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/billing/auto-topup/setup-status${e}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function x_(t){return a(await i.post("/billing/create-per-seat-checkout",{account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl,locale:t.locale}),"Failed to create per-seat checkout")}async function __(t){return a(await i.post("/billing/claim-per-seat",{account_id:t}),"Failed to switch to per-seat billing")}async function P_(t){return a(await i.post("/billing/sync-subscription",{account_id:t}),"Failed to sync subscription")}async function Mc(t={}){let e=new URLSearchParams;t.start&&e.set("start",t.start),t.end&&e.set("end",t.end),(t.groupBy==="model"||t.groupBy==="provider"||t.groupBy==="day")&&e.set("group_by",t.groupBy),t.accountId&&e.set("account_id",t.accountId);let n=e.toString();return a(await i.get(`/usage${n?`?${n}`:""}`))}function zr(t,e){e.accountId&&t.set("account_id",e.accountId),e.projectId&&t.set("project_id",e.projectId)}function It(t,e){e.from&&t.set("from",e.from),e.to&&t.set("to",e.to)}function Et(t){return t.size>0?`?${t}`:""}async function Uc(t={}){let e=new URLSearchParams;return zr(e,t),t.ownerId&&e.set("owner_id",t.ownerId),It(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),a(await i.get(`/usage/session-costs${Et(e)}`))}async function Vr(t,e={}){let n=new URLSearchParams;return zr(n,e),a(await i.get(`/usage/session-costs/${encodeURIComponent(t)}${Et(n)}`))}async function R_(t={}){let e=new URLSearchParams;return t.accountId&&e.set("account_id",t.accountId),It(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),a(await i.get(`/usage/cost-by-project${Et(e)}`))}async function A_(t={}){let e=new URLSearchParams;return zr(e,t),t.sessionId&&e.set("session_id",t.sessionId),It(e,t),a(await i.get(`/usage/cost-summary${Et(e)}`))}function Oc(t,e={}){let n=new URLSearchParams;if(e.accountId&&n.set("account_id",e.accountId),t==="sessions"){let s=e;s.projectId&&n.set("project_id",s.projectId),s.ownerId&&n.set("owner_id",s.ownerId)}It(n,e),e.sort&&n.set("sort",e.sort),n.set("format","csv");let r=t==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${D().backendUrl||""}${r}?${n}`}async function T_(t,e={}){let n=Oc(t==="projects"?"projects":"sessions",e),r=await ie(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let d=await s.text().catch(()=>"");throw new Error(d||`Failed to export CSV (HTTP ${s.status})`)}let o=s.headers.get("x-kortix-row-cap"),u=o!=null?Number(o):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function Fc(t,e){return a(await i.post(`/channels/${t}/identity/bind`,{token:e}),"Failed to connect your account")}function $_(t){return Fc("slack",t)}function D_(t){return Fc("teams",t)}async function Lc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});return e.success?e.data??null:null}async function Gc(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/connect`,e,{showErrors:!1}),"Failed to connect")}var qd={oauth_available:!1,install_url:null};async function Bc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/mode`,{showErrors:!1});return!e.success||!e.data?qd:e.data}async function Nc(t){return a(await i.get(`/webhooks/slack/${encodeURIComponent(t)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Kc(t){let e=await i.delete(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});if(!e.success)throw new Error(e.error?.message??"Failed to disconnect")}async function Hc(t,e){return a(await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/file?url=${encodeURIComponent(e)}`,{showErrors:!1}),"Failed to download Slack file")}async function Wc(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/file/upload`,{channel:e.channel,filename:e.filename,content_base64:e.contentBase64,comment:e.comment,thread_ts:e.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Jr(t){let e=t.connectionId??t.connection_id??null,n=t.connectorSlug??t.connector_slug??t.connectionSlug??t.connection_slug??"kortix_email";return{...t,connectionId:e,connectorSlug:n}}var Md={provider:"agentmail",managed_available:!1};async function zc(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Jr(r.data):null}async function Vc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/mode`,{showErrors:!1});return!e.success||!e.data?Md:e.data}async function Jc(t,e){let n=a(await i.post(`/projects/${encodeURIComponent(t)}/channels/email/connect`,e,{showErrors:!1}),"Failed to connect email");return Jr(n)}async function Xc(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.delete(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function Yc(t,e,n){let r=a(await i.patch(`/projects/${encodeURIComponent(t)}/channels/email/installation`,{connector_slug:e??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Jr(r)}async function q_(t){return a(await i.get(`/projects/${encodeURIComponent(t)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function M_(t,e,n){return a(await i.patch(`/projects/${encodeURIComponent(t)}/channels/bindings/${encodeURIComponent(e)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Qc(t){return a(await i.get(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Zc(t,e){return a(await i.put(`/projects/${t}/gateway/routing-policy`,e),"Gateway routing policy request failed")}async function el(t){return a(await i.delete(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function tl(t,e){return a(await i.post(`/projects/${t}/gateway/routing-policy/preview`,e),"Gateway route preview failed")}async function nl(t,e){let n=new URLSearchParams;e?.limit&&n.set("limit",String(e.limit)),e?.offset&&n.set("offset",String(e.offset)),e?.ok!==void 0&&n.set("ok",String(e.ok));let r=n.toString();return a(await i.get(`/projects/${t}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function rl(t,e){return a(await i.get(`/projects/${t}/gateway/logs/${e}`),"Gateway request failed")}async function sl(t,e){return a(await i.get(`/projects/${t}/gateway/overview${e?`?days=${e}`:""}`),"Gateway request failed")}async function il(t,e){return a(await i.get(`/projects/${t}/gateway/series${e?`?days=${e}`:""}`),"Gateway request failed")}async function ol(t,e){return a(await i.get(`/projects/${t}/gateway/breakdown${e?`?days=${e}`:""}`),"Gateway request failed")}async function al(t,e){return a(await i.get(`/projects/${t}/gateway/sessions${e?`?days=${e}`:""}`),"Gateway request failed")}async function cl(t,e){return a(await i.get(`/projects/${t}/gateway/errors${e?`?days=${e}`:""}`),"Gateway request failed")}async function ll(t){return a(await i.get(`/projects/${t}/gateway/budgets`),"Gateway request failed")}async function ul(t,e){return a(await i.put(`/projects/${t}/gateway/budgets`,e),"Gateway request failed")}async function pl(t,e){return a(await i.delete(`/projects/${t}/gateway/budgets/${e}`),"Gateway request failed")}async function dl(t){return a(await i.get(`/projects/${t}/gateway/keys`),"Gateway request failed")}async function gl(t,e){return a(await i.post(`/projects/${t}/gateway/keys`,{name:e}),"Gateway request failed")}async function ml(t,e){return a(await i.delete(`/projects/${t}/gateway/keys/${e}`),"Gateway request failed")}async function fl(t,e,n,r,s){return a(await i.post(`/projects/${t}/gateway/playground`,{prompt:e,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function L_(t,e){return a(await i.post(`/projects/${t}/gateway/providers/${encodeURIComponent(e)}/verify`,{}),"Gateway provider verification failed")}async function K_(){return a(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function H_(){return a(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function W_(t){return a(await i.post("/referrals/validate",{referral_code:t}),"VALIDATE_CODE_FAILED")}async function z_(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function V_(t={}){let e=new URLSearchParams({limit:String(t.limit??50),offset:String(t.offset??0)});return a(await i.get(`/referrals/list?${e}`),"GET_REFERRALS_FAILED")}async function J_(t){return a(await i.post("/referrals/email",{emails:t}),"SEND_EMAILS_FAILED")}function k(t){if(!t.success||t.data===void 0)throw t.error||new Error("Unexpected empty response");return t.data}function O(t){return i.get(t,{showErrors:!1})}async function yl(t){return k(await O(`/accounts/${t}/iam/groups`)).groups}async function hl(t,e){return k(await O(`/accounts/${t}/iam/groups/${e}`))}async function bl(t,e){return k(await i.post(`/accounts/${t}/iam/groups`,e,{showErrors:!1}))}async function xl(t,e,n){return k(await i.patch(`/accounts/${t}/iam/groups/${e}`,n))}async function _l(t,e){return k(await i.delete(`/accounts/${t}/iam/groups/${e}`))}async function Pl(t,e){return k(await O(`/accounts/${t}/iam/groups/${e}/members`)).members}async function kl(t,e,n){return k(await i.post(`/accounts/${t}/iam/groups/${e}/members`,{userIds:n}))}async function Q_(t,e){return k(await O(`/accounts/${t}/iam/groups/${e}/project-grants`)).grants}async function wl(t,e,n){return k(await i.delete(`/accounts/${t}/iam/groups/${e}/members/${n}`))}async function Z_(t,e){return k(await O(`/accounts/${t}/iam/members/${e}/groups`)).groups}async function eP(t,e){let n=k(await O(`/accounts/${t}/iam/members/${e}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}async function tP(t,e={}){let n=new URLSearchParams;e.resourceType&&n.set("resourceType",e.resourceType),e.principalType&&n.set("principalType",e.principalType),e.principalId&&n.set("principalId",e.principalId),e.projectId&&n.set("projectId",e.projectId);let r=n.toString();return k(await O(`/accounts/${t}/iam/resource-grants${r?`?${r}`:""}`)).grants}async function nP(t,e={}){let n=new URLSearchParams;e.principalType&&n.set("principalType",e.principalType),e.principalId&&n.set("principalId",e.principalId),e.scopeType&&n.set("scopeType",e.scopeType),e.scopeId!==void 0&&n.set("scopeId",e.scopeId===null?"null":e.scopeId);let r=n.toString();return k(await O(`/accounts/${t}/iam/policies${r?`?${r}`:""}`)).policies}async function rP(t,e){return k(await i.post(`/accounts/${t}/iam/policies`,e,{showErrors:!1}))}async function sP(t,e,n){return k(await i.patch(`/accounts/${t}/iam/policies/${e}`,n,{showErrors:!1}))}async function iP(t,e){return k(await i.delete(`/accounts/${t}/iam/policies/${e}`))}async function oP(t,e){return k(await i.post(`/accounts/${t}/iam/policies:bulk-delete`,{policy_ids:e},{showErrors:!1}))}async function aP(t,e){return k(await i.post(`/accounts/${t}/iam/policies:bulk-import`,{policies:e},{showErrors:!1}))}async function Sl(t){return k(await O(`/accounts/${t}/iam/roles`)).roles}async function vl(t){return k(await O(`/accounts/${t}/iam/agent-identities`)).agents}async function Cl(t,e){return k(await O(`/accounts/${t}/iam/roles/${e}/permissions`))}async function cP(t){return k(await O(`/accounts/${t}/iam/actions`)).actions}async function Rl(t,e){return k(await O(`/accounts/${t}/iam/roles/${e}/usage`))}async function Al(t,e){return k(await i.post(`/accounts/${t}/iam/roles`,e,{showErrors:!1}))}async function Tl(t,e,n){return k(await i.patch(`/accounts/${t}/iam/roles/${e}`,n,{showErrors:!1}))}async function Il(t,e,n){return k(await i.put(`/accounts/${t}/iam/roles/${e}/permissions`,{actions:n},{showErrors:!1}))}async function El(t,e){return k(await i.delete(`/accounts/${t}/iam/roles/${e}`,{showErrors:!1}))}async function lP(t,e,n){return k(await i.patch(`/accounts/${t}/iam/members/${e}/super-admin`,{isSuperAdmin:n}))}async function uP(t){return k(await O(`/accounts/${t}/iam/scim/tokens`)).tokens}async function pP(t,e){return k(await i.post(`/accounts/${t}/iam/scim/tokens`,e,{showErrors:!1}))}async function dP(t,e){return k(await i.delete(`/accounts/${t}/iam/scim/tokens/${e}`))}async function gP(t){return k(await O(`/accounts/${t}/iam/mfa-required`))}async function mP(t){return k(await O(`/accounts/${t}/iam/mfa-required/preview`))}async function fP(t,e){return k(await i.patch(`/accounts/${t}/iam/mfa-required`,{enabled:e},{showErrors:!1}))}async function yP(t){return k(await O(`/accounts/${t}/iam/sso/provider`)).provider}async function hP(t,e){return k(await i.put(`/accounts/${t}/iam/sso/provider`,e,{showErrors:!1})).provider}async function bP(t,e){return k(await i.post(`/accounts/${t}/iam/sso/provider/from-metadata`,e,{showErrors:!1})).provider}async function xP(t){return k(await i.delete(`/accounts/${t}/iam/sso/provider`))}async function _P(t){return k(await O(`/accounts/${t}/iam/sso/mappings`)).mappings}async function PP(t,e){return k(await i.post(`/accounts/${t}/iam/sso/mappings`,e,{showErrors:!1}))}async function kP(t,e){return k(await i.delete(`/accounts/${t}/iam/sso/mappings/${e}`))}async function wP(t){return k(await O(`/accounts/${t}/iam/session-policy`))}async function SP(t,e){return k(await i.patch(`/accounts/${t}/iam/session-policy`,e,{showErrors:!1}))}async function vP(t){return k(await O(`/accounts/${t}/iam/sessions`)).sessions}async function CP(t,e){return k(await i.post(`/accounts/${t}/iam/sessions/${e}/revoke`,{},{showErrors:!1}))}async function RP(t){return k(await O(`/accounts/${t}/iam/pat-policy`))}async function AP(t,e){return k(await i.patch(`/accounts/${t}/iam/pat-policy`,e,{showErrors:!1}))}async function TP(t){return k(await O(`/accounts/${t}/iam/service-accounts`)).service_accounts}async function IP(t,e){return k(await i.post(`/accounts/${t}/iam/service-accounts`,e,{showErrors:!1}))}async function EP(t,e){return k(await i.post(`/accounts/${t}/iam/service-accounts/${e}/disable`,{},{showErrors:!1}))}async function jP(t,e){return k(await i.delete(`/accounts/${t}/iam/service-accounts/${e}`))}async function $P(t){return k(await O(`/accounts/${t}/audit/webhooks`)).webhooks}async function DP(t,e){return k(await i.post(`/accounts/${t}/audit/webhooks`,e,{showErrors:!1}))}async function qP(t,e,n){return k(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function MP(t,e){return k(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function OP(t,e={}){let n=new URLSearchParams;e.action&&n.set("action",e.action),e.actor&&n.set("actor",e.actor),e.project_id&&n.set("project_id",e.project_id),e.session_id&&n.set("session_id",e.session_id),e.actor_type&&n.set("actor_type",e.actor_type),e.source&&n.set("source",e.source),e.phase&&n.set("phase",e.phase),e.outcome&&n.set("outcome",e.outcome),e.request_id&&n.set("request_id",e.request_id),e.correlation_id&&n.set("correlation_id",e.correlation_id),e.resource_type&&n.set("resource_type",e.resource_type),e.since&&n.set("since",e.since),e.until&&n.set("until",e.until),e.q&&n.set("q",e.q),e.cursor&&n.set("cursor",e.cursor),e.limit&&n.set("limit",String(e.limit));let r=n.toString();return k(await O(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function jl(t,e,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),k(await O(`/accounts/${t}/iam/members/${e}/effective?${r.toString()}`))}async function $l(t,e,n){return n.length===0?[]:k(await i.post(`/accounts/${t}/iam/members/${e}/effective:batch`,{probes:n})).results}async function UP(t){return k(await O(`/accounts/${t}/iam/enterprise-demo`)).enabled}async function FP(t,e){return k(await i.put(`/accounts/${t}/iam/enterprise-demo`,{enabled:e})).enabled}function Dl(t){return i.get(t,{showErrors:!1})}function Od(t){let e=new URLSearchParams;t?.principalType&&e.set("principal_type",t.principalType),t?.principalId&&e.set("principal_id",t.principalId),t?.scopeType&&e.set("scope_type",t.scopeType),t?.scopeId&&e.set("scope_id",t.scopeId),t?.objectType&&e.set("object_type",t.objectType),t?.objectId&&e.set("object_id",t.objectId),t?.roleId&&e.set("role_id",t.roleId),t?.includeExpired&&e.set("include_expired","true");let n=e.toString();return n?`?${n}`:""}async function ql(t,e){return a(await Dl(`/accounts/${t}/iam/assignments${Od(e)}`)).assignments}async function Ml(t,e){let n={principal_type:e.principal.type,principal_id:e.principal.id,scope_type:e.scope.type,scope_id:e.scope.type==="project"?e.scope.id:null};return e.roleId?n.role_id=e.roleId:n.role_key=e.roleKey,e.object&&(n.object_type=e.object.type,n.object_id=e.object.id),e.expiresAt!==void 0&&(n.expires_at=e.expiresAt),a(await i.post(`/accounts/${t}/iam/assignments`,n))}async function Ol(t,e){return a(await i.delete(`/accounts/${t}/iam/assignments/${e}`)).assignment}async function Ul(t,e){let n=e?.scopeType?`?scope_type=${e.scopeType}`:"";return a(await Dl(`/accounts/${t}/iam/permissions${n}`)).permissions}async function WP(){let t=await i.get("/account/deletion-status",{showErrors:!1});return t.error?.status===404?null:a(t,"Failed to load account deletion status")}async function zP(t="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:t},{showErrors:!1}),"Failed to request account deletion")}async function VP(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function JP(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function XP(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function ek(){return i.get("/admin/api/provider-distribution").then(t=>a(t))}function tk(t=300){return i.get(`/admin/api/sandboxes?limit=${t}`).then(e=>a(e))}function nk(t){return i.put("/admin/api/provider-distribution",t).then(e=>a(e))}function rk(t){return i.get(`/admin/api/provider-analytics?days=${t}`).then(e=>a(e))}function sk(t,e){return i.post(`/admin/api/sandboxes/${encodeURIComponent(t)}/migrate`,{targetProvider:e}).then(n=>a(n))}function ik(){return i.get("/admin/api/provider-fallback").then(t=>a(t))}function ok(t){return i.put("/admin/api/provider-fallback",{enabled:t}).then(e=>a(e))}async function uk(t){return a(await i.get(`/google/auth-url?return_url=${encodeURIComponent(t)}`),"Failed to get Google auth URL")}async function pk(t,e){return a(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:t,sandbox_url:e},{timeout:18e4}),"Failed to upload to Google Slides")}async function Fl(t,e){let n=new URLSearchParams;e?.segment&&n.set("segment",e.segment),e?.kind&&n.set("kind",e.kind);let r=n.toString();return a(await i.get(`/projects/${t}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Ll(t,e){return a(await i.get(`/projects/${t}/review/items/${e}`))}async function Gl(t,e){return a(await i.post(`/projects/${t}/review/items`,e))}async function Bl(t,e,n){return a(await i.post(`/projects/${t}/review/items/${e}/act`,n))}async function Nl(t,e){return a(await i.post(`/projects/${t}/review/bulk`,e))}async function Kl(t){return a(await i.get(`/p/share?sandbox_id=${encodeURIComponent(t)}`),"Failed to load public links").shares??[]}async function Hl(t){return a(await i.post("/p/share",{sandbox_id:t.sandboxId,port:t.port,ttl:t.ttl,label:t.label}),"Failed to generate public URL")}async function Wl(t,e){let n=await i.delete(`/p/share/${encodeURIComponent(e)}?sandbox_id=${encodeURIComponent(t)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Xr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function zl(t,e=""){return`${Fe()}/public/session-shares/${encodeURIComponent(t)}${e}`}async function Vl(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new Xr(s,e.status)}return r}async function _k(t){return Vl(zl(t))}async function Pk(t){return Vl(zl(t,"/messages"))}async function Jl(t,e){let n=new URLSearchParams;t&&n.set("account_id",t),e?.mine&&n.set("mine","true");let r=n.size>0?`?${n.toString()}`:"";return a(await i.get(`/accounts/tokens${r}`))}async function Xl(t){let{accountId:e,expiresAt:n,projectId:r,name:s}=t;return a(await i.post("/accounts/tokens",{name:s,...e?{account_id:e}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Yl(t,e){let n=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.delete(`/accounts/tokens/${t}${n}`))}async function Ql(t){return a(await i.get(`/projects/${t}/cli-token`))}async function Zl(t,e){return a(await i.post(`/projects/${t}/cli-token`,e??{}))}async function eu(t,e){return a(await i.delete(`/projects/${t}/cli-token/${e}`))}async function tu(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function nu(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/projects/${t}/audit${r?`?${r}`:""}`))}async function ru(t,e){let n=new URLSearchParams;e?.format&&n.set("format",e.format),e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/accounts/${t}/audit/export${r?`?${r}`:""}`))}async function su(t){return a(await i.get(`/accounts/${t}/audit/webhooks`))}async function iu(t,e){return a(await i.post(`/accounts/${t}/audit/webhooks`,e))}async function ou(t,e,n){return a(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function au(t,e){return a(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function cu(t,e){return a(await i.post(`/projects/${t}/secret-requests`,{names:e.names,labels:e.labels,descriptions:e.descriptions,scope:e.scope,expires_in_minutes:e.expiresInMinutes}),"Failed to mint secret-entry link")}async function lu(t,e){return a(await i.post(`/projects/${t}/connect-requests`,{slug:e.slug,expires_in_minutes:e.expiresInMinutes}),"Failed to mint connect link")}async function Ek(t){return a(await i.get(`/approval-links/${t}`),"Failed to load approval")}async function uu(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString()?`?${e.toString()}`:"";return a(await i.get(`/marketplace/items${n}`))}async function pu(){return a(await i.get("/marketplace/marketplaces"))}async function du(){return a(await i.get("/marketplace/marketplaces/featured"))}async function gu(t){return a(await i.get(`/marketplace/items/${encodeURIComponent(t)}`),"Item not found")}async function mu(t,e){return a(await i.get(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`),"File not found")}async function fu(){return a(await i.get("/marketplace/sources"))}async function yu(t){return a(await i.post("/marketplace/sources",t),"Failed to add marketplace source")}async function hu(t){return a(await i.delete(`/marketplace/sources/${encodeURIComponent(t)}`),"Failed to remove marketplace source")}async function qk(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/marketplace/install-session`,{id:e}),"Failed to start marketplace install session")}async function Fk(t){return a(await i.get(`/templates/${encodeURIComponent(t)}`))}async function Lk(t,e){return a(await i.post(`/templates/${encodeURIComponent(t)}/install`,e))}async function bu(t){return a(await i.get(`/projects/${t}/apps`),"Failed to list Apps").apps}async function xu(t,e){return a(await i.post(`/projects/${t}/apps`,e),"Failed to create App")}async function _u(t,e){return a(await i.get(`/projects/${t}/apps/${e}`),"Failed to load App")}async function Pu(t,e,n){return a(await i.patch(`/projects/${t}/apps/${e}`,n),"Failed to update App")}async function ku(t,e){return a(await i.delete(`/projects/${t}/apps/${e}`),"Failed to delete App")}async function wu(t,e){return a(await i.get(`/projects/${t}/apps/${e}/access`),"Failed to load App access policy")}async function Su(t,e,n){return a(await i.patch(`/projects/${t}/apps/${e}/access`,n),"Failed to update App access policy")}async function vu(t,e){return a(await i.post(`/projects/${t}/apps/${e}/access-session`,{}),"Failed to create App access session")}async function Yr(t,e){return a(await i.post(`/projects/${t}/apps/artifacts`,e),"Failed to register App artifact")}async function Qr(t,e,n){return a(await i.post(`/projects/${t}/apps/artifacts/${e}/finalize`,n),"Failed to finalize App artifact")}async function Ud(t){return t instanceof Uint8Array?t:new Uint8Array(await t.arrayBuffer())}async function Fd(t){let e=Uint8Array.from(t),n=await globalThis.crypto.subtle.digest("SHA-256",e.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function Cu(t,e,n={}){let r=await Ud(e),s=n.mediaType??"application/gzip",o=await Yr(t,{kind:"archive",media_type:s});if(!o.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>o.upload.max_bytes)throw new Error(`App artifact exceeds ${o.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let u=await fetch(o.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!u.ok){let p=await u.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${u.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),Qr(t,o.artifact.artifact_id,{sha256:await Fd(r),size_bytes:r.byteLength})}async function Ru(t,e,n){return a(await i.post(`/projects/${t}/apps/${e}/deployments`,n),"Failed to create App deployment")}async function Au(t,e){return a(await i.get(`/projects/${t}/apps/${e}/deployments`),"Failed to list App deployments").deployments}async function Tu(t,e,n){return a(await i.get(`/projects/${t}/apps/${e}/deployments/${n}`),"Failed to load App deployment")}async function Iu(t,e,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let o=s.size?`?${s.toString()}`:"";return a(await i.get(`/projects/${t}/apps/${e}/deployments/${n}/logs${o}`),"Failed to load App logs")}async function Eu(t,e){return a(await i.post(`/projects/${t}/apps/${e}/start`,{}),"Failed to start App")}async function ju(t,e){return a(await i.post(`/projects/${t}/apps/${e}/stop`,{}),"Failed to stop App")}async function $u(t,e,n){return a(await i.post(`/projects/${t}/apps/${e}/rollback`,{deployment_id:n}),"Failed to roll back App")}var Ld=["control_plane","provider_ingress","daemon","upstream_port"];function Du(t){return typeof t=="string"&&Ld.includes(t)?t:null}function zk(t){return t?t.runtimeReady!==void 0?t.runtimeReady===!0:t.opencode!==void 0?t.opencode==="ok"||t.opencode===!0:t.status!=="starting"&&t.status!=="down"&&t.status!=="error":!1}async function qu(t,e){let n=(t===void 0?ne():t)||null;if(!n)return{status:0,ok:!1,health:null,body:"",hop:null,upstreamStatus:null};let r=await q(`${n}/kortix/health`,{method:"GET",...e},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}let u=o,p=Du(r.headers.get("X-Kortix-Proxy-Hop"))??Du(o?.hop),d=Number(r.headers.get("X-Kortix-Upstream-Status")),f=o?.upstream_status,m=Number.isFinite(d)&&d>0?d:typeof f=="number"?f:null;return{status:r.status,ok:r.ok,health:u,body:s,hop:p,upstreamStatus:m}}var ce={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var Mu=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Ou=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Uu=/^https?:\/\/(?:dev|staging|prod|preview)-p(\d+)-([a-z0-9-]+)\.[^/]+?(?::(\d+))?(\/.*)?$/i,Fu=new Set([22,4096,parseInt(ce.KORTIX_MASTER,10)]);function Gd(t){return Ou.test(t)}function jt(t){if(!t)return"/";let e=t,n=e.indexOf("](");n!==-1&&(e=e.slice(0,n));let r=e.toLowerCase().indexOf("%5d(");return r!==-1&&(e=e.slice(0,r)),e?e.startsWith("/")?e:`/${e}`:"/"}function Bd(t){let e=t.indexOf("](");return e===-1?t:t.slice(0,e)}var Nd=new Set(["'",'"',"`","<","(","["]),Kd=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Hd(t){let e=0,n=t.length;for(;e<n&&(t[e]===" "||t[e]===" ");)e++;for(;n>e&&(t[n-1]===" "||t[n-1]===" ");)n--;for(;e<n&&Nd.has(t[e]);)e++;for(;n>e&&Kd.has(t[n-1]);)n--;return t.slice(e,n)}function Wd(t){return t.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var zd=/^\/proxy\/(\d{1,5})(\/.*)?$/,Vd=/^\/(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 Jd(t){if(!t)return!1;try{let e=new URL(t);return e.hostname!=="localhost"&&e.hostname!=="127.0.0.1"?!1:Vd.test(e.pathname)}catch{return!1}}function $t(t){if(!t)return null;let e=Hd(Bd(t.trim())),n=Ku(e);if(n){let r=jt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let o=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(ce.KORTIX_MASTER,10);if(s===u){let d=r.pathname.match(zd);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=jt(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=jt(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Wd(t);return r&&r!==t?$t(r):null}}function Xd(t){let e=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(t))!==null;)e.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(t))!==null;){let o=r.index,u=o+r[0].length;e.some(([d,f])=>o>=d&&u<=f)||e.push([o,u])}return e}function Yd(t,e){return e.some(([n,r])=>t>=n&&t<r)}function Qd(t){let e=[],n=new Set,r=Xd(t);Mu.lastIndex=0;let s;for(;(s=Mu.exec(t))!==null;){let o=$t(s[0]);if(!o)continue;let{originalUrl:u,port:p,path:d}=o;p<1||p>65535||Fu.has(p)||n.has(u)||(n.add(u),e.push({originalUrl:u,port:p,path:d,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Yd(s.index,r)}))}return e}function Yk(t){return Qd(t).length>0}function Zd(t){try{let{hostname:e}=new URL(t);return e==="localhost"||e==="127.0.0.1"}catch{return!1}}function Lu(t){return t.trim().toLowerCase().split("_").join("-")}function Gu(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function eg(t,e,n){let r=n.previewUrlTemplate;if(!r||!r.includes("{port}")||!r.includes("{sandbox}"))return null;let s=r.split("{port}").join(String(t)).split("{sandbox}").join(Lu(n.sandboxId));return`${Gu(s)}${e}`}function tg(t){return t.sandboxId.trim().length>0}function be(t,e,n){let r=jt(e);if(!tg(n))return ig(t,r);let s=eg(t,r,n);return s||(Zd(n.apiBaseUrl)?`http://p${t}-${Lu(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${Gu(n.apiBaseUrl)}/p/${n.sandboxId}/${t}${r}`)}function Qk(t,e){if(!t)return;let r=t.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return be(3211,`/open?path=/workspace/${r}`,e)}function ng(t){return`/open?path=/${(t.startsWith("/workspace")?t:`/workspace/${t.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Zk(t){return`http://localhost:3211${ng(t)}`}function rg(){return"/health"}function ew(t){return be(3211,rg(),t)}function tw(t,e){return be(t,"/",e)}function sg(t){let e=$t(t);return!(!e||Fu.has(e.port)||Jd(t))}function Bu(t,e){if(!t)return t;let n=$t(t);return n?sg(n.originalUrl)?be(n.port,n.path,e):n.originalUrl:t}function ig(t,e="/"){return`http://localhost:${t}${e}`}var Nu=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Ku(t){let e=t.match(Ou);if(e)return{port:parseInt(e[1],10),sandboxId:e[2],backendPort:e[3]?parseInt(e[3],10):80,path:e[4]||"/"};let n=t.match(Uu);if(n){let s=443;try{let o=new URL(t);s=o.port?parseInt(o.port,10):o.protocol==="https:"?443:80}catch{return null}return{port:parseInt(n[1],10),sandboxId:n[2],backendPort:s,path:n[4]||"/"}}let r=t.match(Nu);if(r)try{let s=new URL(t);return{port:parseInt(r[2],10),sandboxId:r[1],backendPort:parseInt(s.port,10)||(s.protocol==="https:"?443:80),path:r[3]||"/"}}catch{return null}return null}function nw(t){try{let e=Ku(t);return e?`http://localhost:${e.port}${e.path}`:null}catch{return null}}function rw(t){return Gd(t)||Uu.test(t)||Nu.test(t)}function sw(t){try{let{hostname:e,port:n}=new URL(t);return(e==="localhost"||e==="127.0.0.1")&&n!==""}catch{return!1}}var Xe="/web-proxy/";function iw(t,e){try{let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Xe}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(ce.KORTIX_MASTER,10);return`${be(o,"/",e).replace(/\/$/,"")}${s}`}catch{return null}}function ow(t){try{let e=new URL(t),n=e.pathname.indexOf(Xe);if(n===-1)return null;let s=e.pathname.slice(n+Xe.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],u=s[2],p=s[3]||"/";return`${o}://${u}${p}${e.search}${e.hash}`}catch{return null}}function aw(t){try{return new URL(t).pathname.includes(Xe)}catch{return t.includes(Xe)}}function cw(t){if(!t)return!1;let e=t.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(e)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e))}function lw(t){let e=t.trim();return e?/^https?:\/\//i.test(e)?e:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e)?`https://${e}`:null:null}var Hu="frontend";function Dt(t,e,n){(t==="error"?console.error:t==="warn"?console.warn:t==="debug"?console.debug:console.log)(`[${Hu}] ${e}`,...n?[n]:[]);try{ye().app.log({service:Hu,level:t,message:e,extra:n})}catch{}}var le={debug:(t,e)=>Dt("debug",t,e),info:(t,e)=>Dt("info",t,e),warn:(t,e)=>Dt("warn",t,e),error:(t,e)=>Dt("error",t,e)};function og(t){return{type:"heartbeat-gap",gapMs:t}}function ag(t){switch(t.type){case"message.updated":return{type:"message.updated",sessionID:t.properties.sessionID,message:t.properties.info};case"message.removed":return{type:"message.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:t.properties.sessionID,part:t.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID,partID:t.properties.partID};case"session.status":return{type:"session.status",sessionID:t.properties.sessionID,status:t.properties.status};case"session.idle":return{type:"session.idle",sessionID:t.properties.sessionID};case"session.error":return{type:"session.error",sessionID:t.properties.sessionID,error:t.properties.error};case"question.asked":return{type:"question.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,questions:t.properties.questions,tool:t.properties.tool};case"question.replied":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"replied",answers:t.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,permission:t.properties.permission,patterns:t.properties.patterns,tool:t.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:t.properties.sessionID,requestID:t.properties.requestID,reply:t.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:t.properties.sessionID,todos:t.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var cg={now:()=>Date.now(),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},lg=16,ug=8,pg=6e4,dg=5e3,gg=250,mg=1e3,fg=3e4,yg=5,hg=3e3,bg=3e4,xg=2e4,_g=2e3,Pg=8;function kg(t){if(t.type==="session.status")return`session.status:${t.properties.sessionID}`;if(t.type==="lsp.updated")return"lsp.updated"}function Wu(t){if(t.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let e=()=>{};return{promise:new Promise(r=>{e=()=>r(),t.addEventListener("abort",e,{once:!0})}),cleanup:()=>t.removeEventListener("abort",e)}}var qt=new WeakMap;function wg(t,e,n){let r=e.timers??cg,s=e.connectTimeoutMs??xg,o=e.heartbeatTimeoutMs??pg,u=e.maxConsecutiveHardFailures??Pg,p=new AbortController;function d(l,...y){for(let c of n){let T=l(c);if(T)try{T(...y)}catch(R){console.warn("[opencode-events] subscriber handler threw, skipping",R)}}}let f=r.now(),m=[],b,x=0,C=new Map,I=()=>{if(b&&r.clearTimeout(b),b=void 0,m.length===0)return;let l=m;m=[],C.clear(),x=r.now(),f=r.now();for(let y of l)y&&d(c=>c.onEvent,y.event)},E=()=>{if(b)return;let l=r.now()-x;b=r.setTimeout(I,Math.max(0,lg-l))};return(async()=>{let l=0,y=0;for(;!p.signal.aborted;){let c=!1,T=!1,R,P,j=null,$=r.now(),A=new AbortController,W=Wu(p.signal);W.promise.then(()=>A.abort());try{let M=await new Promise((B,Z)=>{let V=!1;P=r.setTimeout(()=>{V||(V=!0,le.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),A.abort(),Z(new Error(`SSE connect timed out after ${s}ms`)))},s),t.global.event({signal:A.signal,sseDefaultRetryDelay:hg,sseMaxRetryDelay:bg,sseMaxRetryAttempts:1}).then(Y=>{V||(V=!0,r.clearTimeout(P),B(Y))},Y=>{V||(V=!0,r.clearTimeout(P),Z(Y))})}),{stream:N}=M;f=r.now();let U=()=>{r.clearTimeout(R),R=r.setTimeout(()=>{le.warn("SSE heartbeat timeout, forcing reconnect"),A.abort()},o)};U();let J=r.now(),L=N[Symbol.asyncIterator]();for(;!A.signal.aborted;){let B=L.next().then(se=>({kind:"next",result:se}),se=>({kind:"error",error:se})),Z=Wu(A.signal),V=await Promise.race([B,Z.promise.then(()=>({kind:"aborted"}))]);if(Z.cleanup(),V.kind==="aborted")break;if(V.kind==="error")throw V.error;if(V.result.done)break;c=!0,U();let Y=V.result.value,nt=Y&&typeof Y=="object"&&"payload"in Y?Y.payload:Y;if(!nt?.type)continue;let Ht=kg(nt);if(Ht){let se=C.get(Ht);se!==void 0&&(m[se]=void 0),C.set(Ht,m.length)}m.push({type:nt.type,event:nt}),E(),!(r.now()-J<ug)&&(J=r.now(),await new Promise(se=>r.setTimeout(se,0)))}T=c}catch(M){if(p.signal.aborted)break;j=M;let N=String(M),U=N.includes("401")||N.includes("403")||N.includes("Unauthorized")||N.includes("Token refresh failed");if(le.error("SSE event stream error",{error:N,retryCount:l,isAuthError:U}),U)try{lt(),await yr(),le.info("SSE: refreshed auth token after auth error")}catch(J){le.error("SSE: failed to refresh auth token",{error:String(J)})}}finally{r.clearTimeout(R),r.clearTimeout(P),A.abort(),W.cleanup(),I()}if(p.signal.aborted)break;let K=r.now()-$,h=j?.cause?.status;if(y=!c&&(typeof h=="number"&&h>=400||K<_g)?y+1:0,y>=u){le.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:y,lastError:String(j)}),d(M=>M.onParked,{consecutiveFailures:y,lastError:j});break}let H=r.now()-f;H>dg&&d(M=>M.onGapRehydrate,H),T?l=0:(l++,l>1&&le.warn("SSE event stream reconnecting",{retryCount:l}));let Q=T?gg:Math.min(mg*2**Math.min(l-1,yg),fg);await new Promise(M=>{let N=r.setTimeout(M,Q),U=()=>{r.clearTimeout(N),M()};p.signal.addEventListener("abort",U,{once:!0})})}})(),{subscribers:n,teardown:()=>{p.abort(),b&&r.clearTimeout(b)}}}function Zr(t){let{client:e,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=t,u={onEvent:n,onGapRehydrate:r,onParked:s},p=qt.get(e);p?p.subscribers.add(u):(p=wg(e,t,new Set([u])),qt.set(e,p));let d=p,f=!1,m=()=>{f||(f=!0,o&&o.removeEventListener("abort",b),d.subscribers.delete(u),d.subscribers.size===0&&(d.teardown(),qt.get(e)===d&&qt.delete(e)))},b=()=>m();return o&&(o.aborted?m():o.addEventListener("abort",b,{once:!0})),{close:m}}function Sg(){return ye()}var Mt=new Map,Ot=class extends Error{constructor(e){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${e}\`.`),this.name="SessionNotReadyError"}};function vg(t,e){zt(t,e);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new v(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let y=D().backendUrl??t.backendUrl,c=80,T=n(y);return T&&(c=T.port?Number(T.port):T.protocol==="https:"?443:80),Ks({sandboxId:l,apiBaseUrl:y,backendPort:c})}let s={list:ai,get:li,create:ci,updateName:ui,leave:Pi,members:pi,invite:di,removeMember:xi,updateMemberRole:_i,invites:gi,cancelInvite:mi,resendInvite:fi,tokens:{list:Jl,create:Xl,revoke:Yl},audit:{log:tu,export:ru,webhooks:{list:su,create:iu,update:ou,remove:au}}},o={assignments:{list:ql,create:Ml,revoke:Ol},permissions:{list:Ul,forRole:Cl},roles:{list:Sl,create:Al,update:Tl,setPermissions:Il,remove:El,usage:Rl},groups:{list:yl,get:hl,create:bl,update:xl,remove:_l,members:{list:Pl,add:kl,remove:wl}},agentIdentities:vl,can:jl,canBatch:$l},u={accountState:bc,accountStateMinimal:xc,transactions:_c,transactionsSummary:Pc,creditBreakdown:kc,usageHistory:wc,usageRollup:Mc,sessionCosts:{list:Uc,get:Vr},tierConfigurations:Sc,checkout:{createSession:l=>vc(l),confirmSession:(l,y)=>Cc(l,y)},subscription:{createPortalSession:(l,y)=>Rc(l,y),cancel:(l,y)=>Ac(l,y),reactivate:l=>Tc(l),scheduleDowngrade:(l,y,c)=>Ic(l,y,c),cancelScheduledChange:l=>Ec(l),prorationPreview:(l,y)=>jc(l,y)},credits:{purchase:l=>$c(l),autoTopupSettings:l=>Dc(l),configureAutoTopup:l=>qc(l)}},p={describe:yi,accept:hi,decline:bi},d={list:je,listForAccount:Si,get:Ir,detail:Er,create:Ai,createRepo:Ti,provision:Ii,update:Dr,archive:qr,llmCatalog:jr,modelPicker:$r,sandboxHealth:Lr,sandboxTemplates:na,sessions:Ve,createSession:Je},f={linkRepository:qi,getInstallation:Mi,listInstallations:Oi,listLinkableInstallations:Ui,listRepositories:Fi,listRepositoryBranches:Li,linkInstallation:Bi,saveInstallation:Gi,deleteInstallation:Ni},m={list:Kl,create:Hl,revoke:Wl},b=Yo,x={items:l=>uu(l),item:l=>gu(l),itemFile:(l,y)=>mu(l,y),marketplaces:()=>pu(),featured:()=>du(),sources:{list:()=>fu(),add:l=>yu(l),remove:l=>hu(l)}};function C(l){return{catalog:()=>Or(l),tools:()=>Ct(l),search:(...y)=>ko(l,...y),describe:(...y)=>wo(l,...y),call:(...y)=>So(l,...y),uploadAttachment:(...y)=>vo(l,...y)}}function I(l){let y={list:()=>Co(l),listAll:()=>Ro(l),reconcile:(...c)=>Ao(l,...c),reconcileMember:(...c)=>To(l,...c),updateCredential:(...c)=>Io(l,...c),revoke:(...c)=>Eo(l,...c),activate:(...c)=>jo(l,...c),setDefault:(...c)=>$o(l,...c),pipedreamConnect:(...c)=>Do(l,...c),pipedreamFinalize:(...c)=>qo(l,...c)};return{get:c=>Ir(l,c),detail:()=>Er(l),audit:c=>nu(l,c),update:c=>Dr(l,c),archive:()=>qr(l),llmCatalog:()=>jr(l),modelPicker:()=>$r(l),sandboxHealth:()=>Lr(l),onboardingComplete:(...c)=>Di(l,...c),apps:{list:()=>bu(l),create:c=>xu(l,c),get:c=>_u(l,c),update:(...c)=>Pu(l,...c),access:{get:(...c)=>wu(l,...c),update:(...c)=>Su(l,...c),session:(...c)=>vu(l,...c)},remove:c=>ku(l,c),artifacts:{register:c=>Yr(l,c),uploadArchive:(...c)=>Cu(l,...c),finalize:(...c)=>Qr(l,...c)},deployments:{create:(...c)=>Ru(l,...c),list:c=>Au(l,c),get:(...c)=>Tu(l,...c),logs:(...c)=>Iu(l,...c)},start:c=>Eu(l,c),stop:c=>ju(l,c),rollback:(...c)=>$u(l,...c)},tokens:{list:()=>Ql(l),create:c=>Zl(l,c),revoke:c=>eu(l,c)},setupLinks:{requestSecret:c=>cu(l,c),requestConnector:c=>lu(l,c)},validateManifest:c=>Ci(l,c),gitToken:()=>Ri(l),secrets:{list:()=>uo(l),upsert:c=>po(l,c),setStrategy:(...c)=>go(l,...c),broker:(...c)=>mo(l,...c),remove:c=>xo(l,c),setPersonal:(...c)=>_o(l,...c),removePersonal:c=>Po(l,c),setGitCredential:c=>bo(l,c),startProviderOAuth:(...c)=>fo(l,...c),pollProviderOAuth:(...c)=>yo(l,...c),removeProviderOAuth:c=>ho(l,c)},access:{list:()=>zi(l),invite:(...c)=>Xi(l,...c),update:(...c)=>Vi(l,...c),revoke:c=>Ji(l,c),pendingInvites:()=>Yi(l),resendInvite:(...c)=>Zi(l,...c),revokeInvite:(...c)=>Qi(l,...c),requests:()=>Ki(l),approveRequest:(...c)=>Hi(l,...c),rejectRequest:(...c)=>Wi(l,...c),groupGrants:()=>eo(l),attachGroupGrant:(...c)=>to(l,...c),updateGroupGrant:(...c)=>no(l,...c),detachGroupGrant:c=>ro(l,c),resourceGrants:{list:()=>so(l),create:c=>io(l,c),remove:c=>oo(l,c)}},connectors:{...C(l),list:()=>Mo(l),config:(...c)=>No(l,...c),create:(...c)=>Wo(l,...c),remove:(...c)=>Vo(l,...c),sync:()=>Oo(l),auth:{discover:(...c)=>zo(l,...c)},setName:(...c)=>Ko(l,...c),setCredentialMode:(...c)=>Uo(l,...c),setAuthorizationStrategy:(...c)=>Fo(l,...c),setCredential:(...c)=>Qo(l,...c),setSensitive:(...c)=>Lo(l,...c),connections:y,policies:{get:(...c)=>Go(l,...c),set:(...c)=>Bo(l,...c)},pipedream:{listApps:(...c)=>Jo(l,...c),listSections:(...c)=>Xo(l,...c),connect:(...c)=>Ho(l,...c),finalize:(...c)=>Zo(l,...c)},discover:{list:(...c)=>Ur(l,...c),detail:(...c)=>Fr(l,...c)}},policies:{list:()=>ea(l),set:(...c)=>ta(l,...c)},triggers:{list:()=>tc(l),create:(...c)=>nc(l,...c),update:(...c)=>rc(l,...c),remove:(...c)=>sc(l,...c),fire:(...c)=>oc(l,...c),setActivation:(...c)=>ic(l,...c)},files:{list:c=>pa(l,c),read:(c,T)=>ga(l,c,T),search:(...c)=>da(l,...c),archive:(...c)=>ma(l,...c),history:(...c)=>xa(l,...c)},git:{commits:()=>ya(l),commit:c=>ha(l,c),commitDiff:c=>ba(l,c),branches:()=>fa(l),versionDiff:(...c)=>_a(l,...c),inviteCollaborator:(...c)=>vi(l,...c)},changeRequests:{list:()=>Pa(l),get:c=>ka(l,c),diff:c=>wa(l,c),mergePreview:c=>Sa(l,c),open:(...c)=>va(l,...c),merge:(...c)=>Ca(l,...c),close:(...c)=>Ra(l,...c),reopen:(...c)=>Aa(l,...c),requestChanges:(...c)=>Ta(l,...c)},sessions:{list:c=>Ve(l,c),create:c=>Je(l,c),ensureWarm:()=>Oa(l),claimWarm:c=>Ua(l,c)},review:{list:c=>Fl(l,c),get:c=>Ll(l,c),submit:c=>Gl(l,c),act:(...c)=>Bl(l,...c),bulkAct:c=>Nl(l,c)},approvals:{list:c=>ao(l,c),resolve:(...c)=>lo(l,...c),sessionsNeedingInput:c=>co(l,c)},gateway:{logs:c=>nl(l,c),log:c=>rl(l,c),overview:c=>sl(l,c),series:c=>il(l,c),breakdown:c=>ol(l,c),sessions:c=>al(l,c),errors:c=>cl(l,c),budgets:()=>ll(l),setBudget:c=>ul(l,c),deleteBudget:c=>pl(l,c),keys:()=>dl(l),createKey:c=>gl(l,c),revokeKey:c=>ml(l,c),routing:{get:()=>Qc(l),set:c=>Zc(l,c),reset:()=>el(l),preview:c=>tl(l,c)},playground:(c,T,R)=>fl(l,c,T,R)},channels:{slack:{installation:()=>Lc(l),connect:c=>Gc(l,c),mode:()=>Bc(l),manifest:()=>Nc(l),disconnect:()=>Kc(l),getFile:c=>Hc(l,c),uploadFile:c=>Wc(l,c)},email:{installation:c=>zc(l,c),mode:()=>Vc(l),connect:c=>Jc(l,c),disconnect:c=>Xc(l,c),updatePolicy:(...c)=>Yc(l,...c)}},updateFeatureFlag:(...c)=>Ei(l,...c),updateExperimentalFeature:(...c)=>ji(l,...c),modelDefaults:{get:()=>pc(l),set:c=>dc(l,c),clear:c=>gc(l,c)},setDefaultAgent:c=>hc(l,c),sandbox:{list:()=>ua(l),snapshots:()=>ra(l),rebuildSnapshot:c=>sa(l,c),fixWithAgent:()=>ia(l),createTemplate:c=>oa(l,c),updateTemplate:(...c)=>aa(l,...c),removeTemplate:c=>ca(l,c),buildTemplate:c=>la(l,c),setProvider:c=>$i(l,c)},setAgentScope:(...c)=>fc(l,...c),session:c=>E(l,c)}}function E(l,y){let c=null,T,R,P=null;async function j(){P||(P=Br(l,y,{showErrors:!1}).then(h=>{let S=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",H=S.indexOf("/"),Q=H>0&&H<S.length-1?{providerID:S.slice(0,H),modelID:S.slice(H+1)}:void 0,M=h.agent_name?.trim()||void 0;return{model:Q,agent:M}}));try{return await P}catch(h){throw P=null,h}}function $(){if(c)return c;let h=cc(l,y);return h&&(c=h),c}async function A(h){let S=$();if(S)return S;let H=h?.readyTimeoutMs??18e4,Q=mt(D().backendUrl??t.backendUrl).catch(()=>null),M=`${l}
|
|
20
|
+
${y}`,N=Mt.get(M);if(N)return c=await N,await Q,c;let U=(async()=>{let J=Date.now()+H,L=()=>Math.max(0,J-Date.now()),B=await $e(l,y,Math.min(3e4,L()));for(;Date.now()<J&&(B==null||(B.stage==="provisioning"||B.stage==="starting")&&B.retriable);)await new Promise(Y=>setTimeout(Y,Math.min(1e3,L()))),B=await $e(l,y,Math.min(3e4,L()));if(!B||B.stage!=="ready"||!B.sandbox||!B.opencode_session_id)throw new v(`Session runtime not ready (stage: ${B?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let Z=B.sandbox.external_id;if(!Z)throw new v("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let V=ut(Z);return Is(V,Z),{opencodeSessionId:B.opencode_session_id,runtimeUrl:V,sandboxId:Z}})();Mt.set(M,U);try{return c=await U,await Q,c}finally{Mt.get(M)===U&&Mt.delete(M)}}function W(h){let S=$();if(!S)throw new Ot(h);return S}function K(){c=null,uc(l,y)}return{get:h=>Br(l,y,h),cost:()=>Vr(y,{projectId:l}),update:h=>za(l,y,h),delete:()=>(K(),Va(l,y)),start:(...h)=>$e(l,y,...h),restart:()=>(K(),At(l,y)),stop:()=>(K(),Tt(l,y)),configState:()=>Ja(l,y),reloadConfig:h=>(K(),Xa(l,y,h)),reloadConfigStream:(...h)=>(K(),Ya(l,y,...h)),setSharing:h=>ja(l,y,h),previews:()=>$a(l,y),commit:h=>Ia(l,y,h),publicShares:{list:()=>Da(l,y),create:(...h)=>qa(l,y,...h),revoke:(...h)=>Ma(l,y,...h)},audit:(h,S)=>Fa(l,y,h,S),transcript:h=>La(l,y,h),turn:()=>Ga(l,y),prompts:{create:h=>Ba(l,y,h),list:()=>Na(l,y),remove:h=>Ka(l,y,h),retry:h=>Ha(l,y,h),hold:h=>Wa(l,y,h)},ensureReady:A,health:h=>qu($()?.runtimeUrl??null,h),previewUrl:(h,S="/")=>be(h,S,r(W("previewUrl").sandboxId)),proxyUrl:h=>Bu(h,r(W("proxyUrl").sandboxId)),setModel:h=>{T=h},changeModel:async h=>{let S=await ec(l,y,h);return P=null,S},scope:()=>Qa(l,y),rescope:h=>Za(l,y,h),setAgent:h=>{R=h},send:async(h,S)=>{let{opencodeSessionId:H,runtimeUrl:Q}=await A(),M=S?.model??T,N=S?.agent??R,U=M&&N?{}:await j(),J=M??U.model,L=N??U.agent;return oe(Q).session.prompt({sessionID:H,parts:[{type:"text",text:h}],...J?{model:J}:{},...L?{agent:L}:{}})},abort:async()=>{let{opencodeSessionId:h,runtimeUrl:S}=await A();return oe(S).session.abort({sessionID:h})},rewind:async h=>{let{opencodeSessionId:S,runtimeUrl:H}=await A();return oe(H).session.revert({sessionID:S,messageID:h})},restoreRewind:async()=>{let{opencodeSessionId:h,runtimeUrl:S}=await A();return oe(S).session.unrevert({sessionID:h})},stream:async h=>{let{runtimeUrl:S}=await A();return Zr({client:oe(S),onEvent:h.onEvent,onGapRehydrate:h.onGapRehydrate,signal:h.signal})},get runtime(){return oe(W("runtime").runtimeUrl)},files:{list:async h=>_t(h,(await A()).runtimeUrl),read:async h=>Ne(h,(await A()).runtimeUrl),readBlob:async h=>Ke(h,(await A()).runtimeUrl),status:async()=>Pt((await A()).runtimeUrl),findFiles:async(h,S)=>kt(h,S,(await A()).runtimeUrl),findText:async h=>wt(h,(await A()).runtimeUrl),upload:async(h,S,H)=>He(h,S,H,(await A()).runtimeUrl),write:async(h,S)=>We(h,S,(await A()).runtimeUrl),create:async h=>St(h,(await A()).runtimeUrl),copy:async(h,S)=>vt(h,S,(await A()).runtimeUrl),remove:async h=>Ae(h,(await A()).runtimeUrl),mkdir:async h=>ze(h,(await A()).runtimeUrl),rename:async(h,S)=>he(h,S,(await A()).runtimeUrl)}}}return{config:t,accounts:s,iam:o,accountInvites:p,projects:d,connectors:C(),project:I,session:E,github:f,billing:u,sandboxShares:m,connectStatus:b,marketplace:x,validateToken:ki,runtime:Sg}}function Cg(){let t=typeof crypto<"u"?crypto:void 0;if(t?.randomUUID)return t.randomUUID();let e=new Uint8Array(16);if(t?.getRandomValues)t.getRandomValues(e);else for(let r=0;r<16;r++)e[r]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=[...e].map(r=>r.toString(16).padStart(2,"0"));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n.slice(10).join("")}`}var zu={thinking:!1,toolDetails:!0,assistantMetadata:!0};function Rg(t){return t&&t.charAt(0).toUpperCase()+t.slice(1)}function Ag(t){let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let n=Math.floor(e/60),r=e%60;return`${n}m ${r.toFixed(0)}s`}function Tg(t,e){if(t.type==="text"&&!t.synthetic)return`${t.text??""}
|
|
21
21
|
|
|
22
22
|
`;if(t.type==="reasoning")return e.thinking?`> _Thinking:_
|
|
23
23
|
>
|
|
@@ -50,15 +50,15 @@ ${s}
|
|
|
50
50
|
${t.state.error}
|
|
51
51
|
\`\`\`
|
|
52
52
|
`),n+=`
|
|
53
|
-
`,n}return""}function
|
|
53
|
+
`,n}return""}function Ig(t,e){if(!e)return`## Assistant
|
|
54
54
|
|
|
55
|
-
`;let n=t.agent?
|
|
55
|
+
`;let n=t.agent?Rg(t.agent):"Assistant",r=t.modelID||"",s="";t.time?.completed&&t.time?.created&&(s=Ag(t.time.completed-t.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
|
|
56
56
|
|
|
57
57
|
`:`## ${n}
|
|
58
58
|
|
|
59
|
-
`}function
|
|
59
|
+
`}function Eg(t,e,n){let r="";t.role==="user"?r+=`## User
|
|
60
60
|
|
|
61
|
-
`:r+=
|
|
61
|
+
`:r+=Ig(t,n.assistantMetadata);for(let s of e)r+=Tg(s,n);return r}function jg(t,e,n=zu){let r=`# ${t.title||"Untitled Session"}
|
|
62
62
|
|
|
63
63
|
`;r+=`**Session ID:** \`${t.id}\`
|
|
64
64
|
`,r+=`**Created:** ${new Date(t.time.created).toLocaleString()}
|
|
@@ -66,14 +66,14 @@ ${t.state.error}
|
|
|
66
66
|
|
|
67
67
|
`,r+=`---
|
|
68
68
|
|
|
69
|
-
`;for(let s of e)r+=
|
|
69
|
+
`;for(let s of e)r+=Eg(s.info,s.parts,n),r+=`---
|
|
70
70
|
|
|
71
|
-
`;return r}function vg(t,e){return`session-${t}.md`}function Y(t){if(!t)return"An error occurred";if(typeof t=="string"){let e=t.startsWith("Error: ")?t.slice(7):t;try{let n=JSON.parse(e);if(typeof n=="string"){e=n;try{let r=JSON.parse(e);return Xe(r)||e}catch{return e}}return Xe(n)||e}catch{return Cg(e)??e}}return typeof t=="object"?Xe(t)||"An error occurred":String(t)}function Ku(t){let e=t.indexOf("{"),n=t.lastIndexOf("}");if(!(e===-1||n===-1||n<=e))return t.slice(e,n+1)}function Cg(t){let e=Ku(t);if(e)try{return Xe(JSON.parse(e))}catch{return}}function Xe(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t;if(typeof e.message=="string"&&e.message)return e.message;if(typeof e.error=="string"&&e.error)return e.error;let n=e.data;if(typeof n?.message=="string")return n.message;let r=e.error;if(typeof r?.message=="string")return r.message}function Rg(t){if(!Array.isArray(t))return;let e=[];for(let n of t){if(!n||typeof n!="object"||Array.isArray(n))continue;let r=n;!Number.isInteger(r.attempt)||r.attempt<1||typeof r.provider!="string"||!r.provider||typeof r.route_model!="string"||!r.route_model||typeof r.resolved_model!="string"||!r.resolved_model||typeof r.stage!="string"||!r.stage||typeof r.code!="string"&&!(typeof r.code=="number"&&Number.isFinite(r.code))||typeof r.message!="string"||!r.message||r.status!==void 0&&(!Number.isInteger(r.status)||r.status<100||r.status>599)||e.push({attempt:r.attempt,provider:r.provider,routeModel:r.route_model,resolvedModel:r.resolved_model,stage:r.stage,...typeof r.status=="number"?{status:r.status}:{},code:r.code,message:r.message})}return e.length>0?e:void 0}function Qr(t){if(!(typeof t!="string"||!t))try{return JSON.parse(t)}catch{return}}function Nu(t){let e=typeof t.provider=="string"&&t.provider?t.provider:void 0,n=typeof t.code=="string"&&t.code?t.code:void 0,r=typeof t.suggestion=="string"&&t.suggestion?t.suggestion:void 0,s=typeof t.upstream_status=="number"?t.upstream_status:void 0,o=typeof t.request_id=="string"&&t.request_id?t.request_id:void 0,u=Rg(t.attempt_failures);return!e&&!n&&!r&&s===void 0&&!o&&!u?void 0:{message:typeof t.message=="string"&&t.message||Xe(t)||"",provider:e,code:n,suggestion:r,upstreamStatus:s,requestId:o,attemptFailures:u}}function le(t){if(t==null)return;if(typeof t=="string"){let u=t.startsWith("Error: ")?t.slice(7):t,p=Qr(u)??Qr(Ku(u));return p!==void 0?le(p):void 0}if(typeof t!="object")return;let e=t,n=Nu(e);if(n)return n;let r=e.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Nu(r);if(u)return u}let s=e.data;if(s&&typeof s.responseBody=="string"){let u=Qr(s.responseBody);if(u!==void 0){let p=le(u);if(p)return p}}let o=e.cause;if(o&&typeof o=="object"){let u=o.body;if(u!==void 0){let p=le(u);if(p)return p}}}var Ag={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"}},Tg=[{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 Ig(t){return t.replace(/^oc[-_]/,"")}function Mt(t){return Ig(t).replace(/-/g,"_")}function Yr(t){return Mt(t).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Zr(t){let e=Mt(t),n=Ag[e];if(n)return n;for(let{prefix:r,category:s}of Tg)if(e.startsWith(r))return{label:Yr(t),category:s};return{label:Yr(t),category:"other"}}var Eg=256*1024;function jg(t){switch(t.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return t}}function $g(t){if(t===void 0)return{};if(t.length>Eg)return{outputText:t};try{return{outputParsed:JSON.parse(t),outputText:t}}catch{return{outputText:t}}}function Dg(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t,n=e.success===!1,r=e.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Y(r):typeof e.message=="string"&&e.message?e.message:"Tool reported failure"}function qg(t,e){let n="title"in e?e.title:void 0,r=e.status==="completed"?e.output:void 0,{outputParsed:s,outputText:o}=$g(r),u=jg(e),p=e.status==="error"?e.error:void 0;if(u==="done"){let d=Dg(s);d&&(u="error",p=d)}return{name:t,title:n||Zr(t).label,status:u,input:e.input,output:r,outputParsed:s,outputText:o,error:p}}function Mg(t){return{kind:"text",id:t.id,text:t.text,synthetic:!!t.synthetic}}function Og(t){return{kind:"reasoning",id:t.id,text:t.text}}function Ug(t){return{kind:"tool",id:t.id,tool:qg(t.tool,t.state)}}function Fg(t){let e=t.mime;return{kind:"file",id:t.id,filename:t.filename,mime:e,url:t.url,isImage:e.startsWith("image/"),isPdf:e==="application/pdf"}}function Lg(t){return{kind:"subtask",id:t.id,description:t.description,agent:t.agent,prompt:t.prompt,model:t.model}}function Gg(t){return{kind:"patch",id:t.id,hash:t.hash,files:t.files,fileCount:t.files.length}}function Bg(t){return{kind:"snapshot",id:t.id,snapshot:t.snapshot}}function Ng(t){return{kind:"agent",id:t.id,name:t.name}}function Kg(t){return{kind:"retry",id:t.id,attempt:t.attempt,message:Y(t.error),createdAt:t.time.created}}function Hg(t){return{kind:"compaction",id:t.id,auto:t.auto,overflow:!!t.overflow,tailStartId:t.tail_start_id}}function Wg(t){return{kind:"step",id:t.id,phase:"start",snapshot:t.snapshot}}function zg(t){return{kind:"step",id:t.id,phase:"finish",snapshot:t.snapshot,reason:t.reason,cost:t.cost,tokens:t.tokens}}function Hu(t){switch(t.type){case"text":return Mg(t);case"reasoning":return Og(t);case"tool":return Ug(t);case"file":return Fg(t);case"subtask":return Lg(t);case"patch":return Gg(t);case"snapshot":return Bg(t);case"agent":return Ng(t);case"retry":return Kg(t);case"compaction":return Hg(t);case"step-start":return Wg(t);case"step-finish":return zg(t);default:return{kind:"unknown",raw:t}}}function Vg(t){if(!t)return;let e=typeof t=="object"&&"name"in t&&typeof t.name=="string"?t.name:"Error",n=le(t);return{name:e,message:n?.message||Y(t),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function Jg(t){switch(t.kind){case"text":case"reasoning":return t.text.trim().length>0;case"step":return!1;default:return!0}}function Xg(t){let e=t.parts.map(Hu),n=t.info.role==="assistant"?t.info.error:void 0,r=Vg(n),s=!r&&!e.some(Jg);return{parts:e,error:r,isEmpty:s}}function _e(t){return t.type==="text"}function es(t){return t.type==="reasoning"}function ue(t){return t.type==="tool"}function Qg(t){return t.type==="file"}function Cw(t){return t.type==="agent"}function Rw(t){return t.type==="compaction"}function Aw(t){return t.type==="snapshot"}function Tw(t){return t.type==="patch"}function Iw(t){if(_e(t)||es(t))return t.text}function Yg(t){if(!Qg(t))return!1;let e=t.mime;return e.startsWith("image/")||e==="application/pdf"}function Ew(t){let e=[],n=[];for(let r of t)Yg(r)?e.push(r):n.push(r);return{attachments:e,stickyParts:n}}function jw(t,e){let n=[];return t?.tool&&n.push(t.tool),e?.tool&&n.push(e.tool),n}function $w(t,e,n){return n.some(r=>r.messageID===e&&r.callID===t.callID)}var Zg=new Set(["todoread","context_info"]);function em(t){return!Zg.has(t.tool)}function Dw(t){let e=t.tool||"";if(e==="task"||e==="agent_spawn"||e==="agent-spawn"||e==="agent_message"||e==="agent-message"||e==="agent_task"||e==="agent-task"||e==="agent_task_update"||e==="agent-task-update"||e==="agent_task_message"||e==="agent-task-message"||e==="agent_task_start"||e==="agent-task-start"||e==="task_create"||e==="task-create"||e==="task_start"||e==="task-start"||e==="task_update"||e==="task-update"||e==="task_message"||e==="task-message"){let r=t.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=t.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let o=t.state?.output;if(o){let u=o.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=t.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=t.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function qw(t){if(t)for(let e=t.length-1;e>=0;e--){let n=t[e]?.info;if(n?.role==="assistant"&&n.error)return Y(n.error)}}function Mw(t){let e=[];for(let n of t)if(n.info.role==="assistant")for(let r of n.parts)ue(r)&&em(r)&&e.push(r);return e}function Ow(t,e={}){switch(t){case"read":return{icon:"glasses",title:"Read",subtitle:tm(e.filePath)};case"list":return{icon:"list",title:"List",subtitle:nm(e.path)};case"glob":return{icon:"search",title:"Glob",subtitle:e.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:e.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:e.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:e.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:e.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:e.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:e.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:e.prompt?.slice?.(0,40)};case"presentation-gen":{let n=e.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:e.slide_title||e.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:e.title||e.description};case"task":return{icon:"square-kanban",title:`Agent (${e.subagent_type||"task"})`,subtitle:rm(e)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${e.agent||"KortixWorker"})`,subtitle:e.description||e.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:e.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:Wu(e.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Wu(e.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:e.files?.length?`${e.files.length} file${e.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:e.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:e.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${e.mode||"summary"})`,subtitle:e.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:e.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:e.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:e.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:e.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:e.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:e.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:e.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:e.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:e.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:e.name||e.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:e.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:e.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:e.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:e.name||e.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:e.name||e.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:e.name||e.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:e.name||e.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:e.name||e.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:e.name||e.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${e.agent_type||"worker"})`,subtitle:e.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:e.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:e.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:e.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:e.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:e.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:e.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:e.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:e.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:e.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:e.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:e.title||e.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:e.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:e.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:e.id};default:return{icon:"cpu",title:t}}}function tm(t){if(!t)return;let e=t.split("/");return e[e.length-1]||t}function Wu(t){if(!t)return;let e=t.split("/"),n=e[e.length-1]||t;if(e.length<=1)return n;let r=e[e.length-2];return r?`${n} /${r}`:n}function nm(t){if(!t)return;let e=t.lastIndexOf("/");if(!(e<0))return t.slice(0,e)||"/"}function Uw(t,e){if(!e)return t;if(t.startsWith(e)){let n=t.slice(e.length);return n.startsWith("/")?n.slice(1):n}return t}function Qe(t,e=120){if(typeof t!="string")return"";let n=t.split(`
|
|
72
|
-
`).map(r=>r.trim()).find(Boolean);return n?n.length>e?`${n.slice(0,e).trim()}\u2026`:n:""}function
|
|
73
|
-
\u2026`:t}function
|
|
71
|
+
`;return r}function $g(t,e){return`session-${t}.md`}function ee(t){if(!t)return"An error occurred";if(typeof t=="string"){let e=t.startsWith("Error: ")?t.slice(7):t;try{let n=JSON.parse(e);if(typeof n=="string"){e=n;try{let r=JSON.parse(e);return Ye(r)||e}catch{return e}}return Ye(n)||e}catch{return Dg(e)??e}}return typeof t=="object"?Ye(t)||"An error occurred":String(t)}function Ju(t){let e=t.indexOf("{"),n=t.lastIndexOf("}");if(!(e===-1||n===-1||n<=e))return t.slice(e,n+1)}function Dg(t){let e=Ju(t);if(e)try{return Ye(JSON.parse(e))}catch{return}}function Ye(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t;if(typeof e.message=="string"&&e.message)return e.message;if(typeof e.error=="string"&&e.error)return e.error;let n=e.data;if(typeof n?.message=="string")return n.message;let r=e.error;if(typeof r?.message=="string")return r.message}function qg(t){if(!Array.isArray(t))return;let e=[];for(let n of t){if(!n||typeof n!="object"||Array.isArray(n))continue;let r=n;!Number.isInteger(r.attempt)||r.attempt<1||typeof r.provider!="string"||!r.provider||typeof r.route_model!="string"||!r.route_model||typeof r.resolved_model!="string"||!r.resolved_model||typeof r.stage!="string"||!r.stage||typeof r.code!="string"&&!(typeof r.code=="number"&&Number.isFinite(r.code))||typeof r.message!="string"||!r.message||r.status!==void 0&&(!Number.isInteger(r.status)||r.status<100||r.status>599)||e.push({attempt:r.attempt,provider:r.provider,routeModel:r.route_model,resolvedModel:r.resolved_model,stage:r.stage,...typeof r.status=="number"?{status:r.status}:{},code:r.code,message:r.message})}return e.length>0?e:void 0}function es(t){if(!(typeof t!="string"||!t))try{return JSON.parse(t)}catch{return}}function Vu(t){let e=typeof t.provider=="string"&&t.provider?t.provider:void 0,n=typeof t.code=="string"&&t.code?t.code:void 0,r=typeof t.suggestion=="string"&&t.suggestion?t.suggestion:void 0,s=typeof t.upstream_status=="number"?t.upstream_status:void 0,o=typeof t.request_id=="string"&&t.request_id?t.request_id:void 0,u=qg(t.attempt_failures);return!e&&!n&&!r&&s===void 0&&!o&&!u?void 0:{message:typeof t.message=="string"&&t.message||Ye(t)||"",provider:e,code:n,suggestion:r,upstreamStatus:s,requestId:o,attemptFailures:u}}function ue(t){if(t==null)return;if(typeof t=="string"){let u=t.startsWith("Error: ")?t.slice(7):t,p=es(u)??es(Ju(u));return p!==void 0?ue(p):void 0}if(typeof t!="object")return;let e=t,n=Vu(e);if(n)return n;let r=e.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Vu(r);if(u)return u}let s=e.data;if(s&&typeof s.responseBody=="string"){let u=es(s.responseBody);if(u!==void 0){let p=ue(u);if(p)return p}}let o=e.cause;if(o&&typeof o=="object"){let u=o.body;if(u!==void 0){let p=ue(u);if(p)return p}}}var Mg={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"}},Og=[{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 Ug(t){return t.replace(/^oc[-_]/,"")}function Ut(t){return Ug(t).replace(/-/g,"_")}function ts(t){return Ut(t).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function ns(t){let e=Ut(t),n=Mg[e];if(n)return n;for(let{prefix:r,category:s}of Og)if(e.startsWith(r))return{label:ts(t),category:s};return{label:ts(t),category:"other"}}var Fg=256*1024;function Lg(t){switch(t.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return t}}function Gg(t){if(t===void 0)return{};if(t.length>Fg)return{outputText:t};try{return{outputParsed:JSON.parse(t),outputText:t}}catch{return{outputText:t}}}function Bg(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t,n=e.success===!1,r=e.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?ee(r):typeof e.message=="string"&&e.message?e.message:"Tool reported failure"}function Ng(t,e){let n="title"in e?e.title:void 0,r=e.status==="completed"?e.output:void 0,{outputParsed:s,outputText:o}=Gg(r),u=Lg(e),p=e.status==="error"?e.error:void 0;if(u==="done"){let d=Bg(s);d&&(u="error",p=d)}return{name:t,title:n||ns(t).label,status:u,input:e.input,output:r,outputParsed:s,outputText:o,error:p}}function Kg(t){return{kind:"text",id:t.id,text:t.text,synthetic:!!t.synthetic}}function Hg(t){return{kind:"reasoning",id:t.id,text:t.text}}function Wg(t){return{kind:"tool",id:t.id,tool:Ng(t.tool,t.state)}}function zg(t){let e=t.mime;return{kind:"file",id:t.id,filename:t.filename,mime:e,url:t.url,isImage:e.startsWith("image/"),isPdf:e==="application/pdf"}}function Vg(t){return{kind:"subtask",id:t.id,description:t.description,agent:t.agent,prompt:t.prompt,model:t.model}}function Jg(t){return{kind:"patch",id:t.id,hash:t.hash,files:t.files,fileCount:t.files.length}}function Xg(t){return{kind:"snapshot",id:t.id,snapshot:t.snapshot}}function Yg(t){return{kind:"agent",id:t.id,name:t.name}}function Qg(t){return{kind:"retry",id:t.id,attempt:t.attempt,message:ee(t.error),createdAt:t.time.created}}function Zg(t){return{kind:"compaction",id:t.id,auto:t.auto,overflow:!!t.overflow,tailStartId:t.tail_start_id}}function em(t){return{kind:"step",id:t.id,phase:"start",snapshot:t.snapshot}}function tm(t){return{kind:"step",id:t.id,phase:"finish",snapshot:t.snapshot,reason:t.reason,cost:t.cost,tokens:t.tokens}}function Xu(t){switch(t.type){case"text":return Kg(t);case"reasoning":return Hg(t);case"tool":return Wg(t);case"file":return zg(t);case"subtask":return Vg(t);case"patch":return Jg(t);case"snapshot":return Xg(t);case"agent":return Yg(t);case"retry":return Qg(t);case"compaction":return Zg(t);case"step-start":return em(t);case"step-finish":return tm(t);default:return{kind:"unknown",raw:t}}}function nm(t){if(!t)return;let e=typeof t=="object"&&"name"in t&&typeof t.name=="string"?t.name:"Error",n=ue(t);return{name:e,message:n?.message||ee(t),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function rm(t){switch(t.kind){case"text":case"reasoning":return t.text.trim().length>0;case"step":return!1;default:return!0}}function sm(t){let e=t.parts.map(Xu),n=t.info.role==="assistant"?t.info.error:void 0,r=nm(n),s=!r&&!e.some(rm);return{parts:e,error:r,isEmpty:s}}function xe(t){return t.type==="text"}function rs(t){return t.type==="reasoning"}function pe(t){return t.type==="tool"}function im(t){return t.type==="file"}function Uw(t){return t.type==="agent"}function Fw(t){return t.type==="compaction"}function Lw(t){return t.type==="snapshot"}function Gw(t){return t.type==="patch"}function Bw(t){if(xe(t)||rs(t))return t.text}function om(t){if(!im(t))return!1;let e=t.mime;return e.startsWith("image/")||e==="application/pdf"}function Nw(t){let e=[],n=[];for(let r of t)om(r)?e.push(r):n.push(r);return{attachments:e,stickyParts:n}}function Kw(t,e){let n=[];return t?.tool&&n.push(t.tool),e?.tool&&n.push(e.tool),n}function Hw(t,e,n){return n.some(r=>r.messageID===e&&r.callID===t.callID)}var am=new Set(["todoread","context_info"]);function cm(t){return!am.has(t.tool)}function Ww(t){let e=t.tool||"";if(e==="task"||e==="agent_spawn"||e==="agent-spawn"||e==="agent_message"||e==="agent-message"||e==="agent_task"||e==="agent-task"||e==="agent_task_update"||e==="agent-task-update"||e==="agent_task_message"||e==="agent-task-message"||e==="agent_task_start"||e==="agent-task-start"||e==="task_create"||e==="task-create"||e==="task_start"||e==="task-start"||e==="task_update"||e==="task-update"||e==="task_message"||e==="task-message"){let r=t.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=t.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let o=t.state?.output;if(o){let u=o.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=t.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=t.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function zw(t){if(t)for(let e=t.length-1;e>=0;e--){let n=t[e]?.info;if(n?.role==="assistant"&&n.error)return ee(n.error)}}function Vw(t){let e=[];for(let n of t)if(n.info.role==="assistant")for(let r of n.parts)pe(r)&&cm(r)&&e.push(r);return e}function Jw(t,e={}){switch(t){case"read":return{icon:"glasses",title:"Read",subtitle:lm(e.filePath)};case"list":return{icon:"list",title:"List",subtitle:um(e.path)};case"glob":return{icon:"search",title:"Glob",subtitle:e.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:e.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:e.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:e.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:e.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:e.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:e.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:e.prompt?.slice?.(0,40)};case"presentation-gen":{let n=e.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:e.slide_title||e.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:e.title||e.description};case"task":return{icon:"square-kanban",title:`Agent (${e.subagent_type||"task"})`,subtitle:pm(e)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${e.agent||"KortixWorker"})`,subtitle:e.description||e.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:e.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:Yu(e.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Yu(e.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:e.files?.length?`${e.files.length} file${e.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:e.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:e.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${e.mode||"summary"})`,subtitle:e.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:e.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:e.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:e.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:e.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:e.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:e.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:e.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:e.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:e.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:e.name||e.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:e.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:e.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:e.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:e.name||e.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:e.name||e.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:e.name||e.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:e.name||e.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:e.name||e.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:e.name||e.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${e.agent_type||"worker"})`,subtitle:e.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:e.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:e.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:e.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:e.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:e.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:e.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:e.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:e.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:e.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:e.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:e.title||e.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:e.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:e.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:e.id};default:return{icon:"cpu",title:t}}}function lm(t){if(!t)return;let e=t.split("/");return e[e.length-1]||t}function Yu(t){if(!t)return;let e=t.split("/"),n=e[e.length-1]||t;if(e.length<=1)return n;let r=e[e.length-2];return r?`${n} /${r}`:n}function um(t){if(!t)return;let e=t.lastIndexOf("/");if(!(e<0))return t.slice(0,e)||"/"}function Xw(t,e){if(!e)return t;if(t.startsWith(e)){let n=t.slice(e.length);return n.startsWith("/")?n.slice(1):n}return t}function Qe(t,e=120){if(typeof t!="string")return"";let n=t.split(`
|
|
72
|
+
`).map(r=>r.trim()).find(Boolean);return n?n.length>e?`${n.slice(0,e).trim()}\u2026`:n:""}function pm(t){let e=Qe(t.description);if(e)return e;let n=Qe(t.title,80);if(n)return n;let r=Qe(t.message);if(r)return r;let s=Qe(t.prompt);if(s)return s;let o=Qe(t.agent_id,40);return o?`Agent ${o}`:"Worker task"}function Yw(t,e){return!t||!e?[]:(t[e]??[]).filter(r=>r.severity===1).slice(0,3)}function Qw(t,e){return t.find(n=>n.tool?.callID===e)}function Zw(t,e){return t.find(n=>n.tool?.callID===e)}var dm=/\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 eS(t){return t?t.replace(dm,""):""}var gm=/^msg_[0-9a-f]{12}/;function Qu(t){return gm.test(t)?0:1}function Zu(t,e){return t<e?-1:t>e?1:0}function mm(t,e){let n=Qu(t.info.id),r=Qu(e.info.id);if(n!==r)return n-r;if(n===0)return Zu(t.info.id,e.info.id);let s=typeof t.info.time?.created=="number"?t.info.time.created:null,o=typeof e.info.time?.created=="number"?e.info.time.created:null;return s===null&&o===null?0:s===null?1:o===null?-1:s!==o?s<o?-1:1:Zu(t.info.id,e.info.id)}function rS(t){let e=[...t].sort(mm),n=[],r=new Map;for(let o of e)if(o.info.role==="user"){if(r.has(o.info.id))continue;let u={userMessage:o,assistantMessages:[]};n.push(u),r.set(o.info.id,u)}let s=null;for(let o of e){if(o.info.role==="user"){s=r.get(o.info.id)??null;continue}if(o.info.role!=="assistant")continue;let u=o.info;if(u.parentID){let d=r.get(u.parentID);if(d){d.assistantMessages.push(o);continue}}if(s){s.assistantMessages.push(o);continue}if(n.length>0){n[0].assistantMessages.unshift(o);continue}let p={userMessage:o,assistantMessages:[]};n.push(p)}return n}function sS(t){let e=[];for(let n of t.assistantMessages)for(let r of n.parts)e.push({part:r,message:n});return e}function iS(t){for(let e=t.length-1;e>=0;e--){let n=t[e].part;if(xe(n)&&n.text?.trim())return n}}function oS(t){return t.some(({part:e})=>e.type==="tool"||e.type==="compaction"||e.type==="snapshot"||e.type==="patch")}function aS(t,e,n){if(n)return[];let r=[];for(let s of t.assistantMessages)for(let o of s.parts){if(!pe(o))continue;let u=o,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:o,message:s})}return r}function cS(t){let e=new Map;for(let n of t){if(!n.parentID)continue;let r=e.get(n.parentID);r?r.push(n.id):e.set(n.parentID,[n.id])}return e}function lS(t){let e=t-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,o=r.time.updated??r.time.created,u=s>e,p=o>e;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:o-s}}function fm(t,e){let n=t.get(e);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(...fm(t,s));return r}function ym(t){if(!t||typeof t!="object")return!1;let e=t.data;return!!e&&typeof e=="object"&&e.isRetryable===!0}function pS(t){if(!t?.length)return!1;for(let e=t.length-1;e>=0;e--){let n=t[e].info;if(n.role==="assistant")return!n.time?.completed&&ym(n.error)}return!1}function hm(t){let e=t.userMessage.parts;if(e.length===0||!e.every(o=>xe(o)&&o.synthetic)||t.assistantMessages.length!==1)return!1;let r=t.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return pe(s)&&s.tool==="bash"}function mS(t){if(hm(t))return t.assistantMessages[0].parts[0]}function bS(t,e){for(let n=e.length-1;n>=0;n--)if(e[n].info.role==="user")return e[n].info.id===t;return!1}function xS(t,e){return!e||!t?!1:t.type!=="idle"}function _S(t,e){return!t&&!!e}function PS(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return ee(n.error)}}function kS(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return ue(n.error)}}function ep(t){if(t){if(pe(t))switch(t.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Handing off to an agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Handing off to an agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating progress...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Checking in with an agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Starting a new task...";case"task_list":case"task-list":return"Reviewing the task list...";case"task_done":case"task-done":return"Updating progress...";case"todowrite":case"todoread":return"Planning...";case"read":return"Reading files...";case"list":case"grep":case"glob":return"Searching files...";case"webfetch":case"scrape-webpage":return"Reading a web page...";case"websearch":case"web-search":case"web_search":return"Searching the web...";case"image-search":return"Searching for images...";case"image-gen":return"Creating an image...";case"video-gen":return"Creating a video...";case"presentation-gen":return"Creating a presentation...";case"show":case"show-user":return"Sharing the result...";case"edit":case"write":case"morph_edit":return"Making changes...";case"bash":return"Working on the computer...";case"apply_patch":return"Making changes...";case"prune":return"Tidying up memory...";case"distill":return"Tidying up memory...";case"compress":return"Tidying up memory...";case"context_info":return"Refreshing memory...";default:return"Working on it..."}if(rs(t)){let e=t.text?.trimStart();if(e){let n=e.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(xe(t))return"Gathering thoughts..."}}function wS(t,e){for(let n=t.length-1;n>=0;n--){let r=t[n].part,s=pe(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&e&&e.length>0){for(let u=e.length-1;u>=0;u--){let p=e[u];if(p.info.role==="assistant")for(let d=p.parts.length-1;d>=0;d--){let f=ep(p.parts[d]);if(f)return f}}return"Handing off to an agent..."}let o=ep(r);if(o)return o}return"Figuring out what\u2019s next..."}function SS(t){if(!Number.isFinite(t)||t<1e3)return"";let e=Math.floor(t/1e3);if(e<60)return`${e}s`;let n=Math.floor(e/60),r=e%60;return r>0?`${n}m ${r}s`:`${n}m`}var tp=1.2;function np(t,e){if(!t)return 0;let n=t.input??0,r=(t.output??0)+(t.reasoning??0),s=t.cache?.read??0,o=t.cache?.write??0,u=Math.max(0,n-s-o),d=[...e.tiers??[],...e.contextOver200k?[e.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,b)=>b.contextThreshold-m.contextThreshold)[0]??e,f=u/1e6*d.inputPer1M;return f+=r/1e6*d.outputPer1M,s>0&&(f+=s/1e6*(d.cacheReadPer1M??d.inputPer1M)),o>0&&(f+=o/1e6*(d.cacheWritePer1M??d.inputPer1M)),f}function rp(t,e,n,r){let s=t.cost||0;if(s>0)return s;if(!r||!e||!n)return 0;let o=r(e,n);return o?np(t.tokens,o):0}function sp(t){if(t.role!=="assistant")return{};let e=t;return{providerID:e.providerID,modelID:e.modelID}}function vS(t,e){let n=0,r=0,s=0,o=0,u=0,p=0,d=!1;for(let{part:f,message:m}of t)if(f.type==="step-finish"){d=!0;let b=f,{providerID:x,modelID:C}=sp(m.info);n+=rp(b,x,C,e),r+=b.tokens?.input||0,s+=b.tokens?.output||0,o+=b.tokens?.reasoning||0,u+=b.tokens?.cache?.read||0,p+=b.tokens?.cache?.write||0}if(!d)for(let{message:f}of t){if(f.info.role!=="assistant")continue;let m=f.info,b=ip(m,e);if(b<=0)continue;d=!0,n+=b;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,o+=x.reasoning??0,u+=x.cache?.read??0,p+=x.cache?.write??0)}if(d)return{cost:n*tp,tokens:{input:r,output:s,reasoning:o,cacheRead:u,cacheWrite:p}}}function ip(t,e){if(!e||!t.providerID||!t.modelID||!t.tokens)return 0;let n=e(t.providerID,t.modelID);return n?np({input:t.tokens.input,output:t.tokens.output,reasoning:t.tokens.reasoning,cache:t.tokens.cache},n):0}function CS(t,e){let n=0;for(let r of t){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:u}=sp(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=rp(f,o,u,e));d||(p+=ip(s,e)),n+=p}return n*tp}function RS(t){return t===0?"$0.00":t<.001?`$${t.toFixed(4)}`:t<.01?`$${t.toFixed(3)}`:`$${t.toFixed(2)}`}function AS(t){return t<1e3?String(t):t<1e4?`${(t/1e3).toFixed(1)}k`:`${Math.round(t/1e3)}k`}function TS(t){if(!t||t.type!=="retry")return;let e=t,n=ee(e.message);return{attempt:e.attempt,message:n.length>60?`${n.slice(0,60)}...`:n,next:e.next,details:ue(e.message)}}function IS(t){if(!(!t||t.type!=="retry"))return ee(t.message)}function ES(t){return(t.info.summary?.diffs?.length??0)>0}var bm=4e3;function Ze(t,e=bm){return t.length>e?`${t.slice(0,e)}
|
|
73
|
+
\u2026`:t}function op(t){if(t!==void 0)try{return Ze(JSON.stringify(t,null,2))}catch{return}}function F(...t){for(let e of t)if(typeof e=="string"&&e.length>0)return e}function De(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:void 0}function xm(t){let e=F(t.input?.query)??"";if(t.status==="error")return{kind:"web-search",query:e,error:t.error??"Search failed"};let n=De(t.outputParsed);if(!n)return{kind:"web-search",query:e};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(o=>{let u=De(o)??{};return{title:F(u.title)??"",url:F(u.url,u.link)??"",snippet:F(u.snippet,u.description,u.source)}});return{kind:"web-search",query:F(n.query)??e,results:s.length>0?s:void 0,answer:F(n.answer)}}var _m=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function cp(t){let e=t.match(_m);return e?Number(e[1]):void 0}function Pm(t,e,n){let r="",s=0;for(;;){let o=t.indexOf(e,s);if(o===-1)return r+t.slice(s);let u=t.indexOf(n,o+e.length);if(u===-1)return r+t.slice(s);r+=t.slice(s,o),s=u+n.length}}var km=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function wm(t){let e=-1;for(let n of km){let r=t.indexOf(n);r!==-1&&(e===-1||r<e)&&(e=r)}return e===-1?t:t.slice(0,e)}var Sm=/\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 vm(t){return t.replace(Sm,"")}function Cm(t){let e=F(t.input?.command)??"",n=t.output??"",r=cp(n),o=vm(wm(Pm(n,"<bash_metadata>","</bash_metadata>"))).trim()||(t.status==="error"?t.error:void 0);return{kind:"shell",command:e,stdout:o||void 0,exitCode:r}}function is(t){return F(t.input?.filePath,t.input?.file_path,t.input?.path)??""}function Rm(t){let e=t.status==="error"?t.error:t.output&&Ze(t.output)||void 0;return{kind:"file-read",path:is(t),preview:e}}function Am(t){let e=F(t.input?.content),n=t.status==="error"?t.error:Ze(e??t.output??"")||void 0;return{kind:"file-write",path:is(t),preview:n}}var Tm=256*1024;function Im(t,e){if(t.length+e.length>Tm)return;let n=t.split(`
|
|
74
74
|
`),r=e.split(`
|
|
75
|
-
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,u=r.length;for(;o>s&&u>s&&n[o-1]===r[u-1];)o--,u--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<u;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function
|
|
76
|
-
`).map(e=>e.trim()).filter(e=>e.startsWith("/")||e.startsWith("./")||e.startsWith("~")).map(e=>({path:e}))}function Cm(t){let e=L(t.input?.pattern,t.input?.query)??"";if(t.status==="error"||!t.output)return{kind:"search",pattern:e};let n=rp.test(t.output.trim())?Sm(t.output):vm(t.output);return{kind:"search",pattern:e,matches:n.length>0?n.slice(0,200):void 0}}function Rm(t){let e=L(t.input?.description,t.input?.title,t.input?.prompt)??t.title,n=L(t.input?.subagent_type,t.input?.agent);return{kind:"task",description:e,agent:n}}function ts(t){let e=qe(t)??{};return{content:L(e.content)??"",status:L(e.status)??"pending",priority:L(e.priority)}}function Am(t){let e=t.input?.todos;if(Array.isArray(e))return{kind:"todo",items:e.map(ts)};if(Array.isArray(t.outputParsed))return{kind:"todo",items:t.outputParsed.map(ts)};let n=qe(t.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(ts)}:{kind:"todo",items:[]}}function Tm(t){return{kind:"question",questions:(Array.isArray(t.input?.questions)?t.input.questions:[]).map(r=>{let s=qe(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=qe(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:u}})}}function Im(t){let n=t.input&&Object.keys(t.input).length>0?ep(t.input):void 0,r;return t.outputParsed!==void 0?r=typeof t.outputParsed=="string"?Ye(t.outputParsed):ep(t.outputParsed):t.outputText!==void 0?r=Ye(t.outputText):r=t.error,{kind:"generic",label:t.title,inputPretty:n,outputPretty:r}}function Em(t){switch(Mt(t.name)){case"web_search":case"websearch":case"image_search":return um(t);case"bash":return hm(t);case"read":return bm(t);case"write":return xm(t);case"edit":case"morph_edit":return km(t);case"grep":case"glob":return Cm(t);case"task":return Rm(t);case"todowrite":return Am(t);case"question":case"ask":return Tm(t);default:return Im(t)}}var jm=new Set(["AbortError","MessageAbortedError"]),$m=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],Dm=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function sp(t){let e=t.toLowerCase();return Dm.some(n=>e.includes(n))?!1:$m.some(n=>e.includes(n))}function qm(t){let e=t.data,n=e&&typeof e=="object"?e.message:void 0;return typeof n=="string"?n:typeof t.message=="string"?t.message:void 0}function wS(t){if(typeof t=="string")return sp(t);if(!t||typeof t!="object")return!1;let e=t,n=e.name;if(typeof n=="string"&&jm.has(n))return!0;let r=qm(e);return typeof r=="string"?sp(r):!1}var Mm=["user","runtime-disposed","orphan-finalized","wake"],SS=["orphan-finalized","wake"];function vS(t){if(!t||typeof t!="object")return;let e=t.data;if(!e||typeof e!="object")return;let n=e.reason;if(!(typeof n!="string"||!n))return Mm.includes(n)?n:void 0}function Ot(t){try{return typeof process<"u"?process.env?.[t]:void 0}catch{return}}function Om(t,e){if(t==null)return e;let n=t.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:e}function IS(t){if(t==null)return;let e=t.trim().toLowerCase();if(["1","true","yes","y","on"].includes(e))return!0;if(["0","false","no","n","off"].includes(e))return!1}function rs(t,e,n){return t!==void 0?t:Om(Ot(e),n)}var ES={get disableMobileAdvertising(){return rs($().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return rs($().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return rs($().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var Ut="kortix-active-instance",Um=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Fm(t){return Um.some(e=>t===e||t.startsWith(`${e}/`))}function Ze(t){let e=t.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!e)return null;let n=decodeURIComponent(e[1]),r=e[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function $S(t){let e=Ze(t);return!!e&&e.innerPath===""}function DS(t){let e=Ze(t);return!e||!e.innerPath?t:e.innerPath}function Lm(t,e){if(!t)return e;if(e.startsWith("/")||(e=`/${e}`),e.startsWith("/instances/")){let n=Ze(e);return n?`/instances/${encodeURIComponent(t)}${n.innerPath}`:e}return Fm(e)?`/instances/${encodeURIComponent(t)}${e}`:e}function Gm(t){return t?Ze(t)?.instanceId??null:null}function qS(){return typeof window>"u"?null:Gm(window.location.pathname)||Bm()}function Bm(){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp(`(?:^|; )${Ut}=([^;]+)`));return t?decodeURIComponent(t[1]):null}function MS(t){if(typeof document>"u")return;let e=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){e(`${Ut}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!t){e(`${Ut}=; Max-Age=0; Path=/; SameSite=Lax`);return}e(`${Ut}=${encodeURIComponent(t)}; Path=/; SameSite=Lax`)}function OS(t,e){return e?Lm(e,t):t}function US(t){let e=Ze(t);return e?e.innerPath||"/dashboard":t}function ss(t){if(t instanceof Error)return t.message;if(typeof t=="string")return t;if(t&&typeof t=="object")try{return JSON.stringify(t)}catch{return String(t)}return String(t??"")}function Nm(t){let e=ss(t).trim();if(!e)return null;let n=[e,e.replace(/^Failed to perform action:\s*/i,"").trim()],r=e.indexOf("{");r>=0&&n.push(e.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function ip(t){let e=Nm(t);if(!e||typeof e!="object")return null;let n=e;return n.name==="ConfigInvalidError"?n:null}function LS(t){return ip(t)!==null}var Km=[/sandbox not ready/i,/sandbox is not (?:ready|running)/i,/opencode (?:session )?(?:is )?not ready/i,/\bsandbox_not_ready\b/,/\bsandbox_lifecycle_unavailable\b/];function Hm(t){let e=ss(t);return e?Km.some(n=>n.test(e)):!1}function Wm(t){let e=ip(t);if(e){let s=(e.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=e.data?.issues?.[0]?.message,u=e.data?.issues?.[0]?.path?.join("."),p=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:o?`${u?`${u}: `:""}${o}`:void 0}}let n=ss(t);return Hm(n)?{title:"Session is waking up",message:"This session slept to save compute. Your conversation is safe \u2014 sending a message wakes it back up."}:{title:"OpenCode failed to load",message:n||"The sandbox is running, but OpenCode returned an error."}}function J(){let t=Ot("BACKEND_URL")||$().backendUrl;return t||"http://localhost:8008/v1"}function et(t){if(typeof t=="string"){let e=t.trim();return e.length>0?e:void 0}if(Array.isArray(t)){for(let e of t){let n=et(e);if(n)return n}return}if(t&&typeof t=="object"){let e=t;return et(e.sandboxId??e.id??e.slug??Object.values(e)[0])}}var op=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function ap(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return`${t.slice(0,e)}/platform/local-bridge/status`}function zm(t){return t==="running"||t==="active"?"active":t==="queued"||t==="branching"||t==="provisioning"?"provisioning":t==="failed"||t==="error"?"error":t==="stopped"||t==="completed"||t==="archived"?"stopped":t||"unknown"}function is(t,e,n){let r=n?.external_id||e.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||e.sandbox_id;return{sandbox_id:n?.sandbox_id||e.sandbox_id||e.session_id,external_id:r,name:e.name||`${t.name} session`,provider:n?.provider||e.sandbox_provider||"daytona",base_url:n?.base_url||e.sandbox_url||(n?.external_id?`${J()}/p/${n.external_id}/${ae.KORTIX_MASTER}`:""),status:zm(n?.status||e.status),metadata:{...e.metadata??{},project_id:t.project_id,session_id:e.session_id,project_name:t.name,runtime_status:n?.status,error:e.error},created_at:n?.created_at||e.created_at,updated_at:n?.updated_at||e.updated_at}}async function os(){let t=await $e(),e=[];for(let n of t){let r=await ze(n.project_id).catch(()=>[]);for(let s of r)e.push({project:n,session:s,runtime:null,sandbox:is(n,s,null)})}return e.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(t){let e=await os();return t?e.find(n=>n.sandbox.sandbox_id===t||n.sandbox.external_id===t||n.session.session_id===t||n.runtime?.external_id===t)??null:e[0]??null}async function Ft(t,e={}){let n={"Content-Type":"application/json",...e.headers},r=e.signal??AbortSignal.timeout(3e4),s=await q(`${J()}${t}`,{...e,headers:n,signal:r}),o=await s.text().catch(()=>{}),u;if(o)try{u=JSON.parse(o)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||o||`Platform API error ${s.status}`,d=new v(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(o?{rawText:o}:void 0),response:s,endpoint:t});throw s.status===402&&(d=Ce(Object.assign(d,{response:s,status:s.status,data:u}))),d}return u}function cp(t){if(!t.external_id){if(t.base_url)return t.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${t.provider} sandbox "${t.sandbox_id}"`)}return`${J()}/p/${t.external_id}/${ae.KORTIX_MASTER}`}function QS(t,e){return t.external_id?`${J()}/p/${t.external_id}/${e}`:null}async function rv(){let t=await i.get("/setup/sandbox-providers");if(t.error)throw t.error;return t.data}async function Vm(t){let e=await Pe();if(e)return{sandbox:e.sandbox,created:!1};let r=(await $e())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Ve(r.project_id,{...t?.provider?{provider:t.provider}:{}}),o=(await De(r.project_id,s.session_id))?.sandbox??null;return{sandbox:is(r,s,o),created:!0}}async function sv(){return(await Pe().catch(()=>null))?.sandbox??null}async function iv(t){return{sandbox:(await Vm(t)).sandbox}}async function ov(t){let e=et(t);return e?(await Pe(e).catch(()=>null))?.sandbox??null:null}async function av(t,e){throw await Pe(t)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function cv(t){let e=et(t);return(await os().catch(()=>[])).map(r=>r.sandbox).filter(r=>!e||r.sandbox_id===e||r.external_id===e)}async function lv(){if(typeof window>"u")return null;let t=J(),e=Array.from(new Set([t,...op]));for(let n of e)try{let r=await fetch(ap(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 uv(t){if(!t)throw new Error("No sandbox selected for workload restart");let e=await Pe(t);if(!e)throw new Error("Project session sandbox not found");await Ct(e.project.project_id,e.session.session_id)}async function pv(t){if(!t)throw new Error("No sandbox selected to stop");let e=await Pe(t);if(!e)throw new Error("Project session sandbox not found");await Rt(e.project.project_id,e.session.session_id)}async function dv(t){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function gv(t){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function as(t,e,n){let r=cp(t),s=await q(`${Re(r)}${e}`,{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 bv(t,e){return as(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"GET"})}async function xv(t,e,n,r="member"){await as(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function _v(t,e,n){await as(t,`/kortix/projects/${encodeURIComponent(e)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function wv(t){let e=await Ft(`/platform/invites/${encodeURIComponent(t)}`,{method:"GET"});if(!e.success||!e.data)throw new Error(e.error||"Invite not found");return e.data}async function Sv(t){let e=await Ft(`/platform/invites/${encodeURIComponent(t)}/accept`,{method:"POST"});if(!e.success||!e.data)throw new Error(e.error||"Failed to accept invite");return e.data}async function vv(t){let e=await Ft(`/platform/invites/${encodeURIComponent(t)}/decline`,{method:"POST"});if(!e.success)throw new Error(e.error||"Failed to decline invite")}async function Rv(t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Av(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Tv(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Iv(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function jv(t){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function $v(t){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Jm=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Mv(t){return Jm.includes(t)}async function Ov(t){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:t?.version??null,error:null,startedAt:null,updatedAt:null}}async function Uv(t){let e=t?`?channel=${t}`:"",n=await fetch(`${J()}/platform/sandbox/version/latest${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await Xm(t||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Xm(t){let e=t?`?channel=${t}`:"",n=await fetch(`${J()}/platform/sandbox/version/changelog${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function Fv(){let t=await fetch(`${J()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`All versions fetch failed: ${t.status}`);return t.json()}async function Lv(t,e){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Gv(t){}async function Bv(t){}async function Wv(t){return{serverTypes:[],location:t||"hel1"}}async function zv(t){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function Vv(t){let e=await i.delete(`/platform/sandbox?sandbox_id=${t}`);if(e.error)throw e.error;return e.data}async function Jv(t,e){await i.post("/platform/sandbox/mark-error",{sandbox_id:t,error_message:e},{showErrors:!1,timeout:1e4})}async function Xv(){let t=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(t.error)throw t.error;return t.data}async function Qv(t){let e=await i.get(`/platform/sandbox/${t}/status`,{showErrors:!1,timeout:1e4});return e.success?e.data??null:null}function Yv(t,e){return`${J()}/platform/sandbox/${t}/provision-stream?token=${encodeURIComponent(e)}`}var pe=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Lt(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return/\/v1$/.test(e)?e:`${e}/v1`}function cs(t,e){let n=new Headers(t.headers);return n.set("Accept","application/json"),e&&n.set("Content-Type","application/json"),t.accessToken&&n.set("Authorization",`Bearer ${t.accessToken}`),n}async function Gt(t){let e=await t.text().catch(()=>"");if(!e)return null;try{return JSON.parse(e)}catch{return e}}function Bt(t,e){if(e&&typeof e=="object"){let n=e;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof e=="string"&&e?e:t.statusText||`HTTP ${t.status}`}async function G(t,e,n){let r=n?.body!==void 0,s=await fetch(`${Lt(e.backendUrl)}${t}`,{method:n?.method??"GET",headers:cs(e,r),...r?{body:JSON.stringify(n.body)}:{},...e.signal?{signal:e.signal}:{},...e.cache?{cache:e.cache}:{},...e.next?{next:e.next}:{}}),o=await Gt(s);if(!s.ok)throw new pe(Bt(s,o),s.status,o);return o}function Qm(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString();return n?`?${n}`:""}function eC(t,e){return G(`/marketplace/items${Qm(e)}`,t)}function tC(t){return G("/marketplace/marketplaces",t)}function nC(t,e){return G(`/marketplace/items/${encodeURIComponent(t)}`,e)}function rC(t,e,n){return G(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`,n)}function sC(t,e){return G("/access/check-email",e,{method:"POST",body:{email:t}})}function iC(t,e){return G("/access/request-access",e,{method:"POST",body:t})}function oC(t){return G("/auth/logout",t,{method:"POST",body:{}})}function aC(t,e){return G(`/oauth/authorize/consent/${encodeURIComponent(t)}`,e)}function cC(t,e){return G("/oauth/authorize/consent",e,{method:"POST",body:{request_id:t.requestId,approved:t.approved}})}function lC(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}`,e)}function uC(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}/start`,e,{method:"POST",body:{}})}function pC(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}/finalize`,e,{method:"POST",body:{}})}function dC(t,e){return G(`/setup-links/secret/${encodeURIComponent(t)}`,e)}function gC(t,e,n){return G(`/setup-links/secret/${encodeURIComponent(t)}`,n,{method:"POST",body:{values:e}})}function mC(t,e){return G(`/p/public-share/${encodeURIComponent(t)}`,e)}function fC(t,e,n){return G(`/projects/${encodeURIComponent(t)}/sessions/${encodeURIComponent(e)}/start`,n,{method:"POST",body:{}})}function yC(t){return G("/system/maintenance",t)}function hC(t,e){return G("/system/maintenance",e,{method:"PUT",body:t})}function bC(t){return G("/user-roles",t)}function xC(t,e){return G("/system/demo-request",e,{method:"POST",body:t})}async function _C(t,e,n){let r=new URLSearchParams({format:e.format});e.action&&r.set("action",e.action),e.actor&&r.set("actor",e.actor),e.project_id&&r.set("project_id",e.project_id),e.session_id&&r.set("session_id",e.session_id),e.actor_type&&r.set("actor_type",e.actor_type),e.source&&r.set("source",e.source),e.phase&&r.set("phase",e.phase),e.outcome&&r.set("outcome",e.outcome),e.request_id&&r.set("request_id",e.request_id),e.correlation_id&&r.set("correlation_id",e.correlation_id),e.resource_type&&r.set("resource_type",e.resource_type),e.since&&r.set("since",e.since),e.until&&r.set("until",e.until),e.q&&r.set("q",e.q),e.cursor&&r.set("cursor",e.cursor),e.limit!=null&&r.set("limit",String(e.limit));let s=await fetch(`${Lt(n.backendUrl)}/accounts/${encodeURIComponent(t)}/audit/export?${r}`,{headers:cs(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await Gt(s);throw new pe(Bt(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count"),complete:s.headers.get("x-audit-complete")!=="false",nextCursor:s.headers.get("x-audit-next-cursor")||null}}async function PC(t,e){let n=await fetch(`${Lt(e.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:cs(e,!0),body:JSON.stringify(t),...e.signal?{signal:e.signal}:{}});if(!n.ok){let r=await Gt(n);throw new pe(Bt(n,r),n.status,r)}if(!n.body)throw new pe("No response body",n.status,null);return n.body}var Ym=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Zm(t,e){return Ym.test(e)?new URL(`templates/public/${e.toLowerCase()}`,`${Lt(t)}/`):null}async function kC(t,e,n){let r=Zm(t,e);if(!r)throw new pe("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await Gt(s);if(!s.ok)throw new pe(Bt(s,o),s.status,o);return o}async function vC(){let t=await i.get("/platform/github-app/status",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App status request failed");return t.data}async function CC(t={}){let e=await i.post("/platform/github-app/manifest-start",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App manifest-start request failed");return e.data}async function RC(t){let e=await i.post("/platform/github-app/app",{app_id:t.appId,private_key:t.privateKey,installation_id:t.installationId,slug:t.slug,client_id:t.clientId,client_secret:t.clientSecret},{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App configuration request failed");return e.data}async function AC(t){let e=await i.post("/platform/github-app/pat",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub token configuration request failed");return e.data}async function TC(){let t=await i.delete("/platform/github-app",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App disconnect request failed");return t.data}function lp(t){try{let e=new URL(t);if(/^\/proxy\/\d+(?:\/|$)/.test(e.pathname))return`${e.origin}/v1/p/auth`;let n=e.pathname.indexOf("/p/");return n!==-1?`${e.origin}${e.pathname.slice(0,n)}/p/auth`:`${e.origin}/v1/p/auth`}catch{return null}}function ef(t,e){try{let n=new URL(t),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(e)try{o.add(new URL(e).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function up(t,e){return ef(t,e)?(e?lp(e):null)??lp(t):null}function EC(t){try{return/^p\d+-[^.]+\./.test(new URL(t).hostname)}catch{return!1}}function jC(t,e){try{let n=new URL(t);return n.searchParams.set("token",e),n.toString()}catch{return t}}async function MC(t,e={}){let n=up(t,e.serverUrl);if(!n)return!1;let r=await lt();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}var UC=3e3;function tf(t){return!Number.isFinite(t)||t<100||t>599?"unknown":t===502||t===503||t===504?"unreachable":t===401||t===403?"unknown":"reachable"}async function FC(t,e){if(!t||e?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();e?.signal?.addEventListener("abort",r);let s=setTimeout(r,e?.timeoutMs??3e3);try{let o=await fetch(t,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return tf(o.status)}catch{return"unknown"}finally{clearTimeout(s),e?.signal?.removeEventListener("abort",r)}}function ls(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return e}function GC(t,e){return`${ls(t)}/presentation-templates/${encodeURIComponent(e)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function BC(t,e){return`${ls(t)}/presentation-templates/${encodeURIComponent(e)}/image.png`}function nf(t,e){return`${ls(t)}/presentation/convert-to-${e}`}async function NC(t,e,n,r){let s=nf(e,t),o=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let E=await f.blob();if(E.size===0)throw new Error("Downloaded file is empty");return E}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${t.toUpperCase()} to generate`);await new Promise((E,C)=>{let l=setTimeout(E,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(l),C(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),I=f.statusText;try{let E=JSON.parse(x);I=String(E.error||E.detail||E.message||I)}catch{x&&(I=x)}throw new Error(`Failed to download ${t.toUpperCase()}: ${I} (HTTP ${f.status})`)}}var HC=6e4,WC=45e3,zC=45e3,VC=1e4,JC=15e3;function XC(t){let e=0;for(let n of t)(n.state==="queued"||n.state==="delivering"||n.state==="waiting"&&n.reason!=="held")&&(e+=1);return e}function pp(t){if(!t)return null;let e=Date.parse(t);return Number.isNaN(e)?null:e}function QC(t){let{optimistic:e,abort:n,inbox:r,server:s,stream:o,nowMs:u}=t,p=!!e&&u-e.atMs<6e4,d=p?e.acceptedAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,f=p?e.atMs:Number.NEGATIVE_INFINITY,b=!!n&&u-n.atMs<15e3?n.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,x=!!s&&u-s.atMs<=45e3,I=!!o&&u-o.atMs<=45e3,E=!!r&&u-r.atMs<=1e4,C=x?s.turns[0]:void 0,l=C?.turn_token??null;if(C&&s.atMs>=b&&(!o||s.atMs>=o.atMs))return{state:"working",source:"server",turnId:C.message_id,since:pp(C.started_at)??s.atMs,serverOpenTurnToken:l};if(E&&r.pending>0)return{state:"working",source:"server",turnId:null,since:r.atMs,serverOpenTurnToken:l};let y=x&&!C&&s.atMs>=d,c=I&&o.atMs>=f;if(y&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:pp(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:l};if(c)return{state:o.type==="idle"?"idle":"working",source:"stream",turnId:null,since:o.atMs,serverOpenTurnToken:l};if(p)return{state:"working",source:"optimistic",turnId:e.messageId,since:e.atMs,serverOpenTurnToken:l};let R=s&&o?s.atMs>=o.atMs?{source:"server",atMs:s.atMs}:{source:"stream",atMs:o.atMs}:s?{source:"server",atMs:s.atMs}:o?{source:"stream",atMs:o.atMs}:{source:"server",atMs:u};return{state:"idle",source:R.source,turnId:null,since:R.atMs,serverOpenTurnToken:l}}function YC(t){let{optimistic:e,abort:n,inbox:r,server:s,stream:o,nowMs:u}=t,p=[e?e.atMs+6e4:null,n?n.atMs+15e3:null,r?r.atMs+1e4:null,s?s.atMs+45e3:null,o?o.atMs+45e3:null],d=null;for(let f of p)f===null||f<=u||(d===null||f<d)&&(d=f);return d}var eR=6e4;function tR(t){return t.serverCompactingAtMs!==null?!0:t.optimisticAtMs===null?!1:t.nowMs-t.optimisticAtMs<6e4}function nR(t){if(t.serverCompactingAtMs!==null||t.optimisticAtMs===null)return null;let e=t.optimisticAtMs+6e4;return e>t.nowMs?e:null}var rf=9e4;function rR(t){return t.serverCompactingAtMs===null?null:t.serverCompactingAtMs+rf}function dp(t){let e=t.fetch??globalThis.fetch,n=t.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let o=new URLSearchParams({limit:String(r)});s&&o.set("before",s);let u=await t.getToken?.(),p=await e(`${n}/session/${encodeURIComponent(t.sessionId)}/message?${o}`,{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 sf(t){return af(dp(t))}function of(t){return new us({...t,loadPage:dp(t)})}async function af(t){let e=new Map,n=new Set,r;do{let s=await t({limit:50,...r?{before:r}:{}});for(let o of s.messages)e.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[...e.values()].sort((s,o)=>s.info.id.localeCompare(o.info.id))}var cf={now:Date.now,setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},us=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;lastActivityAt;listeners=new Set;destroyed=!1;constructor(e){this.options=e,this.scheduler=e.scheduler??cf,this.livenessIntervalMs=e.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(e="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(e).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let e=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(e).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}setBusy(e){if(!e){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.listeners.clear()}async loadTail(e){try{let n=await this.loadPage("tail",e),r=await this.loadCompleteTurn(n,"tail",e);if(this.destroyed)return;this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(e,n,r){let s=this.scheduler.now();try{let o=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(e){let n=await this.loadPage("older","manual",e);return this.loadCompleteTurn(n,"older","manual",e)}async loadCompleteTurn(e,n,r,s){let o=[...e.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),d=e.nextCursor;for(let f of e.messages)f.info.role==="user"&&u.add(f.info.id);for(;d&&o.some(f=>f.info.role==="assistant"&&!!f.info.parentID&&!u.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"&&u.add(m.info.id);d=f.nextCursor}return{messages:o,nextCursor:d}}rememberUserMessages(e){for(let n of e)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.raceDeadline(this.reconcile("poll"),this.livenessIntervalMs),this.lastActivityAt=this.scheduler.now())}raceDeadline(e,n){return new Promise(r=>{let s,o=!1,u=()=>{o||(o=!0,this.cancelTimer(s),r())};s=this.startTimer(u,n),e.then(u,u)})}setCursor(e){this.nextCursor=e,this.update({hasOlder:!!e})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}startTimer(e,n){return this.scheduler.setTimeout?this.scheduler.setTimeout(e,n):setTimeout(e,n)}cancelTimer(e){e!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(e):clearTimeout(e))}update(e){let n={...this.snapshot,...e};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder)){this.snapshot=n;for(let r of this.listeners)r()}}};function lf(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return`${e}/tunnel/permission-requests/stream`}function uf(t){let{url:e,token:n,method:r="GET",body:s,onEvent:o,onOpen:u,onError:p,signal:d}=t,f=new Map,m=null,b=!1;function x(y,c){o?.(y,c);let R=f.get(y);if(R)for(let A of R)try{A(c)}catch{}}async function I(){if(b)return;m=new AbortController;let y=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 R=await fetch(e,{method:r,headers:c,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:y,credentials:"include"});if(!R.ok)throw new Error(`SSE connection failed: ${R.status} ${R.statusText}`);if(!R.body)throw new Error("SSE response has no body");u?.();let A=R.body.getReader(),k=new TextDecoder,D="",j="message",T="";for(;!b;){let{done:z,value:V}=await A.read();if(z)break;D+=k.decode(V,{stream:!0});let h=D.split(`
|
|
77
|
-
`);
|
|
78
|
-
`:"")+S.slice(6):S.startsWith("data:")&&(
|
|
79
|
-
`:"")+S.slice(5))}}catch(c){if(b||c instanceof DOMException&&c.name==="AbortError")return;p?.(c instanceof Error?c:new Error(String(c)))}}function E(){b=!0,m?.abort(),m=null,f.clear()}function C(y,c){let R=f.get(y)??new Set;R.add(c),f.set(y,R)}function l(y,c){f.get(y)?.delete(c)}return{connect:I,close:E,addEventListener:C,removeEventListener:l}}function oR(t,e){return uf({...e,url:lf(t)})}export{Mm as ABORT_REASONS,SS as ABORT_REASONS_NOT_YET_EMITTED,Ut as ACTIVE_INSTANCE_COOKIE,v as ApiError,Se as AuthError,me as BillingError,Ju as COST_MARKUP,Bu as DEFAULT_TRANSCRIPT_OPTIONS,Jm as DESTRUCTIVE_PHASES,fr as FEATURE_DISABLED_CODE,db as FEATURE_FLAG_KEYS,ad as FEATURE_NOT_SUPPORTED_CODE,pe as HostBoundaryError,td as IMPERSONATION_HEADER,VC as INBOX_OBSERVATION_MAX_MS,Um as INSTANCE_SCOPED_ROUTES,cd as MODEL_NOT_SERVABLE_CODE,JC as OPTIMISTIC_ABORT_MAX_MS,eR as OPTIMISTIC_COMPACTION_MAX_MS,HC as OPTIMISTIC_RECEIPT_MAX_MS,UC as PREVIEW_PROBE_TIMEOUT_MS,ld as PROVISION_IN_FLIGHT_CODE,Wr as PublicSessionShareError,zr as PublicVoiceJoinError,ve as RequestTooLargeError,Le as RuntimeNotReadyError,xr as SANDBOX_FS_ROOTS,ae as SANDBOX_PORTS,rf as SERVER_COMPACTION_REVALIDATE_MS,WC as SERVER_OBSERVATION_MAX_MS,zC as STREAM_OBSERVATION_MAX_MS,qt as SessionNotReadyError,Lr as SessionStartError,df as __getConfigResolver,pf as __setConfigResolver,vS as abortErrorReason,ui as acceptAccountInvite,Sv as acceptInvite,Ul as actReviewItem,vo as activateConnection,bl as addGroupMembers,mu as addMarketplaceSource,om as allDescendantIds,jC as appendPreviewToken,Ui as approveProjectAccessRequest,Ty as approveTask,Er as archiveProject,Oy as assignTicket,Vi as attachGroupToProject,q as authenticatedFetch,i as backendApi,h_ as bindSlackIdentity,b_ as bindTeamsIdentity,oo as brokerProjectSecretRequest,Lm as buildInstancePath,BC as buildPresentationTemplateImageUrl,GC as buildPresentationTemplatePdfUrl,up as buildPreviewAuthEndpoint,Zm as buildPublicTemplateUrl,nf as buildRuntimePresentationConversionUrl,na as buildSandboxTemplate,Kk as buildStaticFileHealthPreviewUrl,Nk as buildStaticFileLocalUrl,Bk as buildStaticFilePreviewUrl,Vd as buildStaticFileServicePath,lf as buildTunnelEventStreamUrl,Jk as buildWebProxyUrl,Fl as bulkActReviewItems,W_ as bulkDeletePolicies,z_ as bulkImportPolicies,ho as callConnector,DP as cancelAccountDeletion,ai as cancelAccountInvite,dv as cancelSandbox,Bv as cancelSandboxUpdate,vc as cancelScheduledChange,kc as cancelSubscription,sC as checkAccessEmail,Xw as childMapByParent,Xv as claimComputer,s_ as claimPerSeatBilling,Ea as claimWarmProjectSession,Hu as classifyPart,tf as classifyPreviewProbeStatus,Xg as classifyTurn,Qs as clearImpersonationSession,ac as clearModelDefault,bx as clearSessionFresh,_a as closeChangeRequest,ph as closeMilestone,Ww as collectTurnParts,Fy as commentTicket,wa as commitSessionChanges,nR as compactionExpiryAtMs,im as compareMessagesForDisplay,Vu as computeStatusFromPart,Tc as configureAutoTopup,Ht as configureKortix,_c as confirmCheckoutSession,Nc as connectEmail,qc as connectSlack,QP as convertPresentationToGoogleSlides,NC as convertRuntimePresentation,Pt as copyFile,Ec as costExportUrl,XC as countLiveInboxPrompts,ti as createAccount,ru as createAccountAuditWebhook,Vl as createAccountToken,hu as createApp,wu as createAppAccessSession,vu as createAppDeployment,jl as createAssignment,_P as createAuditWebhook,Av as createBackup,xc as createCheckoutSession,Fo as createConnector,_t as createFile,cl as createGatewayKey,ml as createGroup,of as createHttpSessionSyncController,zv as createInstance,hg as createKortix,Us as createKortixPty,vk as createMarketplaceInstallSession,lh as createMilestone,r_ as createPerSeatCheckout,N_ as createPolicy,Pc as createPortalSession,Pi as createProject,Jy as createProjectAgent,Ql as createProjectCliToken,ki as createProjectRepo,Yi as createProjectResourceGrant,Ve as createProjectSession,Xa as createProjectTrigger,Sl as createRole,uf as createSSEStream,iv as createSandbox,Gl as createSandboxShare,Zo as createSandboxTemplate,Q_ as createScimToken,yP as createServiceAccountApi,qa as createSessionPrompt,Aa as createSessionPublicShare,aP as createSsoGroupMapping,Cy as createTask,Dy as createTicket,oR as createTunnelEventStream,pi as declineAccountInvite,vv as declineInvite,qP as deleteAccountImmediately,_u as deleteApp,kP as deleteAuditWebhook,Iv as deleteBackup,Go as deleteConnector,bh as deleteCredential,Ms as deleteEnv,Te as deleteFile,ol as deleteGatewayBudget,Mi as deleteGitHubInstallation,yl as deleteGroup,Vv as deleteInstance,sh as deleteKortixProject,gh as deleteMilestone,mo as deletePersonalProjectSecret,H_ as deletePolicy,Qy as deleteProjectAgent,lo as deleteProjectProviderOAuth,Zi as deleteProjectResourceGrant,po as deleteProjectSecret,Ba as deleteProjectSession,Ya as deleteProjectTrigger,Rl as deleteRole,ta as deleteSandboxTemplate,bP as deleteServiceAccountApi,Oa as deleteSessionPrompt,cP as deleteSsoGroupMapping,iP as deleteSsoProvider,Iy as deleteTask,Ly as deleteTicket,li as describeAccountInvite,yo as describeConnectorTool,Xi as detachGroupFromProject,Hd as detectLocalhostUrls,hP as disableServiceAccountApi,Kc as disconnectEmail,TC as disconnectGitHubApp,Uc as disconnectSlack,Bb as discoverConnectionOAuth2,Nb as discoverConnectionOAuth2Resource,Lo as discoverConnectorAuth,lv as discoverLocalSandbox,_C as downloadAccountAudit,Eh as dropClientForUrl,Dh as dropPublicClientForUrl,zy as ensurePmSession,MC as ensurePreviewSessionCookie,Fb as ensureProjectConnectorConnection,Vm as ensureSandbox,Ia as ensureWarmProjectSession,qp as env,tu as exportAccountAudit,le as extractGatewayErrorDetails,Ze as extractInstanceRoute,Es as featureDisabledKey,ES as featureFlags,t_ as fetchAccountStateWithToken,cb as fetchAccountsWithToken,g_ as fetchCostExportCsv,aa as fetchProjectArchive,_b as fetchProjectsForAccountWithToken,Zp as files,Jr as finalizeAppArtifact,pC as finalizeConnectorSetupLink,bt as findFiles,zw as findLastTextPart,xt as findText,ec as fireProjectTrigger,Yo as fixSandboxWithAgent,$s as formatBillingErrorForUI,fS as formatCost,dS as formatDuration,Wm as formatOpenCodeRuntimeError,Wm as formatRuntimeError,yS as formatTokens,Sg as formatTranscript,bg as generateSessionId,ni as getAccount,jP as getAccountDeletionStatus,dc as getAccountState,gc as getAccountStateMinimal,Bm as getActiveInstanceIdFromCookie,NP as getAdminProviderAnalytics,LP as getAdminProviderDistribution,HP as getAdminProviderFallback,MP as getAdminRole,rm as getAgentCardLabel,Vx as getAgentConfig,Yy as getAgentPersona,Fv as getAllVersions,Jw as getAnsweredQuestionParts,bu as getApp,Pu as getAppAccess,Ru as getAppDeployment,Au as getAppDeploymentLogs,Pk as getApprovalLink,lt as getAuthToken,Ss as getAuthTokenWithRetry,Ac as getAutoTopupSettings,n_ as getAutoTopupSetupStatus,yc as getBillingCreditBreakdown,bc as getBillingTierConfigurations,fc as getBillingTransactionsSummary,hc as getBillingUsageHistory,fa as getChangeRequest,ya as getChangeRequestDiff,ha as getChangeRequestMergePreview,qw as getChildSessionError,Dw as getChildSessionId,Mw as getChildSessionToolParts,fe as getClient,ie as getClientForUrl,Ko as getConnectStatus,Gb as getConnectionOAuth2Application,Vb as getConnectionOAuth2Status,Jb as getConnectionPolicies,$r as getConnectorCatalog,Mo as getConnectorConfig,Do as getConnectorPolicies,lC as getConnectorSetupLink,d_ as getCostSummary,Gm as getCurrentInstanceIdFromPathname,qS as getCurrentInstanceIdFromWindow,Vs as getCurrentProject,Br as getDefaultAccountState,Fw as getDiagnostics,nm as getDirectory,qr as getDiscoverConnector,Yb as getDiscoverIntegration,Gc as getEmailInstallation,Bc as getEmailMode,SP as getEnterpriseDemo,ht as getFileStatus,Wu as getFileWithDir,tm as getFilename,Xm as getFullChangelog,tl as getGatewayBreakdown,sl as getGatewayBudgets,rl as getGatewayErrors,al as getGatewayKeys,Yc as getGatewayLog,Zc as getGatewayOverview,zc as getGatewayRoutingPolicy,el as getGatewaySeries,nl as getGatewaySessions,vC as getGitHubAppStatus,Ti as getGitHubInstallation,XP as getGoogleAuthUrl,gl as getGroup,jw as getHiddenToolParts,sd as getImpersonationSession,wv as getInvite,Wv as getJustavpsServerTypes,th as getKortixProject,nh as getKortixProjectBySession,Gs as getKortixPtyWebSocketUrl,Uv as getLatestSandboxVersion,yC as getMaintenanceConfig,yb as getManagedGitStatus,pu as getMarketplaceCatalogItem,du as getMarketplaceCatalogItemFile,Z_ as getMfaRequired,ah as getMilestone,ic as getModelDefaults,aC as getOAuthConsentRequest,ip as getOpenCodeConfigInvalidError,Iw as getPartText,gP as getPatPolicy,Lw as getPermissionForTool,Cr as getProject,Zy as getProjectActivity,ua as getProjectCommit,pa as getProjectCommitDiff,Rr as getProjectDetail,da as getProjectFileHistory,_i as getProjectGitToken,Ar as getProjectLlmCatalog,mb as getProjectLlmCatalogProviders,Tr as getProjectModelPicker,Mr as getProjectSandboxHealth,hb as getProjectSandboxProviderTransition,Ur as getProjectSession,Na as getProjectSessionConfigState,Wa as getProjectSessionScope,Cc as getProrationPreview,rv as getProviders,Hk as getProxyBaseUrl,$h as getPublicClientForUrl,nC as getPublicMarketplaceItem,rC as getPublicMarketplaceItemFile,ok as getPublicSessionShare,ak as getPublicSessionShareMessages,mC as getPublicShareByToken,kC as getPublicTemplate,uk as getPublicVoiceJoin,pk as getPublicVoiceTranscript,Gw as getQuestionForTool,I_ as getReferralCode,$_ as getReferralStats,hS as getRetryInfo,bS as getRetryMessage,Ml as getReviewItem,kl as getRolePermissions,wl as getRoleUsage,$v as getSSHConnection,sv as getSandbox,ov as getSandboxById,QS as getSandboxPortUrl,Qv as getSandboxProvisionStatus,Yv as getSandboxProvisionStreamUrl,Ov as getSandboxUpdateStatus,cp as getSandboxUrl,dC as getSecretSetupLink,_r as getServerHealth,Ph as getServiceLogs,ja as getSessionAudit,mS as getSessionCost,Kr as getSessionCostRecord,$u as getSessionHealth,lP as getSessionPolicy,Ca as getSessionPreviewCandidates,$a as getSessionTranscript,Da as getSessionTurn,nS as getShellModePart,Fc as getSlackChannelFile,Dc as getSlackInstallation,Oc as getSlackManifest,Mc as getSlackMode,nP as getSsoProvider,Jd as getStaticFileHealthPath,mr as getSupabaseAccessToken,se as getSupabaseAccessTokenWithRetry,wy as getTask,vy as getTaskStatus,Tk as getTemplate,jy as getTicket,Ow as getToolInfo,vg as getTranscriptFilename,gS as getTurnCost,lS as getTurnError,uS as getTurnErrorDetails,pS as getTurnStatus,Ic as getUsageRollup,bC as getUserRolesWithToken,ga as getVersionDiff,La as getVoiceTranscript,aS as getWorkingState,xv as grantSandboxProjectAccess,Xx as grantSecretToAgent,Hw as groupMessagesIntoTurns,xS as hasDiffs,Gk as hasLocalhostUrls,zd as hasPreviewTarget,Zw as hasRetryingAssistantTurn,Yd as heartbeatGapEvent,Fa as holdSessionPrompts,Yr as humanizeToolName,Sr as impersonationHeaders,sP as importSsoProviderFromMetadata,Ik as installTemplate,ct as invalidateTokenCache,ii as inviteAccountMember,Ni as inviteProjectMember,bi as inviteRepoCollaborator,wS as isAbortError,tb as isAdminBypassEnabled,Cw as isAgentPart,Bd as isAppRouteUrl,Yg as isAttachment,js as isBillingError,Rw as isCompactionPart,Wt as isConfigured,Mv as isDestructivePhase,Yk as isExternalUrl,Is as isFeatureDisabledError,Qg as isFilePart,nd as isImpersonationSessionLive,$S as isInstanceDetailPath,Fm as isInstanceScopedAppPath,Vk as isInternalLocalhostUrl,Tb as isInviteSent,oS as isLastUserMessage,gb as isManagedGithubProject,LS as isOpenCodeConfigInvalidError,Tw as isPatchPart,zk as isPreviewUrl,Xd as isProxiableLocalhostUrl,es as isReasoningPart,am as isRetryableTurnError,Ok as isRuntimeReady,Hm as isSandboxNotReadyError,Js as isServerReachable,Sa as isSessionFresh,$x as isSessionStartError,cm as isShellMode,Aw as isSnapshotPart,EC as isSubdomainPreviewUrl,_e as isTextPart,ue as isToolPart,$w as isToolPartHidden,Ks as isUnderSandboxRoot,Qk as isWebProxyUrl,Op as kortixPty,mi as leaveAccount,qi as linkGitHubInstallation,Ai as linkRepository,Zl as listAccountAudit,nu as listAccountAuditWebhooks,oi as listAccountInvites,si as listAccountMembers,G_ as listAccountResourceGrants,pP as listAccountSessions,zl as listAccountTokens,ei as listAccounts,V_ as listActions,GP as listAdminSandboxes,Pl as listAgentIdentities,_o as listAllConnections,Cu as listAppDeployments,yu as listApps,El as listAssignments,wP as listAuditEvents,xP as listAuditWebhooks,Rv as listBackups,mc as listBillingTransactions,ma as listChangeRequests,x_ as listChannelBindings,Gy as listColumns,xo as listConnections,St as listConnectorTools,To as listConnectors,p_ as listCostByProject,fh as listCredentialEvents,mh as listCredentials,Dr as listDiscoverConnectors,Qb as listDiscoverIntegrations,Ds as listEnv,uu as listFeaturedMarketplaces,Ny as listFields,yt as listFiles,Qc as listGatewayLogs,Ii as listGitHubInstallations,ji as listGitHubRepositories,$i as listGitHubRepositoryBranches,hl as listGroupMembers,U_ as listGroupProjectGrants,dl as listGroups,rh as listKortixProjectSessions,eh as listKortixProjects,Os as listKortixPty,Ei as listLinkableGitHubInstallations,cu as listMarketplaceCatalogItems,gu as listMarketplaceSources,lu as listMarketplaces,F_ as listMemberGroups,L_ as listMemberProjectAccess,ch as listMilestoneEvents,oh as listMilestones,eo as listPendingApprovals,Ki as listPendingProjectInvites,Dl as listPermissions,Bo as listPipedreamApps,No as listPipedreamSections,B_ as listPolicies,Li as listProjectAccess,Oi as listProjectAccessRequests,Vy as listProjectAgents,eu as listProjectAudit,ca as listProjectBranches,Xl as listProjectCliTokens,la as listProjectCommits,sa as listProjectFiles,zi as listProjectGroupGrants,zo as listProjectPolicies,Qi as listProjectResourceGrants,Jo as listProjectSandboxTemplates,ra as listProjectSandboxes,ro as listProjectSecrets,ze as listProjectSessions,Xo as listProjectSnapshots,Ja as listProjectTriggers,$e as listProjects,hi as listProjectsForAccount,eC as listPublicMarketplaceItems,tC as listPublicMarketplaces,D_ as listReferrals,ql as listReviewItems,_l as listRoles,bv as listSandboxProjectMembers,Ll as listSandboxShares,cv as listSandboxes,X_ as listScimTokens,fP as listServiceAccountsApi,_h as listServiceTemplates,xh as listServices,jc as listSessionCosts,Ma as listSessionPrompts,Ra as listSessionPublicShares,to as listSessionsNeedingInput,oP as listSsoGroupMappings,Sy as listTaskEvents,ky as listTasks,Hy as listTemplates,$y as listTicketEvents,Ey as listTickets,sf as loadHttpSessionHistory,Jv as markInstanceError,vt as markSessionFresh,xa as mergeChangeRequest,KP as migrateAdminSandboxProvider,We as mkdir,Zd as narrowChatEvent,US as normalizeAppPathname,Zk as normalizeExternalInput,Mt as normalizeToolName,ba as openChangeRequest,Xr as openEventStream,PC as openStressTestStream,Ce as parseBillingError,IS as parseFlagOverride,Et as parseLocalhostUrl,Nm as parseOpenCodeErrorPayload,ju as parseProxyHop,Fu as parseSubdomainUrl,Xk as parseWebProxyUrl,ih as patchKortixProject,Uo as pipedreamConnect,Ro as pipedreamConnectConnection,Wo as pipedreamFinalize,Ao as pipedreamFinalizeConnection,$ as platformConfig,zb as pollConnectionOAuth2DeviceAuthorization,co as pollProjectProviderOAuth,Xc as previewGatewayRoute,eP as previewMfaRequired,Al as probeEffectivePermission,Tl as probeEffectivePermissions,FC as probePreviewPort,tR as projectCompacting,jx as projectSessionStartSeed,QC as projectWorking,wi as provisionProject,fb as provisionProjectStream,Pb as provisionProjectWithToken,Ou as proxyLocalhostUrl,Wk as proxyUrlToInternal,Rc as purchaseCredits,Lb as putConnectionOAuth2Application,gv as reactivateSandbox,wc as reactivateSubscription,Ne as readBlob,Be as readFile,oa as readProjectFile,Qo as rebuildProjectSnapshot,Po as reconcileConnection,ko as reconcileMemberConnection,wh as reconcileServices,oC as recordPlatformLogout,E_ as refreshReferralCode,Vr as registerAppArtifact,Kb as registerConnectionOAuth2Client,Sh as registerService,Fi as rejectProjectAccessRequest,Uw as relativizePath,Ka as reloadProjectSessionConfig,Ha as reloadProjectSessionConfigStream,iu as removeAccountAuditWebhook,di as removeAccountMember,xl as removeGroupMember,Ls as removeKortixPty,fu as removeMarketplaceSource,ye as renameFile,av as renameSandbox,Pa as reopenChangeRequest,dh as reopenMilestone,By as replaceColumns,Ky as replaceFields,Wy as replaceTemplates,$P as requestAccountDeletion,ka as requestChangesOnChangeRequest,Ab as requestProjectAccess,au as requestProjectConnector,ou as requestProjectSecret,ci as resendAccountInvite,Wi as resendPendingProjectInvite,jh as resetClient,Jc as resetGatewayRoutingPolicy,qh as resetPublicClient,Gv as resetSandboxUpdateStatus,no as resolveApproval,e_ as resolvedPlan,Ct as restartProjectSession,uv as restartSandbox,Tv as restoreBackup,Ua as retrySessionPrompt,hh as revealCredential,dP as revokeAccountSession,Jl as revokeAccountToken,$l as revokeAssignment,So as revokeConnection,ll as revokeGatewayKey,Hi as revokePendingProjectInvite,Bi as revokeProjectAccess,Yl as revokeProjectCliToken,_v as revokeSandboxProjectAccess,Bl as revokeSandboxShare,Y_ as revokeScimToken,Ta as revokeSessionPublicShare,xe as rewriteLocalhostUrl,Eu as rollbackApp,ul as runGatewayPlayground,Di as saveGitHubInstallation,Sc as scheduleDowngrade,fo as searchConnectorTools,ia as searchProjectFiles,q_ as sendReferralEmails,rR as serverCompactionRevalidateAtMs,kh as serviceAction,Dx as sessionStartKey,MS as setActiveInstanceCookie,eb as setAdminBypass,BP as setAdminProviderDistribution,WP as setAdminProviderFallback,lc as setAgentScope,ty as setBootstrapAuthToken,ey as setCachedAuthToken,Xb as setConnectionPolicies,jo as setConnectorAuthorizationStrategy,Ho as setConnectorCredential,Eo as setConnectorCredentialMode,Oo as setConnectorName,qo as setConnectorPolicies,Zb as setConnectorSecretBinding,$o as setConnectorSensitive,Co as setDefaultConnection,vP as setEnterpriseDemo,qs as setEnv,il as setGatewayBudget,Vc as setGatewayRoutingPolicy,RC as setGitHubAppFromExisting,AC as setGitHubAppPat,Wh as setImpersonationSession,hC as setMaintenanceConfig,Wc as setMeetBotName,J_ as setMemberSuperAdmin,tP as setMfaRequired,oc as setModelDefault,go as setPersonalProjectSecret,Gx as setProjectModelEnablement,Ri as setProjectOnboardingComplete,xb as setProjectOnboardingProfile,Vo as setProjectPolicies,io as setProjectSecretStrategy,Va as setProjectSessionModel,za as setProjectSessionScope,va as setProjectSessionSharing,Za as setProjectTriggersActivation,jv as setupSSH,np as shellExitCode,od as shouldAttachImpersonation,cS as shouldHideResponsePart,em as shouldShowToolPart,Qw as sortSessions,Ew as splitUserParts,Tu as startApp,Hb as startConnectionOAuth2Authorization,Wb as startConnectionOAuth2DeviceAuthorization,uC as startConnectorSetupLink,CC as startGitHubAppManifest,ao as startProjectProviderOAuth,De as startProjectSession,fC as startSessionWithToken,Ay as startTask,Iu as stopApp,Rt as stopProjectSession,pv as stopSandbox,Bw as stripAnsi,DS as stripInstancePrefix,Re as stripTrailingSlashes,iC as submitAccessRequest,xC as submitDemoRequest,cC as submitOAuthConsent,Ol as submitReviewItem,gC as submitSecretSetupLink,zh as subscribeToImpersonation,nb as supabaseClient,Io as syncConnectors,i_ as syncSubscription,Mh as systemReload,Ee as toDaemonPath,OS as toInstanceAwarePath,Qd as toInternalUrl,mt as toSandboxAbsolutePath,Hs as toWorkspaceRelative,Zr as toolInfo,Em as toolViewModel,pl as transcribeAudio,Lv as triggerSandboxUpdate,Mp as triggersRequest,Vw as turnHasSteps,Uy as unassignTicket,Y as unwrapError,su as updateAccountAuditWebhook,gi as updateAccountMemberRole,ri as updateAccountName,Jx as updateAgentConfig,xu as updateApp,ku as updateAppAccess,PP as updateAuditWebhook,__ as updateChannelBinding,wo as updateConnectionCredential,Hc as updateEmailPolicy,vi as updateExperimentalFeature,Si as updateFeatureFlag,fl as updateGroup,Fs as updateKortixPty,uh as updateMilestone,mP as updatePatPolicy,K_ as updatePolicy,Ir as updateProject,Gi as updateProjectAccess,Xy as updateProjectAgent,pc as updateProjectDefaultAgent,Ji as updateProjectGroupGrant,Ci as updateProjectSandboxProvider,Ga as updateProjectSession,Qa as updateProjectTrigger,vl as updateRole,Cl as updateRolePermissions,ea as updateSandboxTemplate,uP as updateSessionPolicy,Ry as updateTask,bb as updateTemplateWarmPool,qy as updateTicket,My as updateTicketStatus,Su as uploadAppArtifactArchive,bo as uploadConnectorAttachment,Ke as uploadFile,Lc as uploadSlackChannelFile,yh as upsertCredential,uo as upsertProjectGitCredential,so as upsertProjectSecret,rP as upsertSsoProvider,xi as validateProjectManifest,j_ as validateReferralCode,fi as validateToken,S_ as verifyGatewayProvider,YC as workingExpiryAtMs,He as writeFile};
|
|
75
|
+
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,u=r.length;for(;o>s&&u>s&&n[o-1]===r[u-1];)o--,u--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<u;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function Em(t){let e=F(t.input?.oldString),n=F(t.input?.newString),r=e!==void 0&&n!==void 0?Im(e,n):void 0;return{kind:"file-edit",path:is(t),diff:r}}var lp=/^Found\s+(\d+)\s+match/i,jm=/^(\/[^:]+?):\s*/,ap=/Line\s+(\d+):/g;function $m(t){let e=t.trim(),n=e.match(lp),r=n?e.slice(n[0].length).trim():e;if(!r)return[];let s=[];for(let o of r.split(/\n\n+/)){let u=o.trim();if(!u)continue;let p=u.match(jm);if(!p)continue;let d=p[1],f=u.slice(p[0].length),m=[],b;for(ap.lastIndex=0;(b=ap.exec(f))!==null;)m.push({line:Number(b[1]),contentStart:b.index+b[0].length,headerStart:b.index});for(let x=0;x<m.length;x++){let C=x+1<m.length?m[x+1].headerStart:f.length,I=f.slice(m[x].contentStart,C).trim();s.push({path:d,line:m[x].line,content:I.endsWith(";")?I.slice(0,-1):I})}}return s}function Dm(t){return t.trim().split(`
|
|
76
|
+
`).map(e=>e.trim()).filter(e=>e.startsWith("/")||e.startsWith("./")||e.startsWith("~")).map(e=>({path:e}))}function qm(t){let e=F(t.input?.pattern,t.input?.query)??"";if(t.status==="error"||!t.output)return{kind:"search",pattern:e};let n=lp.test(t.output.trim())?$m(t.output):Dm(t.output);return{kind:"search",pattern:e,matches:n.length>0?n.slice(0,200):void 0}}function Mm(t){let e=F(t.input?.description,t.input?.title,t.input?.prompt)??t.title,n=F(t.input?.subagent_type,t.input?.agent);return{kind:"task",description:e,agent:n}}function ss(t){let e=De(t)??{};return{content:F(e.content)??"",status:F(e.status)??"pending",priority:F(e.priority)}}function Om(t){let e=t.input?.todos;if(Array.isArray(e))return{kind:"todo",items:e.map(ss)};if(Array.isArray(t.outputParsed))return{kind:"todo",items:t.outputParsed.map(ss)};let n=De(t.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(ss)}:{kind:"todo",items:[]}}function Um(t){return{kind:"question",questions:(Array.isArray(t.input?.questions)?t.input.questions:[]).map(r=>{let s=De(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=De(p),f=d&&F(d.label);return f?[{label:f,description:d?F(d.description):void 0}]:[]});return{question:F(s.question)??"",header:F(s.header),options:u}})}}function Fm(t){let n=t.input&&Object.keys(t.input).length>0?op(t.input):void 0,r;return t.outputParsed!==void 0?r=typeof t.outputParsed=="string"?Ze(t.outputParsed):op(t.outputParsed):t.outputText!==void 0?r=Ze(t.outputText):r=t.error,{kind:"generic",label:t.title,inputPretty:n,outputPretty:r}}function Lm(t){switch(Ut(t.name)){case"web_search":case"websearch":case"image_search":return xm(t);case"bash":return Cm(t);case"read":return Rm(t);case"write":return Am(t);case"edit":case"morph_edit":return Em(t);case"grep":case"glob":return qm(t);case"task":return Mm(t);case"todowrite":return Om(t);case"question":case"ask":return Um(t);default:return Fm(t)}}var Gm=new Set(["AbortError","MessageAbortedError"]),Bm=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],Nm=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function up(t){let e=t.toLowerCase();return Nm.some(n=>e.includes(n))?!1:Bm.some(n=>e.includes(n))}function Km(t){let e=t.data,n=e&&typeof e=="object"?e.message:void 0;return typeof n=="string"?n:typeof t.message=="string"?t.message:void 0}function qS(t){if(typeof t=="string")return up(t);if(!t||typeof t!="object")return!1;let e=t,n=e.name;if(typeof n=="string"&&Gm.has(n))return!0;let r=Km(e);return typeof r=="string"?up(r):!1}var Hm=["user","runtime-disposed","orphan-finalized","wake"],MS=["orphan-finalized","wake"];function OS(t){if(!t||typeof t!="object")return;let e=t.data;if(!e||typeof e!="object")return;let n=e.reason;if(!(typeof n!="string"||!n))return Hm.includes(n)?n:void 0}function Ft(t){try{return typeof process<"u"?process.env?.[t]:void 0}catch{return}}function Wm(t,e){if(t==null)return e;let n=t.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:e}function BS(t){if(t==null)return;let e=t.trim().toLowerCase();if(["1","true","yes","y","on"].includes(e))return!0;if(["0","false","no","n","off"].includes(e))return!1}function os(t,e,n){return t!==void 0?t:Wm(Ft(e),n)}var NS={get disableMobileAdvertising(){return os(D().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return os(D().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return os(D().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var Lt="kortix-active-instance",zm=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Vm(t){return zm.some(e=>t===e||t.startsWith(`${e}/`))}function et(t){let e=t.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!e)return null;let n=decodeURIComponent(e[1]),r=e[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function HS(t){let e=et(t);return!!e&&e.innerPath===""}function WS(t){let e=et(t);return!e||!e.innerPath?t:e.innerPath}function Jm(t,e){if(!t)return e;if(e.startsWith("/")||(e=`/${e}`),e.startsWith("/instances/")){let n=et(e);return n?`/instances/${encodeURIComponent(t)}${n.innerPath}`:e}return Vm(e)?`/instances/${encodeURIComponent(t)}${e}`:e}function Xm(t){return t?et(t)?.instanceId??null:null}function zS(){return typeof window>"u"?null:Xm(window.location.pathname)||Ym()}function Ym(){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp(`(?:^|; )${Lt}=([^;]+)`));return t?decodeURIComponent(t[1]):null}function VS(t){if(typeof document>"u")return;let e=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){e(`${Lt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!t){e(`${Lt}=; Max-Age=0; Path=/; SameSite=Lax`);return}e(`${Lt}=${encodeURIComponent(t)}; Path=/; SameSite=Lax`)}function JS(t,e){return e?Jm(e,t):t}function XS(t){let e=et(t);return e?e.innerPath||"/dashboard":t}function as(t){if(t instanceof Error)return t.message;if(typeof t=="string")return t;if(t&&typeof t=="object")try{return JSON.stringify(t)}catch{return String(t)}return String(t??"")}function Qm(t){let e=as(t).trim();if(!e)return null;let n=[e,e.replace(/^Failed to perform action:\s*/i,"").trim()],r=e.indexOf("{");r>=0&&n.push(e.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function pp(t){let e=Qm(t);if(!e||typeof e!="object")return null;let n=e;return n.name==="ConfigInvalidError"?n:null}function QS(t){return pp(t)!==null}var Zm=[/sandbox not ready/i,/sandbox is not (?:ready|running)/i,/opencode (?:session )?(?:is )?not ready/i,/\bsandbox_not_ready\b/,/\bsandbox_lifecycle_unavailable\b/];function ef(t){let e=as(t);return e?Zm.some(n=>n.test(e)):!1}function tf(t){let e=pp(t);if(e){let s=(e.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=e.data?.issues?.[0]?.message,u=e.data?.issues?.[0]?.path?.join("."),p=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:o?`${u?`${u}: `:""}${o}`:void 0}}let n=as(t);return ef(n)?{title:"Session is waking up",message:"This session slept to save compute. Your conversation is safe \u2014 sending a message wakes it back up."}:{title:"OpenCode failed to load",message:n||"The sandbox is running, but OpenCode returned an error."}}function X(){let t=Ft("BACKEND_URL")||D().backendUrl;return t||"http://localhost:8008/v1"}function tt(t){if(typeof t=="string"){let e=t.trim();return e.length>0?e:void 0}if(Array.isArray(t)){for(let e of t){let n=tt(e);if(n)return n}return}if(t&&typeof t=="object"){let e=t;return tt(e.sandboxId??e.id??e.slug??Object.values(e)[0])}}var dp=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function gp(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return`${t.slice(0,e)}/platform/local-bridge/status`}function nf(t){return t==="running"||t==="active"?"active":t==="queued"||t==="branching"||t==="provisioning"?"provisioning":t==="failed"||t==="error"?"error":t==="stopped"||t==="completed"||t==="archived"?"stopped":t||"unknown"}function cs(t,e,n){let r=n?.external_id||e.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||e.sandbox_id;return{sandbox_id:n?.sandbox_id||e.sandbox_id||e.session_id,external_id:r,name:e.name||`${t.name} session`,provider:n?.provider||e.sandbox_provider||"daytona",base_url:n?.base_url||e.sandbox_url||(n?.external_id?`${X()}/p/${n.external_id}/${ce.KORTIX_MASTER}`:""),status:nf(n?.status||e.status),metadata:{...e.metadata??{},project_id:t.project_id,session_id:e.session_id,project_name:t.name,runtime_status:n?.status,error:e.error},created_at:n?.created_at||e.created_at,updated_at:n?.updated_at||e.updated_at}}async function ls(){let t=await je(),e=[];for(let n of t){let r=await Ve(n.project_id).catch(()=>[]);for(let s of r)e.push({project:n,session:s,runtime:null,sandbox:cs(n,s,null)})}return e.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 _e(t){let e=await ls();return t?e.find(n=>n.sandbox.sandbox_id===t||n.sandbox.external_id===t||n.session.session_id===t||n.runtime?.external_id===t)??null:e[0]??null}async function Gt(t,e={}){let n={"Content-Type":"application/json",...e.headers},r=e.signal??AbortSignal.timeout(3e4),s=await q(`${X()}${t}`,{...e,headers:n,signal:r}),o=await s.text().catch(()=>{}),u;if(o)try{u=JSON.parse(o)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||o||`Platform API error ${s.status}`,d=new v(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(o?{rawText:o}:void 0),response:s,endpoint:t});throw s.status===402&&(d=ve(Object.assign(d,{response:s,status:s.status,data:u}))),d}return u}function mp(t){if(!t.external_id){if(t.base_url)return t.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${t.provider} sandbox "${t.sandbox_id}"`)}return`${X()}/p/${t.external_id}/${ce.KORTIX_MASTER}`}function lv(t,e){return t.external_id?`${X()}/p/${t.external_id}/${e}`:null}async function fv(){let t=await i.get("/setup/sandbox-providers");if(t.error)throw t.error;return t.data}async function rf(t){let e=await _e();if(e)return{sandbox:e.sandbox,created:!1};let r=(await je())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Je(r.project_id,{...t?.provider?{provider:t.provider}:{}}),o=(await $e(r.project_id,s.session_id))?.sandbox??null;return{sandbox:cs(r,s,o),created:!0}}async function yv(){return(await _e().catch(()=>null))?.sandbox??null}async function hv(t){return{sandbox:(await rf(t)).sandbox}}async function bv(t){let e=tt(t);return e?(await _e(e).catch(()=>null))?.sandbox??null:null}async function xv(t,e){throw await _e(t)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function _v(t){let e=tt(t);return(await ls().catch(()=>[])).map(r=>r.sandbox).filter(r=>!e||r.sandbox_id===e||r.external_id===e)}async function Pv(){if(typeof window>"u")return null;let t=X(),e=Array.from(new Set([t,...dp]));for(let n of e)try{let r=await fetch(gp(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 kv(t){if(!t)throw new Error("No sandbox selected for workload restart");let e=await _e(t);if(!e)throw new Error("Project session sandbox not found");await At(e.project.project_id,e.session.session_id)}async function wv(t){if(!t)throw new Error("No sandbox selected to stop");let e=await _e(t);if(!e)throw new Error("Project session sandbox not found");await Tt(e.project.project_id,e.session.session_id)}async function Sv(t){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function vv(t){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function us(t,e,n){let r=mp(t),s=await q(`${Ce(r)}${e}`,{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 Iv(t,e){return us(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"GET"})}async function Ev(t,e,n,r="member"){await us(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function jv(t,e,n){await us(t,`/kortix/projects/${encodeURIComponent(e)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function qv(t){let e=await Gt(`/platform/invites/${encodeURIComponent(t)}`,{method:"GET"});if(!e.success||!e.data)throw new Error(e.error||"Invite not found");return e.data}async function Mv(t){let e=await Gt(`/platform/invites/${encodeURIComponent(t)}/accept`,{method:"POST"});if(!e.success||!e.data)throw new Error(e.error||"Failed to accept invite");return e.data}async function Ov(t){let e=await Gt(`/platform/invites/${encodeURIComponent(t)}/decline`,{method:"POST"});if(!e.success)throw new Error(e.error||"Failed to decline invite")}async function Fv(t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Lv(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Gv(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Bv(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Kv(t){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Hv(t){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var sf=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Vv(t){return sf.includes(t)}async function Jv(t){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:t?.version??null,error:null,startedAt:null,updatedAt:null}}async function Xv(t){let e=t?`?channel=${t}`:"",n=await fetch(`${X()}/platform/sandbox/version/latest${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await of(t||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function of(t){let e=t?`?channel=${t}`:"",n=await fetch(`${X()}/platform/sandbox/version/changelog${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function Yv(){let t=await fetch(`${X()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`All versions fetch failed: ${t.status}`);return t.json()}async function Qv(t,e){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Zv(t){}async function eC(t){}async function sC(t){return{serverTypes:[],location:t||"hel1"}}async function iC(t){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function oC(t){let e=await i.delete(`/platform/sandbox?sandbox_id=${t}`);if(e.error)throw e.error;return e.data}async function aC(t,e){await i.post("/platform/sandbox/mark-error",{sandbox_id:t,error_message:e},{showErrors:!1,timeout:1e4})}async function cC(){let t=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(t.error)throw t.error;return t.data}async function lC(t){let e=await i.get(`/platform/sandbox/${t}/status`,{showErrors:!1,timeout:1e4});return e.success?e.data??null:null}function uC(t,e){return`${X()}/platform/sandbox/${t}/provision-stream?token=${encodeURIComponent(e)}`}var de=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Bt(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return/\/v1$/.test(e)?e:`${e}/v1`}function ps(t,e){let n=new Headers(t.headers);return n.set("Accept","application/json"),e&&n.set("Content-Type","application/json"),t.accessToken&&n.set("Authorization",`Bearer ${t.accessToken}`),n}async function Nt(t){let e=await t.text().catch(()=>"");if(!e)return null;try{return JSON.parse(e)}catch{return e}}function Kt(t,e){if(e&&typeof e=="object"){let n=e;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof e=="string"&&e?e:t.statusText||`HTTP ${t.status}`}async function G(t,e,n){let r=n?.body!==void 0,s=await fetch(`${Bt(e.backendUrl)}${t}`,{method:n?.method??"GET",headers:ps(e,r),...r?{body:JSON.stringify(n.body)}:{},...e.signal?{signal:e.signal}:{},...e.cache?{cache:e.cache}:{},...e.next?{next:e.next}:{}}),o=await Nt(s);if(!s.ok)throw new de(Kt(s,o),s.status,o);return o}function af(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString();return n?`?${n}`:""}function dC(t,e){return G(`/marketplace/items${af(e)}`,t)}function gC(t){return G("/marketplace/marketplaces",t)}function mC(t,e){return G(`/marketplace/items/${encodeURIComponent(t)}`,e)}function fC(t,e,n){return G(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`,n)}function yC(t,e){return G("/access/check-email",e,{method:"POST",body:{email:t}})}function hC(t,e){return G("/access/request-access",e,{method:"POST",body:t})}function bC(t){return G("/auth/logout",t,{method:"POST",body:{}})}function xC(t,e){return G(`/oauth/authorize/consent/${encodeURIComponent(t)}`,e)}function _C(t,e){return G("/oauth/authorize/consent",e,{method:"POST",body:{request_id:t.requestId,approved:t.approved}})}function PC(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}`,e)}function kC(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}/start`,e,{method:"POST",body:{}})}function wC(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}/finalize`,e,{method:"POST",body:{}})}function SC(t,e){return G(`/setup-links/secret/${encodeURIComponent(t)}`,e)}function vC(t,e,n){return G(`/setup-links/secret/${encodeURIComponent(t)}`,n,{method:"POST",body:{values:e}})}function CC(t,e){return G(`/p/public-share/${encodeURIComponent(t)}`,e)}function RC(t,e,n){return G(`/projects/${encodeURIComponent(t)}/sessions/${encodeURIComponent(e)}/start`,n,{method:"POST",body:{}})}function AC(t){return G("/system/maintenance",t)}function TC(t,e){return G("/system/maintenance",e,{method:"PUT",body:t})}function IC(t){return G("/user-roles",t)}function EC(t,e){return G("/system/demo-request",e,{method:"POST",body:t})}async function jC(t,e,n){let r=new URLSearchParams({format:e.format});e.action&&r.set("action",e.action),e.actor&&r.set("actor",e.actor),e.project_id&&r.set("project_id",e.project_id),e.session_id&&r.set("session_id",e.session_id),e.actor_type&&r.set("actor_type",e.actor_type),e.source&&r.set("source",e.source),e.phase&&r.set("phase",e.phase),e.outcome&&r.set("outcome",e.outcome),e.request_id&&r.set("request_id",e.request_id),e.correlation_id&&r.set("correlation_id",e.correlation_id),e.resource_type&&r.set("resource_type",e.resource_type),e.since&&r.set("since",e.since),e.until&&r.set("until",e.until),e.q&&r.set("q",e.q),e.cursor&&r.set("cursor",e.cursor),e.limit!=null&&r.set("limit",String(e.limit));let s=await fetch(`${Bt(n.backendUrl)}/accounts/${encodeURIComponent(t)}/audit/export?${r}`,{headers:ps(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await Nt(s);throw new de(Kt(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count"),complete:s.headers.get("x-audit-complete")!=="false",nextCursor:s.headers.get("x-audit-next-cursor")||null}}async function $C(t,e){let n=await fetch(`${Bt(e.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:ps(e,!0),body:JSON.stringify(t),...e.signal?{signal:e.signal}:{}});if(!n.ok){let r=await Nt(n);throw new de(Kt(n,r),n.status,r)}if(!n.body)throw new de("No response body",n.status,null);return n.body}var cf=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function lf(t,e){return cf.test(e)?new URL(`templates/public/${e.toLowerCase()}`,`${Bt(t)}/`):null}async function DC(t,e,n){let r=lf(t,e);if(!r)throw new de("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await Nt(s);if(!s.ok)throw new de(Kt(s,o),s.status,o);return o}async function OC(){let t=await i.get("/platform/github-app/status",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App status request failed");return t.data}async function UC(t={}){let e=await i.post("/platform/github-app/manifest-start",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App manifest-start request failed");return e.data}async function FC(t){let e=await i.post("/platform/github-app/app",{app_id:t.appId,private_key:t.privateKey,installation_id:t.installationId,slug:t.slug,client_id:t.clientId,client_secret:t.clientSecret},{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App configuration request failed");return e.data}async function LC(t){let e=await i.post("/platform/github-app/pat",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub token configuration request failed");return e.data}async function GC(){let t=await i.delete("/platform/github-app",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App disconnect request failed");return t.data}var uf="/kortix/part/";function pf(t){return typeof t=="string"&&t.startsWith(uf)}async function HC(t){if(!pf(t))throw new Error(`not an attachment part reference: ${t}`);let e=ne();if(!e)throw new Error("runtime url not bound");let n=await q(`${e}${t}`);if(!n.ok)throw new Error(`attachment part fetch failed: ${n.status}`);return n.blob()}function fp(t){try{let e=new URL(t);if(/^\/proxy\/\d+(?:\/|$)/.test(e.pathname))return`${e.origin}/v1/p/auth`;let n=e.pathname.indexOf("/p/");return n!==-1?`${e.origin}${e.pathname.slice(0,n)}/p/auth`:`${e.origin}/v1/p/auth`}catch{return null}}function df(t,e){try{let n=new URL(t),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(e)try{o.add(new URL(e).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function yp(t,e){return df(t,e)?(e?fp(e):null)??fp(t):null}function hp(t){try{let{hostname:e}=new URL(t);return/^p\d+-[^.]+\./.test(e)||/^(?:dev|staging|prod|preview)-p\d+-[a-z0-9-]+\./i.test(e)}catch{return!1}}function bp(t,e){try{let n=new URL(t);return n.searchParams.set("token",e),n.toString()}catch{return t}}async function gf(t,e={}){let n=yp(t,e.serverUrl);if(!n)return!1;let r=await Ue();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}async function XC(t,e={}){if(hp(t)){let n=await Ue();return n?bp(t,n):t}return await gf(t,e),t}var QC=3e3;function mf(t){return!Number.isFinite(t)||t<100||t>599?"unknown":t===502||t===503||t===504?"unreachable":t===401||t===403?"unknown":"reachable"}async function ZC(t,e){if(!t||e?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();e?.signal?.addEventListener("abort",r);let s=setTimeout(r,e?.timeoutMs??3e3);try{let o=await fetch(t,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return mf(o.status)}catch{return"unknown"}finally{clearTimeout(s),e?.signal?.removeEventListener("abort",r)}}function ds(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return e}function tR(t,e){return`${ds(t)}/presentation-templates/${encodeURIComponent(e)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function nR(t,e){return`${ds(t)}/presentation-templates/${encodeURIComponent(e)}/image.png`}function ff(t,e){return`${ds(t)}/presentation/convert-to-${e}`}async function rR(t,e,n,r){let s=ff(e,t),o=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let I=await f.blob();if(I.size===0)throw new Error("Downloaded file is empty");return I}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${t.toUpperCase()} to generate`);await new Promise((I,E)=>{let l=setTimeout(I,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(l),E(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),C=f.statusText;try{let I=JSON.parse(x);C=String(I.error||I.detail||I.message||C)}catch{x&&(C=x)}throw new Error(`Failed to download ${t.toUpperCase()}: ${C} (HTTP ${f.status})`)}}function iR(t){return t.activityFresh||t.runtimeReady?"live":t.unreachable||t.stalled?"unreachable":t.sandbox==="stopped"||t.sandbox==="archived"||t.sandbox==="provisioning"||t.sandbox==="queued"||t.sandbox==="branching"?"waking":t.sandbox==="completed"?"unknown":t.sandbox==="failed"?"unreachable":t.sandbox==="running"?"connecting":"unknown"}function oR(t){return t==="unreachable"}var cR=6e4,lR=45e3,uR=45e3,pR=1e4,dR=3e3,gR=15e3;function mR(t){let e=0;for(let n of t)(n.state==="queued"||n.state==="delivering"||n.state==="waiting"&&n.reason!=="held")&&(e+=1);return e}function gs(t){if(!t)return null;let e=Date.parse(t);return Number.isNaN(e)?null:e}function fR(t){let{optimistic:e,abort:n,inbox:r,server:s,stream:o,activity:u,nowMs:p}=t,d=!!e&&p-e.atMs<6e4,f=d?e.acceptedAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,m=d?e.atMs:Number.NEGATIVE_INFINITY,x=!!n&&p-n.atMs<15e3?n.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,C=!!s&&p-s.atMs<=45e3,I=!!o&&p-o.atMs<=45e3,E=!!r&&p-r.atMs<=1e4,l=o&&o.type==="idle"?o:null,c=!!u&&p-u.atMs<=45e3&&(!l||u.atMs>l.atMs),T=K=>{if(!l)return!1;let h=gs(K.started_at);return!(h===null||h>=l.atMs)};if(c)return{state:"working",source:"stream",turnId:null,since:u.atMs,serverOpenTurnToken:C?s.turns[0]?.turn_token??null:null};let P=(C?s.turns[0]:void 0)?.turn_token??null,j=C?s.turns.find(K=>!T(K)):void 0;if(j&&s.atMs>=x&&(!o||s.atMs>=o.atMs))return{state:"working",source:"server",turnId:j.message_id,since:gs(j.started_at)??s.atMs,serverOpenTurnToken:P};if(E&&r.pending>0)return{state:"working",source:"server",turnId:null,since:r.atMs,serverOpenTurnToken:P};let $=C&&!j&&s.atMs>=f,A=I&&o.atMs>=m;if($&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:gs(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:P};if(A)return{state:o.type==="idle"?"idle":"working",source:"stream",turnId:null,since:o.atMs,serverOpenTurnToken:P};if(d)return{state:"working",source:"optimistic",turnId:e.messageId,since:e.atMs,serverOpenTurnToken:P};let W=s&&o?s.atMs>=o.atMs?{source:"server",atMs:s.atMs}:{source:"stream",atMs:o.atMs}:s?{source:"server",atMs:s.atMs}:o?{source:"stream",atMs:o.atMs}:{source:"server",atMs:p};return{state:"idle",source:W.source,turnId:null,since:W.atMs,serverOpenTurnToken:P}}function yR(t){let{optimistic:e,abort:n,inbox:r,server:s,stream:o,activity:u,nowMs:p}=t,d=[null,e?e.atMs+6e4:null,n?n.atMs+15e3:null,r?r.atMs+1e4:null,s?s.atMs+45e3:null,o?o.atMs+45e3:null,u?u.atMs+45e3:null],f=null;for(let m of d)m===null||m<=p||(f===null||m<f)&&(f=m);return f}var bR=6e4;function xR(t){return t.serverCompactingAtMs!==null?!0:t.optimisticAtMs===null?!1:t.nowMs-t.optimisticAtMs<6e4}function _R(t){if(t.serverCompactingAtMs!==null||t.optimisticAtMs===null)return null;let e=t.optimisticAtMs+6e4;return e>t.nowMs?e:null}var yf=9e4;function PR(t){return t.serverCompactingAtMs===null?null:t.serverCompactingAtMs+yf}function xp(t){let e=t.fetch??globalThis.fetch,n=t.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let o=new URLSearchParams({limit:String(r)});s&&o.set("before",s);let u=await t.getToken?.(),p=await e(`${n}/session/${encodeURIComponent(t.sessionId)}/message?${o}`,{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 hf(t){return xf(xp(t))}function bf(t){return new ms({...t,loadPage:xp(t)})}async function xf(t){let e=[],n=new Set,r;do{let u=await t({limit:100,...r?{before:r}:{}});if(e.push(u.messages),r=u.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);let s=[],o=new Set;for(let u=e.length-1;u>=0;u--)for(let p of e[u])o.has(p.info.id)||(o.add(p.info.id),s.push(p));return s}var _f={now:Date.now,setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},ms=class{options;scheduler;livenessIntervalMs;retryAttempt=0;tailRetryTimer;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;lastActivityAt;listeners=new Set;destroyed=!1;constructor(e){this.options=e,this.scheduler=e.scheduler??_f,this.livenessIntervalMs=e.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(e="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(e).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let e=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(e).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}setBusy(e){if(!e){let n=this.livenessTimer!==void 0;this.stopLivenessTimer(),n&&!this.destroyed&&this.reconcile("turn-end");return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.tailRetryTimer!==void 0&&(this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0),this.listeners.clear()}async loadTail(e){try{let n=await this.loadPage("tail",e);if(this.destroyed)return;this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted||this.setCursor(n.nextCursor),this.update({freshness:"fresh"}),this.options.markLoaded(),this.retryAttempt=0}catch{if(this.destroyed)return;this.update({freshness:"error"}),this.scheduleTailRetry(e)}}scheduleTailRetry(e){if(this.destroyed||this.tailRetryTimer!==void 0)return;let n=Math.min(1e3*2**this.retryAttempt,15e3);this.retryAttempt+=1,this.tailRetryTimer=this.startTimer(()=>{this.tailRetryTimer=void 0,!this.destroyed&&this.reconcile(e)},n)}async loadPage(e,n,r){let s=this.scheduler.now();try{let o=await this.options.loadPage({limit:e==="tail"?50:100,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(e){let n=await this.loadPage("older","manual",e);return this.loadCompleteTurn(n,"older","manual",e)}async loadCompleteTurn(e,n,r,s,o){let u=[...e.messages],p=new Set(this.knownUserMessageIds),d=new Set(s?[s]:[]),f=e.nextCursor,m=0;for(let b of e.messages)b.info.role==="user"&&p.add(b.info.id);for(;f&&m<10&&u.some(b=>b.info.role==="assistant"&&!!b.info.parentID&&!p.has(b.info.parentID));){if(d.has(f))throw new Error(`Session history cursor repeated: ${f}`);d.add(f);let b=await this.loadPage(n,r,f);if(this.destroyed)return{messages:u,nextCursor:f};m+=1,u.unshift(...b.messages);for(let x of b.messages)x.info.role==="user"&&p.add(x.info.id);f=b.nextCursor,o?.([...u])}return{messages:u,nextCursor:f}}rememberUserMessages(e){for(let n of e)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.raceDeadline(this.reconcile("poll"),this.livenessIntervalMs),this.lastActivityAt=this.scheduler.now())}raceDeadline(e,n){return new Promise(r=>{let s,o=!1,u=()=>{o||(o=!0,this.cancelTimer(s),r())};s=this.startTimer(u,n),e.then(u,u)})}setCursor(e){this.nextCursor=e,this.update({hasOlder:!!e})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}startTimer(e,n){return this.scheduler.setTimeout?this.scheduler.setTimeout(e,n):setTimeout(e,n)}cancelTimer(e){e!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(e):clearTimeout(e))}update(e){let n={...this.snapshot,...e};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder)){this.snapshot=n;for(let r of this.listeners)r()}}};function Pf(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return`${e}/tunnel/permission-requests/stream`}function kf(t){let{url:e,token:n,method:r="GET",body:s,onEvent:o,onOpen:u,onError:p,signal:d}=t,f=new Map,m=null,b=!1;function x(y,c){o?.(y,c);let T=f.get(y);if(T)for(let R of T)try{R(c)}catch{}}async function C(){if(b)return;m=new AbortController;let y=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 T=await fetch(e,{method:r,headers:c,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:y,credentials:"include"});if(!T.ok)throw new Error(`SSE connection failed: ${T.status} ${T.statusText}`);if(!T.body)throw new Error("SSE response has no body");u?.();let R=T.body.getReader(),P=new TextDecoder,j="",$="message",A="";for(;!b;){let{done:W,value:K}=await R.read();if(W)break;j+=P.decode(K,{stream:!0});let h=j.split(`
|
|
77
|
+
`);j=h.pop()||"";for(let S of h)S===""?A&&(x($,A.trimEnd()),$="message",A=""):S.startsWith("event: ")?$=S.slice(7).trim():S.startsWith("data: ")?A+=(A?`
|
|
78
|
+
`:"")+S.slice(6):S.startsWith("data:")&&(A+=(A?`
|
|
79
|
+
`:"")+S.slice(5))}}catch(c){if(b||c instanceof DOMException&&c.name==="AbortError")return;p?.(c instanceof Error?c:new Error(String(c)))}}function I(){b=!0,m?.abort(),m=null,f.clear()}function E(y,c){let T=f.get(y)??new Set;T.add(c),f.set(y,T)}function l(y,c){f.get(y)?.delete(c)}return{connect:C,close:I,addEventListener:E,removeEventListener:l}}function SR(t,e){return kf({...e,url:Pf(t)})}export{Hm as ABORT_REASONS,MS as ABORT_REASONS_NOT_YET_EMITTED,Lt as ACTIVE_INSTANCE_COOKIE,uf as ATTACHMENT_PART_REF_PREFIX,v as ApiError,we as AuthError,ge as BillingError,tp as COST_MARKUP,zu as DEFAULT_TRANSCRIPT_OPTIONS,sf as DESTRUCTIVE_PHASES,hr as FEATURE_DISABLED_CODE,Ab as FEATURE_FLAG_KEYS,Vp as FEATURE_NOT_SUPPORTED_CODE,de as HostBoundaryError,Bp as IMPERSONATION_HEADER,pR as INBOX_OBSERVATION_MAX_MS,zm as INSTANCE_SCOPED_ROUTES,Jp as MODEL_NOT_SERVABLE_CODE,gR as OPTIMISTIC_ABORT_MAX_MS,bR as OPTIMISTIC_COMPACTION_MAX_MS,cR as OPTIMISTIC_RECEIPT_MAX_MS,QC as PREVIEW_PROBE_TIMEOUT_MS,Xp as PROVISION_IN_FLIGHT_CODE,Xr as PublicSessionShareError,Se as RequestTooLargeError,Ge as RuntimeNotReadyError,Rr as SANDBOX_FS_ROOTS,ce as SANDBOX_PORTS,yf as SERVER_COMPACTION_REVALIDATE_MS,lR as SERVER_OBSERVATION_MAX_MS,uR as STREAM_OBSERVATION_MAX_MS,Ot as SessionNotReadyError,Kr as SessionStartError,dR as TURN_END_LEDGER_LAG_MS,Sf as __getConfigResolver,wf as __setConfigResolver,OS as abortErrorReason,hi as acceptAccountInvite,Mv as acceptInvite,Bl as actReviewItem,jo as activateConnection,kl as addGroupMembers,yu as addMarketplaceSource,fm as allDescendantIds,bp as appendPreviewToken,Hi as approveProjectAccessRequest,sh as approveTask,qr as archiveProject,dh as assignTicket,to as attachGroupToProject,q as authenticatedFetch,XC as authorizePreviewUrl,i as backendApi,$_ as bindSlackIdentity,D_ as bindTeamsIdentity,mo as brokerProjectSecretRequest,Jm as buildInstancePath,nR as buildPresentationTemplateImageUrl,tR as buildPresentationTemplatePdfUrl,yp as buildPreviewAuthEndpoint,lf as buildPublicTemplateUrl,ff as buildRuntimePresentationConversionUrl,la as buildSandboxTemplate,ew as buildStaticFileHealthPreviewUrl,Zk as buildStaticFileLocalUrl,Qk as buildStaticFilePreviewUrl,ng as buildStaticFileServicePath,Pf as buildTunnelEventStreamUrl,iw as buildWebProxyUrl,Nl as bulkActReviewItems,oP as bulkDeletePolicies,aP as bulkImportPolicies,So as callConnector,VP as cancelAccountDeletion,mi as cancelAccountInvite,Sv as cancelSandbox,eC as cancelSandboxUpdate,Ec as cancelScheduledChange,Ac as cancelSubscription,yC as checkAccessEmail,cS as childMapByParent,cC as claimComputer,__ as claimPerSeatBilling,Ua as claimWarmProjectSession,Xu as classifyPart,mf as classifyPreviewProbeStatus,sm as classifyTurn,Fs as clearImpersonationSession,gc as clearModelDefault,Dx as clearSessionFresh,Ra as closeChangeRequest,Lh as closeMilestone,sS as collectTurnParts,mh as commentTicket,Ia as commitSessionChanges,_R as compactionExpiryAtMs,mm as compareMessagesForDisplay,ep as computeStatusFromPart,qc as configureAutoTopup,zt as configureKortix,Cc as confirmCheckoutSession,Jc as connectEmail,Gc as connectSlack,oR as connectionIsFaulted,pk as convertPresentationToGoogleSlides,rR as convertRuntimePresentation,vt as copyFile,Oc as costExportUrl,mR as countLiveInboxPrompts,ci as createAccount,iu as createAccountAuditWebhook,Xl as createAccountToken,xu as createApp,vu as createAppAccessSession,Ru as createAppDeployment,Ml as createAssignment,DP as createAuditWebhook,Lv as createBackup,vc as createCheckoutSession,Wo as createConnector,St as createFile,gl as createGatewayKey,bl as createGroup,bf as createHttpSessionSyncController,iC as createInstance,vg as createKortix,Js as createKortixPty,qk as createMarketplaceInstallSession,Uh as createMilestone,x_ as createPerSeatCheckout,rP as createPolicy,Rc as createPortalSession,Ai as createProject,Sh as createProjectAgent,Zl as createProjectCliToken,Ti as createProjectRepo,io as createProjectResourceGrant,Je as createProjectSession,nc as createProjectTrigger,Al as createRole,kf as createSSEStream,hv as createSandbox,Hl as createSandboxShare,oa as createSandboxTemplate,pP as createScimToken,IP as createServiceAccountApi,Ba as createSessionPrompt,qa as createSessionPublicShare,PP as createSsoGroupMapping,th as createTask,lh as createTicket,SR as createTunnelEventStream,bi as declineAccountInvite,Ov as declineInvite,JP as deleteAccountImmediately,ku as deleteApp,MP as deleteAuditWebhook,Bv as deleteBackup,Vo as deleteConnector,zh as deleteCredential,zs as deleteEnv,Ae as deleteFile,pl as deleteGatewayBudget,Ni as deleteGitHubInstallation,_l as deleteGroup,oC as deleteInstance,$h as deleteKortixProject,Bh as deleteMilestone,Po as deletePersonalProjectSecret,iP as deletePolicy,Ch as deleteProjectAgent,ho as deleteProjectProviderOAuth,oo as deleteProjectResourceGrant,xo as deleteProjectSecret,Va as deleteProjectSession,sc as deleteProjectTrigger,El as deleteRole,ca as deleteSandboxTemplate,jP as deleteServiceAccountApi,Ka as deleteSessionPrompt,kP as deleteSsoGroupMapping,xP as deleteSsoProvider,ih as deleteTask,fh as deleteTicket,yi as describeAccountInvite,wo as describeConnectorTool,ro as detachGroupFromProject,Qd as detectLocalhostUrls,EP as disableServiceAccountApi,Xc as disconnectEmail,GC as disconnectGitHubApp,Kc as disconnectSlack,sx as discoverConnectionOAuth2,ix as discoverConnectionOAuth2Resource,zo as discoverConnectorAuth,Pv as discoverLocalSandbox,jC as downloadAccountAudit,ob as dropClientForUrl,lb as dropPublicClientForUrl,kh as ensurePmSession,gf as ensurePreviewSessionCookie,tx as ensureProjectConnectorConnection,rf as ensureSandbox,Oa as ensureWarmProjectSession,id as env,ru as exportAccountAudit,ue as extractGatewayErrorDetails,et as extractInstanceRoute,qs as featureDisabledKey,NS as featureFlags,h_ as fetchAccountStateWithToken,Sb as fetchAccountsWithToken,HC as fetchAttachmentPart,T_ as fetchCostExportCsv,ma as fetchProjectArchive,Mb as fetchProjectsForAccountWithToken,wd as files,Qr as finalizeAppArtifact,wC as finalizeConnectorSetupLink,kt as findFiles,iS as findLastTextPart,wt as findText,oc as fireProjectTrigger,ia as fixSandboxWithAgent,Os as formatBillingErrorForUI,RS as formatCost,SS as formatDuration,tf as formatOpenCodeRuntimeError,tf as formatRuntimeError,AS as formatTokens,jg as formatTranscript,Cg as generateSessionId,li as getAccount,WP as getAccountDeletionStatus,bc as getAccountState,xc as getAccountStateMinimal,Ym as getActiveInstanceIdFromCookie,rk as getAdminProviderAnalytics,ek as getAdminProviderDistribution,ik as getAdminProviderFallback,XP as getAdminRole,pm as getAgentCardLabel,u_ as getAgentConfig,Rh as getAgentPersona,Yv as getAllVersions,aS as getAnsweredQuestionParts,_u as getApp,wu as getAppAccess,Tu as getAppDeployment,Iu as getAppDeploymentLogs,Ek as getApprovalLink,Ue as getAuthToken,As as getAuthTokenWithRetry,Dc as getAutoTopupSettings,b_ as getAutoTopupSetupStatus,kc as getBillingCreditBreakdown,Sc as getBillingTierConfigurations,Pc as getBillingTransactionsSummary,wc as getBillingUsageHistory,ka as getChangeRequest,wa as getChangeRequestDiff,Sa as getChangeRequestMergePreview,zw as getChildSessionError,Ww as getChildSessionId,Vw as getChildSessionToolParts,ye as getClient,oe as getClientForUrl,Yo as getConnectStatus,rx as getConnectionOAuth2Application,ux as getConnectionOAuth2Status,px as getConnectionPolicies,Or as getConnectorCatalog,No as getConnectorConfig,Go as getConnectorPolicies,PC as getConnectorSetupLink,A_ as getCostSummary,Xm as getCurrentInstanceIdFromPathname,zS as getCurrentInstanceIdFromWindow,ii as getCurrentProject,Wr as getDefaultAccountState,Yw as getDiagnostics,um as getDirectory,Fr as getDiscoverConnector,mx as getDiscoverIntegration,zc as getEmailInstallation,Vc as getEmailMode,UP as getEnterpriseDemo,Pt as getFileStatus,Yu as getFileWithDir,lm as getFilename,of as getFullChangelog,ol as getGatewayBreakdown,ll as getGatewayBudgets,cl as getGatewayErrors,dl as getGatewayKeys,rl as getGatewayLog,sl as getGatewayOverview,Qc as getGatewayRoutingPolicy,il as getGatewaySeries,al as getGatewaySessions,OC as getGitHubAppStatus,Mi as getGitHubInstallation,uk as getGoogleAuthUrl,hl as getGroup,Kw as getHiddenToolParts,Hp as getImpersonationSession,qv as getInvite,sC as getJustavpsServerTypes,Ih as getKortixProject,Eh as getKortixProjectBySession,Qs as getKortixPtyWebSocketUrl,Xv as getLatestSandboxVersion,AC as getMaintenanceConfig,jb as getManagedGitStatus,gu as getMarketplaceCatalogItem,mu as getMarketplaceCatalogItemFile,gP as getMfaRequired,Mh as getMilestone,pc as getModelDefaults,xC as getOAuthConsentRequest,pp as getOpenCodeConfigInvalidError,Bw as getPartText,RP as getPatPolicy,Qw as getPermissionForTool,Ir as getProject,Ah as getProjectActivity,ha as getProjectCommit,ba as getProjectCommitDiff,Er as getProjectDetail,xa as getProjectFileHistory,Ri as getProjectGitToken,jr as getProjectLlmCatalog,Ib as getProjectLlmCatalogProviders,$r as getProjectModelPicker,Lr as getProjectSandboxHealth,$b as getProjectSandboxProviderTransition,Br as getProjectSession,Ja as getProjectSessionConfigState,Qa as getProjectSessionScope,jc as getProrationPreview,fv as getProviders,tw as getProxyBaseUrl,cb as getPublicClientForUrl,mC as getPublicMarketplaceItem,fC as getPublicMarketplaceItemFile,_k as getPublicSessionShare,Pk as getPublicSessionShareMessages,CC as getPublicShareByToken,DC as getPublicTemplate,Zw as getQuestionForTool,K_ as getReferralCode,z_ as getReferralStats,TS as getRetryInfo,IS as getRetryMessage,Ll as getReviewItem,Cl as getRolePermissions,Rl as getRoleUsage,Hv as getSSHConnection,yv as getSandbox,bv as getSandboxById,lv as getSandboxPortUrl,lC as getSandboxProvisionStatus,uC as getSandboxProvisionStreamUrl,Jv as getSandboxUpdateStatus,mp as getSandboxUrl,SC as getSecretSetupLink,Ar as getServerHealth,Xh as getServiceLogs,Fa as getSessionAudit,CS as getSessionCost,Vr as getSessionCostRecord,qu as getSessionHealth,wP as getSessionPolicy,$a as getSessionPreviewCandidates,La as getSessionTranscript,Ga as getSessionTurn,mS as getShellModePart,Hc as getSlackChannelFile,Lc as getSlackInstallation,Nc as getSlackManifest,Bc as getSlackMode,yP as getSsoProvider,rg as getStaticFileHealthPath,yr as getSupabaseAccessToken,ie as getSupabaseAccessTokenWithRetry,Qy as getTask,eh as getTaskStatus,Fk as getTemplate,ah as getTicket,Jw as getToolInfo,$g as getTranscriptFilename,vS as getTurnCost,PS as getTurnError,kS as getTurnErrorDetails,wS as getTurnStatus,Mc as getUsageRollup,IC as getUserRolesWithToken,_a as getVersionDiff,xS as getWorkingState,Ev as grantSandboxProjectAccess,d_ as grantSecretToAgent,rS as groupMessagesIntoTurns,ES as hasDiffs,Yk as hasLocalhostUrls,tg as hasPreviewTarget,pS as hasRetryingAssistantTurn,og as heartbeatGapEvent,Wa as holdSessionPrompts,ts as humanizeToolName,Pr as impersonationHeaders,bP as importSsoProviderFromMetadata,Lk as installTemplate,lt as invalidateTokenCache,di as inviteAccountMember,Xi as inviteProjectMember,vi as inviteRepoCollaborator,qS as isAbortError,Ay as isAdminBypassEnabled,Uw as isAgentPart,Jd as isAppRouteUrl,om as isAttachment,pf as isAttachmentPartRef,Ms as isBillingError,Fw as isCompactionPart,Vt as isConfigured,Vv as isDestructivePhase,cw as isExternalUrl,Ds as isFeatureDisabledError,im as isFilePart,Np as isImpersonationSessionLive,HS as isInstanceDetailPath,Vm as isInstanceScopedAppPath,sw as isInternalLocalhostUrl,Hb as isInviteSent,bS as isLastUserMessage,Tb as isManagedGithubProject,QS as isOpenCodeConfigInvalidError,Gw as isPatchPart,rw as isPreviewUrl,sg as isProxiableLocalhostUrl,rs as isReasoningPart,ym as isRetryableTurnError,zk as isRuntimeReady,ef as isSandboxNotReadyError,oi as isServerReachable,Ea as isSessionFresh,Jx as isSessionStartError,hm as isShellMode,Lw as isSnapshotPart,hp as isSubdomainPreviewUrl,xe as isTextPart,pe as isToolPart,Hw as isToolPartHidden,ti as isUnderSandboxRoot,aw as isWebProxyUrl,ad as kortixPty,Pi as leaveAccount,Bi as linkGitHubInstallation,qi as linkRepository,tu as listAccountAudit,su as listAccountAuditWebhooks,gi as listAccountInvites,pi as listAccountMembers,tP as listAccountResourceGrants,vP as listAccountSessions,Jl as listAccountTokens,ai as listAccounts,cP as listActions,tk as listAdminSandboxes,vl as listAgentIdentities,Ro as listAllConnections,Au as listAppDeployments,bu as listApps,ql as listAssignments,OP as listAuditEvents,$P as listAuditWebhooks,Fv as listBackups,_c as listBillingTransactions,Pa as listChangeRequests,q_ as listChannelBindings,yh as listColumns,Co as listConnections,Ct as listConnectorTools,Mo as listConnectors,R_ as listCostByProject,Kh as listCredentialEvents,Nh as listCredentials,Ur as listDiscoverConnectors,gx as listDiscoverIntegrations,Hs as listEnv,du as listFeaturedMarketplaces,bh as listFields,_t as listFiles,nl as listGatewayLogs,Oi as listGitHubInstallations,Fi as listGitHubRepositories,Li as listGitHubRepositoryBranches,Pl as listGroupMembers,Q_ as listGroupProjectGrants,yl as listGroups,jh as listKortixProjectSessions,Th as listKortixProjects,Vs as listKortixPty,Ui as listLinkableGitHubInstallations,uu as listMarketplaceCatalogItems,fu as listMarketplaceSources,pu as listMarketplaces,Z_ as listMemberGroups,eP as listMemberProjectAccess,Oh as listMilestoneEvents,qh as listMilestones,ao as listPendingApprovals,Yi as listPendingProjectInvites,Ul as listPermissions,Jo as listPipedreamApps,Xo as listPipedreamSections,nP as listPolicies,zi as listProjectAccess,Ki as listProjectAccessRequests,wh as listProjectAgents,nu as listProjectAudit,fa as listProjectBranches,Ql as listProjectCliTokens,ya as listProjectCommits,pa as listProjectFiles,eo as listProjectGroupGrants,ea as listProjectPolicies,so as listProjectResourceGrants,na as listProjectSandboxTemplates,ua as listProjectSandboxes,uo as listProjectSecrets,Ve as listProjectSessions,ra as listProjectSnapshots,tc as listProjectTriggers,je as listProjects,Si as listProjectsForAccount,dC as listPublicMarketplaceItems,gC as listPublicMarketplaces,V_ as listReferrals,Fl as listReviewItems,Sl as listRoles,Iv as listSandboxProjectMembers,Kl as listSandboxShares,_v as listSandboxes,uP as listScimTokens,TP as listServiceAccountsApi,Jh as listServiceTemplates,Vh as listServices,Uc as listSessionCosts,Na as listSessionPrompts,Da as listSessionPublicShares,co as listSessionsNeedingInput,_P as listSsoGroupMappings,Zy as listTaskEvents,Yy as listTasks,_h as listTemplates,ch as listTicketEvents,oh as listTickets,hf as loadHttpSessionHistory,aC as markInstanceError,Rt as markSessionFresh,Ca as mergeChangeRequest,sk as migrateAdminSandboxProvider,ze as mkdir,ag as narrowChatEvent,XS as normalizeAppPathname,lw as normalizeExternalInput,Ut as normalizeToolName,va as openChangeRequest,Zr as openEventStream,$C as openStressTestStream,ve as parseBillingError,BS as parseFlagOverride,$t as parseLocalhostUrl,Qm as parseOpenCodeErrorPayload,Du as parseProxyHop,Ku as parseSubdomainUrl,ow as parseWebProxyUrl,Dh as patchKortixProject,Ho as pipedreamConnect,Do as pipedreamConnectConnection,Zo as pipedreamFinalize,qo as pipedreamFinalizeConnection,D as platformConfig,lx as pollConnectionOAuth2DeviceAuthorization,yo as pollProjectProviderOAuth,tl as previewGatewayRoute,mP as previewMfaRequired,jl as probeEffectivePermission,$l as probeEffectivePermissions,ZC as probePreviewPort,xR as projectCompacting,iR as projectSessionConnection,Vx as projectSessionStartSeed,fR as projectWorking,Ii as provisionProject,Eb as provisionProjectStream,Ob as provisionProjectWithToken,Bu as proxyLocalhostUrl,nw as proxyUrlToInternal,$c as purchaseCredits,nx as putConnectionOAuth2Application,vv as reactivateSandbox,Tc as reactivateSubscription,Ke as readBlob,Ne as readFile,ga as readProjectFile,sa as rebuildProjectSnapshot,Ao as reconcileConnection,To as reconcileMemberConnection,Qh as reconcileServices,bC as recordPlatformLogout,H_ as refreshReferralCode,Yr as registerAppArtifact,ox as registerConnectionOAuth2Client,Zh as registerService,Wi as rejectProjectAccessRequest,Xw as relativizePath,Xa as reloadProjectSessionConfig,Ya as reloadProjectSessionConfigStream,au as removeAccountAuditWebhook,xi as removeAccountMember,wl as removeGroupMember,Ys as removeKortixPty,hu as removeMarketplaceSource,he as renameFile,xv as renameSandbox,Aa as reopenChangeRequest,Gh as reopenMilestone,hh as replaceColumns,xh as replaceFields,Ph as replaceTemplates,zP as requestAccountDeletion,Ta as requestChangesOnChangeRequest,Kb as requestProjectAccess,lu as requestProjectConnector,cu as requestProjectSecret,fi as resendAccountInvite,Zi as resendPendingProjectInvite,ab as resetClient,el as resetGatewayRoutingPolicy,ub as resetPublicClient,Zv as resetSandboxUpdateStatus,lo as resolveApproval,y_ as resolvedPlan,At as restartProjectSession,kv as restartSandbox,Gv as restoreBackup,Ha as retrySessionPrompt,Wh as revealCredential,CP as revokeAccountSession,Yl as revokeAccountToken,Ol as revokeAssignment,Eo as revokeConnection,ml as revokeGatewayKey,Qi as revokePendingProjectInvite,Ji as revokeProjectAccess,eu as revokeProjectCliToken,jv as revokeSandboxProjectAccess,Wl as revokeSandboxShare,dP as revokeScimToken,Ma as revokeSessionPublicShare,be as rewriteLocalhostUrl,$u as rollbackApp,fl as runGatewayPlayground,Gi as saveGitHubInstallation,Ic as scheduleDowngrade,ko as searchConnectorTools,da as searchProjectFiles,J_ as sendReferralEmails,PR as serverCompactionRevalidateAtMs,Yh as serviceAction,Xx as sessionStartKey,VS as setActiveInstanceCookie,Ry as setAdminBypass,nk as setAdminProviderDistribution,ok as setAdminProviderFallback,fc as setAgentScope,gy as setBootstrapAuthToken,dy as setCachedAuthToken,dx as setConnectionPolicies,Fo as setConnectorAuthorizationStrategy,Qo as setConnectorCredential,Uo as setConnectorCredentialMode,Ko as setConnectorName,Bo as setConnectorPolicies,fx as setConnectorSecretBinding,Lo as setConnectorSensitive,$o as setDefaultConnection,FP as setEnterpriseDemo,Ws as setEnv,ul as setGatewayBudget,Zc as setGatewayRoutingPolicy,FC as setGitHubAppFromExisting,LC as setGitHubAppPat,xy as setImpersonationSession,TC as setMaintenanceConfig,lP as setMemberSuperAdmin,fP as setMfaRequired,dc as setModelDefault,_o as setPersonalProjectSecret,r_ as setProjectModelEnablement,Di as setProjectOnboardingComplete,qb as setProjectOnboardingProfile,ta as setProjectPolicies,go as setProjectSecretStrategy,ec as setProjectSessionModel,Za as setProjectSessionScope,ja as setProjectSessionSharing,ic as setProjectTriggersActivation,Kv as setupSSH,cp as shellExitCode,zp as shouldAttachImpersonation,_S as shouldHideResponsePart,cm as shouldShowToolPart,lS as sortSessions,Nw as splitUserParts,Eu as startApp,ax as startConnectionOAuth2Authorization,cx as startConnectionOAuth2DeviceAuthorization,kC as startConnectorSetupLink,UC as startGitHubAppManifest,fo as startProjectProviderOAuth,$e as startProjectSession,RC as startSessionWithToken,rh as startTask,ju as stopApp,Tt as stopProjectSession,wv as stopSandbox,eS as stripAnsi,WS as stripInstancePrefix,Ce as stripTrailingSlashes,hC as submitAccessRequest,EC as submitDemoRequest,_C as submitOAuthConsent,Gl as submitReviewItem,vC as submitSecretSetupLink,_y as subscribeToImpersonation,Ty as supabaseClient,Oo as syncConnectors,P_ as syncSubscription,pb as systemReload,Ie as toDaemonPath,JS as toInstanceAwarePath,ig as toInternalUrl,bt as toSandboxAbsolutePath,ni as toWorkspaceRelative,ns as toolInfo,Lm as toolViewModel,Qv as triggerSandboxUpdate,od as triggersRequest,oS as turnHasSteps,gh as unassignTicket,ee as unwrapError,ou as updateAccountAuditWebhook,_i as updateAccountMemberRole,ui as updateAccountName,p_ as updateAgentConfig,Pu as updateApp,Su as updateAppAccess,qP as updateAuditWebhook,M_ as updateChannelBinding,Io as updateConnectionCredential,Yc as updateEmailPolicy,ji as updateExperimentalFeature,Ei as updateFeatureFlag,xl as updateGroup,Xs as updateKortixPty,Fh as updateMilestone,AP as updatePatPolicy,sP as updatePolicy,Dr as updateProject,Vi as updateProjectAccess,vh as updateProjectAgent,hc as updateProjectDefaultAgent,no as updateProjectGroupGrant,$i as updateProjectSandboxProvider,za as updateProjectSession,rc as updateProjectTrigger,Tl as updateRole,Il as updateRolePermissions,aa as updateSandboxTemplate,SP as updateSessionPolicy,nh as updateTask,Db as updateTemplateWarmPool,uh as updateTicket,ph as updateTicketStatus,Cu as uploadAppArtifactArchive,vo as uploadConnectorAttachment,He as uploadFile,Wc as uploadSlackChannelFile,Hh as upsertCredential,bo as upsertProjectGitCredential,po as upsertProjectSecret,hP as upsertSsoProvider,Ci as validateProjectManifest,W_ as validateReferralCode,ki as validateToken,L_ as verifyGatewayProvider,yR as workingExpiryAtMs,We as writeFile};
|