@kortix/sdk 0.10.15 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -2
- package/dist/browser/session-sync/session-sync-registry.d.ts +3 -0
- package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
- package/dist/browser/session-sync/session-sync-registry.js +31 -2
- package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
- package/dist/core/acp/client.d.ts +45 -0
- package/dist/core/acp/client.d.ts.map +1 -0
- package/dist/core/acp/client.js +277 -0
- package/dist/core/acp/client.js.map +1 -0
- package/dist/core/acp/index.d.ts +5 -0
- package/dist/core/acp/index.d.ts.map +1 -0
- package/dist/core/acp/index.js +5 -0
- package/dist/core/acp/index.js.map +1 -0
- package/dist/core/acp/projection.d.ts +23 -0
- package/dist/core/acp/projection.d.ts.map +1 -0
- package/dist/core/acp/projection.js +603 -0
- package/dist/core/acp/projection.js.map +1 -0
- package/dist/core/acp/session-controller.d.ts +90 -0
- package/dist/core/acp/session-controller.d.ts.map +1 -0
- package/dist/core/acp/session-controller.js +530 -0
- package/dist/core/acp/session-controller.js.map +1 -0
- package/dist/core/acp/types.d.ts +66 -0
- package/dist/core/acp/types.d.ts.map +1 -0
- package/dist/core/acp/types.js +21 -0
- package/dist/core/acp/types.js.map +1 -0
- package/dist/core/client/kortix.d.ts +141 -14
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +40 -7
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/http/api-client.d.ts.map +1 -1
- package/dist/core/http/api-client.js +48 -68
- package/dist/core/http/api-client.js.map +1 -1
- package/dist/core/rest/platform-client/host-boundary.d.ts +114 -0
- package/dist/core/rest/platform-client/host-boundary.d.ts.map +1 -0
- package/dist/core/rest/platform-client/host-boundary.js +229 -0
- package/dist/core/rest/platform-client/host-boundary.js.map +1 -0
- package/dist/core/rest/platform-client/index.d.ts +1 -0
- package/dist/core/rest/platform-client/index.d.ts.map +1 -1
- package/dist/core/rest/platform-client/index.js +1 -0
- package/dist/core/rest/platform-client/index.js.map +1 -1
- package/dist/core/rest/projects-client/account-lifecycle.d.ts +22 -0
- package/dist/core/rest/projects-client/account-lifecycle.d.ts.map +1 -0
- package/dist/core/rest/projects-client/account-lifecycle.js +26 -0
- package/dist/core/rest/projects-client/account-lifecycle.js.map +1 -0
- package/dist/core/rest/projects-client/admin-providers.d.ts +10 -0
- package/dist/core/rest/projects-client/admin-providers.d.ts.map +1 -0
- package/dist/core/rest/projects-client/admin-providers.js +34 -0
- package/dist/core/rest/projects-client/admin-providers.js.map +1 -0
- package/dist/core/rest/projects-client/agent-config.d.ts +7 -0
- package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
- package/dist/core/rest/projects-client/agent-config.js.map +1 -1
- package/dist/core/rest/projects-client/billing.d.ts +89 -0
- package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
- package/dist/core/rest/projects-client/billing.js +43 -0
- package/dist/core/rest/projects-client/billing.js.map +1 -1
- package/dist/core/rest/projects-client/channels.d.ts +8 -27
- package/dist/core/rest/projects-client/channels.d.ts.map +1 -1
- package/dist/core/rest/projects-client/channels.js +12 -23
- package/dist/core/rest/projects-client/channels.js.map +1 -1
- package/dist/core/rest/projects-client/connectors.d.ts +162 -13
- package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
- package/dist/core/rest/projects-client/connectors.js +64 -2
- package/dist/core/rest/projects-client/connectors.js.map +1 -1
- package/dist/core/rest/projects-client/gateway.d.ts +1 -0
- package/dist/core/rest/projects-client/gateway.d.ts.map +1 -1
- package/dist/core/rest/projects-client/gateway.js.map +1 -1
- package/dist/core/rest/projects-client/iam.d.ts +492 -0
- package/dist/core/rest/projects-client/iam.d.ts.map +1 -0
- package/dist/core/rest/projects-client/iam.js +287 -0
- package/dist/core/rest/projects-client/iam.js.map +1 -0
- package/dist/core/rest/projects-client/index.d.ts +6 -0
- package/dist/core/rest/projects-client/index.d.ts.map +1 -1
- package/dist/core/rest/projects-client/index.js +6 -0
- package/dist/core/rest/projects-client/index.js.map +1 -1
- package/dist/core/rest/projects-client/marketplace-catalog.d.ts +9 -2
- package/dist/core/rest/projects-client/marketplace-catalog.d.ts.map +1 -1
- package/dist/core/rest/projects-client/marketplace-catalog.js +7 -0
- package/dist/core/rest/projects-client/marketplace-catalog.js.map +1 -1
- package/dist/core/rest/projects-client/presentations.d.ts +12 -0
- package/dist/core/rest/projects-client/presentations.d.ts.map +1 -0
- package/dist/core/rest/projects-client/presentations.js +9 -0
- package/dist/core/rest/projects-client/presentations.js.map +1 -0
- package/dist/core/rest/projects-client/projects.d.ts +55 -10
- package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
- package/dist/core/rest/projects-client/projects.js +14 -7
- package/dist/core/rest/projects-client/projects.js.map +1 -1
- package/dist/core/rest/projects-client/public-voice-join.d.ts +59 -0
- package/dist/core/rest/projects-client/public-voice-join.d.ts.map +1 -0
- package/dist/core/rest/projects-client/public-voice-join.js +64 -0
- package/dist/core/rest/projects-client/public-voice-join.js.map +1 -0
- package/dist/core/rest/projects-client/referrals.d.ts +53 -0
- package/dist/core/rest/projects-client/referrals.d.ts.map +1 -0
- package/dist/core/rest/projects-client/referrals.js +27 -0
- package/dist/core/rest/projects-client/referrals.js.map +1 -0
- package/dist/core/rest/projects-client/session-sandbox.d.ts +2 -0
- package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -1
- package/dist/core/rest/projects-client/session-sandbox.js +10 -0
- package/dist/core/rest/projects-client/session-sandbox.js.map +1 -1
- package/dist/core/rest/projects-client/sessions.d.ts +89 -0
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sessions.js +49 -1
- package/dist/core/rest/projects-client/sessions.js.map +1 -1
- package/dist/core/session/index.d.ts +2 -0
- package/dist/core/session/index.d.ts.map +1 -1
- package/dist/core/session/index.js +2 -0
- package/dist/core/session/index.js.map +1 -1
- package/dist/core/session/presentation.d.ts +12 -0
- package/dist/core/session/presentation.d.ts.map +1 -0
- package/dist/core/session/presentation.js +70 -0
- package/dist/core/session/presentation.js.map +1 -0
- package/dist/core/session/rewind.d.ts +18 -0
- package/dist/core/session/rewind.d.ts.map +1 -0
- package/dist/core/session/rewind.js +17 -0
- package/dist/core/session/rewind.js.map +1 -0
- package/dist/core/session/runtime-transport.d.ts +16 -0
- package/dist/core/session/runtime-transport.d.ts.map +1 -0
- package/dist/core/session/runtime-transport.js +30 -0
- package/dist/core/session/runtime-transport.js.map +1 -0
- package/dist/core/session/url.d.ts +43 -0
- package/dist/core/session/url.d.ts.map +1 -1
- package/dist/core/session/url.js +81 -0
- package/dist/core/session/url.js.map +1 -1
- package/dist/core/session-sync/session-sync-controller.d.ts +28 -0
- package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
- package/dist/core/session-sync/session-sync-controller.js +127 -4
- package/dist/core/session-sync/session-sync-controller.js.map +1 -1
- package/dist/core/stream/fetch-sse.d.ts +23 -0
- package/dist/core/stream/fetch-sse.d.ts.map +1 -0
- package/dist/core/stream/fetch-sse.js +119 -0
- package/dist/core/stream/fetch-sse.js.map +1 -0
- package/dist/core/turns/state.d.ts.map +1 -1
- package/dist/core/turns/state.js +11 -4
- package/dist/core/turns/state.js.map +1 -1
- package/dist/core/turns/types.d.ts +6 -0
- package/dist/core/turns/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/kortix.esm.min.js +24 -16
- package/dist/kortix.global.js +24 -16
- package/dist/node/server.d.ts +14 -0
- package/dist/node/server.d.ts.map +1 -1
- package/dist/node/server.js +42 -0
- package/dist/node/server.js.map +1 -1
- package/dist/platform/auth-core.d.ts +3 -5
- package/dist/platform/auth-core.d.ts.map +1 -1
- package/dist/platform/auth-core.js +4 -6
- package/dist/platform/auth-core.js.map +1 -1
- package/dist/react/agent-selection-scope.d.ts +8 -0
- package/dist/react/agent-selection-scope.d.ts.map +1 -0
- package/dist/react/agent-selection-scope.js +4 -0
- package/dist/react/agent-selection-scope.js.map +1 -0
- package/dist/react/index.d.ts +13 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +13 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/initial-session-pin.d.ts +8 -0
- package/dist/react/initial-session-pin.d.ts.map +1 -0
- package/dist/react/initial-session-pin.js +4 -0
- package/dist/react/initial-session-pin.js.map +1 -0
- package/dist/react/opencode.d.ts +25 -2
- package/dist/react/opencode.d.ts.map +1 -1
- package/dist/react/opencode.js +24 -1
- package/dist/react/opencode.js.map +1 -1
- package/dist/react/provider-selection.d.ts +1 -0
- package/dist/react/provider-selection.d.ts.map +1 -1
- package/dist/react/provider-selection.js +22 -0
- package/dist/react/provider-selection.js.map +1 -1
- package/dist/react/run-pty-command.d.ts +5 -0
- package/dist/react/run-pty-command.d.ts.map +1 -0
- package/dist/react/run-pty-command.js +42 -0
- package/dist/react/run-pty-command.js.map +1 -0
- package/dist/react/runtime-actions.d.ts +51 -0
- package/dist/react/runtime-actions.d.ts.map +1 -0
- package/dist/react/runtime-actions.js +105 -0
- package/dist/react/runtime-actions.js.map +1 -0
- package/dist/react/session-agent-name-guard.d.ts +16 -0
- package/dist/react/session-agent-name-guard.d.ts.map +1 -0
- package/dist/react/session-agent-name-guard.js +22 -0
- package/dist/react/session-agent-name-guard.js.map +1 -0
- package/dist/react/session-busy.d.ts +8 -0
- package/dist/react/session-busy.d.ts.map +1 -0
- package/dist/react/session-busy.js +4 -0
- package/dist/react/session-busy.js.map +1 -0
- package/dist/react/session-title-sync.d.ts +19 -0
- package/dist/react/session-title-sync.d.ts.map +1 -0
- package/dist/react/session-title-sync.js +81 -0
- package/dist/react/session-title-sync.js.map +1 -0
- package/dist/react/use-acp-session-runtime.d.ts +34 -0
- package/dist/react/use-acp-session-runtime.d.ts.map +1 -0
- package/dist/react/use-acp-session-runtime.js +84 -0
- package/dist/react/use-acp-session-runtime.js.map +1 -0
- package/dist/react/use-admin-accounts.d.ts +122 -0
- package/dist/react/use-admin-accounts.d.ts.map +1 -0
- package/dist/react/use-admin-accounts.js +146 -0
- package/dist/react/use-admin-accounts.js.map +1 -0
- package/dist/react/use-admin-analytics.d.ts +332 -0
- package/dist/react/use-admin-analytics.d.ts.map +1 -0
- package/dist/react/use-admin-analytics.js +518 -0
- package/dist/react/use-admin-analytics.js.map +1 -0
- package/dist/react/use-admin-billing.d.ts +27 -0
- package/dist/react/use-admin-billing.d.ts.map +1 -0
- package/dist/react/use-admin-billing.js +61 -0
- package/dist/react/use-admin-billing.js.map +1 -0
- package/dist/react/use-admin-feedback.d.ts +119 -0
- package/dist/react/use-admin-feedback.d.ts.map +1 -0
- package/dist/react/use-admin-feedback.js +148 -0
- package/dist/react/use-admin-feedback.js.map +1 -0
- package/dist/react/use-admin-sandboxes.d.ts +157 -0
- package/dist/react/use-admin-sandboxes.d.ts.map +1 -0
- package/dist/react/use-admin-sandboxes.js +145 -0
- package/dist/react/use-admin-sandboxes.js.map +1 -0
- package/dist/react/use-admin-users.d.ts +98 -0
- package/dist/react/use-admin-users.d.ts.map +1 -0
- package/dist/react/use-admin-users.js +121 -0
- package/dist/react/use-admin-users.js.map +1 -0
- package/dist/react/use-authenticated-preview-url.d.ts +24 -0
- package/dist/react/use-authenticated-preview-url.d.ts.map +1 -0
- package/dist/react/use-authenticated-preview-url.js +137 -0
- package/dist/react/use-authenticated-preview-url.js.map +1 -0
- package/dist/react/use-canonical-opencode-session.d.ts +4 -0
- package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
- package/dist/react/use-canonical-opencode-session.js +9 -4
- package/dist/react/use-canonical-opencode-session.js.map +1 -1
- package/dist/react/use-model-defaults.d.ts +22 -0
- package/dist/react/use-model-defaults.d.ts.map +1 -0
- package/dist/react/use-model-defaults.js +104 -0
- package/dist/react/use-model-defaults.js.map +1 -0
- package/dist/react/use-model-store.d.ts.map +1 -1
- package/dist/react/use-model-store.js +11 -0
- package/dist/react/use-model-store.js.map +1 -1
- package/dist/react/use-opencode-events/index.d.ts +3 -1
- package/dist/react/use-opencode-events/index.d.ts.map +1 -1
- package/dist/react/use-opencode-events/index.js +6 -2
- package/dist/react/use-opencode-events/index.js.map +1 -1
- package/dist/react/use-opencode-local.d.ts.map +1 -1
- package/dist/react/use-opencode-local.js +10 -1
- package/dist/react/use-opencode-local.js.map +1 -1
- package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/agents.js +5 -3
- package/dist/react/use-opencode-sessions/agents.js.map +1 -1
- package/dist/react/use-opencode-sessions/commands.d.ts +7 -2
- package/dist/react/use-opencode-sessions/commands.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/commands.js +13 -9
- package/dist/react/use-opencode-sessions/commands.js.map +1 -1
- package/dist/react/use-opencode-sessions/provider-load-plan.d.ts +6 -0
- package/dist/react/use-opencode-sessions/provider-load-plan.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/provider-load-plan.js +4 -0
- package/dist/react/use-opencode-sessions/provider-load-plan.js.map +1 -0
- package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/providers.js +39 -27
- package/dist/react/use-opencode-sessions/providers.js.map +1 -1
- package/dist/react/use-opencode-sessions/sessions.d.ts +1 -1
- package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/sessions.js +2 -2
- package/dist/react/use-opencode-sessions/sessions.js.map +1 -1
- package/dist/react/use-ops-overview.d.ts +64 -0
- package/dist/react/use-ops-overview.d.ts.map +1 -0
- package/dist/react/use-ops-overview.js +16 -0
- package/dist/react/use-ops-overview.js.map +1 -0
- package/dist/react/use-session-model-selection.d.ts +15 -0
- package/dist/react/use-session-model-selection.d.ts.map +1 -0
- package/dist/react/use-session-model-selection.js +27 -0
- package/dist/react/use-session-model-selection.js.map +1 -0
- package/dist/react/use-session-sync.d.ts.map +1 -1
- package/dist/react/use-session-sync.js +3 -1
- package/dist/react/use-session-sync.js.map +1 -1
- package/dist/react/use-session.d.ts +78 -4
- package/dist/react/use-session.d.ts.map +1 -1
- package/dist/react/use-session.js +329 -34
- package/dist/react/use-session.js.map +1 -1
- package/dist/react/use-system-status.d.ts +39 -0
- package/dist/react/use-system-status.d.ts.map +1 -0
- package/dist/react/use-system-status.js +68 -0
- package/dist/react/use-system-status.js.map +1 -0
- package/dist/react/use-teams-installations.d.ts +36 -0
- package/dist/react/use-teams-installations.d.ts.map +1 -0
- package/dist/react/use-teams-installations.js +94 -0
- package/dist/react/use-teams-installations.js.map +1 -0
- package/dist/react/use-tunnel.d.ts +120 -0
- package/dist/react/use-tunnel.d.ts.map +1 -0
- package/dist/react/use-tunnel.js +268 -0
- package/dist/react/use-tunnel.js.map +1 -0
- package/package.json +2 -2
package/dist/kortix.esm.min.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
var
|
|
1
|
+
var Wl={backendUrl:"",getToken:async()=>null},Gt=null,st=null;function vg(e){st=e}function Rg(){return st}function Bt(e,t){t?.global!==!1&&(Gt=e)}function q(){return st?.()??Gt??Wl}function Nt(){return Gt!==null||st?.()!==void 0}var Jr=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:o,sseMaxRetryAttempts:l,sseMaxRetryDelay:p,sseSleepFn:d,url:f,...m})=>{let h,x=d??(a=>new Promise(S=>setTimeout(S,a)));return{stream:async function*(){let a=o??3e3,S=0,T=m.signal??new AbortController().signal;for(;!T.aborted;){S++;let C=m.headers instanceof Headers?m.headers:new Headers(m.headers);h!==void 0&&C.set("Last-Event-ID",h);try{let w={redirect:"follow",...m,body:m.serializedBody,headers:C,signal:T},v=new Request(f,w);e&&(v=await e(f,w));let $=await(m.fetch??globalThis.fetch)(v);if(!$.ok)throw new Error(`SSE failed: ${$.status} ${$.statusText}`);if(!$.body)throw new Error("No body in SSE response");let y=$.body.pipeThrough(new TextDecoderStream).getReader(),R="",H=()=>{try{y.cancel()}catch{}};T.addEventListener("abort",H);try{for(;;){let{done:V,value:B}=await y.read();if(V)break;R+=B,R=R.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
|
-
`);let
|
|
3
|
+
`);let F=R.split(`
|
|
4
4
|
|
|
5
|
-
`);
|
|
6
|
-
`),
|
|
7
|
-
`);try{B=JSON.parse(E),O=!0}catch{B=E}}O&&(s&&await s(B),r&&(B=await r(B))),n?.({data:B,event:H,id:k,retry:i}),M.length&&(yield B)}}}finally{_.removeEventListener("abort",L),f.releaseLock()}break}catch(A){if(t?.(A),u!==void 0&&P>=u)break;let S=Math.min(i*2**(P-1),d??3e4);await w(S)}}}()}};var el=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},tl=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},nl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ke=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let d=(e?s:s.map(g=>encodeURIComponent(g))).join(tl(r));switch(r){case"label":return`.${d}`;case"matrix":return`;${n}=${d}`;case"simple":return d;default:return`${n}=${d}`}}let c=el(r),u=s.map(d=>r==="label"||r==="simple"?e?d:encodeURIComponent(d):ce({allowReserved:e,name:n,value:d})).join(c);return r==="label"||r==="matrix"?c+u:u},ce=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},Ne=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,k])=>{g=[...g,m,e?k:encodeURIComponent(k)]});let h=g.join(",");switch(r){case"form":return`${n}=${h}`;case"label":return`.${h}`;case"matrix":return`;${n}=${h}`;default:return h}}let u=nl(r),d=Object.entries(s).map(([g,h])=>ce({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:h})).join(u);return r==="label"||r==="matrix"?u+d:d};var rl=/\{[^{}]+\}/g,sl=({path:e,url:t})=>{let n=t,r=t.match(rl);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),d="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),d="label"):u.startsWith(";")&&(u=u.substring(1),d="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,Ke({explode:c,name:u,style:d,value:g}));continue}if(typeof g=="object"){n=n.replace(s,Ne({explode:c,name:u,style:d,value:g,valueOnly:!0}));continue}if(d==="matrix"){n=n.replace(s,`;${ce({name:u,value:g})}`);continue}let h=encodeURIComponent(d==="label"?`.${g}`:g);n=n.replace(s,h)}return n},vr=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=sl({path:t,url:u}));let d=n?r(n):"";return d.startsWith("?")&&(d=d.substring(1)),d&&(u+=`?${d}`),u};function xt(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(t)return e.body}var Cr=async(e,t)=>{let n=typeof t=="function"?await t(e):t;if(n)return e.scheme==="bearer"?`Bearer ${n}`:e.scheme==="basic"?`Basic ${btoa(n)}`:n};var kt={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Rr=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let d=e[c]||t;if(Array.isArray(u)){let g=Ke({allowReserved:d.allowReserved,explode:!0,name:c,style:"form",value:u,...d.array});g&&s.push(g)}else if(typeof u=="object"){let g=Ne({allowReserved:d.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...d.object});g&&s.push(g)}else{let g=ce({allowReserved:d.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},Tr=e=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>t.startsWith(n)))return"blob";if(t.startsWith("text/"))return"text"}},il=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,Ir=async({security:e,...t})=>{for(let n of e){if(il(t,n.name))continue;let r=await Cr(n,t.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":t.query||(t.query={}),t.query[s]=r;break;case"cookie":t.headers.append("Cookie",`${s}=${r}`);break;default:t.headers.set(s,r);break}}},Pt=e=>vr({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Rr(e.querySerializer),url:e.url}),wt=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=He(e.headers,t.headers),n},ol=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},He=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?ol(n):Object.entries(n);for(let[s,c]of r)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},ke=class{fns=[];clear(){this.fns=[]}eject(t){let n=this.getInterceptorIndex(t);this.fns[n]&&(this.fns[n]=null)}exists(t){let n=this.getInterceptorIndex(t);return!!this.fns[n]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,n){let r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=n,t):!1}use(t){return this.fns.push(t),this.fns.length-1}},jr=()=>({error:new ke,request:new ke,response:new ke}),al=Rr({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),cl={"Content-Type":"application/json"},Pe=(e={})=>({...kt,headers:cl,parseAs:"auto",querySerializer:al,...e});var we=(e={})=>{let t=wt(Pe(),e),n=()=>({...t}),r=h=>(t=wt(t,h),n()),s=jr(),c=async h=>{let m={...t,...h,fetch:h.fetch??t.fetch??globalThis.fetch,headers:He(t.headers,h.headers),serializedBody:void 0};m.security&&await Ir({...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 k=Pt(m);return{opts:m,url:k}},u=async h=>{let{opts:m,url:k}=await c(h),w={redirect:"follow",...m,body:xt(m)},x=new Request(k,w);for(let T of s.request.fns)T&&(x=await T(x,m));let l=m.fetch,i;try{i=await l(x)}catch(T){let I=T;for(let f of s.error.fns)f&&(I=await f(T,void 0,x,m));if(I=I||{},m.throwOnError)throw I;return m.responseStyle==="data"?void 0:{error:I,request:x,response:void 0}}for(let T of s.response.fns)T&&(i=await T(i,x,m));let P={request:x,response:i};if(i.ok){let T=(m.parseAs==="auto"?Tr(i.headers.get("Content-Type")):m.parseAs)??"json";if(i.status===204||i.headers.get("Content-Length")==="0"){let f;switch(T){case"arrayBuffer":case"blob":case"text":f=await i[T]();break;case"formData":f=new FormData;break;case"stream":f=i.body;break;default:f={};break}return m.responseStyle==="data"?f:{data:f,...P}}let I;switch(T){case"arrayBuffer":case"blob":case"formData":case"text":I=await i[T]();break;case"json":{let f=await i.text();I=f?JSON.parse(f):{};break}case"stream":return m.responseStyle==="data"?i.body:{data:i.body,...P}}return T==="json"&&(m.responseValidator&&await m.responseValidator(I),m.responseTransformer&&(I=await m.responseTransformer(I))),m.responseStyle==="data"?I:{data:I,...P}}let _=await i.text(),D;try{D=JSON.parse(_)}catch{}let A=D??_,S=A;for(let T of s.error.fns)T&&(S=await T(A,i,x,m));if(S=S||{},m.throwOnError)throw S;return m.responseStyle==="data"?void 0:{error:S,...P}},d=h=>m=>u({...m,method:h}),g=h=>async m=>{let{opts:k,url:w}=await c(m);return Sr({...k,body:k.body,headers:k.headers,method:h,onRequest:async(x,l)=>{let i=new Request(x,l);for(let P of s.request.fns)P&&(i=await P(i,k));return i},serializedBody:xt(k),url:w})};return{buildUrl:Pt,connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),getConfig:n,head:d("HEAD"),interceptors:s,options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),request:u,setConfig:r,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:d("TRACE")}};var ll={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},ul=Object.entries(ll),Ar=(e,t)=>{t||(t=new Map);for(let n of e)"in"in n?n.key&&t.set(n.key,{in:n.in,map:n.map}):"key"in n?t.set(n.key,{map:n.map}):n.args&&Ar(n.args,t);return t},pl=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},p=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=Ar(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let d=r.get(s.key),g=d.map||s.key;d.in&&(n[d.in][g]=u)}else n.body=u;else for(let[d,g]of Object.entries(u??{})){let h=r.get(d);if(h)if(h.in){let m=h.map||d;n[h.in][m]=g}else n[h.map]=g;else{let m=ul.find(([k])=>d.startsWith(k));if(m){let[k,w]=m;n[w][d.slice(k.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[k,w]of Object.entries(s.allowExtra))if(w){n[k][d]=g;break}}}}return pl(n),n};var Er=we(Pe({baseUrl:"http://localhost:4096"}));var y=class{client;constructor(t){this.client=t?.client??Er}},_t=class{defaultKey="default";instances=new Map;get(t){let n=this.instances.get(t??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(t,n){this.instances.set(n??this.defaultKey,t)}},St=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},vt=class extends y{log(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Ct=class extends y{moveSession(t,n){let r=p([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Rt=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Tt=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},It=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},jt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},At=class extends y{generateName(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Et=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},$t=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new Et({client:this.client})}},qt=class extends y{_controlPlane;get controlPlane(){return this._controlPlane??=new Ct({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Rt({client:this.client})}_console;get console(){return this._console??=new Tt({client:this.client})}_session;get session(){return this._session??=new It({client:this.client})}_resource;get resource(){return this._resource??=new jt({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new At({client:this.client})}_workspace;get workspace(){return this._workspace??=new $t({client:this.client})}},Dt=class extends y{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=p([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Mt=class extends y{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=p([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new Dt({client:this.client})}},Ut=class extends y{subscribe(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},Ot=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},Lt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},Ft=class extends y{remove(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Gt=class extends y{text(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},Bt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},Kt=class extends y{dispose(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},Nt=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},Ht=class extends y{raw(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Vt=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new Ht({client:this.client})}},Wt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},zt=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Jt=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Xt=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Qt=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Xt({client:this.client})}},Yt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},Zt=class extends y{shells(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},en=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},tn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},nn=class extends y{authorize(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new nn({client:this.client})}},sn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},on=class extends y{delete(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},an=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},cn=class extends y{start(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=p([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new an({client:this.client})}},ln=class extends y{next(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},un=class extends y{appendPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new ln({client:this.client})}},pn=class extends y{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},dn=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},gn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},mn=class extends y{stage(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},fn=class extends y{list(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},yn=class extends y{list(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},hn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new mn({client:this.client})}_permission;get permission(){return this._permission??=new fn({client:this.client})}_question;get question(){return this._question??=new yn({client:this.client})}},bn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},xn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},kn=class extends y{key(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Pn=class extends y{cancel(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},wn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new kn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Pn({client:this.client})}},_n=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Sn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},vn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Cn=class extends y{_request;get request(){return this._request??=new Sn({client:this.client})}_saved;get saved(){return this._saved??=new vn({client:this.client})}},Rn=class extends y{read(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},Tn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},In=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},jn=class extends y{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},An=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},En=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},$n=class extends y{_request;get request(){return this._request??=new En({client:this.client})}},qn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Dn=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},Mn=class extends y{_health;get health(){return this._health??=new pn({client:this.client})}_location;get location(){return this._location??=new dn({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 bn({client:this.client})}_provider;get provider(){return this._provider??=new xn({client:this.client})}_integration;get integration(){return this._integration??=new wn({client:this.client})}_credential;get credential(){return this._credential??=new _n({client:this.client})}_permission;get permission(){return this._permission??=new Cn({client:this.client})}_fs;get fs(){return this._fs??=new Rn({client:this.client})}_command;get command(){return this._command??=new Tn({client:this.client})}_skill;get skill(){return this._skill??=new In({client:this.client})}_event;get event(){return this._event??=new jn({client:this.client})}_pty;get pty(){return this._pty??=new An({client:this.client})}_question;get question(){return this._question??=new $n({client:this.client})}_reference;get reference(){return this._reference??=new qn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Dn({client:this.client})}},Ve=class e extends y{static __registry=new _t;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new St({client:this.client})}_app;get app(){return this._app??=new vt({client:this.client})}_experimental;get experimental(){return this._experimental??=new qt({client:this.client})}_global;get global(){return this._global??=new Mt({client:this.client})}_event;get event(){return this._event??=new Ut({client:this.client})}_config;get config(){return this._config??=new Ot({client:this.client})}_tool;get tool(){return this._tool??=new Lt({client:this.client})}_worktree;get worktree(){return this._worktree??=new Ft({client:this.client})}_find;get find(){return this._find??=new Gt({client:this.client})}_file;get file(){return this._file??=new Bt({client:this.client})}_instance;get instance(){return this._instance??=new Kt({client:this.client})}_path;get path(){return this._path??=new Nt({client:this.client})}_vcs;get vcs(){return this._vcs??=new Vt({client:this.client})}_command;get command(){return this._command??=new Wt({client:this.client})}_lsp;get lsp(){return this._lsp??=new zt({client:this.client})}_formatter;get formatter(){return this._formatter??=new Jt({client:this.client})}_mcp;get mcp(){return this._mcp??=new Qt({client:this.client})}_project;get project(){return this._project??=new Yt({client:this.client})}_pty;get pty(){return this._pty??=new Zt({client:this.client})}_question;get question(){return this._question??=new en({client:this.client})}_permission;get permission(){return this._permission??=new tn({client:this.client})}_provider;get provider(){return this._provider??=new rn({client:this.client})}_session;get session(){return this._session??=new sn({client:this.client})}_part;get part(){return this._part??=new on({client:this.client})}_sync;get sync(){return this._sync??=new cn({client:this.client})}_tui;get tui(){return this._tui??=new un({client:this.client})}_v2;get v2(){return this._v2??=new Mn({client:this.client})}};function qr(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let c=e,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||$r(n,t);return new Error(u,{cause:{body:e,status:t?.status}})}if(typeof e=="string"&&e.length>0)return new Error(e,{cause:{body:e,status:t?.status}});let s=t?"(empty response body)":"network error (no response)";return new Error(`opencode server ${$r(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function $r(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function dl(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function gl(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let d=dl(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(d){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,d);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function Un(e){e?.fetch||(e={...e,fetch:r=>(r.timeout=!1,fetch(r))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)}),e?.experimental_workspaceID&&(e.headers={...e.headers,"x-opencode-workspace":e.experimental_workspaceID});let t=we(e);return t.interceptors.request.use(n=>gl(n,{directory:e?.directory,workspace:e?.experimental_workspaceID})),t.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),t.interceptors.error.use(qr),new Ve({client:t})}function ml(e){return new Promise(t=>setTimeout(t,e))}async function Dr(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let d=0;d<r;d++)if(d>0&&(c&&n?.(),s>0&&await ml(s)),u=await e(),u)return u;return u}var fl=3e4;function yl(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function Mr(e,t,n=fl){let r=e instanceof Request?e.signal:t?.signal;if(yl(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function On(e,t,n){let r=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,c)=>{r.set(c,s)}),n&&!r.has("Authorization")&&r.set("Authorization",`Bearer ${n}`),r}function Ur(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function Ln(){return j().getToken()}async function _e(e){return Dr(()=>j().getToken(),e,We)}function We(){}function Kd(e){}function Nd(e){}async function ze(){return Ln()}async function Or(e){return _e(e)}function Lr(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function R(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await Or();if(!s)return Ur();let c=On(e,t,s),u=Mr(e,t),d=await Lr(e,t,c,u);if(d.status===401&&r&&s){We();let g=await Or({attempts:2,baseDelayMs:200});if(g&&g!==s){let h=On(e,t,g);return Lr(e,t,h,u)}}return d}var le={url:null,sandboxId:null,dbSandboxId:null,version:0},hl=new Set;function Fr(e,t=null,n=null){if(!(le.url===e&&le.sandboxId===t&&le.dbSandboxId===n)){le={url:e,sandboxId:t,dbSandboxId:n,version:le.version+1};for(let r of hl)r()}}function Gr(){return le.url}function bl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Se(){return bl(j().backendUrl||"http://localhost:8008/v1")}function Br(){let e=j().sandboxId||"";return`${Se()}/p/${e}/8000`}function xl(e){return`${Se()}/p/${e}/8000`}function Je(e){return xl(e)}function $(){let e=Gr();return e||(j().billingEnabled??!1?"":Br())}var C=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},ve=class extends C{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},ue=class e extends Error{status;detail;constructor(t,n,r){super(r||n.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=n,Object.setPrototypeOf(this,e.prototype)}},Ce=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function Re(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new ue(t,{message:r?.message||e.message||"Billing error",...r})}function kl(e){return e instanceof ue}function Pl(e){if(!(e instanceof ue))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function Fn(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function Gn(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Kr(e){let t=Gn(e),n=await R(`${t}/env`);if(!n.ok)throw new Error(await Fn(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Nr(e,t,n){let r=Gn(e),s=await R(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await Fn(s,"Failed to save secret"))}async function Hr(e,t){let n=Gn(e),r=await R(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Fn(r,"Failed to delete secret"))}var wl={list:Kr,set:Nr,delete:Hr};async function _l(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await R(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function pe(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function Xe(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Te(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return pe(e)}async function Vr(e){let t=Te(e),n=await R(`${t}/kortix/pty`);if(!n.ok)throw new Error(await Xe(n,"Failed to list terminals"));return n.json()}async function Wr(e,t){let n=Te(e),r=await R(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await Xe(r,"Failed to create terminal"));return r.json()}async function zr(e,t,n){let r=Te(e),s=await R(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await Xe(s,"Failed to update terminal"));return s.json()}async function Jr(e,t){let n=Te(e),r=await R(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Xe(r,"Failed to remove terminal"))}async function Xr(e,t){let n=Te(t),s=`${(()=>{try{let d=new URL(n);return d.protocol==="https:"?d.protocol="wss:":d.protocol==="http:"&&(d.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&d.protocol==="ws:"&&(d.protocol="wss:"),pe(d.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await ze();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var Sl={list:Vr,create:Wr,update:zr,remove:Jr,webSocketUrl:Xr};async function b(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await R(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),d={};try{d=u?JSON.parse(u):{}}catch{d={}}if(!c.ok)throw new Error(d?.error||d?.message||d?.details||u.slice(0,200)||`Request failed with ${c.status}`);return d}async function pg(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return b(e,`/kortix/tasks${r}`)}async function dg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function gg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function mg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function fg(e,t){return b(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function yg(e,t,n){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function hg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function bg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function xg(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function kg(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return b(e,`/kortix/tickets${n}`)}async function Pg(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function wg(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function _g(e,t){return b(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Sg(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function vg(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Cg(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Rg(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Tg(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Ig(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function jg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Ag(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Eg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function $g(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function qg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Dg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Mg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Ug(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Og(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Lg(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Fg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Gg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Bg(e,t,n=200){return b(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Kg(e){return b(e,"/kortix/projects")}async function Ng(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Hg(e,t){return b(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Vg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Wg(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function zg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Jg(e,t,n="all"){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function Xg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function Qg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function Yg(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function Zg(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function em(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function tm(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function nm(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function rm(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function sm(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function im(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function om(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function am(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var vl=1e4,Cl={retryOnAuthError:!1};function de(e,t,n){return b(e,t,{signal:AbortSignal.timeout(vl),...n},Cl)}async function cm(e,t=!1){return(await de(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function lm(e){return(await de(e,"/kortix/services/templates")).templates??[]}async function um(e,t){return(await de(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function pm(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return de(e,s,{method:r?"DELETE":"POST"})}async function dm(e,t){return de(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function gm(e,t){return de(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var Qe=new Map,Bn=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function ne(){let e=$();if(!e)throw new Bn;return ge(e)}function ge(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=Qe.get(e);if(t)return t;if(!bt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Un({baseUrl:e,fetch:R});return Qe.set(e,n),n}function km(e){Qe.delete(e)}function Pm(){Qe.clear()}var Ye=new Map;function wm(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Ye.get(e);if(t)return t;let n=Un({baseUrl:e,fetch});return Ye.set(e,n),n}function _m(e){Ye.delete(e)}function Sm(){Ye.clear()}async function Rl(e){let t=await e.text().catch(()=>"");try{let n=JSON.parse(t);return n?.error||n?.message||t||e.statusText||`HTTP ${e.status}`}catch{return t||e.statusText||`HTTP ${e.status}`}}async function vm(e){let t=$();if(!t)throw new C("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await R(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new C(`System reload failed (${n.status}): ${await Rl(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function Yr(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new C(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function me(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function Ze(e,t=$()){let n=await R(`${t}${e}`);if(!n.ok)throw new C(await me(n),{status:n.status,response:n});return n.json()}var Zr=["/workspace","/tmp","/home","/opt"],Tl=Zr.filter(e=>e!=="/workspace");function Il(e){return Zr.some(t=>e===t||e.startsWith(`${t}/`))}function jl(e){return Il(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function je(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(Tl.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Al=je;async function Kn(e,t=$()){let n=je(e)||".";return(await Ze(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function et(e,t=$()){let n=je(e),r=await R(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new C(await me(r),{status:r.status,response:r});return r.json()}async function El(e,t,n=$()){let r=je(e),s=await R(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new C(await me(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new C("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function tt(e,t=$()){try{return await El(e,void 0,t)}catch{}let n=await et(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function Nn(e=$()){return Ze("/file/status",e)}async function Hn(e,t,n=$()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),Ze(`/find/file?${r.toString()}`,n)}async function Vn(e,t=$()){return(await Ze(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var Ie=[400,1200],$l=e=>e===408||e===429||e===502||e===503||e===504,Qr=e=>new Promise(t=>setTimeout(t,e));async function ql(e){let t=await e.text().catch(()=>""),n=null;try{n=t?JSON.parse(t):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(e.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(t)?e.status===502||/bad gateway/i.test(t)?"Bad gateway while reaching the sandbox upload service. Please retry.":e.statusText||`HTTP ${e.status}`:t.replace(/\s+/g," ").trim().slice(0,500)||e.statusText||`HTTP ${e.status}`}async function es(e,t){let n;for(let s=0;s<=Ie.length;s++){let c;try{c=await t(e())}catch(d){if(n=d,s===Ie.length)break;await Qr(Ie[s]);continue}if(c.ok)return c.json();let u=await ql(c);if(n=new C(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!$l(c.status)||s===Ie.length)throw n;await Qr(Ie[s])}if(n instanceof C)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new C(`Upload failed: ${r}`)}function nt(e,t,n,r=$()){return es(()=>{let s=new FormData,c=(t??"").trim();return c&&s.append("path",c.startsWith("/")?c:`/${c}`),n?s.append("file",e,n):s.append("file",e),s},s=>R(`${r}/file/upload`,{method:"POST",body:s}))}function Dl(e,t,n=$()){return es(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await ze();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function Wn(e,t=$()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return nt(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function zn(e,t,n=$()){return Dl(t,await tt(e,n),n)}async function Jn(e,t=$()){let n=await R(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new C(`Delete failed (${n.status}): ${await me(n)}`,{status:n.status,response:n});return n.json()}async function Xn(e,t=$()){let n=await R(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new C(`Mkdir failed (${n.status}): ${await me(n)}`,{status:n.status,response:n});return n.json()}async function Qn(e,t,n=$()){let r=await R(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new C(`Rename failed (${r.status}): ${await me(r)}`,{status:r.status,response:r});return r.json()}async function Ml(){return Yr(await ne().project.current())}async function ts(){return Yr(await ne().global.health())}async function Ul(){try{return(await ts()).healthy===!0}catch{return!1}}var Ol={list:Kn,read:et,readBlob:tt,status:Nn,findFiles:Hn,findText:Vn,upload:nt,create:Wn,copy:zn,remove:Jn,mkdir:Xn,rename:Qn,currentProject:Ml,health:ts,isReachable:Ul,toDaemonPath:je,toSandboxAbsolutePath:jl,toWorkspaceRelative:Al};var Q=()=>j().backendUrl||"",Fl="feature_not_supported",Gl=e=>new Promise(t=>setTimeout(t,e)),Bl=new Set([502,503,504]),ns=e=>Bl.has(e),Kl=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Nl=2,Yn=!1;function Om(e){Yn=e}function Lm(){return Yn}async function re(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,d=null,g=!1,h=!1;try{d=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,h=!0,u.abort())},s);let m=await _e(),k=c.body instanceof FormData,w={};if(k||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),Yn&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new ve,success:!1};let x=await fetch(e,{...c,headers:w,signal:u.signal,credentials:c.credentials??"omit"});if(d&&(clearTimeout(d),d=null),!x.ok&&Kl(c.method)&&ns(x.status))for(let P=0;P<Nl;P++){try{await x.arrayBuffer()}catch{}await Gl(250*2**P);let _=new AbortController,D=setTimeout(()=>{_.abort()},s);try{x=await fetch(e,{...c,headers:w,signal:_.signal,credentials:c.credentials??"omit"})}catch{break}finally{D&&(clearTimeout(D),D=null)}if(x.ok||!ns(x.status))break}if(!x.ok){let P=`HTTP ${x.status}: ${x.statusText}`,_=null;try{_=await x.json(),typeof _.message=="string"?P=_.message:_.error&&typeof _.error=="string"?P=_.error:typeof _.detail=="string"?P=_.detail:typeof _.detail?.message=="string"&&(P=_.detail.message)}catch{}let D=new C(P,{status:x.status,response:x,details:_||void 0,data:_,detail:_?.detail,code:_?.code||_?.error_code||_?.detail?.error_code||x.status.toString()});if(x.status===402&&(D=Re(D)),x.status===403&&_?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}x.status===431&&(D=new Ce(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=x.status===501&&_?.code===Fl;return n&&!A&&j().onError?.(D,r),{error:D,success:!1}}let l,i=x.headers.get("content-type");return i?.includes("application/json")?l=await x.json():i?.includes("text/")?l=await x.text():l=await x.blob(),{data:l,success:!0}}catch(m){d&&(clearTimeout(d),d=null);let k=m?.name==="AbortError"||m?.name==="AbortSignal"||m instanceof Error&&m.message.includes("aborted");k&&(g=!0);let w;if(k){if(!h)return{error:new C("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let x=e.replace(Q(),"")||e;w=new C(`Request timed out after ${Math.round(s/1e3)}s: ${x}`,{code:"TIMEOUT",url:e,endpoint:x,timeout:s}),n&&j().onError?.(w,r)}else m instanceof Error?(w=new C(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&j().onError?.(w,r)):(w=new C(String(m)),n&&j().onError?.(w,r));return{error:w,success:!1}}}var Fm={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new C(r.message||"Database error",{code:r.code,details:r});return j().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new C(n.message,{name:n.name||"ApiError",stack:n.stack}):new C(String(n));return j().onError?.(r,t),{error:r,success:!1}}}},o={get:(e,t)=>re(`${Q()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>re(`${Q()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>re(`${Q()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>re(`${Q()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>re(`${Q()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],re(`${Q()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],re(`${Q()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Zn(e){return e.replace(/\/v1\/?$/,"")}async function fe(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Zn(e.backendUrl);try{let r=await fetch(`${n}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function rs(){return a(await o.get("/accounts"))}async function ss(e){return a(await o.post("/accounts",e))}async function is(e){return a(await o.get(`/accounts/${e}`))}async function os(e,t){return a(await o.patch(`/accounts/${e}`,{name:t}))}async function as(e){return a(await o.get(`/accounts/${e}/members`))}async function cs(e,t){return a(await o.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function ls(e){return a(await o.get(`/accounts/${e}/invites`))}async function us(e,t){return a(await o.delete(`/accounts/${e}/invites/${t}`))}async function ps(e,t){return a(await o.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function ds(e){return a(await o.get(`/account-invites/${e}`,{showErrors:!1}))}async function gs(e){return a(await o.post(`/account-invites/${e}/accept`,{}))}async function ms(e){return a(await o.post(`/account-invites/${e}/decline`,{}))}async function fs(e,t){return a(await o.delete(`/accounts/${e}/members/${t}`))}async function ys(e,t,n){return a(await o.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function hs(e){return a(await o.post(`/accounts/${e}/leave`,{}))}async function Hm(e){return fe(e,"/v1/accounts")}async function bs(){let e=await o.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function ye(){return a(await o.get("/projects"))}async function xs(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/projects${t}`))}async function er(e,t){return a(await o.get(`/projects/${e}`,t))}async function ks(e,t,n="write"){return a(await o.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Ps(e,t){return a(await o.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function ws(e){return a(await o.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Jm(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function tr(e,t){return a(await o.get(`/projects/${e}/detail`,{showErrors:!1,...t}))}async function nr(e,t){return a(await o.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function rr(e,t){return a(await o.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Xm(e,t){return a(await o.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function _s(e){return a(await o.post("/projects",e))}async function Ss(e){return a(await o.post("/projects/create-repo",e))}async function vs(e){return a(await o.post("/projects/provision",{...e.repository_source_project_id?{}:{seed_starter:!0},...e}))}async function Qm(){try{return a(await o.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function sr(e,t){return a(await o.patch(`/projects/${e}`,t))}async function Cs(e,t,n){return a(await o.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function Rs(e,t){return a(await o.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Ym(e,t){return a(await o.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function Zm(e,t){return a(await o.patch(`/projects/${e}/warm-pool`,t))}async function Ts(e,t){return a(await o.patch(`/projects/${e}/onboarding`,{completed:t}))}async function ir(e){return a(await o.delete(`/projects/${e}`))}async function ef(e,t){return fe(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function tf(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Zn(e.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({...t.repository_source_project_id?{}:{seed_starter:!0},...t}),signal:AbortSignal.timeout(e.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function Is(e){return a(await o.post("/projects/link-repository",e,{showErrors:!1}))}async function js(e){return a(await o.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function As(e){return a(await o.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Es(e){return a(await o.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function $s(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await o.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function qs(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return a(await o.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Ds(e){return a(await o.post("/projects/github/installation",e,{showErrors:!1}))}async function Ms(e){return a(await o.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Us(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),a(await o.delete(`/projects/github/installation?${n.toString()}`))}async function lf(e,t){return a(await o.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Os(e,t){return a(await o.get(`/projects/${e}/access-requests`,t))}async function Ls(e,t,n="member"){return a(await o.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function Fs(e,t){return a(await o.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Gs(e){return a(await o.get(`/projects/${e}/access`))}async function Bs(e,t,n){return a(await o.put(`/projects/${e}/access/${t}`,{role:n}))}async function Ks(e,t){return a(await o.delete(`/projects/${e}/access/${t}`))}function uf(e){return"status"in e&&e.status==="invited"}async function Ns(e,t,n,r){return a(await o.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Hs(e){return a(await o.get(`/projects/${e}/access/pending-invites`))}async function Vs(e,t){return a(await o.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Ws(e,t){return a(await o.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function zs(e){return a(await o.get(`/projects/${e}/group-grants`))}async function Js(e,t,n,r){return a(await o.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function Xs(e,t,n,r){return a(await o.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Qs(e,t){return a(await o.delete(`/projects/${e}/group-grants/${t}`))}async function Ys(e){return a(await o.get(`/projects/${e}/resource-grants`))}async function Zs(e,t){return a(await o.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function ei(e,t){return a(await o.delete(`/projects/${e}/resource-grants/${t}`))}async function ti(e,t){return a(await o.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function ni(e,t){return a(await o.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function ri(e,t,n,r="once"){return a(await o.post(`/projects/${e}/approvals/${t}`,{decision:n,scope:r}))}async function si(e){return a(await o.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function ii(e,t){return a(await o.post(`/projects/${e}/secrets`,t))}async function oi(e,t,n){return a(await o.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function ai(e,t,n){return a(await o.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function ci(e,t){return a(await o.put(`/projects/${e}/git-credential`,t))}async function li(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function ui(e,t,n){return a(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function pi(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function di(e){return a(await o.get(`/projects/${e}/connector-profiles`))}async function gi(e,t){return a(await o.post(`/projects/${e}/connector-profiles`,t))}async function mi(e,t){return a(await o.post(`/projects/${e}/connector-profiles/me`,t))}async function fi(e,t,n){return a(await o.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}async function yi(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function hi(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function bi(e,t,n={}){return a(await o.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}async function xi(e,t){return a(await o.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}async function ki(e){return a(await o.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function Pi(e){return a(await o.post(`/executor/projects/${e}/connectors/sync`,{}))}async function wi(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function _i(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function Si(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function vi(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function Ci(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function Ri(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function Ti(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Ii(e,t){return a(await o.post(`/executor/projects/${e}/connectors`,t))}async function ji(e,t){return a(await o.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function Ai(e,t){return a(await o.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Ei(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return a(await o.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function $i(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return a(await o.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function qi(e,t){let n=new URLSearchParams({id:t});return a(await o.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function Di(){return a(await o.get("/executor/connect-status"))}async function Mi(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,{value:n}))}async function Ui(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function Oi(e){return a(await o.get(`/executor/projects/${e}/policies`))}async function Li(e,t,n){return a(await o.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function Fi(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function Gi(e){return a(await o.get(`/projects/${e}/snapshots`))}async function or(e){return a(await o.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Bi(e,t){return a(await o.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Ki(e){return a(await o.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Ni(e,t){return a(await o.post(`/projects/${e}/sandbox-templates`,t))}async function Hi(e,t,n){return a(await o.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Vi(e,t){return a(await o.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Wi(e,t){return a(await o.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function zi(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function Ji(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Xi(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),a(await o.get(`/projects/${e}/files/search?${r.toString()}`))}async function Qi(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),a(await o.get(`/projects/${e}/files/content?${r.toString()}`))}async function Yi(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",c=await _e(),u=`${j().backendUrl||""}/projects/${e}/files/archive${s}`,d=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!d.ok){let g=await d.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${d.status})`)}return await d.blob()}async function Zi(e){return a(await o.get(`/projects/${e}/branches`))}async function eo(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/commits${r}`))}async function to(e,t){return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function no(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function ro(e,t,n){let r=new URLSearchParams({path:t});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),a(await o.get(`/projects/${e}/files/history?${r.toString()}`))}async function so(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return a(await o.get(`/projects/${e}/version-diff?${n.toString()}`))}async function io(e,t){let n=t?`?status=${t}`:"";return a(await o.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function oo(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}`))}async function ao(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/diff`))}async function co(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function lo(e,t){return a(await o.post(`/projects/${e}/change-requests`,t))}async function uo(e,t,n){return a(await o.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function po(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function go(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function mo(e,t,n){return a(await o.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function fo(e,t,n){return a(await o.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var ar=new Set;function yo(e){e&&ar.add(e)}function ho(e){return!!e&&ar.has(e)}function Df(e){e&&ar.delete(e)}async function Ae(e,t){let n=t?.scope&&t.scope!=="visible"?`?scope=${t.scope}`:"";return a(await o.get(`/projects/${e}/sessions${n}`))}async function bo(e,t,n){return a(await o.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function xo(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/previews`))}async function ko(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Po(e,t,n){return a(await o.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function wo(e,t,n){return a(await o.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function Ee(e,t){let n=a(await o.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||yo(n?.session_id),n}async function _o(e,t,n){return a(await o.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function So(e,t,n,r){let s=n?`?limit=${n}`:"";return a(await o.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function vo(e,t,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return a(await o.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Co(e,t,n){return a(await o.patch(`/projects/${e}/sessions/${t}`,n))}async function Ro(e,t){return a(await o.delete(`/projects/${e}/sessions/${t}`))}async function rt(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function st(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function To(e){return a(await o.get(`/projects/${e}/triggers`))}async function Io(e,t){return a(await o.post(`/projects/${e}/triggers`,t))}async function jo(e,t,n){return a(await o.patch(`/projects/${e}/triggers/${t}`,n))}async function Ao(e,t){return a(await o.delete(`/projects/${e}/triggers/${t}`))}async function Eo(e,t){return a(await o.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function $o(e,t){return a(await o.post(`/projects/${e}/triggers/${t}/fire`,{}))}var Y=new Map;function cr(e,t){return`${e}::${t}`}function qo(e,t){Y.delete(e),Y.set(e,t)}function Do(e,t){let n=cr(e,t),r=Y.get(n);return r&&qo(n,r),r}function Mo(e,t,n){let r=cr(e,t);if(!Y.has(r)&&Y.size>=512){let s=Y.keys().next().value;s!==void 0&&Y.delete(s)}qo(r,n)}function Uo(e,t){Y.delete(cr(e,t))}function Jf(e){if(e.status!=="running"||!e.sandbox_provider||!e.sandbox_url||!e.opencode_session_id)return null;let t=e.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return t?{stage:"ready",agent_name:e.agent_name??"default",retriable:!0,sandbox:{sandbox_id:e.sandbox_id,session_id:e.session_id,project_id:e.project_id,account_id:e.account_id,provider:e.sandbox_provider,external_id:t,base_url:e.sandbox_url,status:"active",config:{},metadata:e.metadata,last_used_at:e.updated_at,created_at:e.created_at,updated_at:e.updated_at},opencode_session_id:e.opencode_session_id,runtime_url:e.sandbox_url}:null}var lr=class extends Error{status;code;terminal;constructor(t,n){super(t),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function Xf(e){return e instanceof Error&&e.name==="SessionStartError"}function Hl(e){let t=e,n=t?.status,r=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new lr(s,{status:n,code:r,terminal:!0}):null}async function he(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await o.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let d=Hl(s.error);if(d&&!(d.status===404&&ho(t)))throw d;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&Mo(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:Je(u),sandboxId:u}),c}function Qf(e,t){return["session-start",e,t]}async function Oo(e){return a(await o.get(`/projects/${e}/model-defaults`))}async function Lo(e,t){return a(await o.put(`/projects/${e}/model-defaults`,t))}async function Fo(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await o.delete(`/projects/${e}/model-defaults?${n}`))}async function Go(e,t,n){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,n))}async function ay(e,t){return a(await o.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function cy(e,t,n){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,n))}async function Bo(e,t){return a(await o.put(`/projects/${e}/default-agent`,{agent:t}))}function Ko(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function No(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Ko():s.data}async function Ho(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Ko():s.data}async function Vo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return a(await o.get(`/billing/transactions${n?`?${n}`:""}`))}async function Wo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return a(await o.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function zo(){return a(await o.get("/billing/credit-breakdown"))}async function Jo(e){let t=e!=null?`?days=${e}`:"";return a(await o.get(`/billing/usage-history${t}`))}async function Xo(){return a(await o.get("/billing/tier-configurations"))}async function dy(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return fe(e,`/v1/billing/account-state${t}`)}async function Qo(e){return a(await o.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function Yo(e,t){return a(await o.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Zo(e,t){return a(await o.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function ea(e,t){return a(await o.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function ta(e){return a(await o.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function na(e,t,n){return a(await o.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function ra(e){return a(await o.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function sa(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),a(await o.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function ia(e){return a(await o.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function oa(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function aa(e){return a(await o.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function ca(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function la(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Vl={oauth_available:!1,install_url:null};async function ua(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Vl:t.data}async function pa(e){return a(await o.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function da(e){let t=await o.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function ga(e,t){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function ma(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function ur(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Wl={provider:"agentmail",managed_available:!1};async function fa(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?ur(r.data):null}async function ya(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Wl:t.data}async function ha(e,t){let n=a(await o.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return ur(n)}async function ba(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function xa(e,t,n){let r=a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return ur(r)}async function ka(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/meet/voices`,{showErrors:!1});return t.success?t.data??null:null}async function Pa(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/voice`,{voice:t},{showErrors:!1}),"Failed to save voice")}async function wa(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function _a(e,t){let n=await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/voices/${encodeURIComponent(t)}/preview`,{},{showErrors:!1});return!n.success||!n.data?.b64?null:n.data.b64}async function yy(e){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function hy(e,t,n){return a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Sa(e,t,n,r){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/speak`,{bot_id:t,text:n,voice:r},{showErrors:!1}),"Failed to speak in meeting")}async function va(e){return a(await o.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Ca(e,t){return a(await o.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Ra(e){return a(await o.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Ta(e,t){return a(await o.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Ia(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return a(await o.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function ja(e,t){return a(await o.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Aa(e,t){return a(await o.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ea(e,t){return a(await o.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function $a(e,t){return a(await o.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function qa(e,t){return a(await o.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Da(e,t){return a(await o.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ma(e){return a(await o.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Ua(e,t){return a(await o.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Oa(e,t){return a(await o.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function La(e){return a(await o.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Fa(e,t){return a(await o.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Ga(e,t){return a(await o.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Ba(e,t,n,r,s){return a(await o.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function Py(e,t){return a(await o.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Ka(e){let t=new FormData;t.append("audio_file",e);let n=await o.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function Na(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return a(await o.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Ha(e,t){return a(await o.get(`/projects/${e}/review/items/${t}`))}async function Va(e,t){return a(await o.post(`/projects/${e}/review/items`,t))}async function Wa(e,t,n){return a(await o.post(`/projects/${e}/review/items/${t}/act`,n))}async function za(e,t){return a(await o.post(`/projects/${e}/review/bulk`,t))}async function Ja(e){return a(await o.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Xa(e){return a(await o.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function Qa(e,t){let n=await o.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var pr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Ya(e,t=""){return`${Se()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Za(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new pr(s,t.status)}return r}async function Ey(e){return Za(Ya(e))}async function $y(e){return Za(Ya(e,"/messages"))}async function ec(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/accounts/tokens${t}`))}async function tc(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return a(await o.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function nc(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await o.delete(`/accounts/tokens/${e}${n}`))}async function rc(e){return a(await o.get(`/projects/${e}/cli-token`))}async function sc(e,t){return a(await o.post(`/projects/${e}/cli-token`,t??{}))}async function ic(e,t){return a(await o.delete(`/projects/${e}/cli-token/${t}`))}async function oc(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return a(await o.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function ac(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since);let r=n.toString();return a(await o.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function cc(e){return a(await o.get(`/accounts/${e}/audit/webhooks`))}async function lc(e,t){return a(await o.post(`/accounts/${e}/audit/webhooks`,t))}async function uc(e,t,n){return a(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function pc(e,t){return a(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function dc(e,t){return a(await o.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function gc(e,t){return a(await o.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function mc(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source);let n=t.toString()?`?${t.toString()}`:"";return a(await o.get(`/marketplace/items${n}`))}async function fc(){return a(await o.get("/marketplace/marketplaces"))}async function yc(){return a(await o.get("/marketplace/marketplaces/featured"))}async function hc(e){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function bc(e,t){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function xc(){return a(await o.get("/marketplace/sources"))}async function kc(e){return a(await o.post("/marketplace/sources",e),"Failed to add marketplace source")}async function Pc(e){return a(await o.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function Jy(e){return a(await o.get(`/templates/${encodeURIComponent(e)}`))}async function Xy(e,t){return a(await o.post(`/templates/${encodeURIComponent(e)}/install`,t))}function eh(e){return e?e.runtimeReady!==void 0?e.runtimeReady===!0:e.opencode!==void 0?e.opencode==="ok"||e.opencode===!0:e.status!=="starting"&&e.status!=="down"&&e.status!=="error":!1}async function wc(e,t){let n=(e===void 0?$():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await R(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var Z={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var _c=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Sc=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,vc=new Set([22,4096,parseInt(Z.KORTIX_MASTER,10)]);function zl(e){return Sc.test(e)}function it(e){if(!e)return"/";let t=e,n=t.indexOf("](");n!==-1&&(t=t.slice(0,n));let r=t.toLowerCase().indexOf("%5d(");return r!==-1&&(t=t.slice(0,r)),t?t.startsWith("/")?t:`/${t}`:"/"}function Jl(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Xl=new Set(["'",'"',"`","<","(","["]),Ql=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Yl(e){let t=0,n=e.length;for(;t<n&&(e[t]===" "||e[t]===" ");)t++;for(;n>t&&(e[n-1]===" "||e[n-1]===" ");)n--;for(;t<n&&Xl.has(e[t]);)t++;for(;n>t&&Ql.has(e[n-1]);)n--;return e.slice(t,n)}function Zl(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var eu=/^\/proxy\/(\d{1,5})(\/.*)?$/,tu=/^\/(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 nu(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:tu.test(t.pathname)}catch{return!1}}function ot(e){if(!e)return null;let t=Yl(Jl(e.trim())),n=Tc(t);if(n){let r=it(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(Z.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(eu);if(g){let h=parseInt(g[1],10);if(h>=1&&h<=65535)return s=h,c=it(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let d=it(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${d}`,port:s,path:d}}catch{let r=Zl(e);return r&&r!==e?ot(r):null}}function ru(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let c=r.index,u=c+r[0].length;t.some(([g,h])=>c>=g&&u<=h)||t.push([c,u])}return t}function su(e,t){return t.some(([n,r])=>e>=n&&e<r)}function iu(e){let t=[],n=new Set,r=ru(e);_c.lastIndex=0;let s;for(;(s=_c.exec(e))!==null;){let c=ot(s[0]);if(!c)continue;let{originalUrl:u,port:d,path:g}=c;d<1||d>65535||vc.has(d)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:d,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:su(s.index,r)}))}return t}function sh(e){return iu(e).length>0}function ou(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function qe(e,t,n){let r=it(t);if(!ou(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${e}${r}`}return`http://p${e}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function ih(e,t){return qe(e,"/",t)}function au(e){let t=ot(e);return!(!t||vc.has(t.port)||nu(e))}function Cc(e,t){if(!e)return e;let n=ot(e);return n?au(n.originalUrl)?qe(n.port,n.path,t):n.originalUrl:e}function oh(e,t="/"){return`http://localhost:${e}${t}`}var Rc=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Tc(e){let t=e.match(Sc);if(t)return{port:parseInt(t[1],10),sandboxId:t[2],backendPort:t[3]?parseInt(t[3],10):80,path:t[4]||"/"};let n=e.match(Rc);if(n)try{let r=new URL(e);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function ah(e){try{let t=Tc(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function ch(e){return zl(e)||Rc.test(e)}var $e="/web-proxy/";function lh(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${$e}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(Z.KORTIX_MASTER,10);return`${qe(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function uh(e){try{let t=new URL(e),n=t.pathname.indexOf($e);if(n===-1)return null;let s=t.pathname.slice(n+$e.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],d=s[3]||"/";return`${c}://${u}${d}${t.search}${t.hash}`}catch{return null}}function ph(e){try{return new URL(e).pathname.includes($e)}catch{return e.includes($e)}}function dh(e){if(!e)return!1;let t=e.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(t)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t))}function gh(e){let t=e.trim();return t?/^https?:\/\//i.test(t)?t:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t)?`https://${t}`:null:null}var Ic="frontend";function at(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Ic}] ${t}`,...n?[n]:[]);try{ne().app.log({service:Ic,level:e,message:t,extra:n})}catch{}}var ee={debug:(e,t)=>at("debug",e,t),info:(e,t)=>at("info",e,t),warn:(e,t)=>at("warn",e,t),error:(e,t)=>at("error",e,t)};function cu(e){return{type:"heartbeat-gap",gapMs:e}}function lu(e){switch(e.type){case"message.updated":return{type:"message.updated",sessionID:e.properties.sessionID,message:e.properties.info};case"message.removed":return{type:"message.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:e.properties.sessionID,part:e.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID,partID:e.properties.partID};case"session.status":return{type:"session.status",sessionID:e.properties.sessionID,status:e.properties.status};case"session.idle":return{type:"session.idle",sessionID:e.properties.sessionID};case"session.error":return{type:"session.error",sessionID:e.properties.sessionID,error:e.properties.error};case"question.asked":return{type:"question.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,questions:e.properties.questions,tool:e.properties.tool};case"question.replied":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"replied",answers:e.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,permission:e.properties.permission,patterns:e.properties.patterns,tool:e.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:e.properties.sessionID,requestID:e.properties.requestID,reply:e.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:e.properties.sessionID,todos:e.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var uu={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},pu=16,du=8,gu=6e4,mu=5e3,fu=250,yu=1e3,hu=3e4,bu=5,xu=3e3,ku=3e4,Pu=2e4,wu=2e3,_u=8;function Su(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function jc(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function dr(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??uu,d=e.connectTimeoutMs??Pu,g=e.heartbeatTimeoutMs??gu,h=e.maxConsecutiveHardFailures??_u,m=new AbortController,k=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",k,{once:!0}));let w=u.now(),x=[],l,i=0,P=new Map,_=()=>{if(l&&u.clearTimeout(l),l=void 0,x.length===0)return;let A=x;x=[],P.clear(),i=u.now(),w=u.now();for(let S of A)if(S)try{n(S.event)}catch(T){console.warn("[opencode-events] event handler threw, skipping",T)}},D=()=>{if(l)return;let A=u.now()-i;l=u.setTimeout(_,Math.max(0,pu-A))};return(async()=>{let A=0,S=0;for(;!m.signal.aborted;){let T=!1,I=!1,f,v,L=null,N=u.now(),U=new AbortController,G=jc(m.signal);G.promise.then(()=>U.abort());try{let O=await new Promise((mt,xe)=>{let K=!1;v=u.setTimeout(()=>{K||(K=!0,ee.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:d}),U.abort(),xe(new Error(`SSE connect timed out after ${d}ms`)))},d),t.global.event({signal:U.signal,sseDefaultRetryDelay:xu,sseMaxRetryDelay:ku,sseMaxRetryAttempts:1}).then(W=>{K||(K=!0,u.clearTimeout(v),mt(W))},W=>{K||(K=!0,u.clearTimeout(v),xe(W))})}),{stream:E}=O;w=u.now();let V=()=>{u.clearTimeout(f),f=u.setTimeout(()=>{ee.warn("SSE heartbeat timeout, forcing reconnect"),U.abort()},g)};V();let Fe=u.now(),Yc=E[Symbol.asyncIterator]();for(;!U.signal.aborted;){let mt=Yc.next().then(X=>({kind:"next",result:X}),X=>({kind:"error",error:X})),xe=jc(U.signal),K=await Promise.race([mt,xe.promise.then(()=>({kind:"aborted"}))]);if(xe.cleanup(),K.kind==="aborted")break;if(K.kind==="error")throw K.error;if(K.result.done)break;T=!0,V();let W=K.result.value,Ge=W&&typeof W=="object"&&"payload"in W?W.payload:W;if(!Ge?.type)continue;let ft=Su(Ge);if(ft){let X=P.get(ft);X!==void 0&&(x[X]=void 0),P.set(ft,x.length)}x.push({type:Ge.type,event:Ge}),D(),!(u.now()-Fe<du)&&(Fe=u.now(),await new Promise(X=>u.setTimeout(X,0)))}I=T}catch(O){if(m.signal.aborted)break;L=O;let E=String(O),V=E.includes("401")||E.includes("403")||E.includes("Unauthorized")||E.includes("Token refresh failed");if(ee.error("SSE event stream error",{error:E,retryCount:A,isAuthError:V}),V)try{We(),await Ln(),ee.info("SSE: refreshed auth token after auth error")}catch(Fe){ee.error("SSE: failed to refresh auth token",{error:String(Fe)})}}finally{u.clearTimeout(f),u.clearTimeout(v),U.abort(),G.cleanup(),_()}if(m.signal.aborted)break;let ae=u.now()-N,J=L?.cause?.status;if(S=!T&&(typeof J=="number"&&J>=400||ae<wu)?S+1:0,S>=h){ee.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:S,lastError:String(L)});try{s?.({consecutiveFailures:S,lastError:L})}catch(O){console.warn("[opencode-events] onParked handler threw",O)}break}let H=u.now()-w;H>mu&&r?.(H),I?A=0:(A++,A>1&&ee.warn("SSE event stream reconnecting",{retryCount:A}));let B=I?fu:Math.min(yu*2**Math.min(A-1,bu),hu);await new Promise(O=>{let E=u.setTimeout(O,B),V=()=>{u.clearTimeout(E),O()};m.signal.addEventListener("abort",V,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",k),l&&u.clearTimeout(l)}}}function vu(){return ne()}var ct=new Map,lt=class extends Error{constructor(t){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${t}\`.`),this.name="SessionNotReadyError"}};function Cu(e,t){ht(e,t);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new C(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let i=j().backendUrl??e.backendUrl,P=80,_=n(i);return _&&(P=_.port?Number(_.port):_.protocol==="https:"?443:80),{sandboxId:l,backendPort:P,apiBaseUrl:i}}let s={list:rs,get:is,create:ss,updateName:os,leave:hs,members:as,invite:cs,removeMember:fs,updateMemberRole:ys,invites:ls,cancelInvite:us,resendInvite:ps,tokens:{list:ec,create:tc,revoke:nc},audit:{log:oc,export:ac,webhooks:{list:cc,create:lc,update:uc,remove:pc}}},c={accountState:No,accountStateMinimal:Ho,transactions:Vo,transactionsSummary:Wo,creditBreakdown:zo,usageHistory:Jo,tierConfigurations:Xo,checkout:{createSession:l=>Qo(l),confirmSession:(l,i)=>Yo(l,i)},subscription:{createPortalSession:(l,i)=>Zo(l,i),cancel:(l,i)=>ea(l,i),reactivate:l=>ta(l),scheduleDowngrade:(l,i,P)=>na(l,i,P),cancelScheduledChange:l=>ra(l),prorationPreview:(l,i)=>sa(l,i)},credits:{purchase:l=>ia(l),autoTopupSettings:l=>oa(l),configureAutoTopup:l=>aa(l)}},u={describe:ds,accept:gs,decline:ms},d={list:ye,listForAccount:xs,get:er,detail:tr,create:_s,createRepo:Ss,provision:vs,update:sr,archive:ir,llmCatalog:nr,modelPicker:rr,sandboxHealth:or,sandboxTemplates:Fi,sessions:Ae,createSession:Ee},g={linkRepository:Is,getInstallation:js,listInstallations:As,listLinkableInstallations:Es,listRepositories:$s,listRepositoryBranches:qs,linkInstallation:Ms,saveInstallation:Ds,deleteInstallation:Us},h={list:Ja,create:Xa,revoke:Qa},m=Di,k={items:l=>mc(l),item:l=>hc(l),itemFile:(l,i)=>bc(l,i),marketplaces:()=>fc(),featured:()=>yc(),sources:{list:()=>xc(),add:l=>kc(l),remove:l=>Pc(l)}};function w(l){return{get:i=>er(l,i),detail:()=>tr(l),update:i=>sr(l,i),archive:()=>ir(l),llmCatalog:()=>nr(l),modelPicker:()=>rr(l),sandboxHealth:()=>or(l),onboardingComplete:(...i)=>Ts(l,...i),tokens:{list:()=>rc(l),create:i=>sc(l,i),revoke:i=>ic(l,i)},setupLinks:{requestSecret:i=>dc(l,i),requestConnector:i=>gc(l,i)},validateManifest:i=>Ps(l,i),gitToken:()=>ws(l),secrets:{list:()=>si(l),upsert:i=>ii(l,i),remove:i=>li(l,i),setPersonal:(...i)=>ui(l,...i),removePersonal:i=>pi(l,i),setGitCredential:i=>ci(l,i),startProviderOAuth:(...i)=>oi(l,...i),pollProviderOAuth:(...i)=>ai(l,...i)},access:{list:()=>Gs(l),invite:(...i)=>Ns(l,...i),update:(...i)=>Bs(l,...i),revoke:i=>Ks(l,i),pendingInvites:()=>Hs(l),resendInvite:(...i)=>Ws(l,...i),revokeInvite:(...i)=>Vs(l,...i),requests:()=>Os(l),approveRequest:(...i)=>Ls(l,...i),rejectRequest:(...i)=>Fs(l,...i),groupGrants:()=>zs(l),attachGroupGrant:(...i)=>Js(l,...i),updateGroupGrant:(...i)=>Xs(l,...i),detachGroupGrant:i=>Qs(l,i),resourceGrants:{list:()=>Ys(l),create:i=>Zs(l,i),remove:i=>ei(l,i)}},connectors:{list:()=>ki(l),config:(...i)=>Ci(l,...i),create:(...i)=>Ii(l,...i),remove:(...i)=>Ai(l,...i),sync:()=>Pi(l),auth:{discover:(...i)=>ji(l,...i)},setName:(...i)=>Ri(l,...i),setCredentialMode:(...i)=>wi(l,...i),setCredential:(...i)=>Mi(l,...i),setSensitive:(...i)=>_i(l,...i),profiles:{list:()=>di(l),reconcile:(...i)=>gi(l,...i),reconcileMember:(...i)=>mi(l,...i),updateCredential:(...i)=>fi(l,...i),revoke:(...i)=>yi(l,...i),activate:(...i)=>hi(l,...i),pipedreamConnect:(...i)=>bi(l,...i),pipedreamFinalize:(...i)=>xi(l,...i)},policies:{get:(...i)=>Si(l,...i),set:(...i)=>vi(l,...i)},pipedream:{listApps:(...i)=>Ei(l,...i),connect:(...i)=>Ti(l,...i),finalize:(...i)=>Ui(l,...i)},discover:{list:(...i)=>$i(l,...i),detail:(...i)=>qi(l,...i)}},policies:{list:()=>Oi(l),set:(...i)=>Li(l,...i)},triggers:{list:()=>To(l),create:(...i)=>Io(l,...i),update:(...i)=>jo(l,...i),remove:(...i)=>Ao(l,...i),fire:(...i)=>$o(l,...i),setActivation:(...i)=>Eo(l,...i)},files:{list:i=>Ji(l,i),read:(i,P)=>Qi(l,i,P),search:(...i)=>Xi(l,...i),archive:(...i)=>Yi(l,...i),history:(...i)=>ro(l,...i)},git:{commits:()=>eo(l),commit:i=>to(l,i),commitDiff:i=>no(l,i),branches:()=>Zi(l),versionDiff:(...i)=>so(l,...i),inviteCollaborator:(...i)=>ks(l,...i)},changeRequests:{list:()=>io(l),get:i=>oo(l,i),diff:i=>ao(l,i),mergePreview:i=>co(l,i),open:(...i)=>lo(l,...i),merge:(...i)=>uo(l,...i),close:(...i)=>po(l,...i),reopen:(...i)=>go(l,...i),requestChanges:(...i)=>mo(l,...i)},sessions:{list:i=>Ae(l,i),create:i=>Ee(l,i)},review:{list:i=>Na(l,i),get:i=>Ha(l,i),submit:i=>Va(l,i),act:(...i)=>Wa(l,...i),bulkAct:i=>za(l,i)},approvals:{list:i=>ti(l,i),resolve:(...i)=>ri(l,...i),sessionsNeedingInput:i=>ni(l,i)},gateway:{logs:i=>Ia(l,i),log:i=>ja(l,i),overview:i=>Aa(l,i),series:i=>Ea(l,i),breakdown:i=>$a(l,i),sessions:i=>qa(l,i),errors:i=>Da(l,i),budgets:()=>Ma(l),setBudget:i=>Ua(l,i),deleteBudget:i=>Oa(l,i),keys:()=>La(l),createKey:i=>Fa(l,i),revokeKey:i=>Ga(l,i),routing:{get:()=>va(l),set:i=>Ca(l,i),reset:()=>Ra(l),preview:i=>Ta(l,i)},playground:(i,P,_)=>Ba(l,i,P,_)},channels:{slack:{installation:()=>ca(l),connect:i=>la(l,i),mode:()=>ua(l),manifest:()=>pa(l),disconnect:()=>da(l),getFile:i=>ga(l,i),uploadFile:i=>ma(l,i)},email:{installation:i=>fa(l,i),mode:()=>ya(l),connect:i=>ha(l,i),disconnect:i=>ba(l,i),updatePolicy:(...i)=>xa(l,...i)},meet:{voices:()=>ka(l),setVoice:i=>Pa(l,i),setBotName:i=>wa(l,i),previewVoice:i=>_a(l,i),speak:(i,P,_)=>Sa(l,i,P,_)}},updateExperimentalFeature:(...i)=>Cs(l,...i),modelDefaults:{get:()=>Oo(l),set:i=>Lo(l,i),clear:i=>Fo(l,i)},setDefaultAgent:i=>Bo(l,i),sandbox:{list:()=>zi(l),snapshots:()=>Gi(l),rebuildSnapshot:i=>Bi(l,i),fixWithAgent:()=>Ki(l),createTemplate:i=>Ni(l,i),updateTemplate:(...i)=>Hi(l,...i),removeTemplate:i=>Vi(l,i),buildTemplate:i=>Wi(l,i),setProvider:i=>Rs(l,i)},setAgentScope:(...i)=>Go(l,...i),session:i=>x(l,i)}}function x(l,i){let P=null,_,D;function A(){if(P)return P;let f=Do(l,i);return f&&(P=f),P}async function S(f){let v=A();if(v)return v;let L=f?.readyTimeoutMs??18e4,N=`${l}
|
|
8
|
-
${
|
|
5
|
+
`);R=F.pop()??"";for(let ke of F){let ne=ke.split(`
|
|
6
|
+
`),N=[],Q;for(let U of ne)if(U.startsWith("data:"))N.push(U.replace(/^data:\s*/,""));else if(U.startsWith("event:"))Q=U.replace(/^event:\s*/,"");else if(U.startsWith("id:"))h=U.replace(/^id:\s*/,"");else if(U.startsWith("retry:")){let X=Number.parseInt(U.replace(/^retry:\s*/,""),10);Number.isNaN(X)||(a=X)}let z,K=!1;if(N.length){let U=N.join(`
|
|
7
|
+
`);try{z=JSON.parse(U),K=!0}catch{z=U}}K&&(s&&await s(z),r&&(z=await r(z))),n?.({data:z,event:Q,id:h,retry:a}),N.length&&(yield z)}}}finally{T.removeEventListener("abort",H),y.releaseLock()}break}catch(w){if(t?.(w),l!==void 0&&S>=l)break;let v=Math.min(a*2**(S-1),p??3e4);await x(v)}}}()}};var Vl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},zl=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Jl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},it=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(d=>encodeURIComponent(d))).join(zl(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=Vl(r),l=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):we({allowReserved:e,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+l:l},we=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},ot=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let d=[];Object.entries(s).forEach(([m,h])=>{d=[...d,m,e?h:encodeURIComponent(h)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let l=Jl(r),p=Object.entries(s).map(([d,f])=>we({allowReserved:e,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(l);return r==="label"||r==="matrix"?l+p:p};var Ql=/\{[^{}]+\}/g,Xl=({path:e,url:t})=>{let n=t,r=t.match(Ql);if(r)for(let s of r){let o=!1,l=s.substring(1,s.length-1),p="simple";l.endsWith("*")&&(o=!0,l=l.substring(0,l.length-1)),l.startsWith(".")?(l=l.substring(1),p="label"):l.startsWith(";")&&(l=l.substring(1),p="matrix");let d=e[l];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,it({explode:o,name:l,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,ot({explode:o,name:l,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${we({name:l,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},Qr=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,l=(e??"")+o;t&&(l=Xl({path:t,url:l}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(l+=`?${p}`),l};function Ht(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(t)return e.body}var Xr=async(e,t)=>{let n=typeof t=="function"?await t(e):t;if(n)return e.scheme==="bearer"?`Bearer ${n}`:e.scheme==="basic"?`Basic ${btoa(n)}`:n};var Kt={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Yr=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let l=r[o];if(l==null)continue;let p=e[o]||t;if(Array.isArray(l)){let d=it({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:l,...p.array});d&&s.push(d)}else if(typeof l=="object"){let d=ot({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:l,...p.object});d&&s.push(d)}else{let d=we({allowReserved:p.allowReserved,name:o,value:l});d&&s.push(d)}}return s.join("&")},Zr=e=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>t.startsWith(n)))return"blob";if(t.startsWith("text/"))return"text"}},Yl=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,es=async({security:e,...t})=>{for(let n of e){if(Yl(t,n.name))continue;let r=await Xr(n,t.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":t.query||(t.query={}),t.query[s]=r;break;case"cookie":t.headers.append("Cookie",`${s}=${r}`);break;default:t.headers.set(s,r);break}}},Wt=e=>Qr({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Yr(e.querySerializer),url:e.url}),Vt=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=at(e.headers,t.headers),n},Zl=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},at=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?Zl(n):Object.entries(n);for(let[s,o]of r)if(o===null)t.delete(s);else if(Array.isArray(o))for(let l of o)t.append(s,l);else o!==void 0&&t.set(s,typeof o=="object"?JSON.stringify(o):o)}return t},De=class{fns=[];clear(){this.fns=[]}eject(t){let n=this.getInterceptorIndex(t);this.fns[n]&&(this.fns[n]=null)}exists(t){let n=this.getInterceptorIndex(t);return!!this.fns[n]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,n){let r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=n,t):!1}use(t){return this.fns.push(t),this.fns.length-1}},ts=()=>({error:new De,request:new De,response:new De}),eu=Yr({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),tu={"Content-Type":"application/json"},Me=(e={})=>({...Kt,headers:tu,parseAs:"auto",querySerializer:eu,...e});var Ue=(e={})=>{let t=Vt(Me(),e),n=()=>({...t}),r=f=>(t=Vt(t,f),n()),s=ts(),o=async f=>{let m={...t,...f,fetch:f.fetch??t.fetch??globalThis.fetch,headers:at(t.headers,f.headers),serializedBody:void 0};m.security&&await es({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let h=Wt(m);return{opts:m,url:h}},l=async f=>{let{opts:m,url:h}=await o(f),x={redirect:"follow",...m,body:Ht(m)},P=new Request(h,x);for(let A of s.request.fns)A&&(P=await A(P,m));let u=m.fetch,a;try{a=await u(P)}catch(A){let $=A;for(let y of s.error.fns)y&&($=await y(A,void 0,P,m));if($=$||{},m.throwOnError)throw $;return m.responseStyle==="data"?void 0:{error:$,request:P,response:void 0}}for(let A of s.response.fns)A&&(a=await A(a,P,m));let S={request:P,response:a};if(a.ok){let A=(m.parseAs==="auto"?Zr(a.headers.get("Content-Type")):m.parseAs)??"json";if(a.status===204||a.headers.get("Content-Length")==="0"){let y;switch(A){case"arrayBuffer":case"blob":case"text":y=await a[A]();break;case"formData":y=new FormData;break;case"stream":y=a.body;break;default:y={};break}return m.responseStyle==="data"?y:{data:y,...S}}let $;switch(A){case"arrayBuffer":case"blob":case"formData":case"text":$=await a[A]();break;case"json":{let y=await a.text();$=y?JSON.parse(y):{};break}case"stream":return m.responseStyle==="data"?a.body:{data:a.body,...S}}return A==="json"&&(m.responseValidator&&await m.responseValidator($),m.responseTransformer&&($=await m.responseTransformer($))),m.responseStyle==="data"?$:{data:$,...S}}let T=await a.text(),C;try{C=JSON.parse(T)}catch{}let w=C??T,v=w;for(let A of s.error.fns)A&&(v=await A(w,a,P,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...S}},p=f=>m=>l({...m,method:f}),d=f=>async m=>{let{opts:h,url:x}=await o(m);return Jr({...h,body:h.body,headers:h.headers,method:f,onRequest:async(P,u)=>{let a=new Request(P,u);for(let S of s.request.fns)S&&(a=await S(a,h));return a},serializedBody:Ht(h),url:x})};return{buildUrl:Wt,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:l,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var nu={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},ru=Object.entries(nu),ns=(e,t)=>{t||(t=new Map);for(let n of e)"in"in n?n.key&&t.set(n.key,{in:n.in,map:n.map}):"key"in n?t.set(n.key,{map:n.map}):n.args&&ns(n.args,t);return t},su=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},g=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=ns(t),s;for(let[o,l]of e.entries())if(t[o]&&(s=t[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=l)}else n.body=l;else for(let[p,d]of Object.entries(l??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=ru.find(([h])=>p.startsWith(h));if(m){let[h,x]=m;n[x][p.slice(h.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[h,x]of Object.entries(s.allowExtra))if(x){n[h][p]=d;break}}}}return su(n),n};var rs=Ue(Me({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??rs}},zt=class{defaultKey="default";instances=new Map;get(t){let n=this.instances.get(t??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(t,n){this.instances.set(n??this.defaultKey,t)}},Jt=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Qt=class extends b{log(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Xt=class extends b{moveSession(t,n){let r=g([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Yt=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Zt=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},en=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},tn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},nn=class extends b{generateName(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},sn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new rn({client:this.client})}},on=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new Xt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Yt({client:this.client})}_console;get console(){return this._console??=new Zt({client:this.client})}_session;get session(){return this._session??=new en({client:this.client})}_resource;get resource(){return this._resource??=new tn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new nn({client:this.client})}_workspace;get workspace(){return this._workspace??=new sn({client:this.client})}},an=class extends b{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=g([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},cn=class extends b{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=g([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new an({client:this.client})}},ln=class extends b{subscribe(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},un=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},pn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},dn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},gn=class extends b{text(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},mn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},fn=class extends b{dispose(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},yn=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},hn=class extends b{raw(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},bn=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new hn({client:this.client})}},xn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},Pn=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},kn=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},wn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},_n=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new wn({client:this.client})}},Sn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},vn=class extends b{shells(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},Rn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},Cn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Tn=class extends b{authorize(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},An=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new Tn({client:this.client})}},In=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},jn=class extends b{delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},En=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},$n=class extends b{start(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=g([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new En({client:this.client})}},qn=class extends b{next(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Dn=class extends b{appendPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new qn({client:this.client})}},Mn=class extends b{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Un=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},On=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},Ln=class extends b{stage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},Fn=class extends b{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Gn=class extends b{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},Bn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new Ln({client:this.client})}_permission;get permission(){return this._permission??=new Fn({client:this.client})}_question;get question(){return this._question??=new Gn({client:this.client})}},Nn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Hn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Kn=class extends b{key(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Wn=class extends b{cancel(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Vn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new Kn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Wn({client:this.client})}},zn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Jn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Qn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Xn=class extends b{_request;get request(){return this._request??=new Jn({client:this.client})}_saved;get saved(){return this._saved??=new Qn({client:this.client})}},Yn=class extends b{read(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},Zn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},er=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},tr=class extends b{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},nr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},rr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},sr=class extends b{_request;get request(){return this._request??=new rr({client:this.client})}},ir=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},or=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},ar=class extends b{_health;get health(){return this._health??=new Mn({client:this.client})}_location;get location(){return this._location??=new Un({client:this.client})}_agent;get agent(){return this._agent??=new On({client:this.client})}_session;get session(){return this._session??=new Bn({client:this.client})}_model;get model(){return this._model??=new Nn({client:this.client})}_provider;get provider(){return this._provider??=new Hn({client:this.client})}_integration;get integration(){return this._integration??=new Vn({client:this.client})}_credential;get credential(){return this._credential??=new zn({client:this.client})}_permission;get permission(){return this._permission??=new Xn({client:this.client})}_fs;get fs(){return this._fs??=new Yn({client:this.client})}_command;get command(){return this._command??=new Zn({client:this.client})}_skill;get skill(){return this._skill??=new er({client:this.client})}_event;get event(){return this._event??=new tr({client:this.client})}_pty;get pty(){return this._pty??=new nr({client:this.client})}_question;get question(){return this._question??=new sr({client:this.client})}_reference;get reference(){return this._reference??=new ir({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new or({client:this.client})}},ct=class e extends b{static __registry=new zt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Jt({client:this.client})}_app;get app(){return this._app??=new Qt({client:this.client})}_experimental;get experimental(){return this._experimental??=new on({client:this.client})}_global;get global(){return this._global??=new cn({client:this.client})}_event;get event(){return this._event??=new ln({client:this.client})}_config;get config(){return this._config??=new un({client:this.client})}_tool;get tool(){return this._tool??=new pn({client:this.client})}_worktree;get worktree(){return this._worktree??=new dn({client:this.client})}_find;get find(){return this._find??=new gn({client:this.client})}_file;get file(){return this._file??=new mn({client:this.client})}_instance;get instance(){return this._instance??=new fn({client:this.client})}_path;get path(){return this._path??=new yn({client:this.client})}_vcs;get vcs(){return this._vcs??=new bn({client:this.client})}_command;get command(){return this._command??=new xn({client:this.client})}_lsp;get lsp(){return this._lsp??=new Pn({client:this.client})}_formatter;get formatter(){return this._formatter??=new kn({client:this.client})}_mcp;get mcp(){return this._mcp??=new _n({client:this.client})}_project;get project(){return this._project??=new Sn({client:this.client})}_pty;get pty(){return this._pty??=new vn({client:this.client})}_question;get question(){return this._question??=new Rn({client:this.client})}_permission;get permission(){return this._permission??=new Cn({client:this.client})}_provider;get provider(){return this._provider??=new An({client:this.client})}_session;get session(){return this._session??=new In({client:this.client})}_part;get part(){return this._part??=new jn({client:this.client})}_sync;get sync(){return this._sync??=new $n({client:this.client})}_tui;get tui(){return this._tui??=new Dn({client:this.client})}_v2;get v2(){return this._v2??=new ar({client:this.client})}};function is(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let o=e,l=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||ss(n,t);return new Error(l,{cause:{body:e,status:t?.status}})}if(typeof e=="string"&&e.length>0)return new Error(e,{cause:{body:e,status:t?.status}});let s=t?"(empty response body)":"network error (no response)";return new Error(`opencode server ${ss(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function ss(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,o=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function iu(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function ou(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[o,l]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=iu(e.headers.get(o),l==="directory"?t.directory:t.workspace,l==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[l,`location[${l}]`]:[l])n.searchParams.has(d)||n.searchParams.set(d,p);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function cr(e){e?.fetch||(e={...e,fetch:r=>(r.timeout=!1,fetch(r))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)}),e?.experimental_workspaceID&&(e.headers={...e.headers,"x-opencode-workspace":e.experimental_workspaceID});let t=Ue(e);return t.interceptors.request.use(n=>ou(n,{directory:e?.directory,workspace:e?.experimental_workspaceID})),t.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),t.interceptors.error.use(is),new ct({client:t})}function au(e){return new Promise(t=>setTimeout(t,e))}async function os(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,o=t?.invalidateBetweenAttempts??!1,l=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await au(s)),l=await e(),l)return l;return l}var cu=3e4;function lu(e){let t=e instanceof Request?e.url:String(e);return t.includes("/global/event")||t.includes("/kortix/acp/")}function as(e,t,n=cu){let r=e instanceof Request?e.signal:t?.signal;if(lu(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function lr(e,t,n){let r=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,o)=>{r.set(o,s)}),n&&!r.has("Authorization")&&r.set("Authorization",`Bearer ${n}`),r}function cs(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function ur(){return q().getToken()}async function Oe(e){return os(()=>q().getToken(),e,lt)}function lt(){}function mm(e){}function fm(e){}async function ut(){return ur()}async function ls(e){return Oe(e)}function us(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function E(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await ls();if(!s)return cs();let o=lr(e,t,s),l=as(e,t),p=await us(e,t,o,l);if(p.status===401&&r&&s){lt();let d=await ls({attempts:2,baseDelayMs:200});if(d&&d!==s){let f=lr(e,t,d);return us(e,t,f,l)}}return p}var _e={url:null,sandboxId:null,dbSandboxId:null,version:0},uu=new Set;function ps(e,t=null,n=null){if(!(_e.url===e&&_e.sandboxId===t&&_e.dbSandboxId===n)){_e={url:e,sandboxId:t,dbSandboxId:n,version:_e.version+1};for(let r of uu)r()}}function ds(){return _e.url}function pu(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function pe(){return pu(q().backendUrl||"http://localhost:8008/v1")}function gs(){let e=q().sandboxId||"";return`${pe()}/p/${e}/8000`}function du(e){return`${pe()}/p/${e}/8000`}function pt(e){return du(e)}function O(){let e=ds();return e||(q().billingEnabled??!1?"":gs())}var I=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let l=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:l,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},Le=class extends I{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},Se=class e extends Error{status;detail;constructor(t,n,r){super(r||n.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=n,Object.setPrototypeOf(this,e.prototype)}},Fe=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",o="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||o},Object.setPrototypeOf(this,e.prototype)}};function Ge(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new Se(t,{message:r?.message||e.message||"Billing error",...r})}function gu(e){return e instanceof Se}function mu(e){if(!(e instanceof Se))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function pr(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function dr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function ms(e){let t=dr(e),n=await E(`${t}/env`);if(!n.ok)throw new Error(await pr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function fs(e,t,n){let r=dr(e),s=await E(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await pr(s,"Failed to save secret"))}async function ys(e,t){let n=dr(e),r=await E(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await pr(r,"Failed to delete secret"))}var fu={list:ms,set:fs,delete:ys};async function yu(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await E(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}function ve(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function dt(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Be(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ve(e)}async function hs(e){let t=Be(e),n=await E(`${t}/kortix/pty`);if(!n.ok)throw new Error(await dt(n,"Failed to list terminals"));return n.json()}async function bs(e,t){let n=Be(e),r=await E(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await dt(r,"Failed to create terminal"));return r.json()}async function xs(e,t,n){let r=Be(e),s=await E(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await dt(s,"Failed to update terminal"));return s.json()}async function Ps(e,t){let n=Be(e),r=await E(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await dt(r,"Failed to remove terminal"))}async function ks(e,t){let n=Be(t),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),ve(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,o=await ut();if(!o)return s;let l=s.includes("?")?"&":"?";return`${s}${l}token=${encodeURIComponent(o)}`}var hu={list:hs,create:bs,update:xs,remove:Ps,webSocketUrl:ks};async function _(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await E(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),l=await o.text(),p={};try{p=l?JSON.parse(l):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||l.slice(0,200)||`Request failed with ${o.status}`);return p}async function Mm(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return _(e,`/kortix/tasks${r}`)}async function Um(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function Om(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function Lm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function Fm(e,t){return _(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function Gm(e,t,n){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Bm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Nm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function Hm(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Km(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return _(e,`/kortix/tickets${n}`)}async function Wm(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Vm(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function zm(e,t){return _(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Jm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Qm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Xm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Ym(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Zm(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function ef(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function tf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function nf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function rf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function sf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function of(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function af(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function cf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function lf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function uf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function pf(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function df(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function gf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function mf(e,t,n=200){return _(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function ff(e){return _(e,"/kortix/projects")}async function yf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function hf(e,t){return _(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function bf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function xf(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Pf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function kf(e,t,n="all"){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function wf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function _f(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function Sf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function vf(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Rf(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function Cf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function Tf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Af(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function If(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function jf(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function Ef(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function $f(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var bu=1e4,xu={retryOnAuthError:!1};function Re(e,t,n){return _(e,t,{signal:AbortSignal.timeout(bu),...n},xu)}async function qf(e,t=!1){return(await Re(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function Df(e){return(await Re(e,"/kortix/services/templates")).templates??[]}async function Mf(e,t){return(await Re(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function Uf(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return Re(e,s,{method:r?"DELETE":"POST"})}async function Of(e,t){return Re(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function Lf(e,t){return Re(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var gt=new Map,gr=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function de(){let e=O();if(!e)throw new gr;return se(e)}function se(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=gt.get(e);if(t)return t;if(!Nt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=cr({baseUrl:e,fetch:E});return gt.set(e,n),n}function Wf(e){gt.delete(e)}function Vf(){gt.clear()}var mt=new Map;function zf(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=mt.get(e);if(t)return t;let n=cr({baseUrl:e,fetch});return mt.set(e,n),n}function Jf(e){mt.delete(e)}function Qf(){mt.clear()}async function Pu(e){let t=await e.text().catch(()=>"");try{let n=JSON.parse(t);return n?.error||n?.message||t||e.statusText||`HTTP ${e.status}`}catch{return t||e.statusText||`HTTP ${e.status}`}}async function Xf(e){let t=O();if(!t)throw new I("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await E(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new I(`System reload failed (${n.status}): ${await Pu(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function _s(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new I(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Ce(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function ft(e,t=O()){let n=await E(`${t}${e}`);if(!n.ok)throw new I(await Ce(n),{status:n.status,response:n});return n.json()}var mr=["/workspace","/tmp","/home","/opt"],ku=mr.filter(e=>e!=="/workspace");function Ss(e){return mr.some(t=>e===t||e.startsWith(`${t}/`))}function vs(e){return Ss(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function Te(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(ku.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Rs=Te;async function yt(e,t=O()){let n=Te(e)||".";return(await ft(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function He(e,t=O()){let n=Te(e),r=await E(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new I(await Ce(r),{status:r.status,response:r});return r.json()}async function wu(e,t,n=O()){let r=Te(e),s=await E(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new I(await Ce(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new I("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let o=await s.blob();return t&&(!o.type||o.type==="application/octet-stream")?new Blob([o],{type:t}):o}async function Ke(e,t=O()){try{return await wu(e,void 0,t)}catch{}let n=await He(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function ht(e=O()){return ft("/file/status",e)}async function bt(e,t,n=O()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),ft(`/find/file?${r.toString()}`,n)}async function xt(e,t=O()){return(await ft(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var Ne=[400,1200],_u=e=>e===408||e===429||e===502||e===503||e===504,ws=e=>new Promise(t=>setTimeout(t,e));async function Su(e){let t=await e.text().catch(()=>""),n=null;try{n=t?JSON.parse(t):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(e.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(t)?e.status===502||/bad gateway/i.test(t)?"Bad gateway while reaching the sandbox upload service. Please retry.":e.statusText||`HTTP ${e.status}`:t.replace(/\s+/g," ").trim().slice(0,500)||e.statusText||`HTTP ${e.status}`}async function Cs(e,t){let n;for(let s=0;s<=Ne.length;s++){let o;try{o=await t(e())}catch(p){if(n=p,s===Ne.length)break;await ws(Ne[s]);continue}if(o.ok)return o.json();let l=await Su(o);if(n=new I(`Upload failed (${o.status}): ${l}`,{status:o.status,response:o}),!_u(o.status)||s===Ne.length)throw n;await ws(Ne[s])}if(n instanceof I)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new I(`Upload failed: ${r}`)}function We(e,t,n,r=O()){return Cs(()=>{let s=new FormData,o=(t??"").trim();return o&&s.append("path",o.startsWith("/")?o:`/${o}`),n?s.append("file",e,n):s.append("file",e),s},s=>E(`${r}/file/upload`,{method:"POST",body:s}))}function vu(e,t,n=O()){return Cs(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},o=await ut();return o&&(s.Authorization=`Bearer ${o}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function Pt(e,t=O()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),o=s.pop()||"untitled",l=s.join("/")||"/workspace";return We(new File([" "],o,{type:"application/octet-stream"}),l,void 0,t)}async function kt(e,t,n=O()){return vu(t,await Ke(e,n),n)}async function wt(e,t=O()){let n=await E(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Delete failed (${n.status}): ${await Ce(n)}`,{status:n.status,response:n});return n.json()}async function _t(e,t=O()){let n=await E(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Mkdir failed (${n.status}): ${await Ce(n)}`,{status:n.status,response:n});return n.json()}async function St(e,t,n=O()){let r=await E(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new I(`Rename failed (${r.status}): ${await Ce(r)}`,{status:r.status,response:r});return r.json()}async function Ts(){return _s(await de().project.current())}async function fr(){return _s(await de().global.health())}async function As(){try{return(await fr()).healthy===!0}catch{return!1}}var Ru={list:yt,read:He,readBlob:Ke,status:ht,findFiles:bt,findText:xt,upload:We,create:Pt,copy:kt,remove:wt,mkdir:_t,rename:St,currentProject:Ts,health:fr,isReachable:As,toDaemonPath:Te,toSandboxAbsolutePath:vs,toWorkspaceRelative:Rs};var ie=()=>q().backendUrl||"",Tu="feature_not_supported",Au=e=>new Promise(t=>setTimeout(t,e)),Iu=new Set([502,503,504]),ju=e=>Iu.has(e),Eu=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},$u=2,Is=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),yr=!1;function uy(e){yr=e}function py(){return yr}async function ge(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=t,l=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!l.signal.aborted&&(d=!0,f=!0,l.abort())},s);let m=await Oe(),h=o.body instanceof FormData,x={};if(h||(x["Content-Type"]="application/json"),Object.assign(x,o.headers),yr&&(x["x-kortix-admin-bypass"]="1"),m)x.Authorization=`Bearer ${m}`;else return{error:new Le,success:!1};let P=Eu(o.method),u=P?$u+1:1,a;for(let C=0;C<u;C++){C>0&&await Au(250*2**(C-1));let w=C===0?l:new AbortController;C>0&&(p=setTimeout(()=>{f=!0,w.abort()},s));try{a=await fetch(e,{...o,headers:x,signal:w.signal,credentials:o.credentials??"omit"})}catch(A){if(p&&(clearTimeout(p),p=null),Is(A)||C===u-1)throw A;continue}if(p&&(clearTimeout(p),p=null),!(P&&ju(a.status)&&C<u-1))break;try{await a.arrayBuffer()}catch{}}if(!a.ok){let C=`HTTP ${a.status}: ${a.statusText}`,w=null;try{w=await a.json(),typeof w.message=="string"?C=w.message:w.error&&typeof w.error=="string"?C=w.error:typeof w.detail=="string"?C=w.detail:typeof w.detail?.message=="string"&&(C=w.detail.message)}catch{}let v=new I(C,{status:a.status,response:a,details:w||void 0,data:w,detail:w?.detail,code:w?.code||w?.error_code||w?.detail?.error_code||a.status.toString()});if(a.status===402&&(v=Ge(v)),a.status===403&&w?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}a.status===431&&(v=new Fe(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let A=a.status===501&&w?.code===Tu;return n&&!A&&q().onError?.(v,r),{error:v,success:!1}}let S,T=a.headers.get("content-type");return T?.includes("application/json")?S=await a.json():T?.includes("text/")?S=await a.text():S=await a.blob(),{data:S,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let h=Is(m);h&&(d=!0);let x;if(h){if(!f)return{error:new I("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let P=e.replace(ie(),"")||e;x=new I(`Request timed out after ${Math.round(s/1e3)}s: ${P}`,{code:"TIMEOUT",url:e,endpoint:P,timeout:s}),n&&q().onError?.(x,r)}else m instanceof Error?(x=new I(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&q().onError?.(x,r)):(x=new I(String(m)),n&&q().onError?.(x,r));return{error:x,success:!1}}}var dy={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new I(r.message||"Database error",{code:r.code,details:r});return q().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new I(n.message,{name:n.name||"ApiError",stack:n.stack}):new I(String(n));return q().onError?.(r,t),{error:r,success:!1}}}},i={get:(e,t)=>ge(`${ie()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>ge(`${ie()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>ge(`${ie()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>ge(`${ie()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ge(`${ie()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],ge(`${ie()}${e}`,{...s,method:"POST",body:t,headers:o})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],ge(`${ie()}${e}`,{...s,method:"PUT",body:t,headers:o})}};function c(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function hr(e){return e.replace(/\/v1\/?$/,"")}async function Ae(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=hr(e.backendUrl);try{let r=await fetch(`${n}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function js(){return c(await i.get("/accounts"))}async function Es(e){return c(await i.post("/accounts",e))}async function $s(e){return c(await i.get(`/accounts/${e}`))}async function qs(e,t){return c(await i.patch(`/accounts/${e}`,{name:t}))}async function Ds(e){return c(await i.get(`/accounts/${e}/members`))}async function Ms(e,t){return c(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Us(e){return c(await i.get(`/accounts/${e}/invites`))}async function Os(e,t){return c(await i.delete(`/accounts/${e}/invites/${t}`))}async function Ls(e,t){return c(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function Fs(e){return c(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function Gs(e){return c(await i.post(`/account-invites/${e}/accept`,{}))}async function Bs(e){return c(await i.post(`/account-invites/${e}/decline`,{}))}async function Ns(e,t){return c(await i.delete(`/accounts/${e}/members/${t}`))}async function Hs(e,t,n){return c(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function Ks(e){return c(await i.post(`/accounts/${e}/leave`,{}))}async function hy(e){return Ae(e,"/v1/accounts")}async function Ws(){let e=await i.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function Ie(){return c(await i.get("/projects"))}async function Vs(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/projects${t}`))}async function br(e,t){return c(await i.get(`/projects/${e}`,t))}async function zs(e,t,n="write"){return c(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Js(e,t){return c(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function Qs(e){return c(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function ky(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function xr(e,t){let n=c(await i.get(`/projects/${e}/detail`,{showErrors:!1,...t}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Pr(e,t){return c(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function kr(e,t){return c(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function wy(e,t){return c(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function Xs(e){return c(await i.post("/projects",e))}async function Ys(e){return c(await i.post("/projects/create-repo",e))}async function Zs(e,t={}){return c(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function _y(){try{return c(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function wr(e,t){return c(await i.patch(`/projects/${e}`,t))}async function ei(e,t,n){return c(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function ti(e,t){return c(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Sy(e,t){return c(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function vy(e,t){return c(await i.patch(`/projects/${e}/warm-pool`,t))}async function ni(e,t){return c(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function _r(e){return c(await i.delete(`/projects/${e}`))}async function Ry(e,t){return Ae(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Cy(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=hr(e.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...t}),signal:AbortSignal.timeout(e.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function ri(e){return c(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function si(e){return c(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function ii(e){return c(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function oi(e){return c(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function ai(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),c(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function ci(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return c(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function li(e){return c(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function ui(e){return c(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function pi(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),c(await i.delete(`/projects/github/installation?${n.toString()}`))}async function qy(e,t){return c(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function di(e,t){return c(await i.get(`/projects/${e}/access-requests`,t))}async function gi(e,t,n="member"){return c(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function mi(e,t){return c(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function fi(e){return c(await i.get(`/projects/${e}/access`))}async function yi(e,t,n){return c(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function hi(e,t){return c(await i.delete(`/projects/${e}/access/${t}`))}function Dy(e){return"status"in e&&e.status==="invited"}async function bi(e,t,n,r){return c(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function xi(e){return c(await i.get(`/projects/${e}/access/pending-invites`))}async function Pi(e,t){return c(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function ki(e,t){return c(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function wi(e){return c(await i.get(`/projects/${e}/group-grants`))}async function _i(e,t,n,r){return c(await i.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function Si(e,t,n,r){return c(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function vi(e,t){return c(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Ri(e){return c(await i.get(`/projects/${e}/resource-grants`))}async function Ci(e,t){return c(await i.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function Ti(e,t){return c(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Ai(e,t){return c(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Ii(e,t){return c(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function ji(e,t,n,r="once"){return c(await i.post(`/projects/${e}/approvals/${t}`,{decision:n,scope:r}))}async function Ei(e){return c(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function $i(e,t){return c(await i.post(`/projects/${e}/secrets`,t))}async function qi(e,t,n){return c(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function Di(e,t,n){return c(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Mi(e,t){return c(await i.put(`/projects/${e}/git-credential`,t))}async function Ui(e,t){return c(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function Oi(e,t,n){return c(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function Li(e,t){return c(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function Fi(e){return c(await i.get(`/projects/${e}/connector-profiles`))}async function Gi(e){return c(await i.get(`/projects/${e}/connector-profiles/all`))}async function Bi(e,t){return c(await i.post(`/projects/${e}/connector-profiles`,t))}async function Ni(e,t){return c(await i.post(`/projects/${e}/connector-profiles/me`,t))}async function Hi(e,t,n){return c(await i.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}function me(e,t,n){return`/projects/${e}/connector-profiles/${t}/oauth2/${n}`}async function By(e,t){return c(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/profile`,{}))}async function Ny(e,t,n){return c(await i.put(me(e,t,"application"),n))}async function Hy(e,t){return c(await i.get(me(e,t,"application")))}async function Ky(e,t,n){return c(await i.post(me(e,t,"discover"),n))}async function Wy(e,t,n){return c(await i.post(me(e,t,"authorize"),n))}async function Vy(e,t,n){return c(await i.post(me(e,t,"device"),n))}async function zy(e,t,n){return c(await i.post(me(e,t,`device/${encodeURIComponent(n)}`),{}))}async function Jy(e,t){return c(await i.get(me(e,t,"status")))}async function Ki(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function Wi(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function Vi(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/default`,{}))}async function zi(e,t,n={}){return c(await i.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}async function Ji(e,t){return c(await i.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}async function Qi(e){return c(await i.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function Xi(e){return c(await i.post(`/executor/projects/${e}/connectors/sync`,{}))}async function Yi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function Zi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function eo(e,t){return c(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function to(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function no(e,t){return c(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function ro(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function so(e,t){return c(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function io(e,t){return c(await i.post(`/executor/projects/${e}/connectors`,t))}async function oo(e,t){return c(await i.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function ao(e,t){return c(await i.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function co(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return c(await i.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function lo(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return c(await i.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function uo(e,t){let n=new URLSearchParams({id:t});return c(await i.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function po(){return c(await i.get("/executor/connect-status"))}async function go(e,t,n){let r=typeof n=="string"?{value:n}:n;return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function mo(e,t){return c(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function Qy(e,t){return c(await i.get(`/projects/${e}/connector-profiles/${encodeURIComponent(t)}/policies`))}async function Xy(e,t,n){return c(await i.put(`/projects/${e}/connector-profiles/${encodeURIComponent(t)}/policies`,{policies:n}))}async function fo(e){return c(await i.get(`/executor/projects/${e}/policies`))}async function yo(e,t,n){return c(await i.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function ho(e){return c(await i.get(`/projects/${e}/sandboxes`))}async function bo(e){return c(await i.get(`/projects/${e}/snapshots`))}async function Sr(e){return c(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function xo(e,t){return c(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Po(e){return c(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function ko(e,t){return c(await i.post(`/projects/${e}/sandbox-templates`,t))}async function wo(e,t,n){return c(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function _o(e,t){return c(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function So(e,t){return c(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function vo(e){return c(await i.get(`/projects/${e}/sandboxes`))}async function Ro(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return c(await i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Co(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),c(await i.get(`/projects/${e}/files/search?${r.toString()}`))}async function To(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),c(await i.get(`/projects/${e}/files/content?${r.toString()}`))}async function Ao(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await Oe(),l=`${q().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(l,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function Io(e){return c(await i.get(`/projects/${e}/branches`))}async function jo(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return c(await i.get(`/projects/${e}/commits${r}`))}async function Eo(e,t){return c(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function $o(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return c(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function qo(e,t,n){let r=new URLSearchParams({path:t});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),c(await i.get(`/projects/${e}/files/history?${r.toString()}`))}async function Do(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return c(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function Mo(e,t){let n=t?`?status=${t}`:"";return c(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Uo(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}`))}async function Oo(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function Lo(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Fo(e,t){return c(await i.post(`/projects/${e}/change-requests`,t))}async function Go(e,t,n){return c(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function Bo(e,t){return c(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function No(e,t){return c(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function Ho(e,t,n){return c(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function Ko(e,t,n){return c(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var vr=new Set;function vt(e){e&&vr.add(e)}function Wo(e){return!!e&&vr.has(e)}function yh(e){e&&vr.delete(e)}async function Ve(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope),t?.end_user_ref&&n.set("end_user_ref",t.end_user_ref);let r=n.size>0?`?${n}`:"";return c(await i.get(`/projects/${e}/sessions${r}`))}async function Vo(e,t,n){return c(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function zo(e,t){return c(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function Jo(e,t){return c(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Qo(e,t,n){return c(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function Xo(e,t,n){return c(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function ze(e,t){let n=c(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||vt(n?.session_id),n}async function Yo(e){let t=c(await i.post(`/projects/${e}/sessions/warm`,{}));return vt(t.session.session_id),t}async function Zo(e,t){let n=c(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return vt(n.session_id),n}async function ea(e,t,n){return c(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function ta(e,t,n,r){let s=n?`?limit=${n}`:"";return c(await i.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function na(e,t,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return c(await i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function ra(e,t,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return c(await i.get(`/projects/${e}/sessions/${t}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function sa(e,t,n){return c(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function ia(e,t){return c(await i.delete(`/projects/${e}/sessions/${t}`))}async function Rt(e,t){return c(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function Ct(e,t){return c(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function oa(e,t,n){return c(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function aa(e){return c(await i.get(`/projects/${e}/triggers`))}async function ca(e,t){return c(await i.post(`/projects/${e}/triggers`,t))}async function la(e,t,n){return c(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function ua(e,t){return c(await i.delete(`/projects/${e}/triggers/${t}`))}async function pa(e,t){return c(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function da(e,t){return c(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var oe=new Map;function Rr(e,t){return`${e}::${t}`}function ga(e,t){oe.delete(e),oe.set(e,t)}function ma(e,t){let n=Rr(e,t),r=oe.get(n);return r&&ga(n,r),r}function fa(e,t,n){let r=Rr(e,t);if(!oe.has(r)&&oe.size>=512){let s=oe.keys().next().value;s!==void 0&&oe.delete(s)}ga(r,n)}function ya(e,t){oe.delete(Rr(e,t))}function Ih(e){if(e.status!=="running"||!e.sandbox_provider||!e.sandbox_url||!e.opencode_session_id)return null;let t=e.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return!t||!e.sandbox_id?null:{stage:"ready",agent_name:e.agent_name??"default",retriable:!0,sandbox:{sandbox_id:e.sandbox_id,session_id:e.session_id,project_id:e.project_id,account_id:e.account_id,provider:e.sandbox_provider,external_id:t,base_url:e.sandbox_url,status:"active",config:{},metadata:e.metadata,last_used_at:e.updated_at,created_at:e.created_at,updated_at:e.updated_at},opencode_session_id:e.opencode_session_id,runtime_url:e.sandbox_url}}var Cr=class extends Error{status;code;terminal;constructor(t,n){super(t),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function jh(e){return e instanceof Error&&e.name==="SessionStartError"}function qu(e){let t=e,n=t?.status,r=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Cr(s,{status:n,code:r,terminal:!0}):null}async function je(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=qu(s.error);if(p&&!(p.status===404&&Wo(t)))throw p;return null}let o=s.data,l=o.sandbox?.external_id;return o.stage==="ready"&&l&&o.opencode_session_id&&fa(e,t,{opencodeSessionId:o.opencode_session_id,runtimeUrl:pt(l),sandboxId:l}),o}function Eh(e,t){return["session-start",e,t]}async function ha(e){return c(await i.get(`/projects/${e}/model-defaults`))}async function ba(e,t){return c(await i.put(`/projects/${e}/model-defaults`,t))}async function xa(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return c(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function Pa(e,t,n){return c(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,n))}async function Bh(e,t){return c(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function Nh(e,t,n){return c(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,n))}async function ka(e,t){return c(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function wa(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function _a(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?wa():s.data}async function Sa(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?wa():s.data}async function va(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return c(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function Ra(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return c(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Ca(){return c(await i.get("/billing/credit-breakdown"))}async function Ta(e){let t=e!=null?`?days=${e}`:"";return c(await i.get(`/billing/usage-history${t}`))}async function Aa(){return c(await i.get("/billing/tier-configurations"))}async function Vh(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Ae(e,`/v1/billing/account-state${t}`)}async function Ia(e){return c(await i.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function ja(e,t){return c(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Ea(e,t){return c(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function $a(e,t){return c(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function qa(e){return c(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function Da(e,t,n){return c(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function Ma(e){return c(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function Ua(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),c(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Oa(e){return c(await i.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function La(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function Fa(e){return c(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function zh(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Jh(e){return c(await i.post("/billing/create-per-seat-checkout",{account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl,locale:e.locale}),"Failed to create per-seat checkout")}async function Qh(e){return c(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function Xh(e){return c(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function Ga(e={}){let t=new URLSearchParams;e.start&&t.set("start",e.start),e.end&&t.set("end",e.end),e.groupBy&&t.set("group_by",e.groupBy);let n=e.endUserRef??e.originRef;n&&t.set("end_user_ref",n),e.accountId&&t.set("account_id",e.accountId);let r=t.toString();return c(await i.get(`/usage${r?`?${r}`:""}`))}async function Ba(e,t){return c(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function tb(e){return Ba("slack",e)}function nb(e){return Ba("teams",e)}async function Na(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function Ha(e,t){return c(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Du={oauth_available:!1,install_url:null};async function Ka(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Du:t.data}async function Wa(e){return c(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Va(e){let t=await i.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function za(e,t){return c(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Ja(e,t){return c(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Tr(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Mu={provider:"agentmail",managed_available:!1};async function Qa(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Tr(r.data):null}async function Xa(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Mu:t.data}async function Ya(e,t){let n=c(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Tr(n)}async function Za(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function ec(e,t,n){let r=c(await i.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Tr(r)}async function tc(e,t){return c(await i.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function rb(e){return c(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function sb(e,t,n){return c(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function nc(e){return c(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function rc(e,t){return c(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function sc(e){return c(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ic(e,t){return c(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function oc(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return c(await i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function ac(e,t){return c(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function cc(e,t){return c(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function lc(e,t){return c(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function uc(e,t){return c(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function pc(e,t){return c(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function dc(e,t){return c(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function gc(e){return c(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function mc(e,t){return c(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function fc(e,t){return c(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function yc(e){return c(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function hc(e,t){return c(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function bc(e,t){return c(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function xc(e,t,n,r,s){return c(await i.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function cb(e,t){return c(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Pc(e){let t=new FormData;t.append("audio_file",e);let n=await i.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function mb(){return c(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function fb(){return c(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function yb(e){return c(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function hb(){return c(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function bb(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return c(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function xb(e){return c(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function k(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function D(e){return i.get(e,{showErrors:!1})}async function wb(e){return k(await D(`/accounts/${e}/iam/groups`)).groups}async function _b(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}`))}async function Sb(e,t){return k(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function vb(e,t,n){return k(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function Rb(e,t){return k(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function Cb(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}/members`)).members}async function Tb(e,t,n){return k(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function Ab(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function Ib(e,t,n){return k(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function jb(e,t){return k(await D(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function Eb(e,t){return k(await D(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function $b(e,t={}){let n=new URLSearchParams;t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.scopeType&&n.set("scopeType",t.scopeType),t.scopeId!==void 0&&n.set("scopeId",t.scopeId===null?"null":t.scopeId);let r=n.toString();return k(await D(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function qb(e,t){return k(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Db(e,t,n){return k(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function Mb(e,t){return k(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function Ub(e,t){return k(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function Ob(e,t){return k(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function Lb(e){return k(await D(`/accounts/${e}/iam/roles`)).roles}async function Fb(e){return k(await D(`/accounts/${e}/iam/agent-identities`)).agents}async function Gb(e,t){return k(await D(`/accounts/${e}/iam/roles/${t}/permissions`))}async function Bb(e){return k(await D(`/accounts/${e}/iam/actions`)).actions}async function Nb(e,t){return k(await D(`/accounts/${e}/iam/roles/${t}/usage`))}async function Hb(e,t){return k(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function Kb(e,t,n){return k(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function Wb(e,t,n){return k(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function Vb(e,t){return k(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function zb(e,t,n){return k(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function Jb(e){return k(await D(`/accounts/${e}/iam/scim/tokens`)).tokens}async function Qb(e,t){return k(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function Xb(e,t){return k(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function Yb(e){return k(await D(`/accounts/${e}/iam/mfa-required`))}async function Zb(e){return k(await D(`/accounts/${e}/iam/mfa-required/preview`))}async function ex(e,t){return k(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function tx(e){return k(await D(`/accounts/${e}/iam/sso/provider`)).provider}async function nx(e,t){return k(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function rx(e,t){return k(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function sx(e){return k(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function ix(e){return k(await D(`/accounts/${e}/iam/sso/mappings`)).mappings}async function ox(e,t){return k(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function ax(e,t){return k(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function cx(e){return k(await D(`/accounts/${e}/iam/session-policy`))}async function lx(e,t){return k(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function ux(e){return k(await D(`/accounts/${e}/iam/sessions`)).sessions}async function px(e,t){return k(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function dx(e){return k(await D(`/accounts/${e}/iam/pat-policy`))}async function gx(e,t){return k(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function mx(e){return k(await D(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function fx(e,t){return k(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function yx(e,t){return k(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function hx(e,t){return k(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function bx(e){return k(await D(`/accounts/${e}/audit/webhooks`)).webhooks}async function xx(e,t){return k(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function Px(e,t,n){return k(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function kx(e,t){return k(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function wx(e,t={}){let n=new URLSearchParams;t.action&&n.set("action",t.action),t.actor&&n.set("actor",t.actor),t.resource_type&&n.set("resource_type",t.resource_type),t.since&&n.set("since",t.since),t.until&&n.set("until",t.until),t.q&&n.set("q",t.q),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString();return k(await D(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function _x(e,t,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),k(await D(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function Sx(e,t,n){return n.length===0?[]:k(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function vx(e){return k(await D(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function Rx(e,t){return k(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function Ix(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:c(e,"Failed to load account deletion status")}async function jx(e="User requested deletion"){return c(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function Ex(){return c(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function $x(){return c(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function qx(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Ox(){return i.get("/admin/api/provider-distribution").then(e=>c(e))}function Lx(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>c(t))}function Fx(e){return i.put("/admin/api/provider-distribution",e).then(t=>c(t))}function Gx(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>c(t))}function Bx(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>c(n))}function Nx(){return i.get("/admin/api/provider-fallback").then(e=>c(e))}function Hx(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>c(t))}async function zx(e){return c(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function Jx(e,t){return c(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:e,sandbox_url:t},{timeout:18e4}),"Failed to upload to Google Slides")}async function kc(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return c(await i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function wc(e,t){return c(await i.get(`/projects/${e}/review/items/${t}`))}async function _c(e,t){return c(await i.post(`/projects/${e}/review/items`,t))}async function Sc(e,t,n){return c(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function vc(e,t){return c(await i.post(`/projects/${e}/review/bulk`,t))}async function Rc(e){return c(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Cc(e){return c(await i.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function Tc(e,t){let n=await i.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Ar=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Ac(e,t=""){return`${pe()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Ic(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Ar(s,t.status)}return r}async function sP(e){return Ic(Ac(e))}async function iP(e){return Ic(Ac(e,"/messages"))}var Ir=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function jc(e){return`${pe()}/public/voice-join/${encodeURIComponent(e)}`}async function Ec(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Ir(s,t.status)}return r}async function cP(e){return Ec(jc(e))}async function lP(e,t=0){let n=`${jc(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return Ec(n)}async function $c(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/accounts/tokens${t}`))}async function qc(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return c(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Dc(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return c(await i.delete(`/accounts/tokens/${e}${n}`))}async function Mc(e){return c(await i.get(`/projects/${e}/cli-token`))}async function Uc(e,t){return c(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Oc(e,t){return c(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Lc(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return c(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Fc(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since);let r=n.toString();return c(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function Gc(e){return c(await i.get(`/accounts/${e}/audit/webhooks`))}async function Bc(e,t){return c(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function Nc(e,t,n){return c(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Hc(e,t){return c(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Kc(e,t){return c(await i.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function Wc(e,t){return c(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function Vc(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString()?`?${t.toString()}`:"";return c(await i.get(`/marketplace/items${n}`))}async function zc(){return c(await i.get("/marketplace/marketplaces"))}async function Jc(){return c(await i.get("/marketplace/marketplaces/featured"))}async function Qc(e){return c(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function Xc(e,t){return c(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function Yc(){return c(await i.get("/marketplace/sources"))}async function Zc(e){return c(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function el(e){return c(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function wP(e,t){return c(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function RP(e){return c(await i.get(`/templates/${encodeURIComponent(e)}`))}async function CP(e,t){return c(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}function jP(e){return e?e.runtimeReady!==void 0?e.runtimeReady===!0:e.opencode!==void 0?e.opencode==="ok"||e.opencode===!0:e.status!=="starting"&&e.status!=="down"&&e.status!=="error":!1}async function tl(e,t){let n=(e===void 0?O():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await E(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}return{status:r.status,ok:r.ok,health:o,body:s}}var ae={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var nl=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,rl=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,sl=new Set([22,4096,parseInt(ae.KORTIX_MASTER,10)]);function Uu(e){return rl.test(e)}function Tt(e){if(!e)return"/";let t=e,n=t.indexOf("](");n!==-1&&(t=t.slice(0,n));let r=t.toLowerCase().indexOf("%5d(");return r!==-1&&(t=t.slice(0,r)),t?t.startsWith("/")?t:`/${t}`:"/"}function Ou(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Lu=new Set(["'",'"',"`","<","(","["]),Fu=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Gu(e){let t=0,n=e.length;for(;t<n&&(e[t]===" "||e[t]===" ");)t++;for(;n>t&&(e[n-1]===" "||e[n-1]===" ");)n--;for(;t<n&&Lu.has(e[t]);)t++;for(;n>t&&Fu.has(e[n-1]);)n--;return e.slice(t,n)}function Bu(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Nu=/^\/proxy\/(\d{1,5})(\/.*)?$/,Hu=/^\/(connectors|settings|dashboard|projects|agents|skills|tools|commands|support|changelog|files|p|browser|desktop|terminal|sessions|services|workspace|channels|scheduled-tasks|marketplace|templates|tunnel|admin|auth)(\/|$|\?)/;function Ku(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Hu.test(t.pathname)}catch{return!1}}function At(e){if(!e)return null;let t=Gu(Ou(e.trim())),n=al(t);if(n){let r=Tt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let o=`${r.pathname||"/"}${r.search}${r.hash}`,l=parseInt(ae.KORTIX_MASTER,10);if(s===l){let d=r.pathname.match(Nu);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=Tt(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=Tt(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Bu(e);return r&&r!==e?At(r):null}}function Wu(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let o=r.index,l=o+r[0].length;t.some(([d,f])=>o>=d&&l<=f)||t.push([o,l])}return t}function Vu(e,t){return t.some(([n,r])=>e>=n&&e<r)}function zu(e){let t=[],n=new Set,r=Wu(e);nl.lastIndex=0;let s;for(;(s=nl.exec(e))!==null;){let o=At(s[0]);if(!o)continue;let{originalUrl:l,port:p,path:d}=o;p<1||p>65535||sl.has(p)||n.has(l)||(n.add(l),t.push({originalUrl:l,port:p,path:d,startIndex:s.index,endIndex:s.index+l.length,inCodeBlock:Vu(s.index,r)}))}return t}function DP(e){return zu(e).length>0}function Ju(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Qu(e){return e.sandboxId.trim().length>0}function fe(e,t,n){let r=Tt(t);if(!Qu(n))return ep(e,r);if(!Ju(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${e}${r}`}return`http://p${e}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function MP(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return fe(3211,`/open?path=/workspace/${r}`,t)}function Xu(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function UP(e){return`http://localhost:3211${Xu(e)}`}function Yu(){return"/health"}function OP(e){return fe(3211,Yu(),e)}function LP(e,t){return fe(e,"/",t)}function Zu(e){let t=At(e);return!(!t||sl.has(t.port)||Ku(e))}function il(e,t){if(!e)return e;let n=At(e);return n?Zu(n.originalUrl)?fe(n.port,n.path,t):n.originalUrl:e}function ep(e,t="/"){return`http://localhost:${e}${t}`}var ol=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function al(e){let t=e.match(rl);if(t)return{port:parseInt(t[1],10),sandboxId:t[2],backendPort:t[3]?parseInt(t[3],10):80,path:t[4]||"/"};let n=e.match(ol);if(n)try{let r=new URL(e);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function FP(e){try{let t=al(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function GP(e){return Uu(e)||ol.test(e)}function BP(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var Je="/web-proxy/";function NP(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Je}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(ae.KORTIX_MASTER,10);return`${fe(o,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function HP(e){try{let t=new URL(e),n=t.pathname.indexOf(Je);if(n===-1)return null;let s=t.pathname.slice(n+Je.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],l=s[2],p=s[3]||"/";return`${o}://${l}${p}${t.search}${t.hash}`}catch{return null}}function KP(e){try{return new URL(e).pathname.includes(Je)}catch{return e.includes(Je)}}function WP(e){if(!e)return!1;let t=e.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(t)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t))}function VP(e){let t=e.trim();return t?/^https?:\/\//i.test(t)?t:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t)?`https://${t}`:null:null}var cl="frontend";function It(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${cl}] ${t}`,...n?[n]:[]);try{de().app.log({service:cl,level:e,message:t,extra:n})}catch{}}var ce={debug:(e,t)=>It("debug",e,t),info:(e,t)=>It("info",e,t),warn:(e,t)=>It("warn",e,t),error:(e,t)=>It("error",e,t)};function tp(e){return{type:"heartbeat-gap",gapMs:e}}function np(e){switch(e.type){case"message.updated":return{type:"message.updated",sessionID:e.properties.sessionID,message:e.properties.info};case"message.removed":return{type:"message.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:e.properties.sessionID,part:e.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID,partID:e.properties.partID};case"session.status":return{type:"session.status",sessionID:e.properties.sessionID,status:e.properties.status};case"session.idle":return{type:"session.idle",sessionID:e.properties.sessionID};case"session.error":return{type:"session.error",sessionID:e.properties.sessionID,error:e.properties.error};case"question.asked":return{type:"question.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,questions:e.properties.questions,tool:e.properties.tool};case"question.replied":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"replied",answers:e.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,permission:e.properties.permission,patterns:e.properties.patterns,tool:e.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:e.properties.sessionID,requestID:e.properties.requestID,reply:e.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:e.properties.sessionID,todos:e.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var rp={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},sp=16,ip=8,op=6e4,ap=5e3,cp=250,lp=1e3,up=3e4,pp=5,dp=3e3,gp=3e4,mp=2e4,fp=2e3,yp=8;function hp(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function ll(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function jr(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=e,l=e.timers??rp,p=e.connectTimeoutMs??mp,d=e.heartbeatTimeoutMs??op,f=e.maxConsecutiveHardFailures??yp,m=new AbortController,h=()=>m.abort();o&&(o.aborted?m.abort():o.addEventListener("abort",h,{once:!0}));let x=l.now(),P=[],u,a=0,S=new Map,T=()=>{if(u&&l.clearTimeout(u),u=void 0,P.length===0)return;let w=P;P=[],S.clear(),a=l.now(),x=l.now();for(let v of w)if(v)try{n(v.event)}catch(A){console.warn("[opencode-events] event handler threw, skipping",A)}},C=()=>{if(u)return;let w=l.now()-a;u=l.setTimeout(T,Math.max(0,sp-w))};return(async()=>{let w=0,v=0;for(;!m.signal.aborted;){let A=!1,$=!1,y,R,H=null,V=l.now(),B=new AbortController,F=ll(m.signal);F.promise.then(()=>B.abort());try{let K=await new Promise((Lt,qe)=>{let J=!1;R=l.setTimeout(()=>{J||(J=!0,ce.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),B.abort(),qe(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:B.signal,sseDefaultRetryDelay:dp,sseMaxRetryDelay:gp,sseMaxRetryAttempts:1}).then(Y=>{J||(J=!0,l.clearTimeout(R),Lt(Y))},Y=>{J||(J=!0,l.clearTimeout(R),qe(Y))})}),{stream:U}=K;x=l.now();let X=()=>{l.clearTimeout(y),y=l.setTimeout(()=>{ce.warn("SSE heartbeat timeout, forcing reconnect"),B.abort()},d)};X();let nt=l.now(),Kl=U[Symbol.asyncIterator]();for(;!B.signal.aborted;){let Lt=Kl.next().then(re=>({kind:"next",result:re}),re=>({kind:"error",error:re})),qe=ll(B.signal),J=await Promise.race([Lt,qe.promise.then(()=>({kind:"aborted"}))]);if(qe.cleanup(),J.kind==="aborted")break;if(J.kind==="error")throw J.error;if(J.result.done)break;A=!0,X();let Y=J.result.value,rt=Y&&typeof Y=="object"&&"payload"in Y?Y.payload:Y;if(!rt?.type)continue;let Ft=hp(rt);if(Ft){let re=S.get(Ft);re!==void 0&&(P[re]=void 0),S.set(Ft,P.length)}P.push({type:rt.type,event:rt}),C(),!(l.now()-nt<ip)&&(nt=l.now(),await new Promise(re=>l.setTimeout(re,0)))}$=A}catch(K){if(m.signal.aborted)break;H=K;let U=String(K),X=U.includes("401")||U.includes("403")||U.includes("Unauthorized")||U.includes("Token refresh failed");if(ce.error("SSE event stream error",{error:U,retryCount:w,isAuthError:X}),X)try{lt(),await ur(),ce.info("SSE: refreshed auth token after auth error")}catch(nt){ce.error("SSE: failed to refresh auth token",{error:String(nt)})}}finally{l.clearTimeout(y),l.clearTimeout(R),B.abort(),F.cleanup(),T()}if(m.signal.aborted)break;let ke=l.now()-V,ne=H?.cause?.status;if(v=!A&&(typeof ne=="number"&&ne>=400||ke<fp)?v+1:0,v>=f){ce.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(H)});try{s?.({consecutiveFailures:v,lastError:H})}catch(K){console.warn("[opencode-events] onParked handler threw",K)}break}let Q=l.now()-x;Q>ap&&r?.(Q),$?w=0:(w++,w>1&&ce.warn("SSE event stream reconnecting",{retryCount:w}));let z=$?cp:Math.min(lp*2**Math.min(w-1,pp),up);await new Promise(K=>{let U=l.setTimeout(K,z),X=()=>{l.clearTimeout(U),K()};m.signal.addEventListener("abort",X,{once:!0})})}})(),{close:()=>{m.abort(),o&&o.removeEventListener("abort",h),u&&l.clearTimeout(u)}}}function bp(){return de()}var jt=new Map,Et=class extends Error{constructor(t){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${t}\`.`),this.name="SessionNotReadyError"}};function xp(e,t){Bt(e,t);function n(u){try{return new URL(u)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(u,window.location.origin)}catch{return null}throw new I(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(u)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(u){let a=q().backendUrl??e.backendUrl,S=80,T=n(a);return T&&(S=T.port?Number(T.port):T.protocol==="https:"?443:80),{sandboxId:u,backendPort:S,apiBaseUrl:a}}let s={list:js,get:$s,create:Es,updateName:qs,leave:Ks,members:Ds,invite:Ms,removeMember:Ns,updateMemberRole:Hs,invites:Us,cancelInvite:Os,resendInvite:Ls,tokens:{list:$c,create:qc,revoke:Dc},audit:{log:Lc,export:Fc,webhooks:{list:Gc,create:Bc,update:Nc,remove:Hc}}},o={accountState:_a,accountStateMinimal:Sa,transactions:va,transactionsSummary:Ra,creditBreakdown:Ca,usageHistory:Ta,usageRollup:Ga,tierConfigurations:Aa,checkout:{createSession:u=>Ia(u),confirmSession:(u,a)=>ja(u,a)},subscription:{createPortalSession:(u,a)=>Ea(u,a),cancel:(u,a)=>$a(u,a),reactivate:u=>qa(u),scheduleDowngrade:(u,a,S)=>Da(u,a,S),cancelScheduledChange:u=>Ma(u),prorationPreview:(u,a)=>Ua(u,a)},credits:{purchase:u=>Oa(u),autoTopupSettings:u=>La(u),configureAutoTopup:u=>Fa(u)}},l={describe:Fs,accept:Gs,decline:Bs},p={list:Ie,listForAccount:Vs,get:br,detail:xr,create:Xs,createRepo:Ys,provision:Zs,update:wr,archive:_r,llmCatalog:Pr,modelPicker:kr,sandboxHealth:Sr,sandboxTemplates:ho,sessions:Ve,createSession:ze},d={linkRepository:ri,getInstallation:si,listInstallations:ii,listLinkableInstallations:oi,listRepositories:ai,listRepositoryBranches:ci,linkInstallation:ui,saveInstallation:li,deleteInstallation:pi},f={list:Rc,create:Cc,revoke:Tc},m=po,h={items:u=>Vc(u),item:u=>Qc(u),itemFile:(u,a)=>Xc(u,a),marketplaces:()=>zc(),featured:()=>Jc(),sources:{list:()=>Yc(),add:u=>Zc(u),remove:u=>el(u)}};function x(u){return{get:a=>br(u,a),detail:()=>xr(u),update:a=>wr(u,a),archive:()=>_r(u),llmCatalog:()=>Pr(u),modelPicker:()=>kr(u),sandboxHealth:()=>Sr(u),onboardingComplete:(...a)=>ni(u,...a),tokens:{list:()=>Mc(u),create:a=>Uc(u,a),revoke:a=>Oc(u,a)},setupLinks:{requestSecret:a=>Kc(u,a),requestConnector:a=>Wc(u,a)},validateManifest:a=>Js(u,a),gitToken:()=>Qs(u),secrets:{list:()=>Ei(u),upsert:a=>$i(u,a),remove:a=>Ui(u,a),setPersonal:(...a)=>Oi(u,...a),removePersonal:a=>Li(u,a),setGitCredential:a=>Mi(u,a),startProviderOAuth:(...a)=>qi(u,...a),pollProviderOAuth:(...a)=>Di(u,...a)},access:{list:()=>fi(u),invite:(...a)=>bi(u,...a),update:(...a)=>yi(u,...a),revoke:a=>hi(u,a),pendingInvites:()=>xi(u),resendInvite:(...a)=>ki(u,...a),revokeInvite:(...a)=>Pi(u,...a),requests:()=>di(u),approveRequest:(...a)=>gi(u,...a),rejectRequest:(...a)=>mi(u,...a),groupGrants:()=>wi(u),attachGroupGrant:(...a)=>_i(u,...a),updateGroupGrant:(...a)=>Si(u,...a),detachGroupGrant:a=>vi(u,a),resourceGrants:{list:()=>Ri(u),create:a=>Ci(u,a),remove:a=>Ti(u,a)}},connectors:{list:()=>Qi(u),config:(...a)=>no(u,...a),create:(...a)=>io(u,...a),remove:(...a)=>ao(u,...a),sync:()=>Xi(u),auth:{discover:(...a)=>oo(u,...a)},setName:(...a)=>ro(u,...a),setCredentialMode:(...a)=>Yi(u,...a),setCredential:(...a)=>go(u,...a),setSensitive:(...a)=>Zi(u,...a),profiles:{list:()=>Fi(u),listAll:()=>Gi(u),reconcile:(...a)=>Bi(u,...a),reconcileMember:(...a)=>Ni(u,...a),updateCredential:(...a)=>Hi(u,...a),revoke:(...a)=>Ki(u,...a),activate:(...a)=>Wi(u,...a),setDefault:(...a)=>Vi(u,...a),pipedreamConnect:(...a)=>zi(u,...a),pipedreamFinalize:(...a)=>Ji(u,...a)},policies:{get:(...a)=>eo(u,...a),set:(...a)=>to(u,...a)},pipedream:{listApps:(...a)=>co(u,...a),connect:(...a)=>so(u,...a),finalize:(...a)=>mo(u,...a)},discover:{list:(...a)=>lo(u,...a),detail:(...a)=>uo(u,...a)}},policies:{list:()=>fo(u),set:(...a)=>yo(u,...a)},triggers:{list:()=>aa(u),create:(...a)=>ca(u,...a),update:(...a)=>la(u,...a),remove:(...a)=>ua(u,...a),fire:(...a)=>da(u,...a),setActivation:(...a)=>pa(u,...a)},files:{list:a=>Ro(u,a),read:(a,S)=>To(u,a,S),search:(...a)=>Co(u,...a),archive:(...a)=>Ao(u,...a),history:(...a)=>qo(u,...a)},git:{commits:()=>jo(u),commit:a=>Eo(u,a),commitDiff:a=>$o(u,a),branches:()=>Io(u),versionDiff:(...a)=>Do(u,...a),inviteCollaborator:(...a)=>zs(u,...a)},changeRequests:{list:()=>Mo(u),get:a=>Uo(u,a),diff:a=>Oo(u,a),mergePreview:a=>Lo(u,a),open:(...a)=>Fo(u,...a),merge:(...a)=>Go(u,...a),close:(...a)=>Bo(u,...a),reopen:(...a)=>No(u,...a),requestChanges:(...a)=>Ho(u,...a)},sessions:{list:a=>Ve(u,a),create:a=>ze(u,a),ensureWarm:()=>Yo(u),claimWarm:a=>Zo(u,a)},review:{list:a=>kc(u,a),get:a=>wc(u,a),submit:a=>_c(u,a),act:(...a)=>Sc(u,...a),bulkAct:a=>vc(u,a)},approvals:{list:a=>Ai(u,a),resolve:(...a)=>ji(u,...a),sessionsNeedingInput:a=>Ii(u,a)},gateway:{logs:a=>oc(u,a),log:a=>ac(u,a),overview:a=>cc(u,a),series:a=>lc(u,a),breakdown:a=>uc(u,a),sessions:a=>pc(u,a),errors:a=>dc(u,a),budgets:()=>gc(u),setBudget:a=>mc(u,a),deleteBudget:a=>fc(u,a),keys:()=>yc(u),createKey:a=>hc(u,a),revokeKey:a=>bc(u,a),routing:{get:()=>nc(u),set:a=>rc(u,a),reset:()=>sc(u),preview:a=>ic(u,a)},playground:(a,S,T)=>xc(u,a,S,T)},channels:{slack:{installation:()=>Na(u),connect:a=>Ha(u,a),mode:()=>Ka(u),manifest:()=>Wa(u),disconnect:()=>Va(u),getFile:a=>za(u,a),uploadFile:a=>Ja(u,a)},email:{installation:a=>Qa(u,a),mode:()=>Xa(u),connect:a=>Ya(u,a),disconnect:a=>Za(u,a),updatePolicy:(...a)=>ec(u,...a)},voice:{setBotName:a=>tc(u,a)}},updateExperimentalFeature:(...a)=>ei(u,...a),modelDefaults:{get:()=>ha(u),set:a=>ba(u,a),clear:a=>xa(u,a)},setDefaultAgent:a=>ka(u,a),sandbox:{list:()=>vo(u),snapshots:()=>bo(u),rebuildSnapshot:a=>xo(u,a),fixWithAgent:()=>Po(u),createTemplate:a=>ko(u,a),updateTemplate:(...a)=>wo(u,...a),removeTemplate:a=>_o(u,a),buildTemplate:a=>So(u,a),setProvider:a=>ti(u,a)},setAgentScope:(...a)=>Pa(u,...a),session:a=>P(u,a)}}function P(u,a){let S=null,T,C;function w(){if(S)return S;let y=ma(u,a);return y&&(S=y),S}async function v(y){let R=w();if(R)return R;let H=y?.readyTimeoutMs??18e4,V=`${u}
|
|
8
|
+
${a}`,B=jt.get(V);if(B)return S=await B,S;let F=(async()=>{let ke=Date.now()+H,ne=()=>Math.max(0,ke-Date.now()),N=await je(u,a,Math.min(3e4,ne()));for(;Date.now()<ke&&(N==null||(N.stage==="provisioning"||N.stage==="starting")&&N.retriable);)await new Promise(K=>setTimeout(K,Math.min(1e3,ne()))),N=await je(u,a,Math.min(3e4,ne()));if(!N||N.stage!=="ready"||!N.sandbox||!N.opencode_session_id)throw new I(`Session runtime not ready (stage: ${N?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let Q=N.sandbox.external_id;if(!Q)throw new I("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let z=pt(Q);return ps(z,Q),{opencodeSessionId:N.opencode_session_id,runtimeUrl:z,sandboxId:Q}})();jt.set(V,F);try{return S=await F,S}finally{jt.get(V)===F&&jt.delete(V)}}function A(y){let R=w();if(!R)throw new Et(y);return R}function $(){S=null,ya(u,a)}return{get:y=>ea(u,a,y),update:y=>sa(u,a,y),delete:()=>($(),ia(u,a)),start:(...y)=>je(u,a,...y),restart:()=>($(),Rt(u,a)),stop:()=>($(),Ct(u,a)),setSharing:y=>Vo(u,a,y),previews:()=>zo(u,a),commit:y=>Ko(u,a,y),publicShares:{list:()=>Jo(u,a),create:(...y)=>Qo(u,a,...y),revoke:(...y)=>Xo(u,a,...y)},audit:(y,R)=>ta(u,a,y,R),transcript:y=>na(u,a,y),voiceTranscript:y=>ra(u,a,y),ensureReady:v,health:y=>tl(w()?.runtimeUrl??null,y),previewUrl:(y,R="/")=>fe(y,R,r(A("previewUrl").sandboxId)),proxyUrl:y=>il(y,r(A("proxyUrl").sandboxId)),setModel:y=>{T=y},changeModel:y=>oa(u,a,y),setAgent:y=>{C=y},send:async(y,R)=>{let{opencodeSessionId:H,runtimeUrl:V}=await v(),B=R?.model??T,F=R?.agent??C;return se(V).session.prompt({sessionID:H,parts:[{type:"text",text:y}],...B?{model:B}:{},...F?{agent:F}:{}})},abort:async()=>{let{opencodeSessionId:y,runtimeUrl:R}=await v();return se(R).session.abort({sessionID:y})},rewind:async y=>{let{opencodeSessionId:R,runtimeUrl:H}=await v();return se(H).session.revert({sessionID:R,messageID:y})},restoreRewind:async()=>{let{opencodeSessionId:y,runtimeUrl:R}=await v();return se(R).session.unrevert({sessionID:y})},stream:async y=>{let{runtimeUrl:R}=await v();return jr({client:se(R),onEvent:y.onEvent,onGapRehydrate:y.onGapRehydrate,signal:y.signal})},get runtime(){return se(A("runtime").runtimeUrl)},files:{list:async y=>yt(y,(await v()).runtimeUrl),read:async y=>He(y,(await v()).runtimeUrl),readBlob:async y=>Ke(y,(await v()).runtimeUrl),status:async()=>ht((await v()).runtimeUrl),findFiles:async(y,R)=>bt(y,R,(await v()).runtimeUrl),findText:async y=>xt(y,(await v()).runtimeUrl),upload:async(y,R,H)=>We(y,R,H,(await v()).runtimeUrl),create:async y=>Pt(y,(await v()).runtimeUrl),copy:async(y,R)=>kt(y,R,(await v()).runtimeUrl),remove:async y=>wt(y,(await v()).runtimeUrl),mkdir:async y=>_t(y,(await v()).runtimeUrl),rename:async(y,R)=>St(y,R,(await v()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:l,projects:p,project:x,session:P,github:d,billing:o,sandboxShares:f,transcribe:Pc,connectStatus:m,marketplace:h,validateToken:Ws,runtime:bp}}function Pp(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let r=0;r<16;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=[...t].map(r=>r.toString(16).padStart(2,"0"));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n.slice(10).join("")}`}var ul={thinking:!1,toolDetails:!0,assistantMetadata:!0};function kp(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function wp(e){let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let n=Math.floor(t/60),r=t%60;return`${n}m ${r.toFixed(0)}s`}function _p(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
|
|
9
9
|
|
|
10
10
|
`;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
|
|
11
11
|
>
|
|
@@ -38,15 +38,15 @@ ${s}
|
|
|
38
38
|
${e.state.error}
|
|
39
39
|
\`\`\`
|
|
40
40
|
`),n+=`
|
|
41
|
-
`,n}return""}function
|
|
41
|
+
`,n}return""}function Sp(e,t){if(!t)return`## Assistant
|
|
42
42
|
|
|
43
|
-
`;let n=e.agent?
|
|
43
|
+
`;let n=e.agent?kp(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=wp(e.time.completed-e.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
|
|
44
44
|
|
|
45
45
|
`:`## ${n}
|
|
46
46
|
|
|
47
|
-
`}function
|
|
47
|
+
`}function vp(e,t,n){let r="";e.role==="user"?r+=`## User
|
|
48
48
|
|
|
49
|
-
`:r+=
|
|
49
|
+
`:r+=Sp(e,n.assistantMetadata);for(let s of t)r+=_p(s,n);return r}function Rp(e,t,n=ul){let r=`# ${e.title||"Untitled Session"}
|
|
50
50
|
|
|
51
51
|
`;r+=`**Session ID:** \`${e.id}\`
|
|
52
52
|
`,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
|
|
@@ -54,11 +54,19 @@ ${e.state.error}
|
|
|
54
54
|
|
|
55
55
|
`,r+=`---
|
|
56
56
|
|
|
57
|
-
`;for(let s of t)r+=
|
|
57
|
+
`;for(let s of t)r+=vp(s.info,s.parts,n),r+=`---
|
|
58
58
|
|
|
59
|
-
`;return r}function qu(e,t){return`session-${e}.md`}function z(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return De(r)||t}catch{return t}}return De(n)||t}catch{return Du(t)??t}}return typeof e=="object"?De(e)||"An error occurred":String(e)}function $c(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Du(e){let t=$c(e);if(t)try{return De(JSON.parse(t))}catch{return}}function De(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let n=t.data;if(typeof n?.message=="string")return n.message;let r=t.error;if(typeof r?.message=="string")return r.message}function gr(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Ec(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||De(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function se(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,d=gr(u)??gr($c(u));return d!==void 0?se(d):void 0}if(typeof e!="object")return;let t=e,n=Ec(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Ec(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=gr(s.responseBody);if(u!==void 0){let d=se(u);if(d)return d}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let d=se(u);if(d)return d}}}var Mu={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"}},Uu=[{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 Ou(e){return e.replace(/^oc[-_]/,"")}function ut(e){return Ou(e).replace(/-/g,"_")}function mr(e){return ut(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function fr(e){let t=ut(e),n=Mu[t];if(n)return n;for(let{prefix:r,category:s}of Uu)if(t.startsWith(r))return{label:mr(e),category:s};return{label:mr(e),category:"other"}}var Lu=256*1024;function Fu(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Gu(e){if(e===void 0)return{};if(e.length>Lu)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Bu(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?z(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function Ku(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=Gu(r),u=Fu(t),d=t.status==="error"?t.error:void 0;if(u==="done"){let g=Bu(s);g&&(u="error",d=g)}return{name:e,title:n||fr(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:d}}function Nu(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Hu(e){return{kind:"reasoning",id:e.id,text:e.text}}function Vu(e){return{kind:"tool",id:e.id,tool:Ku(e.tool,e.state)}}function Wu(e){let t=e.mime;return{kind:"file",id:e.id,filename:e.filename,mime:t,url:e.url,isImage:t.startsWith("image/"),isPdf:t==="application/pdf"}}function zu(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Ju(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Xu(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Qu(e){return{kind:"agent",id:e.id,name:e.name}}function Yu(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:z(e.error),createdAt:e.time.created}}function Zu(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function ep(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function tp(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function qc(e){switch(e.type){case"text":return Nu(e);case"reasoning":return Hu(e);case"tool":return Vu(e);case"file":return Wu(e);case"subtask":return zu(e);case"patch":return Ju(e);case"snapshot":return Xu(e);case"agent":return Qu(e);case"retry":return Yu(e);case"compaction":return Zu(e);case"step-start":return ep(e);case"step-finish":return tp(e);default:return{kind:"unknown",raw:e}}}function np(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=se(e);return{name:t,message:n?.message||z(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function rp(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function sp(e){let t=e.parts.map(qc),n=e.info.role==="assistant"?e.info.error:void 0,r=np(n),s=!r&&!t.some(rp);return{parts:t,error:r,isEmpty:s}}function ie(e){return e.type==="text"}function yr(e){return e.type==="reasoning"}function te(e){return e.type==="tool"}function ip(e){return e.type==="file"}function Fh(e){return e.type==="agent"}function Gh(e){return e.type==="compaction"}function Bh(e){return e.type==="snapshot"}function Kh(e){return e.type==="patch"}function Nh(e){if(ie(e)||yr(e))return e.text}function op(e){if(!ip(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function Hh(e){let t=[],n=[];for(let r of e)op(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Vh(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Wh(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var ap=new Set(["todoread","context_info"]);function cp(e){return!ap.has(e.tool)}function zh(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=e.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Jh(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return z(n.error)}}function Xh(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)te(r)&&cp(r)&&t.push(r);return t}function Qh(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:lp(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:up(t.path)};case"glob":return{icon:"search",title:"Glob",subtitle:t.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:t.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:t.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:t.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:t.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:t.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:t.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:t.prompt?.slice?.(0,40)};case"presentation-gen":{let n=t.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:t.slide_title||t.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:t.title||t.description};case"task":return{icon:"square-kanban",title:`Agent (${t.subagent_type||"task"})`,subtitle:pp(t)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${t.agent||"KortixWorker"})`,subtitle:t.description||t.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:t.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:Dc(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Dc(t.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:t.files?.length?`${t.files.length} file${t.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:t.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:t.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${t.mode||"summary"})`,subtitle:t.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:t.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:t.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:t.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:t.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:t.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:t.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:t.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:t.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:t.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:t.name||t.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:t.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:t.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:t.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:t.name||t.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:t.name||t.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:t.name||t.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:t.name||t.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:t.name||t.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:t.name||t.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${t.agent_type||"worker"})`,subtitle:t.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:t.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:t.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:t.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:t.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:t.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:t.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:t.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:t.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:t.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:t.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:t.title||t.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:t.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:t.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:t.id};default:return{icon:"cpu",title:e}}}function lp(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Dc(e){if(!e)return;let t=e.split("/"),n=t[t.length-1]||e;if(t.length<=1)return n;let r=t[t.length-2];return r?`${n} /${r}`:n}function up(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Yh(e,t){if(!t)return e;if(e.startsWith(t)){let n=e.slice(t.length);return n.startsWith("/")?n.slice(1):n}return e}function Me(e,t=120){if(typeof e!="string")return"";let n=e.split(`
|
|
60
|
-
`).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function
|
|
61
|
-
\u2026`:e}function
|
|
59
|
+
`;return r}function Cp(e,t){return`session-${e}.md`}function Z(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return Qe(r)||t}catch{return t}}return Qe(n)||t}catch{return Tp(t)??t}}return typeof e=="object"?Qe(e)||"An error occurred":String(e)}function dl(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Tp(e){let t=dl(e);if(t)try{return Qe(JSON.parse(t))}catch{return}}function Qe(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let n=t.data;if(typeof n?.message=="string")return n.message;let r=t.error;if(typeof r?.message=="string")return r.message}function Er(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function pl(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,o=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!o?void 0:{message:typeof e.message=="string"&&e.message||Qe(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:o}}function ye(e){if(e==null)return;if(typeof e=="string"){let l=e.startsWith("Error: ")?e.slice(7):e,p=Er(l)??Er(dl(l));return p!==void 0?ye(p):void 0}if(typeof e!="object")return;let t=e,n=pl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let l=pl(r);if(l)return l}let s=t.data;if(s&&typeof s.responseBody=="string"){let l=Er(s.responseBody);if(l!==void 0){let p=ye(l);if(p)return p}}let o=t.cause;if(o&&typeof o=="object"){let l=o.body;if(l!==void 0){let p=ye(l);if(p)return p}}}var Ap={bash:{label:"Shell",category:"shell"},pty_spawn:{label:"Spawn Terminal",category:"shell"},pty_read:{label:"Terminal Output",category:"shell"},pty_write:{label:"Terminal Input",category:"shell"},pty_input:{label:"Terminal Input",category:"shell"},pty_kill:{label:"Kill Process",category:"shell"},read:{label:"Read File",category:"files"},list:{label:"List Directory",category:"files"},ls:{label:"List Directory",category:"files"},write:{label:"Write File",category:"edit"},edit:{label:"Edit File",category:"edit"},multiedit:{label:"Edit File",category:"edit"},morph_edit:{label:"Edit File",category:"edit"},apply_patch:{label:"Apply Patch",category:"edit"},patch:{label:"Apply Patch",category:"edit"},grep:{label:"Search Code",category:"search"},glob:{label:"Find Files",category:"search"},image_search:{label:"Image Search",category:"search"},session_search:{label:"Search Sessions",category:"search"},webfetch:{label:"Fetch Page",category:"web"},scrape_webpage:{label:"Scrape Page",category:"web"},websearch:{label:"Web Search",category:"web"},web_search:{label:"Web Search",category:"web"},image_gen:{label:"Generate Image",category:"web"},video_gen:{label:"Generate Video",category:"web"},task:{label:"Delegate to Agent",category:"task"},todowrite:{label:"Plan Tasks",category:"task"},todoread:{label:"Read Plan",category:"task"},question:{label:"Ask Question",category:"task"},presentation_gen:{label:"Presentation",category:"task"},show:{label:"Show Output",category:"task"},show_user:{label:"Show Output",category:"task"},prune:{label:"Prune Context",category:"other"},distill:{label:"Distill Context",category:"other"},compress:{label:"Compress Context",category:"other"},context_info:{label:"Context Info",category:"other"}},Ip=[{prefix:"pty_",category:"shell"},{prefix:"agent_",category:"task"},{prefix:"session_",category:"task"},{prefix:"task_",category:"task"},{prefix:"trigger_",category:"task"},{prefix:"project_",category:"task"}];function jp(e){return e.replace(/^oc[-_]/,"")}function he(e){return jp(e).replace(/-/g,"_")}function $r(e){return he(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Ee(e){let t=he(e),n=Ap[t];if(n)return n;for(let{prefix:r,category:s}of Ip)if(t.startsWith(r))return{label:$r(e),category:s};return{label:$r(e),category:"other"}}var Ep=256*1024;function $p(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function qp(e){if(e===void 0)return{};if(e.length>Ep)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Dp(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Z(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function Mp(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=qp(r),l=$p(t),p=t.status==="error"?t.error:void 0;if(l==="done"){let d=Dp(s);d&&(l="error",p=d)}return{name:e,title:n||Ee(e).label,status:l,input:t.input,output:r,outputParsed:s,outputText:o,error:p}}function Up(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Op(e){return{kind:"reasoning",id:e.id,text:e.text}}function Lp(e){return{kind:"tool",id:e.id,tool:Mp(e.tool,e.state)}}function Fp(e){let t=e.mime;return{kind:"file",id:e.id,filename:e.filename,mime:t,url:e.url,isImage:t.startsWith("image/"),isPdf:t==="application/pdf"}}function Gp(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Bp(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Np(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Hp(e){return{kind:"agent",id:e.id,name:e.name}}function Kp(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Z(e.error),createdAt:e.time.created}}function Wp(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function Vp(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function zp(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function gl(e){switch(e.type){case"text":return Up(e);case"reasoning":return Op(e);case"tool":return Lp(e);case"file":return Fp(e);case"subtask":return Gp(e);case"patch":return Bp(e);case"snapshot":return Np(e);case"agent":return Hp(e);case"retry":return Kp(e);case"compaction":return Wp(e);case"step-start":return Vp(e);case"step-finish":return zp(e);default:return{kind:"unknown",raw:e}}}function Jp(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ye(e);return{name:t,message:n?.message||Z(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function Qp(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Xp(e){let t=e.parts.map(gl),n=e.info.role==="assistant"?e.info.error:void 0,r=Jp(n),s=!r&&!t.some(Qp);return{parts:t,error:r,isEmpty:s}}function be(e){return e.type==="text"}function qr(e){return e.type==="reasoning"}function le(e){return e.type==="tool"}function Yp(e){return e.type==="file"}function Pk(e){return e.type==="agent"}function kk(e){return e.type==="compaction"}function wk(e){return e.type==="snapshot"}function _k(e){return e.type==="patch"}function Sk(e){if(be(e)||qr(e))return e.text}function Zp(e){if(!Yp(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function vk(e){let t=[],n=[];for(let r of e)Zp(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Rk(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Ck(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var ed=new Set(["todoread","context_info"]);function td(e){return!ed.has(e.tool)}function Tk(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let l=s.match(/\bses_[a-zA-Z0-9]+/);if(l)return l[0]}let o=e.state?.output;if(o){let l=o.match(/\bses_[a-zA-Z0-9]+/);if(l)return l[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Ak(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return Z(n.error)}}function Ik(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)le(r)&&td(r)&&t.push(r);return t}function jk(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:nd(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:rd(t.path)};case"glob":return{icon:"search",title:"Glob",subtitle:t.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:t.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:t.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:t.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:t.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:t.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:t.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:t.prompt?.slice?.(0,40)};case"presentation-gen":{let n=t.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:t.slide_title||t.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:t.title||t.description};case"task":return{icon:"square-kanban",title:`Agent (${t.subagent_type||"task"})`,subtitle:sd(t)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${t.agent||"KortixWorker"})`,subtitle:t.description||t.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:t.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:ml(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:ml(t.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:t.files?.length?`${t.files.length} file${t.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:t.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:t.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${t.mode||"summary"})`,subtitle:t.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:t.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:t.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:t.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:t.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:t.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:t.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:t.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:t.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:t.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:t.name||t.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:t.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:t.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:t.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:t.name||t.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:t.name||t.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:t.name||t.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:t.name||t.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:t.name||t.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:t.name||t.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${t.agent_type||"worker"})`,subtitle:t.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:t.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:t.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:t.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:t.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:t.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:t.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:t.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:t.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:t.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:t.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:t.title||t.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:t.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:t.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:t.id};default:return{icon:"cpu",title:e}}}function nd(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function ml(e){if(!e)return;let t=e.split("/"),n=t[t.length-1]||e;if(t.length<=1)return n;let r=t[t.length-2];return r?`${n} /${r}`:n}function rd(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Ek(e,t){if(!t)return e;if(e.startsWith(t)){let n=e.slice(t.length);return n.startsWith("/")?n.slice(1):n}return e}function Xe(e,t=120){if(typeof e!="string")return"";let n=e.split(`
|
|
60
|
+
`).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function sd(e){let t=Xe(e.description);if(t)return t;let n=Xe(e.title,80);if(n)return n;let r=Xe(e.message);if(r)return r;let s=Xe(e.prompt);if(s)return s;let o=Xe(e.agent_id,40);return o?`Agent ${o}`:"Worker task"}function $k(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function qk(e,t){return e.find(n=>n.tool?.callID===t)}function Dk(e,t){return e.find(n=>n.tool?.callID===t)}var id=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function Mk(e){return e?e.replace(id,""):""}function Lk(e){let t=[],n=new Map;for(let s of e)if(s.info.role==="user"){if(n.has(s.info.id))continue;let o={userMessage:s,assistantMessages:[]};t.push(o),n.set(s.info.id,o)}let r=null;for(let s of e){if(s.info.role==="user"){r=n.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let o=s.info;if(o.parentID){let p=n.get(o.parentID);if(p){p.assistantMessages.push(s);continue}}if(r){r.assistantMessages.push(s);continue}if(t.length>0){t[0].assistantMessages.unshift(s);continue}let l={userMessage:s,assistantMessages:[]};t.push(l)}return t}function Fk(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function Gk(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(be(n)&&n.text?.trim())return n}}function Bk(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Nk(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let o of s.parts){if(!le(o))continue;let l=o,p=l.state?.metadata?.answers;l.tool==="question"&&(p?.length??0)>0&&r.push({part:o,message:s})}return r}function Hk(e){let t=new Map;for(let n of e){if(!n.parentID)continue;let r=t.get(n.parentID);r?r.push(n.id):t.set(n.parentID,[n.id])}return t}function Kk(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,o=r.time.updated??r.time.created,l=s>t,p=o>t;return l&&p?n.id<r.id?-1:n.id>r.id?1:0:l&&!p?-1:!l&&p?1:o-s}}function od(e,t){let n=e.get(t);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(...od(e,s));return r}function ad(e){let t=e.userMessage.parts;if(t.length===0||!t.every(o=>be(o)&&o.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return le(s)&&s.tool==="bash"}function zk(e){if(ad(e))return e.assistantMessages[0].parts[0]}function Yk(e,t){for(let n=t.length-1;n>=0;n--)if(t[n].info.role==="user")return t[n].info.id===e;return!1}function Zk(e,t){return!t||!e?!1:e.type!=="idle"}function ew(e,t){return!e&&!!t}function tw(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Z(n.error)}}function nw(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ye(n.error)}}function fl(e){if(e){if(le(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${e.tool}...`}if(qr(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(be(e))return"Gathering thoughts..."}}function rw(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=le(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&t&&t.length>0){for(let l=t.length-1;l>=0;l--){let p=t[l];if(p.info.role==="assistant")for(let d=p.parts.length-1;d>=0;d--){let f=fl(p.parts[d]);if(f)return f}}return"Delegating to agent..."}let o=fl(r);if(o)return o}return"Considering next steps..."}function sw(e){if(!Number.isFinite(e)||e<1e3)return"";let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return r>0?`${n}m ${r}s`:`${n}m`}var yl=1.2;function hl(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,o=e.cache?.write??0,l=Math.max(0,n-s-o),d=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,h)=>h.contextThreshold-m.contextThreshold)[0]??t,f=l/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 bl(e,t,n,r){let s=e.cost||0;if(s>0)return s;if(!r||!t||!n)return 0;let o=r(t,n);return o?hl(e.tokens,o):0}function xl(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function iw(e,t){let n=0,r=0,s=0,o=0,l=0,p=0,d=!1;for(let{part:f,message:m}of e)if(f.type==="step-finish"){d=!0;let h=f,{providerID:x,modelID:P}=xl(m.info);n+=bl(h,x,P,t),r+=h.tokens?.input||0,s+=h.tokens?.output||0,o+=h.tokens?.reasoning||0,l+=h.tokens?.cache?.read||0,p+=h.tokens?.cache?.write||0}if(!d)for(let{message:f}of e){if(f.info.role!=="assistant")continue;let m=f.info,h=Pl(m,t);if(h<=0)continue;d=!0,n+=h;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,o+=x.reasoning??0,l+=x.cache?.read??0,p+=x.cache?.write??0)}if(d)return{cost:n*yl,tokens:{input:r,output:s,reasoning:o,cacheRead:l,cacheWrite:p}}}function Pl(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?hl({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function ow(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:l}=xl(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=bl(f,o,l,t));d||(p+=Pl(s,t)),n+=p}return n*yl}function aw(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function cw(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function lw(e){if(!e||e.type!=="retry")return;let t=e;return{attempt:t.attempt,message:t.message.length>60?`${t.message.slice(0,60)}...`:t.message,next:t.next}}function uw(e){if(!(!e||e.type!=="retry"))return Z(e.message)}function pw(e){return(e.info.summary?.diffs?.length??0)>0}var cd=4e3;function Ye(e,t=cd){return e.length>t?`${e.slice(0,t)}
|
|
61
|
+
\u2026`:e}function kl(e){if(e!==void 0)try{return Ye(JSON.stringify(e,null,2))}catch{return}}function L(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function $e(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function ld(e){let t=L(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=$e(e.outputParsed);if(!n)return{kind:"web-search",query:t};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(o=>{let l=$e(o)??{};return{title:L(l.title)??"",url:L(l.url,l.link)??"",snippet:L(l.snippet,l.description,l.source)}});return{kind:"web-search",query:L(n.query)??t,results:s.length>0?s:void 0,answer:L(n.answer)}}var ud=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function pd(e,t,n){let r="",s=0;for(;;){let o=e.indexOf(t,s);if(o===-1)return r+e.slice(s);let l=e.indexOf(n,o+t.length);if(l===-1)return r+e.slice(s);r+=e.slice(s,o),s=l+n.length}}var dd=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function gd(e){let t=-1;for(let n of dd){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var md=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function fd(e){return e.replace(md,"")}function yd(e){let t=L(e.input?.command)??"",n=e.output??"",r=n.match(ud),s=r?Number(r[1]):void 0,l=fd(gd(pd(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:l||void 0,exitCode:s}}function Mr(e){return L(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function hd(e){let t=e.status==="error"?e.error:e.output&&Ye(e.output)||void 0;return{kind:"file-read",path:Mr(e),preview:t}}function bd(e){let t=L(e.input?.content),n=e.status==="error"?e.error:Ye(t??e.output??"")||void 0;return{kind:"file-write",path:Mr(e),preview:n}}var xd=256*1024;function Pd(e,t){if(e.length+t.length>xd)return;let n=e.split(`
|
|
62
62
|
`),r=t.split(`
|
|
63
|
-
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let
|
|
64
|
-
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Ep(e){let t=q(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=Nc.test(e.output.trim())?jp(e.output):Ap(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function $p(e){let t=q(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=q(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function hr(e){let t=be(e)??{};return{content:q(t.content)??"",status:q(t.status)??"pending",priority:q(t.priority)}}function qp(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(hr)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(hr)};let n=be(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(hr)}:{kind:"todo",items:[]}}function Dp(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=be(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(d=>{let g=be(d),h=g&&q(g.label);return h?[{label:h,description:g?q(g.description):void 0}]:[]});return{question:q(s.question)??"",header:q(s.header),options:u}})}}function Mp(e){let n=e.input&&Object.keys(e.input).length>0?Bc(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?Ue(e.outputParsed):Bc(e.outputParsed):e.outputText!==void 0?r=Ue(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Up(e){switch(ut(e.name)){case"web_search":case"websearch":case"image_search":return yp(e);case"bash":return _p(e);case"read":return Sp(e);case"write":return vp(e);case"edit":case"morph_edit":return Tp(e);case"grep":case"glob":return Ep(e);case"task":return $p(e);case"todowrite":return qp(e);case"question":case"ask":return Dp(e);default:return Mp(e)}}function pt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Op(e,t){if(e==null)return t;let n=e.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:t}function Ob(e){if(e==null)return;let t=e.trim().toLowerCase();if(["1","true","yes","y","on"].includes(t))return!0;if(["0","false","no","n","off"].includes(t))return!1}function xr(e,t,n){return e!==void 0?e:Op(pt(t),n)}var Lb={get disableMobileAdvertising(){return xr(j().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return xr(j().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return xr(j().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var dt="kortix-active-instance",Lp=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Fp(e){return Lp.some(t=>e===t||e.startsWith(`${t}/`))}function Oe(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let n=decodeURIComponent(t[1]),r=t[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function Gb(e){let t=Oe(e);return!!t&&t.innerPath===""}function Bb(e){let t=Oe(e);return!t||!t.innerPath?e:t.innerPath}function Gp(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=Oe(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return Fp(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function Bp(e){return e?Oe(e)?.instanceId??null:null}function Kb(){return typeof window>"u"?null:Bp(window.location.pathname)||Kp()}function Kp(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${dt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function Nb(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${dt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${dt}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${dt}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Hb(e,t){return t?Gp(t,e):e}function Vb(e){let t=Oe(e);return t?t.innerPath||"/dashboard":e}function Hc(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e&&typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e??"")}function Np(e){let t=Hc(e).trim();if(!t)return null;let n=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],r=t.indexOf("{");r>=0&&n.push(t.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function Vc(e){let t=Np(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function zb(e){return Vc(e)!==null}function Jb(e){let t=Vc(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),d=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. ${d}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:Hc(e)||"The sandbox is running, but OpenCode returned an error."}}function F(){let e=pt("BACKEND_URL")||j().backendUrl;return e||"http://localhost:8008/v1"}function Le(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let n=Le(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return Le(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var Wc=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function zc(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function Hp(e){return e==="running"||e==="active"?"active":e==="queued"||e==="branching"||e==="provisioning"?"provisioning":e==="failed"||e==="error"?"error":e==="stopped"||e==="completed"||e==="archived"?"stopped":e||"unknown"}function kr(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${F()}/p/${n.external_id}/${Z.KORTIX_MASTER}`:""),status:Hp(n?.status||t.status),metadata:{...t.metadata??{},project_id:e.project_id,session_id:t.session_id,project_name:e.name,runtime_status:n?.status,error:t.error},created_at:n?.created_at||t.created_at,updated_at:n?.updated_at||t.updated_at}}async function Pr(){let e=await ye(),t=[];for(let n of e){let r=await Ae(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:kr(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return c!==0?c:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function oe(e){let t=await Pr();return e?t.find(n=>n.sandbox.sandbox_id===e||n.sandbox.external_id===e||n.session.session_id===e||n.runtime?.external_id===e)??null:t[0]??null}async function gt(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await R(`${F()}${e}`,{...t,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let d=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new C(d,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=Re(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function Jc(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${F()}/p/${e.external_id}/${Z.KORTIX_MASTER}`}function ox(e,t){return e.external_id?`${F()}/p/${e.external_id}/${t}`:null}async function dx(){let e=await o.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Vp(e){let t=await oe();if(t)return{sandbox:t.sandbox,created:!1};let r=(await ye())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Ee(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await he(r.project_id,s.session_id))?.sandbox??null;return{sandbox:kr(r,s,c),created:!0}}async function gx(){return(await oe().catch(()=>null))?.sandbox??null}async function mx(e){return{sandbox:(await Vp(e)).sandbox}}async function fx(e){let t=Le(e);return t?(await oe(t).catch(()=>null))?.sandbox??null:null}async function yx(e,t){throw await oe(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function hx(e){let t=Le(e);return(await Pr().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function bx(){if(typeof window>"u")return null;let e=F(),t=Array.from(new Set([e,...Wc]));for(let n of t)try{let r=await fetch(zc(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 xx(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await oe(e);if(!t)throw new Error("Project session sandbox not found");await rt(t.project.project_id,t.session.session_id)}async function kx(e){if(!e)throw new Error("No sandbox selected to stop");let t=await oe(e);if(!t)throw new Error("Project session sandbox not found");await st(t.project.project_id,t.session.session_id)}async function Px(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function wx(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Rx(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function Tx(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function Ix(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function jx(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function Ax(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function Ex(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function $x(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function qx(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function wr(e,t,n){let r=Jc(e),s=await R(`${pe(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function Dx(e,t){return wr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function Mx(e,t,n,r="member"){await wr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function Ux(e,t,n){await wr(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Ox(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Gx(e){let t=await gt(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function Bx(e){let t=await gt(`/platform/invites/${encodeURIComponent(e)}/accept`,{method:"POST"});if(!t.success||!t.data)throw new Error(t.error||"Failed to accept invite");return t.data}async function Kx(e){let t=await gt(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function Hx(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Vx(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Wx(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function zx(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Xx(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Qx(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Wp=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function ek(e){return Wp.includes(e)}async function tk(e){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:e?.version??null,error:null,startedAt:null,updatedAt:null}}async function nk(e){let t=e?`?channel=${e}`:"",n=await fetch(`${F()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await zp(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function zp(e){let t=e?`?channel=${e}`:"",n=await fetch(`${F()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function rk(){let e=await fetch(`${F()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function sk(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function ik(e){}async function ok(e){}async function uk(e){return{serverTypes:[],location:e||"hel1"}}async function pk(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function dk(e){let t=await o.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function gk(e,t){await o.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function mk(){let e=await o.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function fk(e){let t=await o.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function yk(e,t){return`${F()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}async function xk(){let e=await o.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function kk(e={}){let t=await o.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function Pk(e){let t=await o.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function wk(e){let t=await o.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function _k(){let e=await o.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function Xc(e){try{let t=new URL(e);if(/^\/proxy\/\d+(?:\/|$)/.test(t.pathname))return`${t.origin}/v1/p/auth`;let n=t.pathname.indexOf("/p/");return n!==-1?`${t.origin}${t.pathname.slice(0,n)}/p/auth`:`${t.origin}/v1/p/auth`}catch{return null}}function Jp(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let c=new Set;if(t)try{c.add(new URL(t).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(n.origin)}catch{return!1}}function vk(e,t){return Jp(e,t)?(t?Xc(t):null)??Xc(e):null}function Ck(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function Rk(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}function Qc(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let c=new URLSearchParams({limit:String(r)});s&&c.set("before",s);let u=await e.getToken?.(),d=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!d.ok)throw new Error(`Session synchronization failed: ${d.status}`);return{messages:await d.json(),nextCursor:d.headers.get("x-next-cursor")||void 0}}}function Xp(e){return Yp(Qc(e))}function Qp(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=Qc(e),s=async c=>{let u=await e.getToken?.(),d=await t(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!d.ok)throw new Error(`Session synchronization failed: ${d.status}`);return d};return new _r({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function Yp(e){let t=new Map,n=new Set,r;do{let s=await e({limit:10,...r?{before:r}:{}});for(let c of s.messages)t.set(c.info.id,c);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...t.values()].sort((s,c)=>s.info.id.localeCompare(c.info.id))}var Zp={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},_r=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;tailRequest;olderRequest;livenessTimer;lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??Zp,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadPage("older","manual",t).then(n=>{this.destroyed||(this.options.hydrate(n.messages),this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}setBusy(t){if(!t){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(t){try{let n=await this.loadPage("tail",t);if(this.destroyed)return;this.options.hydrate(n.messages),this.setCursor(n.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:10,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await Promise.all([this.reconcile("poll"),this.reconcileStatus()]),this.lastActivityAt=this.scheduler.now())}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder)){this.snapshot=n;for(let r of this.listeners)r()}}};export{dt as ACTIVE_INSTANCE_COOKIE,C as ApiError,ve as AuthError,ue as BillingError,Uc as COST_MARKUP,Ac as DEFAULT_TRANSCRIPT_OPTIONS,Wp as DESTRUCTIVE_PHASES,Fl as FEATURE_NOT_SUPPORTED_CODE,Lp as INSTANCE_SCOPED_ROUTES,pr as PublicSessionShareError,Ce as RequestTooLargeError,Bn as RuntimeNotReadyError,Z as SANDBOX_PORTS,lt as SessionNotReadyError,lr as SessionStartError,td as __getConfigResolver,ed as __setConfigResolver,gs as acceptAccountInvite,Bx as acceptInvite,Wa as actReviewItem,hi as activateConnectionProfile,kc as addMarketplaceSource,Tx as addSandboxMember,gp as allDescendantIds,Rk as appendPreviewToken,Ls as approveProjectAccessRequest,bg as approveTask,ir as archiveProject,Cg as assignTicket,Js as attachGroupToProject,R as authenticatedFetch,o as backendApi,Gp as buildInstancePath,vk as buildPreviewAuthEndpoint,Wi as buildSandboxTemplate,lh as buildWebProxyUrl,za as bulkActReviewItems,us as cancelAccountInvite,Px as cancelSandbox,ok as cancelSandboxUpdate,ra as cancelScheduledChange,ea as cancelSubscription,ub as childMapByParent,mk as claimComputer,qc as classifyPart,sp as classifyTurn,Fo as clearModelDefault,Df as clearSessionFresh,po as closeChangeRequest,em as closeMilestone,ob as collectTurnParts,Tg as commentTicket,fo as commitSessionChanges,Mc as computeStatusFromPart,aa as configureAutoTopup,ht as configureKortix,Yo as confirmCheckoutSession,ha as connectEmail,la as connectSlack,ss as createAccount,lc as createAccountAuditWebhook,tc as createAccountToken,Vx as createBackup,Qo as createCheckoutSession,Ii as createConnector,Fa as createGatewayKey,Qp as createHttpSessionSyncController,pk as createInstance,Cu as createKortix,Wr as createKortixPty,Yg as createMilestone,Zo as createPortalSession,_s as createProject,Og as createProjectAgent,sc as createProjectCliToken,Ss as createProjectRepo,Zs as createProjectResourceGrant,Ee as createProjectSession,Io as createProjectTrigger,mx as createSandbox,Xa as createSandboxShare,Ni as createSandboxTemplate,Po as createSessionPublicShare,fg as createTask,_g as createTicket,ms as declineAccountInvite,Kx as declineInvite,zx as deleteBackup,Ai as deleteConnector,am as deleteCredential,Hr as deleteEnv,Oa as deleteGatewayBudget,Us as deleteGitHubInstallation,dk as deleteInstance,Wg as deleteKortixProject,nm as deleteMilestone,pi as deletePersonalProjectSecret,Fg as deleteProjectAgent,ei as deleteProjectResourceGrant,li as deleteProjectSecret,Ro as deleteProjectSession,Ao as deleteProjectTrigger,Vi as deleteSandboxTemplate,xg as deleteTask,Ig as deleteTicket,ds as describeAccountInvite,Qs as detachGroupFromProject,iu as detectLocalhostUrls,ba as disconnectEmail,_k as disconnectGitHubApp,da as disconnectSlack,ji as discoverConnectorAuth,bx as discoverLocalSandbox,km as dropClientForUrl,_m as dropPublicClientForUrl,Mg as ensurePmSession,Vp as ensureSandbox,wl as env,ac as exportAccountAudit,se as extractGatewayErrorDetails,Oe as extractInstanceRoute,Lb as featureFlags,dy as fetchAccountStateWithToken,Hm as fetchAccountsWithToken,Yi as fetchProjectArchive,ef as fetchProjectsForAccountWithToken,Ol as files,ab as findLastTextPart,$o as fireProjectTrigger,Ki as fixSandboxWithAgent,Pl as formatBillingErrorForUI,Rb as formatCost,Sb as formatDuration,Jb as formatOpenCodeRuntimeError,Tb as formatTokens,$u as formatTranscript,Ru as generateSessionId,is as getAccount,No as getAccountState,Ho as getAccountStateMinimal,Kp as getActiveInstanceIdFromCookie,pp as getAgentCardLabel,ay as getAgentConfig,Gg as getAgentPersona,rk as getAllVersions,lb as getAnsweredQuestionParts,ze as getAuthToken,Or as getAuthTokenWithRetry,oa as getAutoTopupSettings,zo as getBillingCreditBreakdown,Xo as getBillingTierConfigurations,Wo as getBillingTransactionsSummary,Jo as getBillingUsageHistory,oo as getChangeRequest,ao as getChangeRequestDiff,co as getChangeRequestMergePreview,Jh as getChildSessionError,zh as getChildSessionId,Xh as getChildSessionToolParts,ne as getClient,ge as getClientForUrl,Di as getConnectStatus,Ci as getConnectorConfig,Si as getConnectorPolicies,Bp as getCurrentInstanceIdFromPathname,Kb as getCurrentInstanceIdFromWindow,Ko as getDefaultAccountState,Zh as getDiagnostics,up as getDirectory,qi as getDiscoverIntegration,fa as getEmailInstallation,ya as getEmailMode,Dc as getFileWithDir,lp as getFilename,zp as getFullChangelog,$a as getGatewayBreakdown,Ma as getGatewayBudgets,Da as getGatewayErrors,La as getGatewayKeys,ja as getGatewayLog,Aa as getGatewayOverview,va as getGatewayRoutingPolicy,Ea as getGatewaySeries,qa as getGatewaySessions,xk as getGitHubAppStatus,js as getGitHubInstallation,Vh as getHiddenToolParts,Gx as getInvite,uk as getJustavpsServerTypes,Ng as getKortixProject,Hg as getKortixProjectBySession,Xr as getKortixPtyWebSocketUrl,nk as getLatestSandboxVersion,Qm as getManagedGitStatus,hc as getMarketplaceCatalogItem,bc as getMarketplaceCatalogItemFile,ka as getMeetVoices,Xg as getMilestone,Oo as getModelDefaults,Vc as getOpenCodeConfigInvalidError,Nh as getPartText,eb as getPermissionForTool,er as getProject,Bg as getProjectActivity,to as getProjectCommit,no as getProjectCommitDiff,tr as getProjectDetail,ro as getProjectFileHistory,ws as getProjectGitToken,nr as getProjectLlmCatalog,Xm as getProjectLlmCatalogProviders,rr as getProjectModelPicker,or as getProjectSandboxHealth,Ym as getProjectSandboxProviderTransition,_o as getProjectSession,sa as getProrationPreview,dx as getProviders,ih as getProxyBaseUrl,wm as getPublicClientForUrl,Ey as getPublicSessionShare,$y as getPublicSessionShareMessages,tb as getQuestionForTool,Ib as getRetryInfo,jb as getRetryMessage,Ha as getReviewItem,Qx as getSSHConnection,gx as getSandbox,fx as getSandboxById,$x as getSandboxMemberScopes,ox as getSandboxPortUrl,fk as getSandboxProvisionStatus,yk as getSandboxProvisionStreamUrl,tk as getSandboxUpdateStatus,Jc as getSandboxUrl,um as getServiceLogs,So as getSessionAudit,Cb as getSessionCost,wc as getSessionHealth,xo as getSessionPreviewCandidates,vo as getSessionTranscript,mb as getShellModePart,ga as getSlackChannelFile,ca as getSlackInstallation,pa as getSlackManifest,ua as getSlackMode,Ln as getSupabaseAccessToken,_e as getSupabaseAccessTokenWithRetry,dg as getTask,mg as getTaskStatus,Jy as getTemplate,Pg as getTicket,Qh as getToolInfo,qu as getTranscriptFilename,vb as getTurnCost,Pb as getTurnError,wb as getTurnErrorDetails,_b as getTurnStatus,so as getVersionDiff,Ex as getViewerSandboxScopes,xb as getWorkingState,Mx as grantSandboxProjectAccess,ib as groupMessagesIntoTurns,Ab as hasDiffs,sh as hasLocalhostUrls,cu as heartbeatGapEvent,mr as humanizeToolName,Xy as installTemplate,We as invalidateTokenCache,cs as inviteAccountMember,Ns as inviteProjectMember,ks as inviteRepoCollaborator,Lm as isAdminBypassEnabled,Fh as isAgentPart,nu as isAppRouteUrl,op as isAttachment,kl as isBillingError,Gh as isCompactionPart,bt as isConfigured,ek as isDestructivePhase,dh as isExternalUrl,ip as isFilePart,Gb as isInstanceDetailPath,Fp as isInstanceScopedAppPath,uf as isInviteSent,bb as isLastUserMessage,Jm as isManagedGithubProject,zb as isOpenCodeConfigInvalidError,Kh as isPatchPart,ch as isPreviewUrl,au as isProxiableLocalhostUrl,yr as isReasoningPart,eh as isRuntimeReady,ho as isSessionFresh,Xf as isSessionStartError,mp as isShellMode,Bh as isSnapshotPart,Ck as isSubdomainPreviewUrl,ie as isTextPart,te as isToolPart,Wh as isToolPartHidden,ph as isWebProxyUrl,Sl as kortixPty,hs as leaveAccount,Ms as linkGitHubInstallation,Is as linkRepository,oc as listAccountAudit,cc as listAccountAuditWebhooks,ls as listAccountInvites,as as listAccountMembers,ec as listAccountTokens,rs as listAccounts,Hx as listBackups,Vo as listBillingTransactions,io as listChangeRequests,yy as listChannelBindings,jg as listColumns,di as listConnectionProfiles,ki as listConnectors,sm as listCredentialEvents,rm as listCredentials,$i as listDiscoverIntegrations,Kr as listEnv,yc as listFeaturedMarketplaces,Eg as listFields,Ia as listGatewayLogs,As as listGitHubInstallations,$s as listGitHubRepositories,qs as listGitHubRepositoryBranches,Vg as listKortixProjectSessions,Kg as listKortixProjects,Vr as listKortixPty,Es as listLinkableGitHubInstallations,mc as listMarketplaceCatalogItems,xc as listMarketplaceSources,fc as listMarketplaces,Qg as listMilestoneEvents,Jg as listMilestones,ti as listPendingApprovals,Hs as listPendingProjectInvites,Ei as listPipedreamApps,Gs as listProjectAccess,Os as listProjectAccessRequests,Ug as listProjectAgents,Zi as listProjectBranches,rc as listProjectCliTokens,eo as listProjectCommits,Ji as listProjectFiles,zs as listProjectGroupGrants,Oi as listProjectPolicies,Ys as listProjectResourceGrants,Fi as listProjectSandboxTemplates,zi as listProjectSandboxes,si as listProjectSecrets,Ae as listProjectSessions,Gi as listProjectSnapshots,To as listProjectTriggers,ye as listProjects,xs as listProjectsForAccount,Na as listReviewItems,Rx as listSandboxMembers,Dx as listSandboxProjectMembers,Ja as listSandboxShares,hx as listSandboxes,lm as listServiceTemplates,cm as listServices,ko as listSessionPublicShares,ni as listSessionsNeedingInput,gg as listTaskEvents,pg as listTasks,qg as listTemplates,wg as listTicketEvents,kg as listTickets,Xp as loadHttpSessionHistory,gk as markInstanceError,yo as markSessionFresh,uo as mergeChangeRequest,lu as narrowChatEvent,Vb as normalizeAppPathname,gh as normalizeExternalInput,ut as normalizeToolName,lo as openChangeRequest,dr as openEventStream,Re as parseBillingError,Ob as parseFlagOverride,ot as parseLocalhostUrl,Np as parseOpenCodeErrorPayload,Tc as parseSubdomainUrl,uh as parseWebProxyUrl,zg as patchKortixProject,Ti as pipedreamConnect,bi as pipedreamConnectConnectionProfile,Ui as pipedreamFinalize,xi as pipedreamFinalizeConnectionProfile,j as platformConfig,ai as pollProjectProviderOAuth,Ta as previewGatewayRoute,_a as previewMeetVoice,Jf as projectSessionStartSeed,vs as provisionProject,tf as provisionProjectWithToken,Cc as proxyLocalhostUrl,ah as proxyUrlToInternal,ia as purchaseCredits,wx as reactivateSandbox,ta as reactivateSubscription,Qi as readProjectFile,Bi as rebuildProjectSnapshot,gi as reconcileConnectionProfile,mi as reconcileMemberConnectionProfile,dm as reconcileServices,gm as registerService,Fs as rejectProjectAccessRequest,Yh as relativizePath,pc as removeAccountAuditWebhook,fs as removeAccountMember,Jr as removeKortixPty,Pc as removeMarketplaceSource,Ix as removeSandboxMember,yx as renameSandbox,go as reopenChangeRequest,tm as reopenMilestone,Ag as replaceColumns,$g as replaceFields,Dg as replaceTemplates,mo as requestChangesOnChangeRequest,lf as requestProjectAccess,gc as requestProjectConnector,dc as requestProjectSecret,ps as resendAccountInvite,Ws as resendPendingProjectInvite,Pm as resetClient,Ra as resetGatewayRoutingPolicy,Sm as resetPublicClient,ik as resetSandboxUpdateStatus,ri as resolveApproval,rt as restartProjectSession,xx as restartSandbox,Wx as restoreBackup,om as revealCredential,nc as revokeAccountToken,yi as revokeConnectionProfile,Ga as revokeGatewayKey,Vs as revokePendingProjectInvite,Ks as revokeProjectAccess,ic as revokeProjectCliToken,Ox as revokeSandboxInvite,Ux as revokeSandboxProjectAccess,Qa as revokeSandboxShare,wo as revokeSessionPublicShare,qe as rewriteLocalhostUrl,Ba as runGatewayPlayground,Ds as saveGitHubInstallation,na as scheduleDowngrade,Xi as searchProjectFiles,pm as serviceAction,Qf as sessionStartKey,Nb as setActiveInstanceCookie,Om as setAdminBypass,Go as setAgentScope,Nd as setBootstrapAuthToken,Kd as setCachedAuthToken,Mi as setConnectorCredential,wi as setConnectorCredentialMode,Ri as setConnectorName,vi as setConnectorPolicies,_i as setConnectorSensitive,Nr as setEnv,Ua as setGatewayBudget,Ca as setGatewayRoutingPolicy,Pk as setGitHubAppFromExisting,wk as setGitHubAppPat,wa as setMeetBotName,Pa as setMeetVoice,Lo as setModelDefault,ui as setPersonalProjectSecret,Ts as setProjectOnboardingComplete,Li as setProjectPolicies,bo as setProjectSessionSharing,Eo as setProjectTriggersActivation,Xx as setupSSH,kb as shouldHideResponsePart,cp as shouldShowToolPart,pb as sortSessions,Sa as speakInMeeting,Hh as splitUserParts,kk as startGitHubAppManifest,oi as startProjectProviderOAuth,he as startProjectSession,hg as startTask,st as stopProjectSession,kx as stopSandbox,nb as stripAnsi,Bb as stripInstancePrefix,pe as stripTrailingSlashes,Va as submitReviewItem,Fm as supabaseClient,Pi as syncConnectors,vm as systemReload,Hb as toInstanceAwarePath,oh as toInternalUrl,fr as toolInfo,Up as toolViewModel,Ka as transcribeAudio,sk as triggerSandboxUpdate,_l as triggersRequest,cb as turnHasSteps,Rg as unassignTicket,z as unwrapError,uc as updateAccountAuditWebhook,ys as updateAccountMemberRole,os as updateAccountName,cy as updateAgentConfig,hy as updateChannelBinding,fi as updateConnectionProfileCredential,xa as updateEmailPolicy,Cs as updateExperimentalFeature,zr as updateKortixPty,Zg as updateMilestone,sr as updateProject,Bs as updateProjectAccess,Lg as updateProjectAgent,Bo as updateProjectDefaultAgent,Xs as updateProjectGroupGrant,Rs as updateProjectSandboxProvider,Co as updateProjectSession,jo as updateProjectTrigger,jx as updateSandboxMemberRole,qx as updateSandboxMemberScope,Ax as updateSandboxMemberSpendCap,Hi as updateSandboxTemplate,yg as updateTask,Zm as updateTemplateWarmPool,Sg as updateTicket,vg as updateTicketStatus,ma as uploadSlackChannelFile,im as upsertCredential,ci as upsertProjectGitCredential,ii as upsertProjectSecret,Ps as validateProjectManifest,bs as validateToken,Py as verifyGatewayProvider};
|
|
63
|
+
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,l=r.length;for(;o>s&&l>s&&n[o-1]===r[l-1];)o--,l--;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<l;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 kd(e){let t=L(e.input?.oldString),n=L(e.input?.newString),r=t!==void 0&&n!==void 0?Pd(t,n):void 0;return{kind:"file-edit",path:Mr(e),diff:r}}var _l=/^Found\s+(\d+)\s+match/i,wd=/^(\/[^:]+?):\s*/,wl=/Line\s+(\d+):/g;function _d(e){let t=e.trim(),n=t.match(_l),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let o of r.split(/\n\n+/)){let l=o.trim();if(!l)continue;let p=l.match(wd);if(!p)continue;let d=p[1],f=l.slice(p[0].length),m=[],h;for(wl.lastIndex=0;(h=wl.exec(f))!==null;)m.push({line:Number(h[1]),contentStart:h.index+h[0].length,headerStart:h.index});for(let x=0;x<m.length;x++){let P=x+1<m.length?m[x+1].headerStart:f.length,u=f.slice(m[x].contentStart,P).trim();s.push({path:d,line:m[x].line,content:u.endsWith(";")?u.slice(0,-1):u})}}return s}function Sd(e){return e.trim().split(`
|
|
64
|
+
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function vd(e){let t=L(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=_l.test(e.output.trim())?_d(e.output):Sd(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Rd(e){let t=L(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=L(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function Dr(e){let t=$e(e)??{};return{content:L(t.content)??"",status:L(t.status)??"pending",priority:L(t.priority)}}function Cd(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Dr)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Dr)};let n=$e(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Dr)}:{kind:"todo",items:[]}}function Td(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=$e(r)??{},l=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=$e(p),f=d&&L(d.label);return f?[{label:f,description:d?L(d.description):void 0}]:[]});return{question:L(s.question)??"",header:L(s.header),options:l}})}}function Ad(e){let n=e.input&&Object.keys(e.input).length>0?kl(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?Ye(e.outputParsed):kl(e.outputParsed):e.outputText!==void 0?r=Ye(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Id(e){switch(he(e.name)){case"web_search":case"websearch":case"image_search":return ld(e);case"bash":return yd(e);case"read":return hd(e);case"write":return bd(e);case"edit":case"morph_edit":return kd(e);case"grep":case"glob":return vd(e);case"task":return Rd(e);case"todowrite":return Cd(e);case"question":case"ask":return Td(e);default:return Ad(e)}}var Ze=class extends Error{constructor(n,r,s){super(n);this.code=r;this.data=s;this.name="AcpRpcError"}code;data},ee=class extends Error{constructor(n,r,s){super(n);this.status=r;this.terminal=s;this.name="AcpTransportError"}status;terminal};var jd=12e4;function Ed(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}function $d(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Sl(e){return!!e&&"id"in e&&("result"in e||"error"in e)}function vl(e){return e>=400&&e<500&&e!==408&&e!==429}function qd(e){let t=null,n=[];for(let s of e.split(/\r?\n/))s.startsWith("id:")&&(t=Number(s.slice(3).trim())),s.startsWith("data:")&&n.push(s.slice(5).trimStart());if(!Number.isSafeInteger(t)||t===null||n.length===0)return null;let r=JSON.parse(n.join(`
|
|
65
|
+
`));return{id:t,envelope:r}}async function Dd(e,t,n){let r=e.getReader(),s=new TextDecoder,o="";for(;;){let{done:l,value:p}=await r.read();o+=s.decode(p,{stream:!l}).replaceAll(`\r
|
|
66
|
+
`,`
|
|
67
|
+
`);let d=o.split(`
|
|
68
|
+
|
|
69
|
+
`);o=d.pop()??"",l&&o.trim()&&d.push(o);for(let f of d)try{let m=qd(f);m&&t(m)}catch(m){n(m)}if(l)return}}var Ur=class e{static instanceCount=0;idPrefix=`${Date.now()}-${e.instanceCount++}`;nextId=0;endpoint;fetcher;requestTimeoutMs;pending=new Map;constructor(t){this.endpoint=Ed(t.endpoint),this.fetcher=t.fetch??E,this.requestTimeoutMs=t.requestTimeoutMs??jd}async request(t,n){return this.requestWithTimeout(t,n,this.requestTimeoutMs)}async requestWithTimeout(t,n,r){let s=`${this.idPrefix}-${++this.nextId}`,o=JSON.stringify(s),l=new Promise((p,d)=>{let f=r===null?null:setTimeout(()=>{this.pending.delete(o),d(new Error(`Timed out waiting for ACP response to ${t}`))},r);this.pending.set(o,{resolve:m=>p(m),reject:d,timer:f})});try{let p=await this.post({jsonrpc:"2.0",id:s,method:t,...n===void 0?{}:{params:n}});if(p){if(!Sl(p))throw new Error(`ACP method ${t} returned an invalid response`);this.settleResponse(p)}}catch(p){let d=this.pending.get(o);d&&(d.timer&&clearTimeout(d.timer),this.pending.delete(o),d.reject(p instanceof Error?p:new Error(String(p))))}return l}async notify(t,n){await this.post({jsonrpc:"2.0",method:t,...n===void 0?{}:{params:n}})}async respond(t,n,r){await this.post({jsonrpc:"2.0",id:t,...r?{error:r}:{result:n??null}})}loadSession(t){return this.request("session/load",{...t,mcpServers:t.mcpServers??[]})}prompt(t,n){return this.requestWithTimeout("session/prompt",{sessionId:t,prompt:n},null)}cancel(t){return this.notify("session/cancel",{sessionId:t})}revertSession(t,n){return this.request("session/revert",{sessionId:t,messageId:n})}unrevertSession(t){return this.request("session/unrevert",{sessionId:t})}setSessionConfigOption(t,n,r){return this.request("session/set_config_option",{sessionId:t,configId:n,value:r})}connect(t){let n=t.lastEventId??0,r=t.lastEventId!==void 0,s=!1,o=new AbortController,l=()=>{},p=()=>{},d=!1,f=new Promise((x,P)=>{l=x,p=P}),m=()=>o.abort(t.signal?.reason);t.signal?.addEventListener("abort",m,{once:!0});let h=async()=>{let x=250;for(;!s&&!o.signal.aborted;){try{let P=await this.fetcher(this.endpoint,{headers:{Accept:"text/event-stream",...r?{"Last-Event-ID":String(n)}:{}},signal:o.signal});if(!P.ok)throw new ee(`ACP stream failed with HTTP ${P.status}`,P.status,vl(P.status));if(!P.body)throw new Error("ACP stream response has no body");if(await Dd(P.body,u=>{d||(d=!0,l()),!(r&&u.id<=n)&&(r=!0,n=u.id,x=250,Sl(u.envelope)&&this.settleResponse(u.envelope),t.onEvent(u))},u=>t.onError?.(u)),t.reconnect===!1)return}catch(P){if(s||o.signal.aborted)return;if(t.onError?.(P),t.reconnect===!1||P instanceof ee&&P.terminal){d||p(P instanceof Error?P:new Error(String(P)));return}}await new Promise(P=>setTimeout(P,x)),x=Math.min(x*2,5e3)}};return queueMicrotask(()=>{h()}),{close(){s||(s=!0,t.signal?.removeEventListener("abort",m),o.abort(),d||p(new Error("ACP stream closed before opening")))},get lastEventId(){return n},ready:f}}async post(t){let n=await this.fetcher(this.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(n.status===202||n.status===204)return null;if(!n.ok){let s=await n.text().catch(()=>"");throw new ee(`ACP request failed with HTTP ${n.status}: ${s}`,n.status,vl(n.status))}let r=await n.json();if(!$d(r)||r.jsonrpc!=="2.0")throw new Error("ACP response is not a JSON-RPC 2.0 envelope");return r}settleResponse(t){let n=JSON.stringify(t.id),r=this.pending.get(n);if(r){if(r.timer&&clearTimeout(r.timer),this.pending.delete(n),t.error){r.reject(new Ze(t.error.message,t.error.code,t.error.data));return}r.resolve(t.result)}}};function Rl(e){return new Ur(e)}function M(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function j(e){return typeof e=="string"&&e.length>0?e:null}function Cl(e){if(typeof e=="string")return e;if(e==null)return"";try{return JSON.stringify(e)}catch{return String(e)}}function Tl(e){return!M(e)||!Object.prototype.hasOwnProperty.call(e,"output")?Cl(e):Cl(e.output)}var Md={execute:"bash",read:"read",edit:"edit",delete:"edit",move:"edit",search:"grep",fetch:"webfetch"};function Ud(e){return/^[A-Za-z][A-Za-z0-9_.-]*$/.test(e)}function Od(e,t){if(t)return t.tool;let n=j(e.title);if(n&&Ud(n))return n;let r=j(e.kind)??"other";return Md[r]??r}function Ld(e,t){return!t||he(t)===he(e)?Ee(e).label:t}function jl(e,t){return`acp-${t}-${String(e.nextId).padStart(8,"0")}`}function Fd(e,t,n){let r=n??jl(e,"user");return{info:{id:r,sessionID:e.sessionId,role:"user",time:{created:Date.now()},agent:"default",model:{providerID:"acp",modelID:"runtime"}},parts:[{id:`${r}-text`,sessionID:e.sessionId,messageID:r,type:"text",text:t}]}}function Gd(e,t){let n=t??jl(e,"assistant"),r=[...e.messages].reverse().find(o=>o.info.role==="user")?.info.id;return{info:{id:n,sessionID:e.sessionId,role:"assistant",time:{created:Date.now()},parentID:r??n,modelID:"runtime",providerID:"acp",mode:e.currentModeId??"build",agent:"default",path:{cwd:"/workspace",root:"/workspace"},cost:0,tokens:{input:0,output:0,reasoning:0,cache:{read:0,write:0}}},parts:[]}}function Bd(e,t){if(e.info.role!=="assistant"||e.info.time.completed)return e;let n=e.parts.map(r=>{if(r.type!=="tool"||r.state.status!=="pending"&&r.state.status!=="running")return r;let s=r.state,o=s.status==="running"?s.time.start:t;return{...r,state:{status:"completed",input:s.input,output:"",title:s.status==="running"&&s.title?s.title:Ee(r.tool).label,metadata:s.status==="running"?s.metadata??{}:{},time:{start:o,end:t}}}});return{...e,info:{...e.info,time:{...e.info.time,completed:t}},parts:n}}function El(e,t,n){if(t){let p=e.messages.findIndex(d=>d.info.role==="assistant"&&d.info.id===t);if(p>=0){let d=[...e.messages];return d[p]=n(d[p]),{...e,messages:d,status:{type:"busy"}}}}let r=e.messages.at(-1);if(!t&&r?.info.role==="assistant"&&!r.info.time.completed){let p=[...e.messages];return p[p.length-1]=n(r),{...e,messages:p,status:{type:"busy"}}}let s=Date.now(),o=e.messages.map(p=>Bd(p,s)),l=Gd({...e,messages:o},t);return{...e,nextId:e.nextId+1,messages:[...o,n(l)],status:{type:"busy"}}}function Al(e,t,n,r){return n?El(e,r,s=>{let o=[...s.parts],l=o.findIndex(p=>p.type===t);if(l>=0){let p=o[l];o[l]={...p,text:p.text+n}}else o.push({id:`${s.info.id}-${t}`,sessionID:e.sessionId,messageID:s.info.id,type:t,text:n,...t==="reasoning"?{time:{start:Date.now()}}:{}});return{...s,parts:o}}):e}function Nd(e,t,n){if(!t)return e;if(n){let s=e.messages.findIndex(o=>o.info.role==="user"&&o.info.id===n);if(s>=0){let o=e.messages[s],l=[...o.parts],p=l.findIndex(f=>f.type==="text");if(p>=0){let f=l[p];l[p]={...f,text:f.text+t}}let d=[...e.messages];return d[s]={...o,parts:l},{...e,messages:d}}}let r=e.messages.at(-1);if(!n&&r?.info.role==="user"){let s=[...r.parts],o=s.findIndex(p=>p.type==="text");if(o>=0){let p=s[o];s[o]={...p,text:p.text+t}}let l=[...e.messages];return l[l.length-1]={...r,parts:s},{...e,messages:l}}return{...e,nextId:e.nextId+1,messages:[...e.messages,Fd(e,t,n)]}}function Hd(e,t){let n=j(t.toolCallId);if(!n)return e;let r=e.messages.find(o=>o.parts.some(l=>l.type==="tool"&&l.callID===n)),s=r?.info.role==="assistant"?r.info.id:null;return El(e,s,o=>{let l=[...o.parts],p=l.findIndex(C=>C.type==="tool"&&C.callID===n),d=p>=0?l[p]:null,f=M(t.rawInput)?t.rawInput:d?.state.input??{},m=j(t.status)??d?.state.status??"pending",h=Od(t,d),x=Ld(h,j(t.title)),P=d?.state.status==="running"?d.state.title:void 0,u=t.rawOutput,a=M(u)&&M(u.metadata)?u.metadata:{},S=Date.now(),T;return m==="completed"?T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"completed",input:f,output:Tl(u),title:x??P??h,metadata:a,time:{start:d?.state.status==="running"?d.state.time.start:S,end:S}}}:m==="failed"?T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"error",input:f,error:Tl(u)||x||"Tool call failed",time:{start:d?.state.status==="running"?d.state.time.start:S,end:S}}}:T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"running",input:f,title:x,time:{start:d?.state.status==="running"?d.state.time.start:S}}},p>=0?l[p]=T:l.push(T),{...o,parts:l}})}function Kd(e){if(!M(e))return null;let t=j(e.content)??j(e.title);return t?{content:t,status:j(e.status)??"pending",priority:j(e.priority)??"medium"}:null}function Il(e){return Array.isArray(e)?e.flatMap(t=>{let n=Kd(t);return n?[n]:[]}):[]}function Wd(e){let n=(Array.isArray(e.questions)?e.questions:[]).flatMap(p=>{if(!M(p))return[];let d=j(p.question)??j(p.label)??j(e.message);if(!d)return[];let f=Array.isArray(p.options)?p.options.flatMap(m=>{if(typeof m=="string")return[{label:m,description:m}];if(!M(m))return[];let h=j(m.label)??j(m.name);return h?[{label:h,description:j(m.description)??h}]:[]}):[];return[{question:d,header:j(p.header)??d.slice(0,30),options:f,multiple:p.multiple===!0,custom:p.allowText===!0}]});if(n.length>0)return n;let r=M(e.requestedSchema)?e.requestedSchema:M(e.schema)?e.schema:null,s=r&&M(r.properties)?r.properties:{},o=Object.entries(s).flatMap(([p,d])=>{if(!M(d))return[];let f=Array.isArray(d.enum)?d.enum:[];return[{question:j(d.title)??j(d.description)??j(e.message)??p,header:p.slice(0,30),options:f.map(m=>({label:String(m),description:String(m)})),custom:f.length===0}]});if(o.length>0)return o;let l=j(e.message)??"Kortix needs your input";return[{question:l,header:l.slice(0,30),options:[],custom:!0}]}function Vd(e,t,n,r){let s=M(r)?r:{};if(j(s.sessionId)!==e.sessionId)return e;if(n==="session/request_permission"){let o=M(s.toolCall)?s.toolCall:{},l={id:String(t),sessionID:e.sessionId,permission:j(o.title)??j(s.permission)??"tool",patterns:[],metadata:{acp:s},always:[],...j(o.toolCallId)?{tool:{messageID:e.messages.at(-1)?.info.id??e.sessionId,callID:String(o.toolCallId)}}:{}};return{...e,permissions:[...e.permissions.filter(p=>p.id!==l.id),l]}}if(n==="elicitation/create"||n==="elicitation/request"||n==="session/request_input"){let o={id:String(t),sessionID:e.sessionId,questions:Wd(s)};return{...e,questions:[...e.questions.filter(l=>l.id!==o.id),o]}}return e}function zd(e,t){let n=e.messages.at(-1);if(!n||n.info.role!=="assistant")return{...e,status:{type:"idle"}};let r=M(t.usage)?t.usage:{},s=Number(r.inputTokens)||0,o=Number(r.outputTokens)||0,l=Number(r.thoughtTokens)||0,p=Number(r.cachedReadTokens)||0,d=Number(r.cachedWriteTokens)||0,f=j(t.stopReason)??"end_turn",m={id:`${n.info.id}-finish`,sessionID:e.sessionId,messageID:n.info.id,type:"step-finish",reason:f,cost:Number(r.cost)||0,tokens:{input:s,output:o,reasoning:l,cache:{read:p,write:d}}},h={...n.info,time:{...n.info.time,completed:Date.now()},finish:f,cost:m.cost,tokens:m.tokens},x=[...e.messages];return x[x.length-1]={info:h,parts:[...n.parts.filter(P=>P.type!=="step-finish"),m]},{...e,messages:x,status:{type:"idle"}}}function Or(e){return{sessionId:e,messages:[],status:{type:"idle"},todos:[],permissions:[],questions:[],configOptions:[],availableCommands:[],currentModeId:null,sessionInfo:null,usage:null,nextId:1}}function Lr(e,t){if("method"in t&&"id"in t)return Vd(e,t.id,t.method,t.params);if("method"in t&&t.method==="session/update"){let n=M(t.params)?t.params:{};if(j(n.sessionId)!==e.sessionId)return e;let r=M(n.update)?n.update:{},s=j(r.sessionUpdate)??j(r.type),o=M(r.content)?r.content:{},l=j(o.text)??"",p=j(r.messageId);if(s==="user_message_chunk")return Nd(e,l,p);if(s==="agent_thought_chunk")return Al(e,"reasoning",l,p);if(s==="agent_message_chunk")return Al(e,"text",l,p);if(s==="tool_call"||s==="tool_call_update")return Hd(e,r);if(s==="plan")return{...e,todos:Il(r.entries)};if(s==="plan_update"){let d=M(r.plan)?r.plan:r;return j(d.type)!=="items"?e:{...e,todos:Il(d.entries)}}if(s==="plan_removed")return{...e,todos:[]};if(s==="config_option_update"&&Array.isArray(r.configOptions))return{...e,configOptions:r.configOptions.filter(M)};if(s==="available_commands_update"&&Array.isArray(r.availableCommands))return{...e,availableCommands:r.availableCommands.filter(M)};if(s==="current_mode_update")return{...e,currentModeId:j(r.currentModeId)};if(s==="session_info_update"){let{sessionUpdate:d,type:f,...m}=r;return{...e,sessionInfo:m}}if(s==="usage_update"){let{sessionUpdate:d,type:f,...m}=r;return{...e,usage:m}}return e}if("id"in t){let n=String(t.id),r={...e,permissions:e.permissions.filter(s=>s.id!==n),questions:e.questions.filter(s=>s.id!==n)};return M(t.result)&&(j(t.result.stopReason)||M(t.result.usage))?zd(r,t.result):r}return e}function Jd(e,t){return t||(e==="acp"?"acp":"rest")}function ww(e,t){let n=Jd(e,t),r=n==="acp";return{transport:n,useAcp:r,streamOpenCodeEvents:!r,listOpenCodeSessions:!r,syncOpenCodeMessages:!r,sendWith:r?"acp":"opencode-rest"}}function Qd(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}function $l(e,t){return`${Qd(e)}/kortix/acp/${encodeURIComponent(t)}`}function ql(e,t){if(!t)return e;let n=e.findIndex(r=>r.info.id===t);return n<0?e:e.slice(0,n)}var Dl=3,Xd=500,xe=class extends Error{constructor(){super("ACP runtime restarted"),this.name="AcpRuntimeRestartError"}};function te(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ml(e){return typeof e=="string"&&e.length>0?e:null}function Yd(e,t){let n=Array.isArray(e.options)?e.options.filter(te):[],r=t==="once"?["allow_once","allow"]:t==="always"?["allow_always","always"]:["reject_once","reject_always","reject"];for(let s of r){let o=n.find(p=>p.kind===s),l=o&&Ml(o.optionId);if(l)return l}return null}function Zd(e,t){let n=te(e.requestedSchema)?e.requestedSchema:te(e.schema)?e.schema:null,r=n&&te(n.properties)?Object.keys(n.properties):[];return r.length===0?{answers:t}:Object.fromEntries(r.map((s,o)=>{let l=t[o]??[];return[s,l.length<=1?l[0]??"":l]}))}function Fr(e){return e.permissions.length>0||e.questions.length>0||e.messages.some(t=>t.parts.some(n=>n.type==="tool"&&(n.state.status==="pending"||n.state.status==="running")))}function eg(e){return"id"in e&&!("method"in e)&&te(e.result)&&(Ml(e.result.stopReason)!==null||te(e.result.usage))}function tg(e){if(Fr(e))return e;let t=Date.now();return{...e,status:{type:"idle"},messages:e.messages.map(n=>n.info.role==="assistant"&&!n.info.time.completed?{...n,info:{...n.info,time:{...n.info.time,completed:t}}}:n)}}var Gr=class{constructor(t){this.options=t;if(!t.client&&!t.runtimeUrl)throw new Error("AcpSessionController requires a runtimeUrl or injected client");this.client=t.client??Rl({endpoint:$l(t.runtimeUrl,t.sessionId)}),this.snapshot={ready:!1,sending:!1,connection:"idle",error:null,projection:Or(t.sessionId),configOptions:[],rewind:null}}options;client;listeners=new Set;openRequests=new Map;stream=null;connecting=null;runtimeReload=null;runtimeGeneration=0;restartWaiters=new Set;promptQueue=Promise.resolve();promptSettlement=null;snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));getSnapshot=()=>this.snapshot;async connect(){if(this.runtimeReload)return this.runtimeReload;if(!this.snapshot.ready){if(this.connecting)return this.connecting;this.connecting=this.open();try{await this.connecting}finally{this.connecting=null}}}async open(){this.resetCanonicalSessionState(),this.patch({connection:"connecting",error:null}),this.stream||(this.stream=this.client.connect({onEvent:t=>this.onEnvelope(t.envelope),onError:t=>{!(t instanceof ee)||!t.terminal||this.patch({ready:!1,connection:"error",error:t instanceof Error?t:new Error(String(t))})}}));try{await this.stream.ready,await this.loadCanonicalSession()}catch(t){throw this.patch({ready:!1,connection:"error",error:t instanceof Error?t:new Error(String(t))}),t}}resetCanonicalSessionState(){this.openRequests.clear(),this.patch({projection:Or(this.options.sessionId)})}async loadCanonicalSession(){let t=await this.client.loadSession({sessionId:this.options.sessionId,cwd:this.options.cwd??"/workspace"}),n=Array.isArray(t.configOptions)?t.configOptions.filter(te):[],r=tg(this.snapshot.projection),s=this.snapshot.rewind?{...r,messages:ql(r.messages,this.snapshot.rewind.messageId)}:r;this.patch({ready:!0,connection:"open",error:null,configOptions:n,projection:{...s,configOptions:n}})}reloadAfterRuntimeReady(){if(!this.snapshot.ready||this.runtimeReload)return;this.resetCanonicalSessionState(),this.patch({ready:!1,connection:"connecting",error:null});let t=this.loadCanonicalSession().catch(n=>{this.patch({ready:!1,connection:"error",error:n instanceof Error?n:new Error(String(n))})}).finally(()=>{this.runtimeReload===t&&(this.runtimeReload=null)});this.runtimeReload=t}onRuntimeReady(){this.runtimeGeneration+=1;for(let t of this.restartWaiters)t();this.restartWaiters.clear(),this.reloadAfterRuntimeReady()}async raceWithRuntimeRestart(t,n){if(n!==this.runtimeGeneration)throw t.catch(()=>{}),new xe;let r=()=>{},s=new Promise((o,l)=>{r=()=>l(new xe)});this.restartWaiters.add(r);try{return await Promise.race([t,s])}finally{this.restartWaiters.delete(r)}}send(t,n={}){let r=()=>{},s=()=>{},o=new Promise((p,d)=>{r=p,s=d}),l=this.promptQueue.then(()=>this.executeSend(t,n,{resolve:r,reject:s}));return this.promptQueue=l.catch(()=>{}),o}async executeSend(t,n,r){let s=t.filter(o=>o.type==="text").map(o=>o.text).join("");this.patch({sending:!0,error:null});try{let o=0,l=this.runtimeGeneration;for(;;){this.snapshot.ready||await this.connect(),l=this.runtimeGeneration;try{if(n.model&&await this.raceWithRuntimeRestart(this.client.setSessionConfigOption(this.options.sessionId,"model",n.model),l),n.agent&&await this.raceWithRuntimeRestart(this.client.setSessionConfigOption(this.options.sessionId,"mode",n.agent),l),l!==this.runtimeGeneration)throw new xe;break}catch(f){if(!(f instanceof xe))throw f;if(o+=1,o>Dl)throw new Error(`ACP runtime restarted more than ${Dl} times while preparing the prompt`);this.runtimeReload&&await this.runtimeReload}}s&&this.onEnvelope({jsonrpc:"2.0",method:"session/update",params:{sessionId:this.options.sessionId,update:{sessionUpdate:"user_message_chunk",content:{type:"text",text:s}}}}),this.snapshot.rewind&&this.patch({rewind:null});let p=this.client.prompt(this.options.sessionId,t),d;try{d=await this.raceWithRuntimeRestart(p,l)}catch(f){throw f instanceof xe?new Error("ACP runtime restarted after session/prompt dispatch; the prompt result is unknown"):f}this.applyPromptResult(d,!1),r.resolve(),await this.settlePrompt(d)}catch(o){throw r.reject(o),this.discardPromptSettlement(),this.patch({error:o instanceof Error?o:new Error(String(o)),projection:{...this.snapshot.projection,status:{type:"idle"}}}),o}finally{this.patch({sending:!1})}}async cancel(){await this.client.cancel(this.options.sessionId),this.discardPromptSettlement(),this.patch({projection:{...this.snapshot.projection,status:{type:"idle"},permissions:[],questions:[]}})}async rewind(t){if(!t)throw new Error("ACP session rewind requires a message id");if(this.snapshot.sending)throw new Error("Cannot rewind a busy ACP session");this.snapshot.ready||await this.connect();let n=await this.resolveRewindMessageId(t);await this.client.revertSession(this.options.sessionId,n),this.patch({rewind:{messageId:n}}),this.resetCanonicalSessionState(),await this.loadCanonicalSession()}async resolveRewindMessageId(t){if(!t.startsWith("acp-user-"))return t;let n=this.snapshot.projection.messages.filter(f=>f.info.role==="user"),r=n.findIndex(f=>f.info.id===t),s=n[r]?.parts.filter(f=>f.type==="text").map(f=>f.text).join("");if(r<0||!s)throw new Error("ACP session rewind message is not in the current transcript");this.resetCanonicalSessionState(),await this.loadCanonicalSession();let o=this.snapshot.projection.messages.filter(f=>f.info.role==="user"),l=o[r],p=[...o].reverse().find(f=>f.parts.filter(m=>m.type==="text").map(m=>m.text).join("")===s),d=l?.info.id.startsWith("acp-user-")?p:l;if(!d||d.info.id.startsWith("acp-user-"))throw new Error("ACP session rewind could not resolve the canonical OpenCode message id");return d.info.id}async restoreRewind(){if(this.snapshot.rewind){if(this.snapshot.sending)throw new Error("Cannot restore a busy ACP session");await this.client.unrevertSession(this.options.sessionId),this.patch({rewind:null}),this.resetCanonicalSessionState(),await this.loadCanonicalSession()}}async runCommand(t,n,r={}){let s=t.replace(/^\/+/,"").toLowerCase();if(s==="undo"||s==="redo")throw new Error(`OpenCode ACP does not support /${s}`);let o=`/${s}${n.trim()?` ${n.trim()}`:""}`;await this.send([{type:"text",text:o}],r)}async answerPermission(t,n){let r=this.openRequests.get(t),s=r?.id??t,o=r?.params??{},l=Yd(o,n);if(n==="reject"&&!l){let d={outcome:{outcome:"cancelled"}};await this.client.respond(s,d),this.onEnvelope({jsonrpc:"2.0",id:s,result:d});return}if(!l)throw new Error(`ACP permission request ${t} has no compatible ${n} option`);let p={outcome:{outcome:"selected",optionId:l}};await this.client.respond(s,p),this.onEnvelope({jsonrpc:"2.0",id:s,result:p})}async answerQuestion(t,n){let r=this.openRequests.get(t),s=r?.id??t,o=r?.params??{},l={action:"accept",content:Zd(o,n)};await this.client.respond(s,l),this.onEnvelope({jsonrpc:"2.0",id:s,result:l})}async rejectQuestion(t){let n=this.openRequests.get(t)?.id??t,r={action:"decline"};await this.client.respond(n,r),this.onEnvelope({jsonrpc:"2.0",id:n,result:r})}close(){this.discardPromptSettlement(),this.stream?.close(),this.stream=null,this.patch({connection:"closed",ready:!1})}onEnvelope(t){if(this.snapshot.sending&&eg(t))return;"method"in t&&t.method==="kortix/runtime_ready"&&(!te(t.params)||t.params.sessionId===null||t.params.sessionId===this.options.sessionId)&&this.onRuntimeReady(),"method"in t&&"id"in t&&te(t.params)?this.openRequests.set(String(t.id),{id:t.id,params:t.params}):"id"in t&&!("method"in t)&&this.openRequests.delete(String(t.id));let n=Lr(this.snapshot.projection,t);n!==this.snapshot.projection&&this.patch({projection:n}),"method"in t&&t.method==="session/update"&&this.schedulePromptSettlement()}settlePrompt(t){return new Promise(n=>{this.promptSettlement={result:t,timer:null,resolve:n},this.schedulePromptSettlement()})}schedulePromptSettlement(){let t=this.promptSettlement;t&&(t.timer&&(clearTimeout(t.timer),t.timer=null),!Fr(this.snapshot.projection)&&(t.timer=setTimeout(()=>{if(this.promptSettlement!==t||Fr(this.snapshot.projection)){this.schedulePromptSettlement();return}this.promptSettlement=null,this.applyPromptResult(t.result,!0),t.resolve()},Xd)))}applyPromptResult(t,n){let r=Lr(this.snapshot.projection,{jsonrpc:"2.0",id:`prompt:${Date.now()}`,result:t}),s=n?r:{...r,status:{type:"busy"}};s!==this.snapshot.projection&&this.patch({projection:s})}discardPromptSettlement(){let t=this.promptSettlement;t&&(this.promptSettlement=null,t.timer&&clearTimeout(t.timer),t.resolve())}patch(t){this.snapshot={...this.snapshot,...t};for(let n of this.listeners)n()}};function Iw(e){return new Gr(e)}function $t(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function ng(e,t){if(e==null)return t;let n=e.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:t}function Dw(e){if(e==null)return;let t=e.trim().toLowerCase();if(["1","true","yes","y","on"].includes(t))return!0;if(["0","false","no","n","off"].includes(t))return!1}function Br(e,t,n){return e!==void 0?e:ng($t(t),n)}var Mw={get disableMobileAdvertising(){return Br(q().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Br(q().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Br(q().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var qt="kortix-active-instance",rg=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function sg(e){return rg.some(t=>e===t||e.startsWith(`${t}/`))}function et(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let n=decodeURIComponent(t[1]),r=t[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function Ow(e){let t=et(e);return!!t&&t.innerPath===""}function Lw(e){let t=et(e);return!t||!t.innerPath?e:t.innerPath}function ig(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=et(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return sg(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function og(e){return e?et(e)?.instanceId??null:null}function Fw(){return typeof window>"u"?null:og(window.location.pathname)||ag()}function ag(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${qt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function Gw(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${qt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${qt}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${qt}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Bw(e,t){return t?ig(t,e):e}function Nw(e){let t=et(e);return t?t.innerPath||"/dashboard":e}function Ul(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e&&typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e??"")}function cg(e){let t=Ul(e).trim();if(!t)return null;let n=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],r=t.indexOf("{");r>=0&&n.push(t.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function Ol(e){let t=cg(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function Kw(e){return Ol(e)!==null}function lg(e){let t=Ol(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=t.data?.issues?.[0]?.message,l=t.data?.issues?.[0]?.path?.join("."),p=l?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:o?`${l?`${l}: `:""}${o}`:void 0}}return{title:"OpenCode failed to load",message:Ul(e)||"The sandbox is running, but OpenCode returned an error."}}function W(){let e=$t("BACKEND_URL")||q().backendUrl;return e||"http://localhost:8008/v1"}function tt(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let n=tt(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return tt(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var Ll=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Fl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function ug(e){return e==="running"||e==="active"?"active":e==="queued"||e==="branching"||e==="provisioning"?"provisioning":e==="failed"||e==="error"?"error":e==="stopped"||e==="completed"||e==="archived"?"stopped":e||"unknown"}function Nr(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${W()}/p/${n.external_id}/${ae.KORTIX_MASTER}`:""),status:ug(n?.status||t.status),metadata:{...t.metadata??{},project_id:e.project_id,session_id:t.session_id,project_name:e.name,runtime_status:n?.status,error:t.error},created_at:n?.created_at||t.created_at,updated_at:n?.updated_at||t.updated_at}}async function Hr(){let e=await Ie(),t=[];for(let n of e){let r=await Ve(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Nr(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},o=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return o!==0?o:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function Pe(e){let t=await Hr();return e?t.find(n=>n.sandbox.sandbox_id===e||n.sandbox.external_id===e||n.session.session_id===e||n.runtime?.external_id===e)??null:t[0]??null}async function Dt(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await E(`${W()}${e}`,{...t,headers:n,signal:r}),o=await s.text().catch(()=>{}),l;if(o)try{l=JSON.parse(o)}catch{}if(!s.ok){let p=l?.error||l?.message||l?.detail||o||`Platform API error ${s.status}`,d=new I(p,{status:s.status,code:l?.code||l?.error_code||String(s.status),details:l??(o?{rawText:o}:void 0),response:s,endpoint:e});throw s.status===402&&(d=Ge(Object.assign(d,{response:s,status:s.status,data:l}))),d}return l}function Gl(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${W()}/p/${e.external_id}/${ae.KORTIX_MASTER}`}function n_(e,t){return e.external_id?`${W()}/p/${e.external_id}/${t}`:null}async function c_(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function pg(e){let t=await Pe();if(t)return{sandbox:t.sandbox,created:!1};let r=(await Ie())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await ze(r.project_id,{...e?.provider?{provider:e.provider}:{}}),o=(await je(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Nr(r,s,o),created:!0}}async function l_(){return(await Pe().catch(()=>null))?.sandbox??null}async function u_(e){return{sandbox:(await pg(e)).sandbox}}async function p_(e){let t=tt(e);return t?(await Pe(t).catch(()=>null))?.sandbox??null:null}async function d_(e,t){throw await Pe(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function g_(e){let t=tt(e);return(await Hr().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function m_(){if(typeof window>"u")return null;let e=W(),t=Array.from(new Set([e,...Ll]));for(let n of t)try{let r=await fetch(Fl(n),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!r.ok)continue;let s=await r.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function f_(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await Pe(e);if(!t)throw new Error("Project session sandbox not found");await Rt(t.project.project_id,t.session.session_id)}async function y_(e){if(!e)throw new Error("No sandbox selected to stop");let t=await Pe(e);if(!t)throw new Error("Project session sandbox not found");await Ct(t.project.project_id,t.session.session_id)}async function h_(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function b_(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function __(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function S_(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function v_(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function R_(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function C_(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function T_(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function A_(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function I_(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Kr(e,t,n){let r=Gl(e),s=await E(`${ve(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let o=await s.text().catch(()=>"");throw new Error(o||`Request failed (${s.status})`)}return await s.json()}async function j_(e,t){return Kr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function E_(e,t,n,r="member"){await Kr(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function $_(e,t,n){await Kr(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function q_(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function U_(e){let t=await Dt(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function O_(e){let t=await Dt(`/platform/invites/${encodeURIComponent(e)}/accept`,{method:"POST"});if(!t.success||!t.data)throw new Error(t.error||"Failed to accept invite");return t.data}async function L_(e){let t=await Dt(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function G_(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function B_(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function N_(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function H_(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function W_(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function V_(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var dg=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Q_(e){return dg.includes(e)}async function X_(e){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:e?.version??null,error:null,startedAt:null,updatedAt:null}}async function Y_(e){let t=e?`?channel=${e}`:"",n=await fetch(`${W()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await gg(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function gg(e){let t=e?`?channel=${e}`:"",n=await fetch(`${W()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function Z_(){let e=await fetch(`${W()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function eS(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function tS(e){}async function nS(e){}async function oS(e){return{serverTypes:[],location:e||"hel1"}}async function aS(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function cS(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function lS(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function uS(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function pS(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function dS(e,t){return`${W()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var ue=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Mt(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Wr(e,t){let n=new Headers(e.headers);return n.set("Accept","application/json"),t&&n.set("Content-Type","application/json"),e.accessToken&&n.set("Authorization",`Bearer ${e.accessToken}`),n}async function Ut(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function Ot(e,t){if(t&&typeof t=="object"){let n=t;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof t=="string"&&t?t:e.statusText||`HTTP ${e.status}`}async function G(e,t,n){let r=n?.body!==void 0,s=await fetch(`${Mt(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Wr(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),o=await Ut(s);if(!s.ok)throw new ue(Ot(s,o),s.status,o);return o}function mg(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString();return n?`?${n}`:""}function mS(e,t){return G(`/marketplace/items${mg(t)}`,e)}function fS(e){return G("/marketplace/marketplaces",e)}function yS(e,t){return G(`/marketplace/items/${encodeURIComponent(e)}`,t)}function hS(e,t,n){return G(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function bS(e,t){return G("/access/check-email",t,{method:"POST",body:{email:e}})}function xS(e,t){return G("/access/request-access",t,{method:"POST",body:e})}function PS(e){return G("/auth/logout",e,{method:"POST",body:{}})}function kS(e,t){return G(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function wS(e,t){return G("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function _S(e,t){return G(`/setup-links/connector/${encodeURIComponent(e)}`,t)}function SS(e,t){return G(`/setup-links/connector/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function vS(e,t){return G(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function RS(e,t,n){return G(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function CS(e,t){return G(`/p/public-share/${encodeURIComponent(e)}`,t)}function TS(e,t,n){return G(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function AS(e){return G("/system/maintenance",e)}function IS(e,t){return G("/system/maintenance",t,{method:"PUT",body:e})}function jS(e){return G("/user-roles",e)}function ES(e,t){return G("/system/demo-request",t,{method:"POST",body:e})}async function $S(e,t,n){let r=new URLSearchParams({format:t.format});t.action&&r.set("action",t.action),t.actor&&r.set("actor",t.actor),t.resource_type&&r.set("resource_type",t.resource_type),t.since&&r.set("since",t.since),t.until&&r.set("until",t.until),t.q&&r.set("q",t.q);let s=await fetch(`${Mt(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Wr(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await Ut(s);throw new ue(Ot(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count")}}async function qS(e,t){let n=await fetch(`${Mt(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Wr(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await Ut(n);throw new ue(Ot(n,r),n.status,r)}if(!n.body)throw new ue("No response body",n.status,null);return n.body}var fg=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function yg(e,t){return fg.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${Mt(e)}/`):null}async function DS(e,t,n){let r=yg(e,t);if(!r)throw new ue("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await Ut(s);if(!s.ok)throw new ue(Ot(s,o),s.status,o);return o}async function OS(){let e=await i.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function LS(e={}){let t=await i.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function FS(e){let t=await i.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function GS(e){let t=await i.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function BS(){let e=await i.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function Bl(e){try{let t=new URL(e);if(/^\/proxy\/\d+(?:\/|$)/.test(t.pathname))return`${t.origin}/v1/p/auth`;let n=t.pathname.indexOf("/p/");return n!==-1?`${t.origin}${t.pathname.slice(0,n)}/p/auth`:`${t.origin}/v1/p/auth`}catch{return null}}function hg(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(t)try{o.add(new URL(t).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function HS(e,t){return hg(e,t)?(t?Bl(t):null)??Bl(e):null}function KS(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function WS(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}function Vr(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function zS(e,t){return`${Vr(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function JS(e,t){return`${Vr(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function bg(e,t){return`${Vr(e)}/presentation/convert-to-${t}`}async function QS(e,t,n,r){let s=bg(t,e),o=r?.pollIntervalMs??2500,l=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let u=await f.blob();if(u.size===0)throw new Error("Downloaded file is empty");return u}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>l)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((u,a)=>{let S=setTimeout(u,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(S),a(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),P=f.statusText;try{let u=JSON.parse(x);P=String(u.error||u.detail||u.message||P)}catch{x&&(P=x)}throw new Error(`Failed to download ${e.toUpperCase()}: ${P} (HTTP ${f.status})`)}}function Hl(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let o=new URLSearchParams({limit:String(r)});s&&o.set("before",s);let l=await e.getToken?.(),p=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${o}`,{headers:l?{Authorization:`Bearer ${l}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function xg(e){return kg(Hl(e))}function Pg(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=Hl(e),s=async o=>{let l=await e.getToken?.(),p=await t(`${n}${o}`,{headers:l?{Authorization:`Bearer ${l}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new zr({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function kg(e){let t=new Map,n=new Set,r;do{let s=await e({limit:10,...r?{before:r}:{}});for(let o of s.messages)t.set(o.info.id,o);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...t.values()].sort((s,o)=>s.info.id.localeCompare(o.info.id))}var wg={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Nl=500,zr=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??wg,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0})}observePromptStatus(t){if(this.promptObservationPhase!=="idle"){if(t.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1})}setBusy(t){if(!t){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t),r=await this.loadCompleteTurn(n,"tail",t);if(this.destroyed)return;this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let o=await this.options.loadPage({limit:10,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t)}async loadCompleteTurn(t,n,r,s){let o=[...t.messages],l=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),d=t.nextCursor;for(let f of t.messages)f.info.role==="user"&&l.add(f.info.id);for(;d&&o.some(f=>f.info.role==="assistant"&&!!f.info.parentID&&!l.has(f.info.parentID));){if(p.has(d))throw new Error(`Session history cursor repeated: ${d}`);p.add(d);let f=await this.loadPage(n,r,d);o.unshift(...f.messages);for(let m of f.messages)m.info.role==="user"&&l.add(m.info.id);d=f.nextCursor}return{messages:o,nextCursor:d}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await Promise.all([this.reconcile("poll"),this.reconcileStatus()]),this.lastActivityAt=this.scheduler.now())}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let t=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}))};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(t,Nl):setTimeout(t,Nl)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder&&n.isPromptObservedBusy===this.snapshot.isPromptObservedBusy)){this.snapshot=n;for(let r of this.listeners)r()}}};function _g(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Sg(e){let{url:t,token:n,method:r="GET",body:s,onEvent:o,onOpen:l,onError:p,signal:d}=e,f=new Map,m=null,h=!1;function x(T,C){o?.(T,C);let w=f.get(T);if(w)for(let v of w)try{v(C)}catch{}}async function P(){if(h)return;m=new AbortController;let T=d?AbortSignal.any([m.signal,d]):m.signal;try{let C={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(C["Content-Type"]="application/json");let w=await fetch(t,{method:r,headers:C,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:T,credentials:"include"});if(!w.ok)throw new Error(`SSE connection failed: ${w.status} ${w.statusText}`);if(!w.body)throw new Error("SSE response has no body");l?.();let v=w.body.getReader(),A=new TextDecoder,$="",y="message",R="";for(;!h;){let{done:H,value:V}=await v.read();if(H)break;$+=A.decode(V,{stream:!0});let B=$.split(`
|
|
70
|
+
`);$=B.pop()||"";for(let F of B)F===""?R&&(x(y,R.trimEnd()),y="message",R=""):F.startsWith("event: ")?y=F.slice(7).trim():F.startsWith("data: ")?R+=(R?`
|
|
71
|
+
`:"")+F.slice(6):F.startsWith("data:")&&(R+=(R?`
|
|
72
|
+
`:"")+F.slice(5))}}catch(C){if(h||C instanceof DOMException&&C.name==="AbortError")return;p?.(C instanceof Error?C:new Error(String(C)))}}function u(){h=!0,m?.abort(),m=null,f.clear()}function a(T,C){let w=f.get(T)??new Set;w.add(C),f.set(T,w)}function S(T,C){f.get(T)?.delete(C)}return{connect:P,close:u,addEventListener:a,removeEventListener:S}}function ZS(e,t){return Sg({...t,url:_g(e)})}export{qt as ACTIVE_INSTANCE_COOKIE,Ur as AcpClient,Ze as AcpRpcError,Gr as AcpSessionController,ee as AcpTransportError,I as ApiError,Le as AuthError,Se as BillingError,yl as COST_MARKUP,ul as DEFAULT_TRANSCRIPT_OPTIONS,dg as DESTRUCTIVE_PHASES,Tu as FEATURE_NOT_SUPPORTED_CODE,ue as HostBoundaryError,rg as INSTANCE_SCOPED_ROUTES,Ar as PublicSessionShareError,Ir as PublicVoiceJoinError,Fe as RequestTooLargeError,gr as RuntimeNotReadyError,mr as SANDBOX_FS_ROOTS,ae as SANDBOX_PORTS,Et as SessionNotReadyError,Cr as SessionStartError,Rg as __getConfigResolver,vg as __setConfigResolver,Gs as acceptAccountInvite,O_ as acceptInvite,Sc as actReviewItem,Wi as activateConnectionProfile,Tb as addGroupMembers,Zc as addMarketplaceSource,S_ as addSandboxMember,od as allDescendantIds,WS as appendPreviewToken,Lr as applyAcpEnvelope,gi as approveProjectAccessRequest,Nm as approveTask,_r as archiveProject,Xm as assignTicket,_i as attachGroupToProject,E as authenticatedFetch,i as backendApi,tb as bindSlackIdentity,nb as bindTeamsIdentity,$l as buildAcpBridgeEndpoint,ig as buildInstancePath,JS as buildPresentationTemplateImageUrl,zS as buildPresentationTemplatePdfUrl,HS as buildPreviewAuthEndpoint,yg as buildPublicTemplateUrl,bg as buildRuntimePresentationConversionUrl,So as buildSandboxTemplate,OP as buildStaticFileHealthPreviewUrl,UP as buildStaticFileLocalUrl,MP as buildStaticFilePreviewUrl,Xu as buildStaticFileServicePath,_g as buildTunnelEventStreamUrl,NP as buildWebProxyUrl,vc as bulkActReviewItems,Ub as bulkDeletePolicies,Ob as bulkImportPolicies,Ex as cancelAccountDeletion,Os as cancelAccountInvite,h_ as cancelSandbox,nS as cancelSandboxUpdate,Ma as cancelScheduledChange,$a as cancelSubscription,bS as checkAccessEmail,Hk as childMapByParent,uS as claimComputer,Qh as claimPerSeatBilling,Zo as claimWarmProjectSession,gl as classifyPart,Xp as classifyTurn,xa as clearModelDefault,yh as clearSessionFresh,Bo as closeChangeRequest,Rf as closeMilestone,Fk as collectTurnParts,Zm as commentTicket,Ko as commitSessionChanges,fl as computeStatusFromPart,Fa as configureAutoTopup,Bt as configureKortix,ja as confirmCheckoutSession,Ya as connectEmail,Ha as connectSlack,Jx as convertPresentationToGoogleSlides,QS as convertRuntimePresentation,kt as copyFile,Es as createAccount,Bc as createAccountAuditWebhook,qc as createAccountToken,Rl as createAcpClient,Or as createAcpProjection,Iw as createAcpSessionController,xx as createAuditWebhook,B_ as createBackup,Ia as createCheckoutSession,io as createConnector,Pt as createFile,hc as createGatewayKey,Sb as createGroup,Pg as createHttpSessionSyncController,aS as createInstance,xp as createKortix,bs as createKortixPty,wP as createMarketplaceInstallSession,Sf as createMilestone,Jh as createPerSeatCheckout,qb as createPolicy,Ea as createPortalSession,Xs as createProject,uf as createProjectAgent,Uc as createProjectCliToken,Ys as createProjectRepo,Ci as createProjectResourceGrant,ze as createProjectSession,ca as createProjectTrigger,Hb as createRole,Sg as createSSEStream,u_ as createSandbox,Cc as createSandboxShare,ko as createSandboxTemplate,Qb as createScimToken,fx as createServiceAccountApi,Qo as createSessionPublicShare,ww as createSessionRuntimePolicy,ox as createSsoGroupMapping,Fm as createTask,zm as createTicket,ZS as createTunnelEventStream,Bs as declineAccountInvite,L_ as declineInvite,$x as deleteAccountImmediately,kx as deleteAuditWebhook,H_ as deleteBackup,ao as deleteConnector,$f as deleteCredential,ys as deleteEnv,wt as deleteFile,fc as deleteGatewayBudget,pi as deleteGitHubInstallation,Rb as deleteGroup,cS as deleteInstance,xf as deleteKortixProject,Tf as deleteMilestone,Li as deletePersonalProjectSecret,Mb as deletePolicy,df as deleteProjectAgent,Ti as deleteProjectResourceGrant,Ui as deleteProjectSecret,ia as deleteProjectSession,ua as deleteProjectTrigger,Vb as deleteRole,_o as deleteSandboxTemplate,hx as deleteServiceAccountApi,ax as deleteSsoGroupMapping,sx as deleteSsoProvider,Hm as deleteTask,ef as deleteTicket,Fs as describeAccountInvite,vi as detachGroupFromProject,zu as detectLocalhostUrls,yx as disableServiceAccountApi,Za as disconnectEmail,BS as disconnectGitHubApp,Va as disconnectSlack,Ky as discoverConnectionProfileOAuth2,oo as discoverConnectorAuth,m_ as discoverLocalSandbox,$S as downloadAccountAudit,Wf as dropClientForUrl,Jf as dropPublicClientForUrl,cf as ensurePmSession,By as ensureProjectConnectorProfile,pg as ensureSandbox,Yo as ensureWarmProjectSession,fu as env,Fc as exportAccountAudit,ye as extractGatewayErrorDetails,et as extractInstanceRoute,Mw as featureFlags,Vh as fetchAccountStateWithToken,hy as fetchAccountsWithToken,Ao as fetchProjectArchive,Ry as fetchProjectsForAccountWithToken,Ru as files,bt as findFiles,Gk as findLastTextPart,xt as findText,da as fireProjectTrigger,Po as fixSandboxWithAgent,mu as formatBillingErrorForUI,aw as formatCost,sw as formatDuration,lg as formatOpenCodeRuntimeError,lg as formatRuntimeError,cw as formatTokens,Rp as formatTranscript,Pp as generateSessionId,$s as getAccount,Ix as getAccountDeletionStatus,_a as getAccountState,Sa as getAccountStateMinimal,ag as getActiveInstanceIdFromCookie,Gx as getAdminProviderAnalytics,Ox as getAdminProviderDistribution,Nx as getAdminProviderFallback,qx as getAdminRole,sd as getAgentCardLabel,Bh as getAgentConfig,gf as getAgentPersona,Z_ as getAllVersions,Nk as getAnsweredQuestionParts,ut as getAuthToken,ls as getAuthTokenWithRetry,La as getAutoTopupSettings,zh as getAutoTopupSetupStatus,Ca as getBillingCreditBreakdown,Aa as getBillingTierConfigurations,Ra as getBillingTransactionsSummary,Ta as getBillingUsageHistory,Uo as getChangeRequest,Oo as getChangeRequestDiff,Lo as getChangeRequestMergePreview,Ak as getChildSessionError,Tk as getChildSessionId,Ik as getChildSessionToolParts,de as getClient,se as getClientForUrl,po as getConnectStatus,Qy as getConnectionPolicies,Hy as getConnectionProfileOAuth2Application,Jy as getConnectionProfileOAuth2Status,no as getConnectorConfig,eo as getConnectorPolicies,_S as getConnectorSetupLink,og as getCurrentInstanceIdFromPathname,Fw as getCurrentInstanceIdFromWindow,Ts as getCurrentProject,wa as getDefaultAccountState,$k as getDiagnostics,rd as getDirectory,uo as getDiscoverIntegration,Qa as getEmailInstallation,Xa as getEmailMode,vx as getEnterpriseDemo,ht as getFileStatus,ml as getFileWithDir,nd as getFilename,gg as getFullChangelog,uc as getGatewayBreakdown,gc as getGatewayBudgets,dc as getGatewayErrors,yc as getGatewayKeys,ac as getGatewayLog,cc as getGatewayOverview,nc as getGatewayRoutingPolicy,lc as getGatewaySeries,pc as getGatewaySessions,OS as getGitHubAppStatus,si as getGitHubInstallation,zx as getGoogleAuthUrl,_b as getGroup,Rk as getHiddenToolParts,U_ as getInvite,oS as getJustavpsServerTypes,yf as getKortixProject,hf as getKortixProjectBySession,ks as getKortixPtyWebSocketUrl,Y_ as getLatestSandboxVersion,AS as getMaintenanceConfig,_y as getManagedGitStatus,Qc as getMarketplaceCatalogItem,Xc as getMarketplaceCatalogItemFile,Yb as getMfaRequired,wf as getMilestone,ha as getModelDefaults,kS as getOAuthConsentRequest,Ol as getOpenCodeConfigInvalidError,Sk as getPartText,dx as getPatPolicy,qk as getPermissionForTool,br as getProject,mf as getProjectActivity,Eo as getProjectCommit,$o as getProjectCommitDiff,xr as getProjectDetail,qo as getProjectFileHistory,Qs as getProjectGitToken,Pr as getProjectLlmCatalog,wy as getProjectLlmCatalogProviders,kr as getProjectModelPicker,Sr as getProjectSandboxHealth,Sy as getProjectSandboxProviderTransition,ea as getProjectSession,Ua as getProrationPreview,c_ as getProviders,LP as getProxyBaseUrl,zf as getPublicClientForUrl,yS as getPublicMarketplaceItem,hS as getPublicMarketplaceItemFile,sP as getPublicSessionShare,iP as getPublicSessionShareMessages,CS as getPublicShareByToken,DS as getPublicTemplate,cP as getPublicVoiceJoin,lP as getPublicVoiceTranscript,Dk as getQuestionForTool,mb as getReferralCode,hb as getReferralStats,lw as getRetryInfo,uw as getRetryMessage,wc as getReviewItem,Gb as getRolePermissions,Nb as getRoleUsage,V_ as getSSHConnection,l_ as getSandbox,p_ as getSandboxById,A_ as getSandboxMemberScopes,n_ as getSandboxPortUrl,pS as getSandboxProvisionStatus,dS as getSandboxProvisionStreamUrl,X_ as getSandboxUpdateStatus,Gl as getSandboxUrl,vS as getSecretSetupLink,fr as getServerHealth,Mf as getServiceLogs,ta as getSessionAudit,ow as getSessionCost,tl as getSessionHealth,cx as getSessionPolicy,zo as getSessionPreviewCandidates,na as getSessionTranscript,zk as getShellModePart,za as getSlackChannelFile,Na as getSlackInstallation,Wa as getSlackManifest,Ka as getSlackMode,tx as getSsoProvider,Yu as getStaticFileHealthPath,ur as getSupabaseAccessToken,Oe as getSupabaseAccessTokenWithRetry,Um as getTask,Lm as getTaskStatus,RP as getTemplate,Wm as getTicket,jk as getToolInfo,Cp as getTranscriptFilename,iw as getTurnCost,tw as getTurnError,nw as getTurnErrorDetails,rw as getTurnStatus,Ga as getUsageRollup,jS as getUserRolesWithToken,Do as getVersionDiff,T_ as getViewerSandboxScopes,ra as getVoiceTranscript,Zk as getWorkingState,E_ as grantSandboxProjectAccess,Lk as groupMessagesIntoTurns,pw as hasDiffs,DP as hasLocalhostUrls,Qu as hasPreviewTarget,tp as heartbeatGapEvent,$r as humanizeToolName,rx as importSsoProviderFromMetadata,CP as installTemplate,lt as invalidateTokenCache,Ms as inviteAccountMember,bi as inviteProjectMember,zs as inviteRepoCollaborator,py as isAdminBypassEnabled,Pk as isAgentPart,Ku as isAppRouteUrl,Zp as isAttachment,gu as isBillingError,kk as isCompactionPart,Nt as isConfigured,Q_ as isDestructivePhase,WP as isExternalUrl,Yp as isFilePart,Ow as isInstanceDetailPath,sg as isInstanceScopedAppPath,BP as isInternalLocalhostUrl,Dy as isInviteSent,Yk as isLastUserMessage,ky as isManagedGithubProject,Kw as isOpenCodeConfigInvalidError,_k as isPatchPart,GP as isPreviewUrl,Zu as isProxiableLocalhostUrl,qr as isReasoningPart,jP as isRuntimeReady,As as isServerReachable,Wo as isSessionFresh,jh as isSessionStartError,ad as isShellMode,wk as isSnapshotPart,KS as isSubdomainPreviewUrl,be as isTextPart,le as isToolPart,Ck as isToolPartHidden,Ss as isUnderSandboxRoot,KP as isWebProxyUrl,hu as kortixPty,Ks as leaveAccount,ui as linkGitHubInstallation,ri as linkRepository,Lc as listAccountAudit,Gc as listAccountAuditWebhooks,Us as listAccountInvites,Ds as listAccountMembers,ux as listAccountSessions,$c as listAccountTokens,js as listAccounts,Bb as listActions,Lx as listAdminSandboxes,Fb as listAgentIdentities,Gi as listAllConnectionProfiles,wx as listAuditEvents,bx as listAuditWebhooks,G_ as listBackups,va as listBillingTransactions,Mo as listChangeRequests,rb as listChannelBindings,tf as listColumns,Fi as listConnectionProfiles,Qi as listConnectors,If as listCredentialEvents,Af as listCredentials,lo as listDiscoverIntegrations,ms as listEnv,Jc as listFeaturedMarketplaces,rf as listFields,yt as listFiles,oc as listGatewayLogs,ii as listGitHubInstallations,ai as listGitHubRepositories,ci as listGitHubRepositoryBranches,Cb as listGroupMembers,Ab as listGroupProjectGrants,wb as listGroups,bf as listKortixProjectSessions,ff as listKortixProjects,hs as listKortixPty,oi as listLinkableGitHubInstallations,Vc as listMarketplaceCatalogItems,Yc as listMarketplaceSources,zc as listMarketplaces,jb as listMemberGroups,Eb as listMemberProjectAccess,_f as listMilestoneEvents,kf as listMilestones,Ai as listPendingApprovals,xi as listPendingProjectInvites,co as listPipedreamApps,$b as listPolicies,fi as listProjectAccess,di as listProjectAccessRequests,lf as listProjectAgents,Io as listProjectBranches,Mc as listProjectCliTokens,jo as listProjectCommits,Ro as listProjectFiles,wi as listProjectGroupGrants,fo as listProjectPolicies,Ri as listProjectResourceGrants,ho as listProjectSandboxTemplates,vo as listProjectSandboxes,Ei as listProjectSecrets,Ve as listProjectSessions,bo as listProjectSnapshots,aa as listProjectTriggers,Ie as listProjects,Vs as listProjectsForAccount,mS as listPublicMarketplaceItems,fS as listPublicMarketplaces,bb as listReferrals,kc as listReviewItems,Lb as listRoles,__ as listSandboxMembers,j_ as listSandboxProjectMembers,Rc as listSandboxShares,g_ as listSandboxes,Jb as listScimTokens,mx as listServiceAccountsApi,Df as listServiceTemplates,qf as listServices,Jo as listSessionPublicShares,Ii as listSessionsNeedingInput,ix as listSsoGroupMappings,Om as listTaskEvents,Mm as listTasks,of as listTemplates,Vm as listTicketEvents,Km as listTickets,xg as loadHttpSessionHistory,lS as markInstanceError,vt as markSessionFresh,Go as mergeChangeRequest,Bx as migrateAdminSandboxProvider,_t as mkdir,np as narrowChatEvent,Nw as normalizeAppPathname,VP as normalizeExternalInput,he as normalizeToolName,Fo as openChangeRequest,jr as openEventStream,qS as openStressTestStream,Ge as parseBillingError,Dw as parseFlagOverride,At as parseLocalhostUrl,cg as parseOpenCodeErrorPayload,al as parseSubdomainUrl,HP as parseWebProxyUrl,Pf as patchKortixProject,so as pipedreamConnect,zi as pipedreamConnectConnectionProfile,mo as pipedreamFinalize,Ji as pipedreamFinalizeConnectionProfile,q as platformConfig,zy as pollConnectionProfileOAuth2DeviceAuthorization,Di as pollProjectProviderOAuth,ic as previewGatewayRoute,Zb as previewMfaRequired,_x as probeEffectivePermission,Sx as probeEffectivePermissions,Ih as projectSessionStartSeed,Zs as provisionProject,Cy as provisionProjectWithToken,il as proxyLocalhostUrl,FP as proxyUrlToInternal,Oa as purchaseCredits,Ny as putConnectionProfileOAuth2Application,b_ as reactivateSandbox,qa as reactivateSubscription,Ke as readBlob,He as readFile,To as readProjectFile,xo as rebuildProjectSnapshot,Bi as reconcileConnectionProfile,Ni as reconcileMemberConnectionProfile,Of as reconcileServices,PS as recordPlatformLogout,fb as refreshReferralCode,Lf as registerService,mi as rejectProjectAccessRequest,Ek as relativizePath,Hc as removeAccountAuditWebhook,Ns as removeAccountMember,Ib as removeGroupMember,Ps as removeKortixPty,el as removeMarketplaceSource,v_ as removeSandboxMember,St as renameFile,d_ as renameSandbox,No as reopenChangeRequest,Cf as reopenMilestone,nf as replaceColumns,sf as replaceFields,af as replaceTemplates,jx as requestAccountDeletion,Ho as requestChangesOnChangeRequest,qy as requestProjectAccess,Wc as requestProjectConnector,Kc as requestProjectSecret,Ls as resendAccountInvite,ki as resendPendingProjectInvite,Vf as resetClient,sc as resetGatewayRoutingPolicy,Qf as resetPublicClient,tS as resetSandboxUpdateStatus,ji as resolveApproval,Jd as resolveSessionRuntimeTransport,Rt as restartProjectSession,f_ as restartSandbox,N_ as restoreBackup,Ef as revealCredential,px as revokeAccountSession,Dc as revokeAccountToken,Ki as revokeConnectionProfile,bc as revokeGatewayKey,Pi as revokePendingProjectInvite,hi as revokeProjectAccess,Oc as revokeProjectCliToken,q_ as revokeSandboxInvite,$_ as revokeSandboxProjectAccess,Tc as revokeSandboxShare,Xb as revokeScimToken,Xo as revokeSessionPublicShare,fe as rewriteLocalhostUrl,xc as runGatewayPlayground,li as saveGitHubInstallation,Da as scheduleDowngrade,Co as searchProjectFiles,xb as sendReferralEmails,Uf as serviceAction,Eh as sessionStartKey,Gw as setActiveInstanceCookie,uy as setAdminBypass,Fx as setAdminProviderDistribution,Hx as setAdminProviderFallback,Pa as setAgentScope,fm as setBootstrapAuthToken,mm as setCachedAuthToken,Xy as setConnectionPolicies,go as setConnectorCredential,Yi as setConnectorCredentialMode,ro as setConnectorName,to as setConnectorPolicies,Zi as setConnectorSensitive,Vi as setDefaultConnectionProfile,Rx as setEnterpriseDemo,fs as setEnv,mc as setGatewayBudget,rc as setGatewayRoutingPolicy,FS as setGitHubAppFromExisting,GS as setGitHubAppPat,IS as setMaintenanceConfig,tc as setMeetBotName,zb as setMemberSuperAdmin,ex as setMfaRequired,ba as setModelDefault,Oi as setPersonalProjectSecret,ni as setProjectOnboardingComplete,yo as setProjectPolicies,oa as setProjectSessionModel,Vo as setProjectSessionSharing,pa as setProjectTriggersActivation,W_ as setupSSH,ew as shouldHideResponsePart,td as shouldShowToolPart,Kk as sortSessions,vk as splitUserParts,Wy as startConnectionProfileOAuth2Authorization,Vy as startConnectionProfileOAuth2DeviceAuthorization,SS as startConnectorSetupLink,LS as startGitHubAppManifest,qi as startProjectProviderOAuth,je as startProjectSession,TS as startSessionWithToken,Bm as startTask,Ct as stopProjectSession,y_ as stopSandbox,Mk as stripAnsi,Lw as stripInstancePrefix,ve as stripTrailingSlashes,xS as submitAccessRequest,ES as submitDemoRequest,wS as submitOAuthConsent,_c as submitReviewItem,RS as submitSecretSetupLink,dy as supabaseClient,Xi as syncConnectors,Xh as syncSubscription,Xf as systemReload,Te as toDaemonPath,Bw as toInstanceAwarePath,ep as toInternalUrl,vs as toSandboxAbsolutePath,Rs as toWorkspaceRelative,Ee as toolInfo,Id as toolViewModel,Pc as transcribeAudio,eS as triggerSandboxUpdate,yu as triggersRequest,Bk as turnHasSteps,Ym as unassignTicket,Z as unwrapError,Nc as updateAccountAuditWebhook,Hs as updateAccountMemberRole,qs as updateAccountName,Nh as updateAgentConfig,Px as updateAuditWebhook,sb as updateChannelBinding,Hi as updateConnectionProfileCredential,ec as updateEmailPolicy,ei as updateExperimentalFeature,vb as updateGroup,xs as updateKortixPty,vf as updateMilestone,gx as updatePatPolicy,Db as updatePolicy,wr as updateProject,yi as updateProjectAccess,pf as updateProjectAgent,ka as updateProjectDefaultAgent,Si as updateProjectGroupGrant,ti as updateProjectSandboxProvider,sa as updateProjectSession,la as updateProjectTrigger,Kb as updateRole,Wb as updateRolePermissions,R_ as updateSandboxMemberRole,I_ as updateSandboxMemberScope,C_ as updateSandboxMemberSpendCap,wo as updateSandboxTemplate,lx as updateSessionPolicy,Gm as updateTask,vy as updateTemplateWarmPool,Jm as updateTicket,Qm as updateTicketStatus,We as uploadFile,Ja as uploadSlackChannelFile,jf as upsertCredential,Mi as upsertProjectGitCredential,$i as upsertProjectSecret,nx as upsertSsoProvider,Js as validateProjectManifest,yb as validateReferralCode,Ws as validateToken,cb as verifyGatewayProvider};
|