@kortix/sdk 0.12.8 → 0.13.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 +3 -6
- package/dist/browser/session-sync/session-sync-registry.d.ts +7 -2
- package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
- package/dist/browser/session-sync/session-sync-registry.js +33 -44
- package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
- package/dist/browser/stores/opencode-compaction-store.d.ts +9 -3
- package/dist/browser/stores/opencode-compaction-store.d.ts.map +1 -1
- package/dist/browser/stores/opencode-compaction-store.js +5 -12
- package/dist/browser/stores/opencode-compaction-store.js.map +1 -1
- package/dist/browser/stores/sandbox-connection-store.d.ts +28 -17
- package/dist/browser/stores/sandbox-connection-store.d.ts.map +1 -1
- package/dist/browser/stores/sandbox-connection-store.js +32 -84
- package/dist/browser/stores/sandbox-connection-store.js.map +1 -1
- package/dist/browser/stores/session-working-store.d.ts +73 -0
- package/dist/browser/stores/session-working-store.d.ts.map +1 -0
- package/dist/browser/stores/session-working-store.js +86 -0
- package/dist/browser/stores/session-working-store.js.map +1 -0
- package/dist/browser/stores/sync-store/types.d.ts +14 -4
- package/dist/browser/stores/sync-store/types.d.ts.map +1 -1
- package/dist/browser/stores/sync-store.d.ts +140 -3
- package/dist/browser/stores/sync-store.d.ts.map +1 -1
- package/dist/browser/stores/sync-store.js +425 -36
- package/dist/browser/stores/sync-store.js.map +1 -1
- package/dist/core/client/kortix.d.ts +102 -1
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +78 -0
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/files/client.d.ts +50 -2
- package/dist/core/files/client.d.ts.map +1 -1
- package/dist/core/files/client.js +253 -44
- package/dist/core/files/client.js.map +1 -1
- package/dist/core/files/types.d.ts +11 -0
- package/dist/core/files/types.d.ts.map +1 -1
- package/dist/core/http/abort-error.d.ts +89 -0
- package/dist/core/http/abort-error.d.ts.map +1 -0
- package/dist/core/http/abort-error.js +190 -0
- package/dist/core/http/abort-error.js.map +1 -0
- package/dist/core/http/api-client.d.ts.map +1 -1
- package/dist/core/http/api-client.js +18 -4
- package/dist/core/http/api-client.js.map +1 -1
- package/dist/core/rest/platform-client/github-app.d.ts +13 -0
- package/dist/core/rest/platform-client/github-app.d.ts.map +1 -1
- package/dist/core/rest/platform-client/github-app.js +2 -0
- package/dist/core/rest/platform-client/github-app.js.map +1 -1
- package/dist/core/rest/platform-client/members.d.ts +10 -64
- package/dist/core/rest/platform-client/members.d.ts.map +1 -1
- package/dist/core/rest/platform-client/members.js +10 -28
- package/dist/core/rest/platform-client/members.js.map +1 -1
- package/dist/core/rest/projects-client/accounts.d.ts +30 -1
- package/dist/core/rest/projects-client/accounts.d.ts.map +1 -1
- package/dist/core/rest/projects-client/accounts.js +1 -1
- package/dist/core/rest/projects-client/accounts.js.map +1 -1
- package/dist/core/rest/projects-client/apps.d.ts +13 -0
- package/dist/core/rest/projects-client/apps.d.ts.map +1 -1
- package/dist/core/rest/projects-client/apps.js.map +1 -1
- package/dist/core/rest/projects-client/assignments.d.ts +114 -0
- package/dist/core/rest/projects-client/assignments.d.ts.map +1 -0
- package/dist/core/rest/projects-client/assignments.js +91 -0
- package/dist/core/rest/projects-client/assignments.js.map +1 -0
- package/dist/core/rest/projects-client/billing.d.ts +10 -1
- package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
- package/dist/core/rest/projects-client/billing.js +11 -2
- package/dist/core/rest/projects-client/billing.js.map +1 -1
- package/dist/core/rest/projects-client/connectors.d.ts +2 -0
- package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
- package/dist/core/rest/projects-client/connectors.js.map +1 -1
- package/dist/core/rest/projects-client/files.js +2 -2
- package/dist/core/rest/projects-client/files.js.map +1 -1
- package/dist/core/rest/projects-client/gateway.d.ts +51 -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 +51 -3
- package/dist/core/rest/projects-client/iam.d.ts.map +1 -1
- package/dist/core/rest/projects-client/iam.js +18 -1
- package/dist/core/rest/projects-client/iam.js.map +1 -1
- package/dist/core/rest/projects-client/index.d.ts +1 -0
- package/dist/core/rest/projects-client/index.d.ts.map +1 -1
- package/dist/core/rest/projects-client/index.js +1 -0
- package/dist/core/rest/projects-client/index.js.map +1 -1
- package/dist/core/rest/projects-client/projects.d.ts +1 -1
- package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
- package/dist/core/rest/projects-client/projects.js +3 -0
- package/dist/core/rest/projects-client/projects.js.map +1 -1
- package/dist/core/rest/projects-client/secrets.d.ts +11 -0
- package/dist/core/rest/projects-client/secrets.d.ts.map +1 -1
- package/dist/core/rest/projects-client/secrets.js +1 -1
- package/dist/core/rest/projects-client/secrets.js.map +1 -1
- package/dist/core/rest/projects-client/session-costs.d.ts +33 -0
- package/dist/core/rest/projects-client/session-costs.d.ts.map +1 -1
- package/dist/core/rest/projects-client/session-costs.js.map +1 -1
- package/dist/core/rest/projects-client/sessions.d.ts +226 -2
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sessions.js +101 -4
- package/dist/core/rest/projects-client/sessions.js.map +1 -1
- package/dist/core/rest/projects-client/shared.d.ts +10 -1
- package/dist/core/rest/projects-client/shared.d.ts.map +1 -1
- package/dist/core/rest/projects-client/shared.js.map +1 -1
- package/dist/core/rest/projects-client/tokens.d.ts +13 -1
- package/dist/core/rest/projects-client/tokens.d.ts.map +1 -1
- package/dist/core/rest/projects-client/tokens.js +7 -2
- package/dist/core/rest/projects-client/tokens.js.map +1 -1
- package/dist/core/rest/projects-client/triggers.d.ts +69 -2
- package/dist/core/rest/projects-client/triggers.d.ts.map +1 -1
- package/dist/core/rest/projects-client/triggers.js +1 -1
- package/dist/core/rest/projects-client/triggers.js.map +1 -1
- package/dist/core/session/compaction.d.ts +98 -0
- package/dist/core/session/compaction.d.ts.map +1 -0
- package/dist/core/session/compaction.js +108 -0
- package/dist/core/session/compaction.js.map +1 -0
- package/dist/core/session/health.d.ts +22 -0
- package/dist/core/session/health.d.ts.map +1 -1
- package/dist/core/session/health.js +31 -5
- package/dist/core/session/health.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/message-queue.d.ts +79 -15
- package/dist/core/session/message-queue.d.ts.map +1 -1
- package/dist/core/session/message-queue.js +73 -27
- package/dist/core/session/message-queue.js.map +1 -1
- package/dist/core/session/rewind.d.ts +76 -10
- package/dist/core/session/rewind.d.ts.map +1 -1
- package/dist/core/session/rewind.js +68 -11
- package/dist/core/session/rewind.js.map +1 -1
- package/dist/core/session/working.d.ts +241 -0
- package/dist/core/session/working.d.ts.map +1 -0
- package/dist/core/session/working.js +261 -0
- package/dist/core/session/working.js.map +1 -0
- package/dist/core/session-sync/session-sync-controller.d.ts +35 -20
- package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
- package/dist/core/session-sync/session-sync-controller.js +48 -115
- package/dist/core/session-sync/session-sync-controller.js.map +1 -1
- package/dist/core/stream/event-stream.d.ts +22 -0
- package/dist/core/stream/event-stream.d.ts.map +1 -1
- package/dist/core/stream/event-stream.js +132 -36
- package/dist/core/stream/event-stream.js.map +1 -1
- package/dist/core/turns/grouping.d.ts +32 -2
- package/dist/core/turns/grouping.d.ts.map +1 -1
- package/dist/core/turns/grouping.js +31 -2
- package/dist/core/turns/grouping.js.map +1 -1
- package/dist/core/turns/index.d.ts +1 -0
- package/dist/core/turns/index.d.ts.map +1 -1
- package/dist/core/turns/index.js +1 -0
- package/dist/core/turns/index.js.map +1 -1
- package/dist/core/turns/open-turn.d.ts +81 -0
- package/dist/core/turns/open-turn.d.ts.map +1 -0
- package/dist/core/turns/open-turn.js +77 -0
- package/dist/core/turns/open-turn.js.map +1 -0
- package/dist/core/turns/state.js +26 -26
- package/dist/core/turns/state.js.map +1 -1
- package/dist/core/turns/types.d.ts +5 -0
- package/dist/core/turns/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/kortix.esm.min.js +25 -25
- package/dist/kortix.global.js +25 -25
- package/dist/node/server.d.ts.map +1 -1
- package/dist/node/server.js +14 -2
- package/dist/node/server.js.map +1 -1
- package/dist/react/index.d.ts +2 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +7 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/initial-session-pin.d.ts +17 -0
- package/dist/react/initial-session-pin.d.ts.map +1 -1
- package/dist/react/initial-session-pin.js +58 -0
- package/dist/react/initial-session-pin.js.map +1 -1
- package/dist/react/opencode.d.ts +6 -2
- package/dist/react/opencode.d.ts.map +1 -1
- package/dist/react/opencode.js +5 -1
- package/dist/react/opencode.js.map +1 -1
- package/dist/react/prefetch-session-start.d.ts +10 -4
- package/dist/react/prefetch-session-start.d.ts.map +1 -1
- package/dist/react/prefetch-session-start.js +10 -4
- package/dist/react/prefetch-session-start.js.map +1 -1
- package/dist/react/query-keys.d.ts +8 -2
- package/dist/react/query-keys.d.ts.map +1 -1
- package/dist/react/query-keys.js +8 -2
- package/dist/react/query-keys.js.map +1 -1
- package/dist/react/session-start-stash.d.ts +25 -0
- package/dist/react/session-start-stash.d.ts.map +1 -1
- package/dist/react/session-start-stash.js +34 -3
- package/dist/react/session-start-stash.js.map +1 -1
- package/dist/react/session-title-sync.d.ts +5 -1
- package/dist/react/session-title-sync.d.ts.map +1 -1
- package/dist/react/session-title-sync.js +16 -4
- package/dist/react/session-title-sync.js.map +1 -1
- package/dist/react/use-can.d.ts +105 -0
- package/dist/react/use-can.d.ts.map +1 -0
- package/dist/react/use-can.js +190 -0
- package/dist/react/use-can.js.map +1 -0
- package/dist/react/use-canonical-opencode-session.d.ts +6 -1
- package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
- package/dist/react/use-canonical-opencode-session.js +46 -3
- package/dist/react/use-canonical-opencode-session.js.map +1 -1
- package/dist/react/use-opencode-events/handle-event.d.ts +10 -0
- package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
- package/dist/react/use-opencode-events/handle-event.js +76 -7
- package/dist/react/use-opencode-events/handle-event.js.map +1 -1
- package/dist/react/use-opencode-events/helpers.d.ts +21 -8
- package/dist/react/use-opencode-events/helpers.d.ts.map +1 -1
- package/dist/react/use-opencode-events/helpers.js +25 -26
- package/dist/react/use-opencode-events/helpers.js.map +1 -1
- package/dist/react/use-opencode-events/index.d.ts.map +1 -1
- package/dist/react/use-opencode-events/index.js +43 -26
- package/dist/react/use-opencode-events/index.js.map +1 -1
- package/dist/react/use-opencode-events/use-event-stream-refs.d.ts.map +1 -1
- package/dist/react/use-opencode-events/use-event-stream-refs.js +66 -3
- package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -1
- package/dist/react/use-opencode-local.d.ts +17 -0
- package/dist/react/use-opencode-local.d.ts.map +1 -1
- package/dist/react/use-opencode-local.js +41 -7
- package/dist/react/use-opencode-local.js.map +1 -1
- package/dist/react/use-opencode-sessions/messages.d.ts +101 -1
- package/dist/react/use-opencode-sessions/messages.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/messages.js +481 -63
- package/dist/react/use-opencode-sessions/messages.js.map +1 -1
- package/dist/react/use-project-apps.d.ts +24 -1
- package/dist/react/use-project-apps.d.ts.map +1 -1
- package/dist/react/use-project-apps.js +5 -3
- package/dist/react/use-project-apps.js.map +1 -1
- package/dist/react/use-runtime-boot-stalled.d.ts +32 -0
- package/dist/react/use-runtime-boot-stalled.d.ts.map +1 -0
- package/dist/react/use-runtime-boot-stalled.js +48 -0
- package/dist/react/use-runtime-boot-stalled.js.map +1 -0
- package/dist/react/use-runtime-reconnect.d.ts +67 -1
- package/dist/react/use-runtime-reconnect.d.ts.map +1 -1
- package/dist/react/use-runtime-reconnect.js +116 -18
- package/dist/react/use-runtime-reconnect.js.map +1 -1
- package/dist/react/use-session-prompts.d.ts +113 -0
- package/dist/react/use-session-prompts.d.ts.map +1 -0
- package/dist/react/use-session-prompts.js +242 -0
- package/dist/react/use-session-prompts.js.map +1 -0
- package/dist/react/use-session-send.d.ts +169 -20
- package/dist/react/use-session-send.d.ts.map +1 -1
- package/dist/react/use-session-send.js +178 -29
- package/dist/react/use-session-send.js.map +1 -1
- package/dist/react/use-session-sync.d.ts +35 -2
- package/dist/react/use-session-sync.d.ts.map +1 -1
- package/dist/react/use-session-sync.js +46 -9
- package/dist/react/use-session-sync.js.map +1 -1
- package/dist/react/use-session-working.d.ts +57 -0
- package/dist/react/use-session-working.d.ts.map +1 -0
- package/dist/react/use-session-working.js +178 -0
- package/dist/react/use-session-working.js.map +1 -0
- package/dist/react/use-session.d.ts +122 -5
- package/dist/react/use-session.d.ts.map +1 -1
- package/dist/react/use-session.js +343 -69
- package/dist/react/use-session.js.map +1 -1
- package/package.json +2 -2
- package/dist/browser/stores/tab-store.d.ts +0 -91
- package/dist/browser/stores/tab-store.d.ts.map +0 -1
- package/dist/browser/stores/tab-store.js +0 -369
- package/dist/browser/stores/tab-store.js.map +0 -1
- package/dist/core/session/send-queue.d.ts +0 -70
- package/dist/core/session/send-queue.d.ts.map +0 -1
- package/dist/core/session/send-queue.js +0 -116
- package/dist/core/session/send-queue.js.map +0 -1
package/dist/kortix.global.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
"use strict";var Kortix=(()=>{var bn=Object.defineProperty;var Ep=Object.getOwnPropertyDescriptor;var $p=Object.getOwnPropertyNames;var qp=Object.prototype.hasOwnProperty;var Dp=(t,e)=>{for(var n in e)bn(t,n,{get:e[n],enumerable:!0})},Mp=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of $p(e))!qp.call(t,s)&&s!==n&&bn(t,s,{get:()=>e[s],enumerable:!(r=Ep(e,s))||r.enumerable});return t};var Up=t=>Mp(bn({},"__esModule",{value:!0}),t);var Y_={};Dp(Y_,{ACTIVE_INSTANCE_COOKIE:()=>gt,ApiError:()=>R,AuthError:()=>ye,BillingError:()=>ce,COST_MARKUP:()=>hl,DEFAULT_TRANSCRIPT_OPTIONS:()=>dl,DESTRUCTIVE_PHASES:()=>xp,FEATURE_DISABLED_CODE:()=>Ct,FEATURE_FLAG_KEYS:()=>Vg,FEATURE_NOT_SUPPORTED_CODE:()=>cu,HostBoundaryError:()=>oe,IMPERSONATION_HEADER:()=>nu,INSTANCE_SCOPED_ROUTES:()=>cp,MODEL_NOT_SERVABLE_CODE:()=>lu,PREVIEW_PROBE_TIMEOUT_MS:()=>N_,PROVISION_IN_FLIGHT_CODE:()=>uu,PublicSessionShareError:()=>Zt,PublicVoiceJoinError:()=>en,RequestTooLargeError:()=>he,RuntimeNotReadyError:()=>At,SANDBOX_FS_ROOTS:()=>Et,SANDBOX_PORTS:()=>re,SessionNotReadyError:()=>ct,SessionStartError:()=>Vt,__getConfigResolver:()=>Lp,__setConfigResolver:()=>Fp,acceptAccountInvite:()=>ks,acceptInvite:()=>Bx,actReviewItem:()=>xc,activateConnection:()=>Mi,addGroupMembers:()=>df,addMarketplaceSource:()=>Hc,addSandboxMember:()=>Ix,allDescendantIds:()=>Yu,appendPreviewToken:()=>B_,approveProjectAccessRequest:()=>Js,approveTask:()=>hd,archiveProject:()=>Bt,assignTicket:()=>vd,attachGroupToProject:()=>ii,authenticatedFetch:()=>q,backendApi:()=>i,bindSlackIdentity:()=>Wm,bindTeamsIdentity:()=>zm,brokerProjectSecretRequest:()=>hi,buildInstancePath:()=>up,buildPresentationTemplateImageUrl:()=>z_,buildPresentationTemplatePdfUrl:()=>W_,buildPreviewAuthEndpoint:()=>Tl,buildPublicTemplateUrl:()=>Pp,buildRuntimePresentationConversionUrl:()=>Sp,buildSandboxTemplate:()=>mo,buildStaticFileHealthPreviewUrl:()=>Xy,buildStaticFileLocalUrl:()=>Jy,buildStaticFilePreviewUrl:()=>Vy,buildStaticFileServicePath:()=>Iu,buildTunnelEventStreamUrl:()=>Ap,buildWebProxyUrl:()=>th,bulkActReviewItems:()=>_c,bulkDeletePolicies:()=>Pf,bulkImportPolicies:()=>kf,callConnector:()=>Ti,cancelAccountDeletion:()=>gy,cancelAccountInvite:()=>xs,cancelSandbox:()=>Rx,cancelSandboxUpdate:()=>n_,cancelScheduledChange:()=>Ta,cancelSubscription:()=>va,checkAccessEmail:()=>f_,childMapByParent:()=>Pb,claimComputer:()=>a_,claimPerSeatBilling:()=>Gm,claimWarmProjectSession:()=>No,classifyPart:()=>ml,classifyPreviewProbeStatus:()=>wp,classifyTurn:()=>Hu,clearImpersonationSession:()=>us,clearModelDefault:()=>pa,clearSessionFresh:()=>wm,closeChangeRequest:()=>Eo,closeMilestone:()=>Zd,collectTurnParts:()=>hb,commentTicket:()=>Rd,commitSessionChanges:()=>Do,computeStatusFromPart:()=>yl,configureAutoTopup:()=>Ea,configureKortix:()=>ht,confirmCheckoutSession:()=>wa,connectEmail:()=>za,connectSlack:()=>Oa,convertPresentationToGoogleSlides:()=>Sy,convertRuntimePresentation:()=>V_,copyFile:()=>Ye,costExportUrl:()=>qa,createAccount:()=>gs,createAccountAuditWebhook:()=>qc,createAccountToken:()=>vc,createApp:()=>Vc,createAppAccessSession:()=>el,createAppDeployment:()=>nl,createAuditWebhook:()=>ry,createBackup:()=>Hx,createCheckoutSession:()=>ka,createConnector:()=>Xi,createFile:()=>Qe,createGatewayKey:()=>dc,createGroup:()=>cf,createHttpSessionSyncController:()=>Tp,createInstance:()=>s_,createKortix:()=>Fu,createKortixPty:()=>Qr,createMarketplaceInstallSession:()=>Iy,createMilestone:()=>Qd,createPerSeatCheckout:()=>Lm,createPolicy:()=>bf,createPortalSession:()=>Sa,createProject:()=>Es,createProjectAgent:()=>Ud,createProjectCliToken:()=>Tc,createProjectRepo:()=>$s,createProjectResourceGrant:()=>li,createProjectSession:()=>Ue,createProjectTrigger:()=>ra,createRole:()=>Tf,createSSEStream:()=>Ip,createSandbox:()=>_x,createSandboxShare:()=>kc,createSandboxTemplate:()=>uo,createScimToken:()=>qf,createServiceAccountApi:()=>Zf,createSessionPublicShare:()=>Go,createSsoGroupMapping:()=>Nf,createTask:()=>md,createTicket:()=>kd,createTunnelEventStream:()=>Q_,declineAccountInvite:()=>ws,declineInvite:()=>Kx,deleteAccountImmediately:()=>my,deleteApp:()=>Qc,deleteAuditWebhook:()=>iy,deleteBackup:()=>zx,deleteConnector:()=>Yi,deleteCredential:()=>og,deleteEnv:()=>Jr,deleteFile:()=>Ze,deleteGatewayBudget:()=>uc,deleteGitHubInstallation:()=>zs,deleteGroup:()=>uf,deleteInstance:()=>i_,deleteKortixProject:()=>Wd,deleteMilestone:()=>tg,deletePersonalProjectSecret:()=>Si,deletePolicy:()=>_f,deleteProjectAgent:()=>Fd,deleteProjectProviderOAuth:()=>_i,deleteProjectResourceGrant:()=>ui,deleteProjectSecret:()=>ki,deleteProjectSession:()=>Jo,deleteProjectTrigger:()=>ia,deleteRole:()=>jf,deleteSandboxTemplate:()=>go,deleteServiceAccountApi:()=>ty,deleteSsoGroupMapping:()=>Hf,deleteSsoProvider:()=>Bf,deleteTask:()=>bd,deleteTicket:()=>Td,describeAccountInvite:()=>Ps,describeConnectorTool:()=>Ri,detachGroupFromProject:()=>ai,detectLocalhostUrls:()=>Tu,disableServiceAccountApi:()=>ey,disconnectEmail:()=>Va,disconnectGitHubApp:()=>F_,disconnectSlack:()=>Ga,discoverConnectionOAuth2:()=>gm,discoverConnectorAuth:()=>Qi,discoverLocalSandbox:()=>Sx,downloadAccountAudit:()=>j_,dropClientForUrl:()=>fg,dropPublicClientForUrl:()=>bg,ensurePmSession:()=>Dd,ensurePreviewSessionCookie:()=>K_,ensureProjectConnectorConnection:()=>um,ensureSandbox:()=>bp,ensureWarmProjectSession:()=>Ko,env:()=>Jl,exportAccountAudit:()=>Ec,extractGatewayErrorDetails:()=>se,extractInstanceRoute:()=>Fe,featureDisabledKey:()=>Br,featureFlags:()=>cx,fetchAccountStateWithToken:()=>Om,fetchAccountsWithToken:()=>zg,fetchCostExportCsv:()=>Hm,fetchProjectArchive:()=>xo,fetchProjectsForAccountWithToken:()=>rm,files:()=>tu,finalizeAppArtifact:()=>nn,finalizeConnectorSetupLink:()=>k_,findFiles:()=>Je,findLastTextPart:()=>bb,findText:()=>Xe,fireProjectTrigger:()=>aa,fixSandboxWithAgent:()=>lo,formatBillingErrorForUI:()=>Nr,formatCost:()=>$b,formatDuration:()=>Ib,formatOpenCodeRuntimeError:()=>fp,formatRuntimeError:()=>fp,formatTokens:()=>qb,formatTranscript:()=>Gu,generateSessionId:()=>Lu,getAccount:()=>ms,getAccountDeletionStatus:()=>py,getAccountState:()=>fa,getAccountStateMinimal:()=>ya,getActiveInstanceIdFromCookie:()=>dp,getAdminProviderAnalytics:()=>xy,getAdminProviderDistribution:()=>yy,getAdminProviderFallback:()=>Py,getAdminRole:()=>fy,getAgentCardLabel:()=>Qu,getAgentConfig:()=>Em,getAgentPersona:()=>Ld,getAllVersions:()=>Zx,getAnsweredQuestionParts:()=>_b,getApp:()=>Jc,getAppAccess:()=>Yc,getAppDeployment:()=>sl,getAppDeploymentLogs:()=>il,getApprovalLink:()=>Ay,getAuthToken:()=>me,getAuthTokenWithRetry:()=>Lr,getAutoTopupSettings:()=>ja,getAutoTopupSetupStatus:()=>Fm,getBillingCreditBreakdown:()=>xa,getBillingTierConfigurations:()=>Pa,getBillingTransactionsSummary:()=>ba,getBillingUsageHistory:()=>_a,getChangeRequest:()=>Ro,getChangeRequestDiff:()=>To,getChangeRequestMergePreview:()=>Ao,getChildSessionError:()=>ab,getChildSessionId:()=>ob,getChildSessionToolParts:()=>cb,getClient:()=>le,getClientForUrl:()=>te,getConnectStatus:()=>to,getConnectionOAuth2Application:()=>dm,getConnectionOAuth2Status:()=>hm,getConnectionPolicies:()=>bm,getConnectorCatalog:()=>Kt,getConnectorConfig:()=>zi,getConnectorPolicies:()=>Hi,getConnectorSetupLink:()=>__,getCostSummary:()=>Nm,getCurrentInstanceIdFromPathname:()=>pp,getCurrentInstanceIdFromWindow:()=>px,getCurrentProject:()=>is,getDefaultAccountState:()=>Jt,getDiagnostics:()=>pb,getDirectory:()=>Xu,getDiscoverConnector:()=>Ht,getDiscoverIntegration:()=>Pm,getEmailInstallation:()=>Ha,getEmailMode:()=>Wa,getEnterpriseDemo:()=>ly,getFileStatus:()=>Ve,getFileWithDir:()=>fl,getFilename:()=>Ju,getFullChangelog:()=>_p,getGatewayBreakdown:()=>ic,getGatewayBudgets:()=>cc,getGatewayErrors:()=>ac,getGatewayKeys:()=>pc,getGatewayLog:()=>nc,getGatewayOverview:()=>rc,getGatewayRoutingPolicy:()=>Qa,getGatewaySeries:()=>sc,getGatewaySessions:()=>oc,getGitHubAppStatus:()=>D_,getGitHubInstallation:()=>Ls,getGoogleAuthUrl:()=>wy,getGroup:()=>af,getHiddenToolParts:()=>rb,getImpersonationSession:()=>iu,getInvite:()=>Gx,getJustavpsServerTypes:()=>r_,getKortixProject:()=>Kd,getKortixProjectBySession:()=>Nd,getKortixPtyWebSocketUrl:()=>es,getLatestSandboxVersion:()=>Yx,getMaintenanceConfig:()=>R_,getManagedGitStatus:()=>Zg,getMarketplaceCatalogItem:()=>Bc,getMarketplaceCatalogItemFile:()=>Kc,getMfaRequired:()=>Mf,getMilestone:()=>Jd,getModelDefaults:()=>la,getOAuthConsentRequest:()=>b_,getOpenCodeConfigInvalidError:()=>kl,getPartText:()=>tb,getPatPolicy:()=>Xf,getPermissionForTool:()=>db,getProject:()=>Ut,getProjectActivity:()=>Gd,getProjectCommit:()=>ko,getProjectCommitDiff:()=>wo,getProjectDetail:()=>Ot,getProjectFileHistory:()=>So,getProjectGitToken:()=>js,getProjectLlmCatalog:()=>Ft,getProjectLlmCatalogProviders:()=>Xg,getProjectModelPicker:()=>Lt,getProjectSandboxHealth:()=>Wt,getProjectSandboxProviderTransition:()=>em,getProjectSession:()=>zt,getProjectSessionConfigState:()=>Xo,getProjectSessionScope:()=>Zo,getProrationPreview:()=>Aa,getProviders:()=>bx,getProxyBaseUrl:()=>Qy,getPublicClientForUrl:()=>hg,getPublicMarketplaceItem:()=>g_,getPublicMarketplaceItemFile:()=>m_,getPublicSessionShare:()=>vy,getPublicSessionShareMessages:()=>Cy,getPublicShareByToken:()=>v_,getPublicTemplate:()=>q_,getPublicVoiceJoin:()=>Ry,getPublicVoiceTranscript:()=>Ty,getQuestionForTool:()=>gb,getReferralCode:()=>Zm,getReferralStats:()=>nf,getRetryInfo:()=>Db,getRetryMessage:()=>Mb,getReviewItem:()=>hc,getRolePermissions:()=>vf,getRoleUsage:()=>Rf,getSSHConnection:()=>Jx,getSandbox:()=>xx,getSandboxById:()=>Px,getSandboxMemberScopes:()=>Dx,getSandboxPortUrl:()=>hx,getSandboxProvisionStatus:()=>c_,getSandboxProvisionStreamUrl:()=>l_,getSandboxUpdateStatus:()=>Qx,getSandboxUrl:()=>vl,getSecretSetupLink:()=>w_,getServerHealth:()=>$t,getServiceLogs:()=>pg,getSessionAudit:()=>Ho,getSessionCost:()=>Eb,getSessionCostRecord:()=>Yt,getSessionHealth:()=>ll,getSessionPolicy:()=>Wf,getSessionPreviewCandidates:()=>Fo,getSessionTranscript:()=>Wo,getShellModePart:()=>wb,getSlackChannelFile:()=>Ba,getSlackInstallation:()=>Ua,getSlackManifest:()=>La,getSlackMode:()=>Fa,getSsoProvider:()=>Ff,getStaticFileHealthPath:()=>ju,getSupabaseAccessToken:()=>St,getSupabaseAccessTokenWithRetry:()=>ee,getTask:()=>pd,getTaskStatus:()=>gd,getTemplate:()=>jy,getTicket:()=>_d,getToolInfo:()=>lb,getTranscriptFilename:()=>Bu,getTurnCost:()=>jb,getTurnError:()=>Rb,getTurnErrorDetails:()=>Tb,getTurnStatus:()=>Ab,getUsageRollup:()=>$a,getUserRolesWithToken:()=>A_,getVersionDiff:()=>vo,getViewerSandboxScopes:()=>qx,getVoiceTranscript:()=>zo,getWorkingState:()=>vb,grantSandboxProjectAccess:()=>Ox,grantSecretToAgent:()=>Dm,groupMessagesIntoTurns:()=>yb,hasDiffs:()=>Ub,hasLocalhostUrls:()=>Wy,hasPreviewTarget:()=>Au,heartbeatGapEvent:()=>Mu,humanizeToolName:()=>cn,impersonationHeaders:()=>Dt,importSsoProviderFromMetadata:()=>Gf,installTemplate:()=>Ey,invalidateTokenCache:()=>Ne,inviteAccountMember:()=>hs,inviteProjectMember:()=>ei,inviteRepoCollaborator:()=>As,isAdminBypassEnabled:()=>Ng,isAgentPart:()=>Qh,isAppRouteUrl:()=>Ru,isAttachment:()=>zu,isBillingError:()=>Kr,isCompactionPart:()=>Yh,isConfigured:()=>bt,isDestructivePhase:()=>Xx,isExternalUrl:()=>sh,isFeatureDisabledError:()=>Gr,isFilePart:()=>Wu,isImpersonationSessionLive:()=>ru,isInstanceDetailPath:()=>lx,isInstanceScopedAppPath:()=>lp,isInternalLocalhostUrl:()=>eh,isInviteSent:()=>om,isLastUserMessage:()=>Sb,isManagedGithubProject:()=>Jg,isOpenCodeConfigInvalidError:()=>fx,isPatchPart:()=>eb,isPreviewUrl:()=>Zy,isProxiableLocalhostUrl:()=>Eu,isReasoningPart:()=>un,isRuntimeReady:()=>Dy,isServerReachable:()=>os,isSessionFresh:()=>Uo,isSessionStartError:()=>Cm,isShellMode:()=>Zu,isSnapshotPart:()=>Zh,isSubdomainPreviewUrl:()=>G_,isTextPart:()=>ge,isToolPart:()=>ie,isToolPartHidden:()=>sb,isUnderSandboxRoot:()=>ns,isWebProxyUrl:()=>rh,kortixPty:()=>Ql,leaveAccount:()=>Cs,linkGitHubInstallation:()=>Ws,linkRepository:()=>Fs,listAccountAudit:()=>Ic,listAccountAuditWebhooks:()=>$c,listAccountInvites:()=>bs,listAccountMembers:()=>ys,listAccountSessions:()=>Vf,listAccountTokens:()=>Sc,listAccounts:()=>ds,listActions:()=>Cf,listAdminSandboxes:()=>hy,listAgentIdentities:()=>Sf,listAllConnections:()=>ji,listAppDeployments:()=>rl,listApps:()=>zc,listAuditEvents:()=>oy,listAuditWebhooks:()=>ny,listBackups:()=>Nx,listBillingTransactions:()=>ha,listChangeRequests:()=>Co,listChannelBindings:()=>Xm,listColumns:()=>Ad,listConnections:()=>Ii,listConnectorTools:()=>nt,listConnectors:()=>Li,listCostByProject:()=>Km,listCredentialEvents:()=>rg,listCredentials:()=>ng,listDiscoverConnectors:()=>Nt,listDiscoverIntegrations:()=>_m,listEnv:()=>zr,listFeaturedMarketplaces:()=>Gc,listFields:()=>jd,listFiles:()=>ze,listGatewayLogs:()=>tc,listGitHubInstallations:()=>Gs,listGitHubRepositories:()=>Ks,listGitHubRepositoryBranches:()=>Ns,listGroupMembers:()=>pf,listGroupProjectGrants:()=>gf,listGroups:()=>of,listKortixProjectSessions:()=>Hd,listKortixProjects:()=>Bd,listKortixPty:()=>Xr,listLinkableGitHubInstallations:()=>Bs,listMarketplaceCatalogItems:()=>Fc,listMarketplaceSources:()=>Nc,listMarketplaces:()=>Lc,listMemberGroups:()=>ff,listMemberProjectAccess:()=>yf,listMilestoneEvents:()=>Xd,listMilestones:()=>Vd,listPendingApprovals:()=>pi,listPendingProjectInvites:()=>ti,listPipedreamApps:()=>Zi,listPipedreamSections:()=>eo,listPolicies:()=>hf,listProjectAccess:()=>Qs,listProjectAccessRequests:()=>Vs,listProjectAgents:()=>Md,listProjectAudit:()=>jc,listProjectBranches:()=>_o,listProjectCliTokens:()=>Rc,listProjectCommits:()=>Po,listProjectFiles:()=>yo,listProjectGroupGrants:()=>si,listProjectPolicies:()=>so,listProjectResourceGrants:()=>ci,listProjectSandboxTemplates:()=>oo,listProjectSandboxes:()=>fo,listProjectSecrets:()=>mi,listProjectSessions:()=>Me,listProjectSnapshots:()=>ao,listProjectTriggers:()=>na,listProjects:()=>we,listProjectsForAccount:()=>Ts,listPublicMarketplaceItems:()=>p_,listPublicMarketplaces:()=>d_,listReferrals:()=>rf,listReviewItems:()=>yc,listRoles:()=>wf,listSandboxMembers:()=>Ax,listSandboxProjectMembers:()=>Ux,listSandboxShares:()=>Pc,listSandboxes:()=>wx,listScimTokens:()=>$f,listServiceAccountsApi:()=>Yf,listServiceTemplates:()=>ug,listServices:()=>lg,listSessionCosts:()=>Ma,listSessionPublicShares:()=>Lo,listSessionsNeedingInput:()=>di,listSsoGroupMappings:()=>Kf,listTaskEvents:()=>dd,listTasks:()=>ud,listTemplates:()=>$d,listTicketEvents:()=>Pd,listTickets:()=>xd,loadHttpSessionHistory:()=>Rp,markInstanceError:()=>o_,markSessionFresh:()=>rt,mergeChangeRequest:()=>jo,migrateAdminSandboxProvider:()=>_y,mkdir:()=>et,narrowChatEvent:()=>Uu,normalizeAppPathname:()=>mx,normalizeExternalInput:()=>ih,normalizeToolName:()=>ut,openChangeRequest:()=>Io,openEventStream:()=>on,openStressTestStream:()=>E_,parseBillingError:()=>be,parseFlagOverride:()=>ax,parseLocalhostUrl:()=>at,parseOpenCodeErrorPayload:()=>mp,parseSubdomainUrl:()=>pl,parseWebProxyUrl:()=>nh,patchKortixProject:()=>zd,pipedreamConnect:()=>Ji,pipedreamConnectConnection:()=>Oi,pipedreamFinalize:()=>ro,pipedreamFinalizeConnection:()=>Fi,platformConfig:()=>E,pollConnectionOAuth2DeviceAuthorization:()=>ym,pollProjectProviderOAuth:()=>xi,previewGatewayRoute:()=>ec,previewMfaRequired:()=>Uf,probeEffectivePermission:()=>ay,probeEffectivePermissions:()=>cy,probePreviewPort:()=>H_,projectSessionStartSeed:()=>vm,provisionProject:()=>qs,provisionProjectStream:()=>Yg,provisionProjectWithToken:()=>sm,proxyLocalhostUrl:()=>ul,proxyUrlToInternal:()=>Yy,purchaseCredits:()=>Ia,putConnectionOAuth2Application:()=>pm,reactivateSandbox:()=>Tx,reactivateSubscription:()=>Ca,readBlob:()=>$e,readFile:()=>Ee,readProjectFile:()=>bo,rebuildProjectSnapshot:()=>co,reconcileConnection:()=>Ei,reconcileMemberConnection:()=>$i,reconcileServices:()=>gg,recordPlatformLogout:()=>h_,refreshReferralCode:()=>ef,registerAppArtifact:()=>tn,registerService:()=>mg,rejectProjectAccessRequest:()=>Xs,relativizePath:()=>ub,reloadProjectSessionConfig:()=>Qo,reloadProjectSessionConfigStream:()=>Yo,removeAccountAuditWebhook:()=>Mc,removeAccountMember:()=>Ss,removeGroupMember:()=>mf,removeKortixPty:()=>Zr,removeMarketplaceSource:()=>Wc,removeSandboxMember:()=>jx,renameFile:()=>tt,renameSandbox:()=>kx,reopenChangeRequest:()=>$o,reopenMilestone:()=>eg,replaceColumns:()=>Id,replaceFields:()=>Ed,replaceTemplates:()=>qd,requestAccountDeletion:()=>dy,requestChangesOnChangeRequest:()=>qo,requestProjectAccess:()=>im,requestProjectConnector:()=>Oc,requestProjectSecret:()=>Uc,resendAccountInvite:()=>_s,resendPendingProjectInvite:()=>ri,resetClient:()=>yg,resetGatewayRoutingPolicy:()=>Za,resetPublicClient:()=>xg,resetSandboxUpdateStatus:()=>t_,resolveApproval:()=>gi,resolvedPlan:()=>Um,restartProjectSession:()=>st,restartSandbox:()=>vx,restoreBackup:()=>Wx,revealCredential:()=>ig,revokeAccountSession:()=>Jf,revokeAccountToken:()=>Cc,revokeConnection:()=>Di,revokeGatewayKey:()=>gc,revokePendingProjectInvite:()=>ni,revokeProjectAccess:()=>Zs,revokeProjectCliToken:()=>Ac,revokeSandboxInvite:()=>Lx,revokeSandboxProjectAccess:()=>Fx,revokeSandboxShare:()=>wc,revokeScimToken:()=>Df,revokeSessionPublicShare:()=>Bo,rewriteLocalhostUrl:()=>pe,rollbackApp:()=>cl,runGatewayPlayground:()=>mc,saveGitHubInstallation:()=>Hs,scheduleDowngrade:()=>Ra,searchConnectorTools:()=>Ci,searchProjectFiles:()=>ho,sendReferralEmails:()=>sf,serviceAction:()=>dg,sessionStartKey:()=>Tm,setActiveInstanceCookie:()=>dx,setAdminBypass:()=>Kg,setAdminProviderDistribution:()=>by,setAdminProviderFallback:()=>ky,setAgentScope:()=>da,setBootstrapAuthToken:()=>od,setCachedAuthToken:()=>id,setConnectionPolicies:()=>xm,setConnectorAuthorizationStrategy:()=>Ki,setConnectorCredential:()=>no,setConnectorCredentialMode:()=>Bi,setConnectorName:()=>Vi,setConnectorPolicies:()=>Wi,setConnectorSecretBinding:()=>km,setConnectorSensitive:()=>Ni,setDefaultConnection:()=>Ui,setEnterpriseDemo:()=>uy,setEnv:()=>Vr,setGatewayBudget:()=>lc,setGatewayRoutingPolicy:()=>Ya,setGitHubAppFromExisting:()=>U_,setGitHubAppPat:()=>O_,setImpersonationSession:()=>$g,setMaintenanceConfig:()=>T_,setMeetBotName:()=>Xa,setMemberSuperAdmin:()=>Ef,setMfaRequired:()=>Of,setModelDefault:()=>ua,setPersonalProjectSecret:()=>wi,setProjectModelEnablement:()=>Am,setProjectOnboardingComplete:()=>Os,setProjectOnboardingProfile:()=>nm,setProjectPolicies:()=>io,setProjectSecretStrategy:()=>yi,setProjectSessionModel:()=>ta,setProjectSessionScope:()=>ea,setProjectSessionSharing:()=>Oo,setProjectTriggersActivation:()=>oa,setupSSH:()=>Vx,shellExitCode:()=>xl,shouldAttachImpersonation:()=>ou,shouldHideResponsePart:()=>Cb,shouldShowToolPart:()=>Vu,sortSessions:()=>kb,splitUserParts:()=>nb,startApp:()=>ol,startConnectionOAuth2Authorization:()=>mm,startConnectionOAuth2DeviceAuthorization:()=>fm,startConnectorSetupLink:()=>P_,startGitHubAppManifest:()=>M_,startProjectProviderOAuth:()=>bi,startProjectSession:()=>ve,startSessionWithToken:()=>C_,startTask:()=>yd,stopApp:()=>al,stopProjectSession:()=>it,stopSandbox:()=>Cx,stripAnsi:()=>fb,stripInstancePrefix:()=>ux,stripTrailingSlashes:()=>xe,submitAccessRequest:()=>y_,submitDemoRequest:()=>I_,submitOAuthConsent:()=>x_,submitReviewItem:()=>bc,submitSecretSetupLink:()=>S_,subscribeToImpersonation:()=>qg,supabaseClient:()=>Hg,syncConnectors:()=>Gi,syncSubscription:()=>Bm,systemReload:()=>Pg,toDaemonPath:()=>_e,toInstanceAwarePath:()=>gx,toInternalUrl:()=>$u,toSandboxAbsolutePath:()=>rs,toWorkspaceRelative:()=>ss,toolInfo:()=>ln,toolViewModel:()=>ap,transcribeAudio:()=>fc,triggerSandboxUpdate:()=>e_,triggersRequest:()=>Xl,turnHasSteps:()=>xb,unassignTicket:()=>Cd,unwrapError:()=>Y,updateAccountAuditWebhook:()=>Dc,updateAccountMemberRole:()=>vs,updateAccountName:()=>fs,updateAgentConfig:()=>$m,updateApp:()=>Xc,updateAppAccess:()=>Zc,updateAuditWebhook:()=>sy,updateChannelBinding:()=>Qm,updateConnectionCredential:()=>qi,updateEmailPolicy:()=>Ja,updateExperimentalFeature:()=>Ms,updateFeatureFlag:()=>Ds,updateGroup:()=>lf,updateKortixPty:()=>Yr,updateMilestone:()=>Yd,updatePatPolicy:()=>Qf,updatePolicy:()=>xf,updateProject:()=>Gt,updateProjectAccess:()=>Ys,updateProjectAgent:()=>Od,updateProjectDefaultAgent:()=>ma,updateProjectGroupGrant:()=>oi,updateProjectSandboxProvider:()=>Us,updateProjectSession:()=>Vo,updateProjectTrigger:()=>sa,updateRole:()=>Af,updateRolePermissions:()=>If,updateSandboxMemberRole:()=>Ex,updateSandboxMemberScope:()=>Mx,updateSandboxMemberSpendCap:()=>$x,updateSandboxTemplate:()=>po,updateSessionPolicy:()=>zf,updateTask:()=>fd,updateTemplateWarmPool:()=>tm,updateTicket:()=>wd,updateTicketStatus:()=>Sd,uploadAppArtifactArchive:()=>tl,uploadConnectorAttachment:()=>Ai,uploadFile:()=>qe,uploadSlackChannelFile:()=>Ka,upsertCredential:()=>sg,upsertProjectGitCredential:()=>Pi,upsertProjectSecret:()=>fi,upsertSsoProvider:()=>Lf,validateProjectManifest:()=>Is,validateReferralCode:()=>tf,validateToken:()=>Rs,verifyGatewayProvider:()=>Ym});var Op={backendUrl:"",getToken:async()=>null},xn=null,yt=null;function Fp(t){yt=t}function Lp(){return yt}function ht(t,e){e?.global!==!1&&(xn=t)}function E(){return yt?.()??xn??Op}function bt(){return xn!==null||yt?.()!==void 0}var jl=({onRequest:t,onSseError:e,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:g,url:f,...m})=>{let _,x=g??(l=>new Promise(h=>setTimeout(h,l)));return{stream:async function*(){let l=c??3e3,h=0,a=m.signal??new AbortController().signal;for(;!a.aborted;){h++;let A=m.headers instanceof Headers?m.headers:new Headers(m.headers);_!==void 0&&A.set("Last-Event-ID",_);try{let j={redirect:"follow",...m,body:m.serializedBody,headers:A,signal:a},v=new Request(f,j);t&&(v=await t(f,j));let $=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 w=$.body.pipeThrough(new TextDecoderStream).getReader(),F="",K=()=>{try{w.cancel()}catch{}};a.addEventListener("abort",K);try{for(;;){let{done:y,value:C}=await w.read();if(y)break;F+=C,F=F.replace(/\r\n/g,`
|
|
1
|
+
"use strict";var Kortix=(()=>{var _n=Object.defineProperty;var md=Object.getOwnPropertyDescriptor;var fd=Object.getOwnPropertyNames;var yd=Object.prototype.hasOwnProperty;var hd=(t,e)=>{for(var n in e)_n(t,n,{get:e[n],enumerable:!0})},bd=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of fd(e))!yd.call(t,s)&&s!==n&&_n(t,s,{get:()=>e[s],enumerable:!(r=md(e,s))||r.enumerable});return t};var xd=t=>bd(_n({},"__esModule",{value:!0}),t);var qP={};hd(qP,{ABORT_REASONS:()=>Np,ABORT_REASONS_NOT_YET_EMITTED:()=>Ox,ACTIVE_INSTANCE_COOKIE:()=>yt,ApiError:()=>v,AuthError:()=>be,BillingError:()=>le,COST_MARKUP:()=>zl,DEFAULT_TRANSCRIPT_OPTIONS:()=>Bl,DESTRUCTIVE_PHASES:()=>td,FEATURE_DISABLED_CODE:()=>At,FEATURE_FLAG_KEYS:()=>$m,FEATURE_NOT_SUPPORTED_CODE:()=>Fu,HostBoundaryError:()=>oe,IMPERSONATION_HEADER:()=>$u,INBOX_OBSERVATION_MAX_MS:()=>kP,INSTANCE_SCOPED_ROUTES:()=>Kp,MODEL_NOT_SERVABLE_CODE:()=>Lu,OPTIMISTIC_ABORT_MAX_MS:()=>wP,OPTIMISTIC_COMPACTION_MAX_MS:()=>RP,OPTIMISTIC_RECEIPT_MAX_MS:()=>xP,PREVIEW_PROBE_TIMEOUT_MS:()=>mP,PROVISION_IN_FLIGHT_CODE:()=>Gu,PublicSessionShareError:()=>tn,PublicVoiceJoinError:()=>nn,RequestTooLargeError:()=>xe,RuntimeNotReadyError:()=>$e,SANDBOX_FS_ROOTS:()=>qt,SANDBOX_PORTS:()=>re,SERVER_COMPACTION_REVALIDATE_MS:()=>cd,SERVER_OBSERVATION_MAX_MS:()=>_P,STREAM_OBSERVATION_MAX_MS:()=>PP,SessionNotReadyError:()=>pt,SessionStartError:()=>Xt,__getConfigResolver:()=>kd,__setConfigResolver:()=>Pd,abortErrorReason:()=>Ux,acceptAccountInvite:()=>ws,acceptInvite:()=>d_,actReviewItem:()=>Vc,activateConnection:()=>Oi,addGroupMembers:()=>Ac,addMarketplaceSource:()=>_l,allDescendantIds:()=>Ep,appendPreviewToken:()=>dP,approveProjectAccessRequest:()=>Xs,approveTask:()=>Zd,archiveProject:()=>Kt,assignTicket:()=>ag,attachGroupToProject:()=>oi,authenticatedFetch:()=>D,backendApi:()=>i,bindSlackIdentity:()=>jf,bindTeamsIdentity:()=>$f,brokerProjectSecretRequest:()=>bi,buildInstancePath:()=>Wp,buildPresentationTemplateImageUrl:()=>hP,buildPresentationTemplatePdfUrl:()=>yP,buildPreviewAuthEndpoint:()=>su,buildPublicTemplateUrl:()=>rd,buildRuntimePresentationConversionUrl:()=>od,buildSandboxTemplate:()=>fo,buildStaticFileHealthPreviewUrl:()=>_h,buildStaticFileLocalUrl:()=>xh,buildStaticFilePreviewUrl:()=>bh,buildStaticFileServicePath:()=>cp,buildTunnelEventStreamUrl:()=>dd,buildWebProxyUrl:()=>vh,bulkActReviewItems:()=>Jc,bulkDeletePolicies:()=>Zf,bulkImportPolicies:()=>ey,callConnector:()=>Ai,cancelAccountDeletion:()=>My,cancelAccountInvite:()=>_s,cancelSandbox:()=>o_,cancelSandboxUpdate:()=>C_,cancelScheduledChange:()=>Da,cancelSubscription:()=>ja,checkAccessEmail:()=>F_,childMapByParent:()=>Wb,claimComputer:()=>E_,claimPerSeatBilling:()=>Rf,claimWarmProjectSession:()=>Ho,classifyPart:()=>Kl,classifyPreviewProbeStatus:()=>id,classifyTurn:()=>wp,clearImpersonationSession:()=>ps,clearModelDefault:()=>ba,clearSessionFresh:()=>lf,closeChangeRequest:()=>$o,closeMilestone:()=>Dg,collectTurnParts:()=>Bb,commentTicket:()=>lg,commitSessionChanges:()=>Mo,compactionExpiryAtMs:()=>AP,compareMessagesForDisplay:()=>Ip,computeStatusFromPart:()=>Wl,configureAutoTopup:()=>Fa,configureKortix:()=>_t,confirmCheckoutSession:()=>Ia,connectEmail:()=>ec,connectSlack:()=>Ha,convertPresentationToGoogleSlides:()=>zy,convertRuntimePresentation:()=>bP,copyFile:()=>st,costExportUrl:()=>Ga,countLiveInboxPrompts:()=>SP,createAccount:()=>ms,createAccountAuditWebhook:()=>ll,createAccountToken:()=>el,createApp:()=>wl,createAppAccessSession:()=>Al,createAppDeployment:()=>El,createAssignment:()=>Bc,createAuditWebhook:()=>Ry,createBackup:()=>f_,createCheckoutSession:()=>Aa,createConnector:()=>Qi,createFile:()=>rt,createGatewayKey:()=>xc,createGroup:()=>vc,createHttpSessionSyncController:()=>pd,createInstance:()=>T_,createKortix:()=>hp,createKortixPty:()=>Zr,createMarketplaceInstallSession:()=>Zy,createMilestone:()=>$g,createPerSeatCheckout:()=>Cf,createPolicy:()=>Xf,createPortalSession:()=>Ea,createProject:()=>$s,createProjectAgent:()=>xg,createProjectCliToken:()=>rl,createProjectRepo:()=>qs,createProjectResourceGrant:()=>ui,createProjectSession:()=>Be,createProjectTrigger:()=>ua,createRole:()=>Dc,createSSEStream:()=>gd,createSandbox:()=>Zx,createSandboxShare:()=>Qc,createSandboxTemplate:()=>po,createScimToken:()=>sy,createServiceAccountApi:()=>wy,createSessionPrompt:()=>Jo,createSessionPublicShare:()=>Bo,createSsoGroupMapping:()=>my,createTask:()=>Xd,createTicket:()=>sg,createTunnelEventStream:()=>$P,declineAccountInvite:()=>Ss,declineInvite:()=>g_,deleteAccountImmediately:()=>Oy,deleteApp:()=>Cl,deleteAuditWebhook:()=>Ay,deleteBackup:()=>h_,deleteConnector:()=>Zi,deleteCredential:()=>Bg,deleteEnv:()=>Qr,deleteFile:()=>ke,deleteGatewayBudget:()=>hc,deleteGitHubInstallation:()=>Vs,deleteGroup:()=>Rc,deleteInstance:()=>A_,deleteKortixProject:()=>Tg,deleteMilestone:()=>Og,deletePersonalProjectSecret:()=>vi,deletePolicy:()=>Yf,deleteProjectAgent:()=>Pg,deleteProjectProviderOAuth:()=>Pi,deleteProjectResourceGrant:()=>pi,deleteProjectSecret:()=>wi,deleteProjectSession:()=>na,deleteProjectTrigger:()=>da,deleteRole:()=>Uc,deleteSandboxTemplate:()=>mo,deleteServiceAccountApi:()=>vy,deleteSessionPrompt:()=>Qo,deleteSsoGroupMapping:()=>fy,deleteSsoProvider:()=>dy,deleteTask:()=>eg,deleteTicket:()=>ug,describeAccountInvite:()=>ks,describeConnectorTool:()=>Ti,detachGroupFromProject:()=>ci,detectLocalhostUrls:()=>op,disableServiceAccountApi:()=>Sy,disconnectEmail:()=>tc,disconnectGitHubApp:()=>lP,disconnectSlack:()=>Va,discoverConnectionOAuth2:()=>Ym,discoverConnectorAuth:()=>Yi,discoverLocalSandbox:()=>r_,downloadAccountAudit:()=>tP,dropClientForUrl:()=>Qg,dropPublicClientForUrl:()=>em,ensurePmSession:()=>hg,ensurePreviewSessionCookie:()=>gP,ensureProjectConnectorConnection:()=>Jm,ensureSandbox:()=>ed,ensureWarmProjectSession:()=>Ko,env:()=>vu,exportAccountAudit:()=>al,extractGatewayErrorDetails:()=>se,extractInstanceRoute:()=>Ke,featureDisabledKey:()=>Kr,featureFlags:()=>Gx,fetchAccountStateWithToken:()=>Sf,fetchAccountsWithToken:()=>jm,fetchCostExportCsv:()=>Ef,fetchProjectArchive:()=>_o,fetchProjectsForAccountWithToken:()=>Bm,files:()=>ju,finalizeAppArtifact:()=>sn,finalizeConnectorSetupLink:()=>W_,findFiles:()=>tt,findLastTextPart:()=>Nb,findText:()=>nt,fireProjectTrigger:()=>ma,fixSandboxWithAgent:()=>uo,formatBillingErrorForUI:()=>Wr,formatCost:()=>ix,formatDuration:()=>nx,formatOpenCodeRuntimeError:()=>Qp,formatRuntimeError:()=>Qp,formatTokens:()=>ox,formatTranscript:()=>xp,generateSessionId:()=>bp,getAccount:()=>fs,getAccountDeletionStatus:()=>qy,getAccountState:()=>ka,getAccountStateMinimal:()=>wa,getActiveInstanceIdFromCookie:()=>Vp,getAdminProviderAnalytics:()=>By,getAdminProviderDistribution:()=>Fy,getAdminProviderFallback:()=>Ky,getAdminRole:()=>Uy,getAgentCardLabel:()=>Ap,getAgentConfig:()=>bf,getAgentPersona:()=>kg,getAllVersions:()=>w_,getAnsweredQuestionParts:()=>Hb,getApp:()=>Sl,getAppAccess:()=>Rl,getAppDeployment:()=>$l,getAppDeploymentLogs:()=>ql,getApprovalLink:()=>Yy,getAuthToken:()=>Je,getAuthTokenWithRetry:()=>Br,getAutoTopupSettings:()=>Ua,getAutoTopupSetupStatus:()=>vf,getBillingCreditBreakdown:()=>Ca,getBillingTierConfigurations:()=>Ta,getBillingTransactionsSummary:()=>va,getBillingUsageHistory:()=>Ra,getChangeRequest:()=>To,getChangeRequestDiff:()=>Ao,getChangeRequestMergePreview:()=>Io,getChildSessionError:()=>jb,getChildSessionId:()=>Eb,getChildSessionToolParts:()=>$b,getClient:()=>ue,getClientForUrl:()=>te,getConnectStatus:()=>no,getConnectionOAuth2Application:()=>Qm,getConnectionOAuth2Status:()=>nf,getConnectionPolicies:()=>rf,getConnectorCatalog:()=>Ht,getConnectorConfig:()=>Vi,getConnectorPolicies:()=>Wi,getConnectorSetupLink:()=>K_,getCostSummary:()=>If,getCurrentInstanceIdFromPathname:()=>zp,getCurrentInstanceIdFromWindow:()=>Kx,getCurrentProject:()=>os,getDefaultAccountState:()=>Qt,getDiagnostics:()=>Mb,getDirectory:()=>Tp,getDiscoverConnector:()=>zt,getDiscoverIntegration:()=>af,getEmailInstallation:()=>Ya,getEmailMode:()=>Za,getEnterpriseDemo:()=>Ey,getFileStatus:()=>et,getFileWithDir:()=>Hl,getFilename:()=>Rp,getFullChangelog:()=>nd,getGatewayBreakdown:()=>dc,getGatewayBudgets:()=>fc,getGatewayErrors:()=>mc,getGatewayKeys:()=>bc,getGatewayLog:()=>lc,getGatewayOverview:()=>uc,getGatewayRoutingPolicy:()=>sc,getGatewaySeries:()=>pc,getGatewaySessions:()=>gc,getGitHubAppStatus:()=>iP,getGitHubInstallation:()=>Gs,getGoogleAuthUrl:()=>Wy,getGroup:()=>Sc,getHiddenToolParts:()=>Tb,getImpersonationSession:()=>Mu,getInvite:()=>p_,getJustavpsServerTypes:()=>R_,getKortixProject:()=>vg,getKortixProjectBySession:()=>Cg,getKortixPtyWebSocketUrl:()=>ns,getLatestSandboxVersion:()=>k_,getMaintenanceConfig:()=>Q_,getManagedGitStatus:()=>Um,getMarketplaceCatalogItem:()=>hl,getMarketplaceCatalogItemFile:()=>bl,getMfaRequired:()=>oy,getMilestone:()=>Eg,getModelDefaults:()=>ya,getOAuthConsentRequest:()=>B_,getOpenCodeConfigInvalidError:()=>Yl,getPartText:()=>Cb,getPatPolicy:()=>_y,getPermissionForTool:()=>Ob,getProject:()=>Ft,getProjectActivity:()=>wg,getProjectCommit:()=>wo,getProjectCommitDiff:()=>So,getProjectDetail:()=>Lt,getProjectFileHistory:()=>vo,getProjectGitToken:()=>js,getProjectLlmCatalog:()=>Gt,getProjectLlmCatalogProviders:()=>Dm,getProjectModelPicker:()=>Bt,getProjectSandboxHealth:()=>Vt,getProjectSandboxProviderTransition:()=>Fm,getProjectSession:()=>Jt,getProjectSessionConfigState:()=>ra,getProjectSessionScope:()=>oa,getProrationPreview:()=>Ma,getProviders:()=>Qx,getProxyBaseUrl:()=>Ph,getPublicClientForUrl:()=>Zg,getPublicMarketplaceItem:()=>O_,getPublicMarketplaceItemFile:()=>U_,getPublicSessionShare:()=>Vy,getPublicSessionShareMessages:()=>Jy,getPublicShareByToken:()=>J_,getPublicTemplate:()=>sP,getPublicVoiceJoin:()=>Xy,getPublicVoiceTranscript:()=>Qy,getQuestionForTool:()=>Ub,getReferralCode:()=>Ff,getReferralStats:()=>Bf,getRetryInfo:()=>ax,getRetryMessage:()=>cx,getReviewItem:()=>Wc,getRolePermissions:()=>$c,getRoleUsage:()=>qc,getSSHConnection:()=>x_,getSandbox:()=>Yx,getSandboxById:()=>e_,getSandboxPortUrl:()=>Xx,getSandboxProvisionStatus:()=>j_,getSandboxProvisionStreamUrl:()=>$_,getSandboxUpdateStatus:()=>P_,getSandboxUrl:()=>tu,getSecretSetupLink:()=>z_,getServerHealth:()=>Dt,getServiceLogs:()=>zg,getSessionAudit:()=>Wo,getSessionCost:()=>sx,getSessionCostRecord:()=>en,getSessionHealth:()=>Fl,getSessionPolicy:()=>yy,getSessionPreviewCandidates:()=>Lo,getSessionTranscript:()=>zo,getSessionTurn:()=>Vo,getShellModePart:()=>Jb,getSlackChannelFile:()=>Ja,getSlackInstallation:()=>Ka,getSlackManifest:()=>za,getSlackMode:()=>Wa,getSsoProvider:()=>ly,getStaticFileHealthPath:()=>lp,getSupabaseAccessToken:()=>Rt,getSupabaseAccessTokenWithRetry:()=>ee,getTask:()=>zd,getTaskStatus:()=>Jd,getTemplate:()=>eh,getTicket:()=>ng,getToolInfo:()=>qb,getTranscriptFilename:()=>_p,getTurnCost:()=>rx,getTurnError:()=>Zb,getTurnErrorDetails:()=>ex,getTurnStatus:()=>tx,getUsageRollup:()=>La,getUserRolesWithToken:()=>Z_,getVersionDiff:()=>Co,getVoiceTranscript:()=>ea,getWorkingState:()=>Qb,grantSandboxProjectAccess:()=>l_,grantSecretToAgent:()=>Pf,groupMessagesIntoTurns:()=>Gb,hasDiffs:()=>lx,hasLocalhostUrls:()=>yh,hasPreviewTarget:()=>ap,hasRetryingAssistantTurn:()=>Vb,heartbeatGapEvent:()=>mp,holdSessionPrompts:()=>Zo,humanizeToolName:()=>pn,impersonationHeaders:()=>Ot,importSsoProviderFromMetadata:()=>py,installTemplate:()=>th,invalidateTokenCache:()=>Ve,inviteAccountMember:()=>bs,inviteProjectMember:()=>ti,inviteRepoCollaborator:()=>Is,isAbortError:()=>Mx,isAdminBypassEnabled:()=>Am,isAgentPart:()=>kb,isAppRouteUrl:()=>ip,isAttachment:()=>vp,isBillingError:()=>Hr,isCompactionPart:()=>wb,isConfigured:()=>Pt,isDestructivePhase:()=>__,isExternalUrl:()=>Th,isFeatureDisabledError:()=>Nr,isFilePart:()=>Sp,isImpersonationSessionLive:()=>qu,isInstanceDetailPath:()=>Bx,isInstanceScopedAppPath:()=>Hp,isInternalLocalhostUrl:()=>Sh,isInviteSent:()=>Hm,isLastUserMessage:()=>Xb,isManagedGithubProject:()=>qm,isOpenCodeConfigInvalidError:()=>Vx,isPatchPart:()=>vb,isPreviewUrl:()=>wh,isProxiableLocalhostUrl:()=>up,isReasoningPart:()=>gn,isRetryableTurnError:()=>jp,isRuntimeReady:()=>ih,isServerReachable:()=>as,isSessionFresh:()=>Uo,isSessionStartError:()=>df,isShellMode:()=>$p,isSnapshotPart:()=>Sb,isSubdomainPreviewUrl:()=>pP,isTextPart:()=>fe,isToolPart:()=>ie,isToolPartHidden:()=>Ab,isUnderSandboxRoot:()=>ss,isWebProxyUrl:()=>Rh,kortixPty:()=>Ru,leaveAccount:()=>Rs,linkGitHubInstallation:()=>zs,linkRepository:()=>Ls,listAccountAudit:()=>il,listAccountAuditWebhooks:()=>cl,listAccountInvites:()=>xs,listAccountMembers:()=>hs,listAccountResourceGrants:()=>Vf,listAccountSessions:()=>by,listAccountTokens:()=>Zc,listAccounts:()=>gs,listActions:()=>ty,listAdminSandboxes:()=>Ly,listAgentIdentities:()=>jc,listAllConnections:()=>ji,listAppDeployments:()=>jl,listApps:()=>kl,listAssignments:()=>Gc,listAuditEvents:()=>Iy,listAuditWebhooks:()=>Cy,listBackups:()=>m_,listBillingTransactions:()=>Sa,listChangeRequests:()=>Ro,listChannelBindings:()=>Mf,listColumns:()=>pg,listConnections:()=>Ei,listConnectorTools:()=>it,listConnectors:()=>Gi,listCostByProject:()=>Af,listCredentialEvents:()=>Fg,listCredentials:()=>Ug,listDiscoverConnectors:()=>Wt,listDiscoverIntegrations:()=>of,listEnv:()=>Jr,listFeaturedMarketplaces:()=>yl,listFields:()=>gg,listFiles:()=>Ze,listGatewayLogs:()=>cc,listGitHubInstallations:()=>Bs,listGitHubRepositories:()=>Ks,listGitHubRepositoryBranches:()=>Hs,listGroupMembers:()=>Tc,listGroupProjectGrants:()=>Hf,listGroups:()=>wc,listKortixProjectSessions:()=>Rg,listKortixProjects:()=>Sg,listKortixPty:()=>Yr,listLinkableGitHubInstallations:()=>Ns,listMarketplaceCatalogItems:()=>ml,listMarketplaceSources:()=>xl,listMarketplaces:()=>fl,listMemberGroups:()=>Wf,listMemberProjectAccess:()=>zf,listMilestoneEvents:()=>jg,listMilestones:()=>Ig,listPendingApprovals:()=>di,listPendingProjectInvites:()=>ni,listPermissions:()=>Kc,listPipedreamApps:()=>eo,listPipedreamSections:()=>to,listPolicies:()=>Jf,listProjectAccess:()=>Ys,listProjectAccessRequests:()=>Js,listProjectAgents:()=>bg,listProjectAudit:()=>ol,listProjectBranches:()=>Po,listProjectCliTokens:()=>nl,listProjectCommits:()=>ko,listProjectFiles:()=>ho,listProjectGroupGrants:()=>ii,listProjectPolicies:()=>io,listProjectResourceGrants:()=>li,listProjectSandboxTemplates:()=>ao,listProjectSandboxes:()=>yo,listProjectSecrets:()=>fi,listProjectSessions:()=>Ge,listProjectSnapshots:()=>co,listProjectTriggers:()=>la,listProjects:()=>Ce,listProjectsForAccount:()=>As,listPublicMarketplaceItems:()=>D_,listPublicMarketplaces:()=>M_,listReferrals:()=>Nf,listReviewItems:()=>Hc,listRoles:()=>Ec,listSandboxProjectMembers:()=>c_,listSandboxShares:()=>Xc,listSandboxes:()=>n_,listScimTokens:()=>ry,listServiceAccountsApi:()=>ky,listServiceTemplates:()=>Wg,listServices:()=>Hg,listSessionCosts:()=>Na,listSessionPrompts:()=>Xo,listSessionPublicShares:()=>Go,listSessionsNeedingInput:()=>gi,listSsoGroupMappings:()=>gy,listTaskEvents:()=>Vd,listTasks:()=>Wd,listTemplates:()=>fg,listTicketEvents:()=>rg,listTickets:()=>tg,loadHttpSessionHistory:()=>ud,markInstanceError:()=>I_,markSessionFresh:()=>ot,mergeChangeRequest:()=>jo,migrateAdminSandboxProvider:()=>Ny,mkdir:()=>Fe,narrowChatEvent:()=>fp,normalizeAppPathname:()=>zx,normalizeExternalInput:()=>Ah,normalizeToolName:()=>gt,openChangeRequest:()=>Eo,openEventStream:()=>ln,openStressTestStream:()=>nP,parseBillingError:()=>_e,parseFlagOverride:()=>Lx,parseLocalhostUrl:()=>ut,parseOpenCodeErrorPayload:()=>Xp,parseProxyHop:()=>Ul,parseSubdomainUrl:()=>Gl,parseWebProxyUrl:()=>Ch,patchKortixProject:()=>Ag,pipedreamConnect:()=>Xi,pipedreamConnectConnection:()=>Fi,pipedreamFinalize:()=>so,pipedreamFinalizeConnection:()=>Li,platformConfig:()=>$,pollConnectionOAuth2DeviceAuthorization:()=>tf,pollProjectProviderOAuth:()=>_i,previewGatewayRoute:()=>ac,previewMfaRequired:()=>ay,probeEffectivePermission:()=>Fc,probeEffectivePermissions:()=>Lc,probePreviewPort:()=>fP,projectCompacting:()=>TP,projectSessionStartSeed:()=>pf,projectWorking:()=>vP,provisionProject:()=>Ds,provisionProjectStream:()=>Om,provisionProjectWithToken:()=>Nm,proxyLocalhostUrl:()=>Ll,proxyUrlToInternal:()=>kh,purchaseCredits:()=>Oa,putConnectionOAuth2Application:()=>Xm,reactivateSandbox:()=>a_,reactivateSubscription:()=>$a,readBlob:()=>Me,readFile:()=>De,readProjectFile:()=>xo,rebuildProjectSnapshot:()=>lo,reconcileConnection:()=>$i,reconcileMemberConnection:()=>qi,reconcileServices:()=>Jg,recordPlatformLogout:()=>G_,refreshReferralCode:()=>Lf,registerAppArtifact:()=>rn,registerService:()=>Xg,rejectProjectAccessRequest:()=>Qs,relativizePath:()=>Db,reloadProjectSessionConfig:()=>sa,reloadProjectSessionConfigStream:()=>ia,removeAccountAuditWebhook:()=>pl,removeAccountMember:()=>vs,removeGroupMember:()=>Ic,removeKortixPty:()=>ts,removeMarketplaceSource:()=>Pl,renameFile:()=>pe,renameSandbox:()=>t_,reopenChangeRequest:()=>qo,reopenMilestone:()=>Mg,replaceColumns:()=>dg,replaceFields:()=>mg,replaceTemplates:()=>yg,requestAccountDeletion:()=>Dy,requestChangesOnChangeRequest:()=>Do,requestProjectAccess:()=>Km,requestProjectConnector:()=>gl,requestProjectSecret:()=>dl,resendAccountInvite:()=>Ps,resendPendingProjectInvite:()=>si,resetClient:()=>Yg,resetGatewayRoutingPolicy:()=>oc,resetPublicClient:()=>tm,resetSandboxUpdateStatus:()=>v_,resolveApproval:()=>mi,resolvedPlan:()=>wf,restartProjectSession:()=>at,restartSandbox:()=>s_,restoreBackup:()=>y_,retrySessionPrompt:()=>Yo,revealCredential:()=>Gg,revokeAccountSession:()=>xy,revokeAccountToken:()=>tl,revokeAssignment:()=>Nc,revokeConnection:()=>Mi,revokeGatewayKey:()=>_c,revokePendingProjectInvite:()=>ri,revokeProjectAccess:()=>ei,revokeProjectCliToken:()=>sl,revokeSandboxProjectAccess:()=>u_,revokeSandboxShare:()=>Yc,revokeScimToken:()=>iy,revokeSessionPublicShare:()=>No,rewriteLocalhostUrl:()=>ge,rollbackApp:()=>Ol,runGatewayPlayground:()=>Pc,saveGitHubInstallation:()=>Ws,scheduleDowngrade:()=>qa,searchConnectorTools:()=>Ri,searchProjectFiles:()=>bo,sendReferralEmails:()=>Kf,serverCompactionRevalidateAtMs:()=>IP,serviceAction:()=>Vg,sessionStartKey:()=>mf,setActiveInstanceCookie:()=>Hx,setAdminBypass:()=>Tm,setAdminProviderDistribution:()=>Gy,setAdminProviderFallback:()=>Hy,setAgentScope:()=>xa,setBootstrapAuthToken:()=>Bd,setCachedAuthToken:()=>Gd,setConnectionPolicies:()=>sf,setConnectorAuthorizationStrategy:()=>Ki,setConnectorCredential:()=>ro,setConnectorCredentialMode:()=>Ni,setConnectorName:()=>Ji,setConnectorPolicies:()=>zi,setConnectorSecretBinding:()=>cf,setConnectorSensitive:()=>Hi,setDefaultConnection:()=>Ui,setEnterpriseDemo:()=>jy,setEnv:()=>Xr,setGatewayBudget:()=>yc,setGatewayRoutingPolicy:()=>ic,setGitHubAppFromExisting:()=>aP,setGitHubAppPat:()=>cP,setImpersonationSession:()=>bm,setMaintenanceConfig:()=>Y_,setMeetBotName:()=>rc,setMemberSuperAdmin:()=>ny,setMfaRequired:()=>cy,setModelDefault:()=>ha,setPersonalProjectSecret:()=>Si,setProjectModelEnablement:()=>ff,setProjectOnboardingComplete:()=>Fs,setProjectOnboardingProfile:()=>Gm,setProjectPolicies:()=>oo,setProjectSecretStrategy:()=>hi,setProjectSessionModel:()=>ca,setProjectSessionScope:()=>aa,setProjectSessionSharing:()=>Fo,setProjectTriggersActivation:()=>ga,setupSSH:()=>b_,shellExitCode:()=>Jl,shouldAttachImpersonation:()=>Ou,shouldHideResponsePart:()=>Yb,shouldShowToolPart:()=>Cp,sortSessions:()=>zb,splitUserParts:()=>Rb,startApp:()=>Dl,startConnectionOAuth2Authorization:()=>Zm,startConnectionOAuth2DeviceAuthorization:()=>ef,startConnectorSetupLink:()=>H_,startGitHubAppManifest:()=>oP,startProjectProviderOAuth:()=>xi,startProjectSession:()=>Te,startSessionWithToken:()=>X_,startTask:()=>Yd,stopApp:()=>Ml,stopProjectSession:()=>ct,stopSandbox:()=>i_,stripAnsi:()=>Lb,stripInstancePrefix:()=>Nx,stripTrailingSlashes:()=>Pe,submitAccessRequest:()=>L_,submitDemoRequest:()=>eP,submitOAuthConsent:()=>N_,submitReviewItem:()=>zc,submitSecretSetupLink:()=>V_,subscribeToImpersonation:()=>xm,supabaseClient:()=>Im,syncConnectors:()=>Bi,syncSubscription:()=>Tf,systemReload:()=>rm,toDaemonPath:()=>we,toInstanceAwarePath:()=>Wx,toInternalUrl:()=>pp,toSandboxAbsolutePath:()=>Ye,toWorkspaceRelative:()=>is,toolInfo:()=>dn,toolViewModel:()=>Gp,transcribeAudio:()=>kc,triggerSandboxUpdate:()=>S_,triggersRequest:()=>Cu,turnHasSteps:()=>Kb,unassignTicket:()=>cg,unwrapError:()=>Y,updateAccountAuditWebhook:()=>ul,updateAccountMemberRole:()=>Cs,updateAccountName:()=>ys,updateAgentConfig:()=>xf,updateApp:()=>vl,updateAppAccess:()=>Tl,updateAuditWebhook:()=>Ty,updateChannelBinding:()=>Of,updateConnectionCredential:()=>Di,updateEmailPolicy:()=>nc,updateExperimentalFeature:()=>Os,updateFeatureFlag:()=>Ms,updateGroup:()=>Cc,updateKortixPty:()=>es,updateMilestone:()=>qg,updatePatPolicy:()=>Py,updatePolicy:()=>Qf,updateProject:()=>Nt,updateProjectAccess:()=>Zs,updateProjectAgent:()=>_g,updateProjectDefaultAgent:()=>Pa,updateProjectGroupGrant:()=>ai,updateProjectSandboxProvider:()=>Us,updateProjectSession:()=>ta,updateProjectTrigger:()=>pa,updateRole:()=>Mc,updateRolePermissions:()=>Oc,updateSandboxTemplate:()=>go,updateSessionPolicy:()=>hy,updateTask:()=>Qd,updateTemplateWarmPool:()=>Lm,updateTicket:()=>ig,updateTicketStatus:()=>og,uploadAppArtifactArchive:()=>Il,uploadConnectorAttachment:()=>Ii,uploadFile:()=>Oe,uploadSlackChannelFile:()=>Xa,upsertCredential:()=>Lg,upsertProjectGitCredential:()=>ki,upsertProjectSecret:()=>yi,upsertSsoProvider:()=>uy,validateProjectManifest:()=>Es,validateReferralCode:()=>Gf,validateToken:()=>Ts,verifyGatewayProvider:()=>Uf,workingExpiryAtMs:()=>CP,writeFile:()=>Ue});var _d={backendUrl:"",getToken:async()=>null},Pn=null,xt=null;function Pd(t){xt=t}function kd(){return xt}function _t(t,e){e?.global!==!1&&(Pn=t)}function $(){return xt?.()??Pn??_d}function Pt(){return Pn!==null||xt?.()!==void 0}var au=({onRequest:t,onSseError:e,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:o,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:d,url:f,...m})=>{let b,x=d??(C=>new Promise(l=>setTimeout(l,C)));return{stream:async function*(){let C=o??3e3,l=0,y=m.signal??new AbortController().signal;for(;!y.aborted;){l++;let c=m.headers instanceof Headers?m.headers:new Headers(m.headers);b!==void 0&&c.set("Last-Event-ID",b);try{let R={redirect:"follow",...m,body:m.serializedBody,headers:c,signal:y},T=new Request(f,R);t&&(T=await t(f,R));let q=await(m.fetch??globalThis.fetch)(T);if(!q.ok)throw new Error(`SSE failed: ${q.status} ${q.statusText}`);if(!q.body)throw new Error("No body in SSE response");let j=q.body.pipeThrough(new TextDecoderStream).getReader(),A="",z=()=>{try{j.cancel()}catch{}};y.addEventListener("abort",z);try{for(;;){let{done:V,value:h}=await j.read();if(V)break;A+=h,A=A.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
|
-
`);let
|
|
3
|
+
`);let S=A.split(`
|
|
4
4
|
|
|
5
|
-
`);
|
|
6
|
-
`),
|
|
7
|
-
`);try{N=JSON.parse(U),D=!0}catch{N=U}}D&&(s&&await s(N),r&&(N=await r(N))),n?.({data:N,event:Q,id:_,retry:l}),J.length&&(yield N)}}}finally{a.removeEventListener("abort",K),w.releaseLock()}break}catch(j){if(e?.(j),u!==void 0&&h>=u)break;let v=Math.min(l*2**(h-1),p??3e4);await x(v)}}}()}};var Gp=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Bp=t=>{switch(t){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Kp=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},xt=({allowReserved:t,explode:e,name:n,style:r,value:s})=>{if(!e){let p=(t?s:s.map(g=>encodeURIComponent(g))).join(Bp(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=Gp(r),u=s.map(p=>r==="label"||r==="simple"?t?p:encodeURIComponent(p):Te({allowReserved:t,name:n,value:p})).join(c);return r==="label"||r==="matrix"?c+u:u},Te=({allowReserved:t,name:e,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${t?n:encodeURIComponent(n)}`},_t=({allowReserved:t,explode:e,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!e){let g=[];Object.entries(s).forEach(([m,_])=>{g=[...g,m,t?_:encodeURIComponent(_)]});let f=g.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let u=Kp(r),p=Object.entries(s).map(([g,f])=>Te({allowReserved:t,name:r==="deepObject"?`${n}[${g}]`:g,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var Np=/\{[^{}]+\}/g,Hp=({path:t,url:e})=>{let n=e,r=e.match(Np);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let g=t[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,xt({explode:c,name:u,style:p,value:g}));continue}if(typeof g=="object"){n=n.replace(s,_t({explode:c,name:u,style:p,value:g,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${Te({name:u,value:g})}`);continue}let f=encodeURIComponent(p==="label"?`.${g}`:g);n=n.replace(s,f)}return n},El=({baseUrl:t,path:e,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(t??"")+c;e&&(u=Hp({path:e,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function _n(t){let e=t.body!==void 0;if(e&&t.bodySerializer)return"serializedBody"in t?t.serializedBody!==void 0&&t.serializedBody!==""?t.serializedBody:null:t.body!==""?t.body:null;if(e)return t.body}var $l=async(t,e)=>{let n=typeof e=="function"?await e(t):e;if(n)return t.scheme==="bearer"?`Bearer ${n}`:t.scheme==="basic"?`Basic ${btoa(n)}`:n};var Pn={bodySerializer:t=>JSON.stringify(t,(e,n)=>typeof n=="bigint"?n.toString():n)};var ql=({parameters:t={},...e}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let p=t[c]||e;if(Array.isArray(u)){let g=xt({allowReserved:p.allowReserved,explode:!0,name:c,style:"form",value:u,...p.array});g&&s.push(g)}else if(typeof u=="object"){let g=_t({allowReserved:p.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...p.object});g&&s.push(g)}else{let g=Te({allowReserved:p.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},Dl=t=>{if(!t)return"stream";let e=t.split(";")[0]?.trim();if(e){if(e.startsWith("application/json")||e.endsWith("+json"))return"json";if(e==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>e.startsWith(n)))return"blob";if(e.startsWith("text/"))return"text"}},Wp=(t,e)=>e?!!(t.headers.has(e)||t.query?.[e]||t.headers.get("Cookie")?.includes(`${e}=`)):!1,Ml=async({security:t,...e})=>{for(let n of t){if(Wp(e,n.name))continue;let r=await $l(n,e.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":e.query||(e.query={}),e.query[s]=r;break;case"cookie":e.headers.append("Cookie",`${s}=${r}`);break;default:e.headers.set(s,r);break}}},kn=t=>El({baseUrl:t.baseUrl,path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:ql(t.querySerializer),url:t.url}),wn=(t,e)=>{let n={...t,...e};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=Pt(t.headers,e.headers),n},zp=t=>{let e=[];return t.forEach((n,r)=>{e.push([r,n])}),e},Pt=(...t)=>{let e=new Headers;for(let n of t){if(!n)continue;let r=n instanceof Headers?zp(n):Object.entries(n);for(let[s,c]of r)if(c===null)e.delete(s);else if(Array.isArray(c))for(let u of c)e.append(s,u);else c!==void 0&&e.set(s,typeof c=="object"?JSON.stringify(c):c)}return e},Ge=class{fns=[];clear(){this.fns=[]}eject(e){let n=this.getInterceptorIndex(e);this.fns[n]&&(this.fns[n]=null)}exists(e){let n=this.getInterceptorIndex(e);return!!this.fns[n]}getInterceptorIndex(e){return typeof e=="number"?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,n){let r=this.getInterceptorIndex(e);return this.fns[r]?(this.fns[r]=n,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},Ul=()=>({error:new Ge,request:new Ge,response:new Ge}),Vp=ql({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Jp={"Content-Type":"application/json"},Be=(t={})=>({...Pn,headers:Jp,parseAs:"auto",querySerializer:Vp,...t});var Ke=(t={})=>{let e=wn(Be(),t),n=()=>({...e}),r=f=>(e=wn(e,f),n()),s=Ul(),c=async f=>{let m={...e,...f,fetch:f.fetch??e.fetch??globalThis.fetch,headers:Pt(e.headers,f.headers),serializedBody:void 0};m.security&&await Ml({...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 _=kn(m);return{opts:m,url:_}},u=async f=>{let{opts:m,url:_}=await c(f),x={redirect:"follow",...m,body:_n(m)},I=new Request(_,x);for(let k of s.request.fns)k&&(I=await k(I,m));let T=m.fetch,l;try{l=await T(I)}catch(k){let $=k;for(let w of s.error.fns)w&&($=await w(k,void 0,I,m));if($=$||{},m.throwOnError)throw $;return m.responseStyle==="data"?void 0:{error:$,request:I,response:void 0}}for(let k of s.response.fns)k&&(l=await k(l,I,m));let h={request:I,response:l};if(l.ok){let k=(m.parseAs==="auto"?Dl(l.headers.get("Content-Type")):m.parseAs)??"json";if(l.status===204||l.headers.get("Content-Length")==="0"){let w;switch(k){case"arrayBuffer":case"blob":case"text":w=await l[k]();break;case"formData":w=new FormData;break;case"stream":w=l.body;break;default:w={};break}return m.responseStyle==="data"?w:{data:w,...h}}let $;switch(k){case"arrayBuffer":case"blob":case"formData":case"text":$=await l[k]();break;case"json":{let w=await l.text();$=w?JSON.parse(w):{};break}case"stream":return m.responseStyle==="data"?l.body:{data:l.body,...h}}return k==="json"&&(m.responseValidator&&await m.responseValidator($),m.responseTransformer&&($=await m.responseTransformer($))),m.responseStyle==="data"?$:{data:$,...h}}let a=await l.text(),A;try{A=JSON.parse(a)}catch{}let j=A??a,v=j;for(let k of s.error.fns)k&&(v=await k(j,l,I,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...h}},p=f=>m=>u({...m,method:f}),g=f=>async m=>{let{opts:_,url:x}=await c(m);return jl({..._,body:_.body,headers:_.headers,method:f,onRequest:async(I,T)=>{let l=new Request(I,T);for(let h of s.request.fns)h&&(l=await h(l,_));return l},serializedBody:_n(_),url:x})};return{buildUrl:kn,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:p("TRACE")}};var Xp={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Qp=Object.entries(Xp),Ol=(t,e)=>{e||(e=new Map);for(let n of t)"in"in n?n.key&&e.set(n.key,{in:n.in,map:n.map}):"key"in n?e.set(n.key,{map:n.map}):n.args&&Ol(n.args,e);return e},Yp=t=>{for(let[e,n]of Object.entries(t))n&&typeof n=="object"&&!Object.keys(n).length&&delete t[e]},d=(t,e)=>{let n={body:{},headers:{},path:{},query:{}},r=Ol(e),s;for(let[c,u]of t.entries())if(e[c]&&(s=e[c]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),g=p.map||s.key;p.in&&(n[p.in][g]=u)}else n.body=u;else for(let[p,g]of Object.entries(u??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=g}else n[f.map]=g;else{let m=Qp.find(([_])=>p.startsWith(_));if(m){let[_,x]=m;n[x][p.slice(_.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[_,x]of Object.entries(s.allowExtra))if(x){n[_][p]=g;break}}}}return Yp(n),n};var Fl=Ke(Be({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(e){this.client=e?.client??Fl}},Sn=class{defaultKey="default";instances=new Map;get(e){let n=this.instances.get(e??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(e,n){this.instances.set(n??this.defaultKey,e)}},vn=class extends b{remove(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Cn=class extends b{log(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Rn=class extends b{moveSession(e,n){let r=d([e],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Tn=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},An=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},In=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},jn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},En=class extends b{generateName(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},$n=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},qn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(e,n){let r=d([e],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new $n({client:this.client})}},Dn=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new Rn({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Tn({client:this.client})}_console;get console(){return this._console??=new An({client:this.client})}_session;get session(){return this._session??=new In({client:this.client})}_resource;get resource(){return this._resource??=new jn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new En({client:this.client})}_workspace;get workspace(){return this._workspace??=new qn({client:this.client})}},Mn=class extends b{get(e){return(e?.client??this.client).get({url:"/global/config",...e})}update(e,n){let r=d([e],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Un=class extends b{health(e){return(e?.client??this.client).get({url:"/global/health",...e})}event(e){return(e?.client??this.client).sse.get({url:"/global/event",...e})}dispose(e){return(e?.client??this.client).post({url:"/global/dispose",...e})}upgrade(e,n){let r=d([e],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new Mn({client:this.client})}},On=class extends b{subscribe(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},Fn=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},Ln=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},Gn=class extends b{remove(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Bn=class extends b{text(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},Kn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},Nn=class extends b{dispose(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},Hn=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},Wn=class extends b{raw(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},zn=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new Wn({client:this.client})}},Vn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},Jn=class extends b{status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Xn=class extends b{status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Qn=class extends b{remove(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Yn=class extends b{status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Qn({client:this.client})}},Zn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},er=class extends b{shells(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},tr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(e,n){let r=d([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=d([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},nr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(e,n){let r=d([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rr=class extends b{authorize(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},sr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new rr({client:this.client})}},ir=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},or=class extends b{delete(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ar=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},cr=class extends b{start(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(e,n){let r=d([e],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new ar({client:this.client})}},lr=class extends b{next(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ur=class extends b{appendPrompt(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new lr({client:this.client})}},pr=class extends b{get(e){return(e?.client??this.client).get({url:"/api/health",...e})}},dr=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},gr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},mr=class extends b{stage(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},fr=class extends b{list(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},yr=class extends b{list(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},hr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new mr({client:this.client})}_permission;get permission(){return this._permission??=new fr({client:this.client})}_question;get question(){return this._question??=new yr({client:this.client})}},br=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},xr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},_r=class extends b{key(e,n){let r=d([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(e,n){let r=d([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Pr=class extends b{cancel(e,n){let r=d([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(e,n){let r=d([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(e,n){let r=d([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},kr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new _r({client:this.client})}_attempt;get attempt(){return this._attempt??=new Pr({client:this.client})}},wr=class extends b{remove(e,n){let r=d([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Sr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},vr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(e,n){let r=d([e],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Cr=class extends b{_request;get request(){return this._request??=new Sr({client:this.client})}_saved;get saved(){return this._saved??=new vr({client:this.client})}},Rr=class extends b{read(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(e,n){let r=d([e],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(e,n){let r=d([e],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},Tr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Ar=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},Ir=class extends b{subscribe(e){return(e?.client??this.client).sse.get({url:"/api/event",...e})}},jr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},Er=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},$r=class extends b{_request;get request(){return this._request??=new Er({client:this.client})}},qr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Dr=class extends b{remove(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},Mr=class extends b{_health;get health(){return this._health??=new pr({client:this.client})}_location;get location(){return this._location??=new dr({client:this.client})}_agent;get agent(){return this._agent??=new gr({client:this.client})}_session;get session(){return this._session??=new hr({client:this.client})}_model;get model(){return this._model??=new br({client:this.client})}_provider;get provider(){return this._provider??=new xr({client:this.client})}_integration;get integration(){return this._integration??=new kr({client:this.client})}_credential;get credential(){return this._credential??=new wr({client:this.client})}_permission;get permission(){return this._permission??=new Cr({client:this.client})}_fs;get fs(){return this._fs??=new Rr({client:this.client})}_command;get command(){return this._command??=new Tr({client:this.client})}_skill;get skill(){return this._skill??=new Ar({client:this.client})}_event;get event(){return this._event??=new Ir({client:this.client})}_pty;get pty(){return this._pty??=new jr({client:this.client})}_question;get question(){return this._question??=new $r({client:this.client})}_reference;get reference(){return this._reference??=new qr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Dr({client:this.client})}},kt=class t extends b{static __registry=new Sn;constructor(e){super(e),t.__registry.set(this,e?.key)}_auth;get auth(){return this._auth??=new vn({client:this.client})}_app;get app(){return this._app??=new Cn({client:this.client})}_experimental;get experimental(){return this._experimental??=new Dn({client:this.client})}_global;get global(){return this._global??=new Un({client:this.client})}_event;get event(){return this._event??=new On({client:this.client})}_config;get config(){return this._config??=new Fn({client:this.client})}_tool;get tool(){return this._tool??=new Ln({client:this.client})}_worktree;get worktree(){return this._worktree??=new Gn({client:this.client})}_find;get find(){return this._find??=new Bn({client:this.client})}_file;get file(){return this._file??=new Kn({client:this.client})}_instance;get instance(){return this._instance??=new Nn({client:this.client})}_path;get path(){return this._path??=new Hn({client:this.client})}_vcs;get vcs(){return this._vcs??=new zn({client:this.client})}_command;get command(){return this._command??=new Vn({client:this.client})}_lsp;get lsp(){return this._lsp??=new Jn({client:this.client})}_formatter;get formatter(){return this._formatter??=new Xn({client:this.client})}_mcp;get mcp(){return this._mcp??=new Yn({client:this.client})}_project;get project(){return this._project??=new Zn({client:this.client})}_pty;get pty(){return this._pty??=new er({client:this.client})}_question;get question(){return this._question??=new tr({client:this.client})}_permission;get permission(){return this._permission??=new nr({client:this.client})}_provider;get provider(){return this._provider??=new sr({client:this.client})}_session;get session(){return this._session??=new ir({client:this.client})}_part;get part(){return this._part??=new or({client:this.client})}_sync;get sync(){return this._sync??=new cr({client:this.client})}_tui;get tui(){return this._tui??=new ur({client:this.client})}_v2;get v2(){return this._v2??=new Mr({client:this.client})}};function Gl(t,e,n,r){if(!r?.throwOnError||t instanceof Error)return t;if(typeof t=="object"&&t!==null&&Object.keys(t).length>0){let c=t,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||Ll(n,e);return new Error(u,{cause:{body:t,status:e?.status}})}if(typeof t=="string"&&t.length>0)return new Error(t,{cause:{body:t,status:e?.status}});let s=e?"(empty response body)":"network error (no response)";return new Error(`opencode server ${Ll(n,e)}: ${s}`,{cause:{body:t,status:e?.status}})}function Ll(t,e){let n=t?.method??"?",r=t?.url??"?",s=e?.status,c=e?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function Zp(t,e,n){if(t)return e&&(t===e||n&&t===n(e))?e:t}function ed(t,e){if(t.method!=="GET"&&t.method!=="HEAD")return t;let n=new URL(t.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=Zp(t.headers.get(c),u==="directory"?e.directory:e.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,p);r=!0}}if(!r)return t;let s=new Request(n,t);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function Ur(t){t?.fetch||(t={...t,fetch:r=>(r.timeout=!1,fetch(r))}),t?.directory&&(t.headers={...t.headers,"x-opencode-directory":encodeURIComponent(t.directory)}),t?.experimental_workspaceID&&(t.headers={...t.headers,"x-opencode-workspace":t.experimental_workspaceID});let e=Ke(t);return e.interceptors.request.use(n=>ed(n,{directory:t?.directory,workspace:t?.experimental_workspaceID})),e.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),e.interceptors.error.use(Gl),new kt({client:e})}var td=new Set(["api","cli","mobile","web"]);function wt(t){let e=t?.trim().toLowerCase();return e&&td.has(e)?e:null}function nd(t){return new Promise(e=>setTimeout(e,t))}async function Bl(t,e,n){let r=Math.max(1,e?.attempts??1),s=e?.baseDelayMs??0,c=e?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(c&&n?.(),s>0&&await nd(s)),u=await t(),u)return u;return u}var rd=3e4;function sd(t){return(t instanceof Request?t.url:String(t)).includes("/global/event")}function Or(t,e,n=rd){let r=t instanceof Request?t.signal:e?.signal;if(sd(t))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function Fr(t,e,n,r){let s=new Headers(t instanceof Request?t.headers:void 0);e?.headers&&new Headers(e.headers).forEach((u,p)=>{s.set(p,u)}),n&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${n}`);let c=wt(r);return c&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",c),s}function Kl(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function St(){return E().getToken()}async function ee(t){return Bl(()=>E().getToken(),t,Ne)}function Ne(){}function id(t){}function od(t){}async function me(){return St()}async function Lr(t){return ee(t)}function Nl(t,e,n,r){let s=E().fetch??fetch;if(t instanceof Request){let c=new Request(t,{headers:n,...r?{signal:r}:{}});return s(c)}return s(t,{...e,headers:n,...r?{signal:r}:{}})}async function q(t,e,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},c=await Lr();if(!c)return Kl();let u=E().clientSource,p=Fr(t,e,c,u),g=s===void 0?Or(t,e):Or(t,e,s),f=await Nl(t,e,p,g);if(f.status===401&&r&&c){Ne();let m=await Lr({attempts:2,baseDelayMs:200});if(m&&m!==c){let _=Fr(t,e,m,u);return Nl(t,e,_,g)}}return f}var Ae={url:null,sandboxId:null,dbSandboxId:null,version:0},ad=new Set;function Hl(t,e=null,n=null){if(!(Ae.url===t&&Ae.sandboxId===e&&Ae.dbSandboxId===n)){Ae={url:t,sandboxId:e,dbSandboxId:n,version:Ae.version+1};for(let r of ad)r()}}function Wl(){return Ae.url}function cd(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function fe(){return cd(E().backendUrl||"http://localhost:8008/v1")}function zl(){let t=E().sandboxId;return t?`${fe()}/p/${t}/8000`:""}function ld(t){return`${fe()}/p/${t}/8000`}function vt(t){return ld(t)}function L(){let t=Wl();return t||(E().billingEnabled??!1?"":zl())}var R=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(e,n={}){super(e),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof e=="string"?e:e==null?"":String(e);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},ye=class extends R{constructor(e="Not authenticated"){super(e,{code:"NO_SESSION"}),this.name="AuthError"}},ce=class t extends Error{status;detail;constructor(e,n,r){super(r||n.message||`Billing Error: ${e}`),this.name="BillingError",this.status=e,this.detail=n,Object.setPrototypeOf(this,t.prototype)}},he=class t extends Error{status;detail;constructor(e=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=e,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,t.prototype)}},Ct="feature_disabled";function Vl(t){if(!(t instanceof R)||t.status!==403||t.code!==Ct)return null;let e=t.details??t.data;return e&&typeof e=="object"?e:{}}function Gr(t){let e=Vl(t);return e?(typeof e.feature=="string"&&!t.feature&&(t.feature=e.feature),!0):!1}function Br(t){let e=Vl(t);if(!e)return null;let n=t.feature;return typeof n=="string"?n:typeof e.feature=="string"?e.feature:null}function be(t){let e=t.response?.status||t.status;if(e!==402)return t;let n=t.response?.data||t.data||t.detail||{},r=n?.detail||n;return new ce(e,{message:r?.message||t.message||"Billing error",...r})}function Kr(t){return t instanceof ce}function Nr(t){if(!(t instanceof ce))return null;let e=t.detail?.message?.toLowerCase()||"";return e.includes("credit")||e.includes("balance")||e.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:t.detail?.message||"Please upgrade to continue."}}async function Hr(t,e){return(await t.json().catch(()=>({})))?.error||t.statusText||e}function Wr(t){if(!t)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return t}async function zr(t){let e=Wr(t),n=await q(`${e}/env`);if(!n.ok)throw new Error(await Hr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Vr(t,e,n){let r=Wr(t),s=await q(`${r}/env/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await Hr(s,"Failed to save secret"))}async function Jr(t,e){let n=Wr(t),r=await q(`${n}/env/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Hr(r,"Failed to delete secret"))}var Jl={list:zr,set:Vr,delete:Jr};async function Xl(t,e,n){let r=t;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await q(`${r}/kortix/triggers${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function xe(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return e===t.length?t:t.slice(0,e)}async function Rt(t,e){let n=await t.json().catch(()=>({}));return n?.error||n?.message||t.statusText||e}function He(t){if(!t)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return xe(t)}async function Xr(t){let e=He(t),n=await q(`${e}/kortix/pty`);if(!n.ok)throw new Error(await Rt(n,"Failed to list terminals"));return n.json()}async function Qr(t,e){let n=He(t),r=await q(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e??{})});if(!r.ok)throw new Error(await Rt(r,"Failed to create terminal"));return r.json()}async function Yr(t,e,n){let r=He(t),s=await q(`${r}/kortix/pty/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await Rt(s,"Failed to update terminal"));return s.json()}async function Zr(t,e){let n=He(t),r=await q(`${n}/kortix/pty/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Rt(r,"Failed to remove terminal"))}async function es(t,e){let n=He(e),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),xe(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(t)}/connect`,c=await me();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var Ql={list:Xr,create:Qr,update:Yr,remove:Zr,webSocketUrl:es};async function S(t,e,n,r){let s=t;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await q(`${s}${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!c.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${c.status}`);return p}async function ud(t,e={}){let n=new URLSearchParams;e.projectId&&n.set("project_id",e.projectId),e.status&&n.set("status",e.status);let r=n.toString()?`?${n}`:"";return S(t,`/kortix/tasks${r}`)}async function pd(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`)}async function dd(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/events`)}async function gd(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/status`)}async function md(t,e){return S(t,"/kortix/tasks",{method:"POST",body:JSON.stringify(e)})}async function fd(t,e,n){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function yd(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/start`,{method:"POST"})}async function hd(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/approve`,{method:"POST"})}async function bd(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"DELETE"})}async function xd(t,e){let n=e?`?project_id=${encodeURIComponent(e)}`:"";return S(t,`/kortix/tickets${n}`)}async function _d(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`)}async function Pd(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/events`)}async function kd(t,e){return S(t,"/kortix/tickets",{method:"POST",body:JSON.stringify(e)})}async function wd(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Sd(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/status`,{method:"POST",body:JSON.stringify(n)})}async function vd(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Cd(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Rd(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Td(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Ad(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/columns`)}async function Id(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function jd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/fields`)}async function Ed(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function $d(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/templates`)}async function qd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Dd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/pm-session`,{method:"POST"})}async function Md(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents`)}async function Ud(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Od(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Fd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Ld(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}/persona`)}async function Gd(t,e,n=200){return S(t,`/kortix/projects/${encodeURIComponent(e)}/activity?limit=${n}`)}async function Bd(t){return S(t,"/kortix/projects")}async function Kd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}`)}async function Nd(t,e){return S(t,`/kortix/projects/by-session/${encodeURIComponent(e)}`)}async function Hd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/sessions`)}async function Wd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"DELETE"})}async function zd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Vd(t,e,n="all"){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones?status=${n}`)}async function Jd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`)}async function Xd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/events`)}async function Qd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function Yd(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Zd(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function eg(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function tg(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function ng(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`)}async function rg(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}/events`)}async function sg(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function ig(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`)}async function og(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var ag=1e4,cg={retryOnAuthError:!1};function Ie(t,e,n){return S(t,e,{signal:AbortSignal.timeout(ag),...n},cg)}async function lg(t,e=!1){return(await Ie(t,`/kortix/services${e?"?all=true":""}`)).services??[]}async function ug(t){return(await Ie(t,"/kortix/services/templates")).templates??[]}async function pg(t,e){return(await Ie(t,`/kortix/services/${encodeURIComponent(e)}/logs`)).logs??[]}async function dg(t,e,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(e)}`:`/kortix/services/${encodeURIComponent(e)}/${n}`;return Ie(t,s,{method:r?"DELETE":"POST"})}async function gg(t,e){return Ie(t,`/kortix/services/reconcile${e?"?reload=true":""}`,{method:"POST"})}async function mg(t,e){return Ie(t,"/kortix/services/register",{method:"POST",body:JSON.stringify(e)})}var Tt=new Map,At=class extends Error{constructor(e="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(e),this.name="RuntimeNotReadyError"}};function le(){let t=L();if(!t)throw new At;return te(t)}function te(t){if(!t)throw new Error("[opencode-sdk] getClientForUrl called without a url");let e=Tt.get(t);if(e)return e;if(!bt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Ur({baseUrl:t,fetch:q});return Tt.set(t,n),n}function fg(t){Tt.delete(t)}function yg(){Tt.clear()}var It=new Map;function hg(t){if(!t)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let e=It.get(t);if(e)return e;let n=Ur({baseUrl:t,fetch});return It.set(t,n),n}function bg(t){It.delete(t)}function xg(){It.clear()}async function _g(t){let e=await t.text().catch(()=>"");try{let n=JSON.parse(e);return n?.error||n?.message||e||t.statusText||`HTTP ${t.status}`}catch{return e||t.statusText||`HTTP ${t.status}`}}async function Pg(t){let e=L();if(!e)throw new R("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=t==="full"?"/kortix/refresh":"/global/dispose",r=await q(`${e}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",c=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new R(`System reload failed (${r.status}): ${await _g(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!c)throw new R(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(g){throw new R(`System reload returned malformed JSON from ${n}: ${g instanceof Error?g.message:String(g)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode:t,steps:p?[t==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:p?[]:[`the sandbox did not confirm the reload (${n})`]}}function Zl(t){if(t.error){let e=t.error,n=e?.data?.message||e?.message||(typeof e?.error=="string"?e.error:null)||"SDK request failed";throw new R(n,{status:e?.response?.status??e?.status,response:e?.response,details:e})}return t.data}async function je(t){let e=await t.text().catch(()=>""),n=null;try{n=JSON.parse(e)}catch{}return n?.error||e||t.statusText||`HTTP ${t.status}`}async function jt(t,e=L()){let n=await q(`${e}${t}`);if(!n.ok)throw new R(await je(n),{status:n.status,response:n});return n.json()}var Et=["/workspace","/tmp","/home","/opt"],kg=Et.filter(t=>t!=="/workspace");function ns(t){return Et.some(e=>t===e||t.startsWith(`${e}/`))}function rs(t){return ns(t)?t:`/workspace/${t.replace(/^\/+/,"")}`}function _e(t){let e=t||"";if(e==="/workspace"||e==="/workspace/")return"";if(e.startsWith("/workspace/"))e=e.slice(11);else if(kg.some(n=>e===n||e.startsWith(`${n}/`)))return e;for(;e.startsWith("/");)e=e.slice(1);return e}var ss=_e;async function ze(t,e=L()){let n=_e(t)||".";return(await jt(`/file?path=${encodeURIComponent(n)}`,e)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function Ee(t,e=L()){let n=_e(t),r=await q(`${e}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new R(await je(r),{status:r.status,response:r});return r.json()}async function wg(t,e,n=L()){let r=_e(t),s=await q(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new R(await je(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new R("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return e&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:e}):c}async function $e(t,e=L()){try{return await wg(t,void 0,e)}catch{}let n=await Ee(t,e);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function Ve(t=L()){return jt("/file/status",t)}async function Je(t,e,n=L()){let r=new URLSearchParams({query:t});return e?.type&&r.set("type",e.type),e?.limit&&r.set("limit",String(e.limit)),jt(`/find/file?${r.toString()}`,n)}async function Xe(t,e=L()){return(await jt(`/find?pattern=${encodeURIComponent(t)}`,e)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var We=[400,1200],Sg=t=>t===408||t===429||t===502||t===503||t===504,Yl=t=>new Promise(e=>setTimeout(e,t));function vg(t){let e=t?.name;return e==="TimeoutError"||e==="AbortError"}var ts=3e4,Cg=15*6e4,Rg=256;function Tg(t){if(typeof t!="number"||!Number.isFinite(t)||t<=0)return ts;let e=ts+t/Rg;return Math.min(Cg,Math.max(ts,Math.round(e)))}async function Ag(t){let e=await t.text().catch(()=>""),n=null;try{n=e?JSON.parse(e):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(t.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(e)?t.status===502||/bad gateway/i.test(e)?"Bad gateway while reaching the sandbox upload service. Please retry.":t.statusText||`HTTP ${t.status}`:e.replace(/\s+/g," ").trim().slice(0,500)||t.statusText||`HTTP ${t.status}`}async function eu(t,e){let n;for(let s=0;s<=We.length;s++){let c;try{c=await e(t())}catch(p){if(n=p,vg(p)||s===We.length)break;await Yl(We[s]);continue}if(c.ok)return c.json();let u=await Ag(c);if(n=new R(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!Sg(c.status)||s===We.length)throw n;await Yl(We[s])}if(n instanceof R)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new R(`Upload failed: ${r}`)}function qe(t,e,n,r=L()){let s=Tg(t.size);return eu(()=>{let c=new FormData,u=(e??"").trim();return u&&c.append("path",u.startsWith("/")?u:`/${u}`),n?c.append("file",t,n):c.append("file",t),c},c=>q(`${r}/file/upload`,{method:"POST",body:c},{timeoutMs:s}))}function Ig(t,e,n=L()){return eu(()=>{let r=new FormData;return r.append(t,e,t.split("/").pop()||"file"),r},async r=>{let s={},c=await me();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function Qe(t,e=L()){let n=t.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return qe(new File([" "],c,{type:"application/octet-stream"}),u,void 0,e)}async function Ye(t,e,n=L()){return Ig(e,await $e(t,n),n)}async function Ze(t,e=L()){let n=await q(`${e}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new R(`Delete failed (${n.status}): ${await je(n)}`,{status:n.status,response:n});return n.json()}async function et(t,e=L()){let n=await q(`${e}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new R(`Mkdir failed (${n.status}): ${await je(n)}`,{status:n.status,response:n});return n.json()}async function tt(t,e,n=L()){let r=await q(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:t,to:e})});if(!r.ok)throw new R(`Rename failed (${r.status}): ${await je(r)}`,{status:r.status,response:r});return r.json()}async function is(){return Zl(await le().project.current())}async function $t(){return Zl(await le().global.health())}async function os(){try{return(await $t()).healthy===!0}catch{return!1}}var tu={list:ze,read:Ee,readBlob:$e,status:Ve,findFiles:Je,findText:Xe,upload:qe,create:Qe,copy:Ye,remove:Ze,mkdir:et,rename:tt,currentProject:is,health:$t,isReachable:os,toDaemonPath:_e,toSandboxAbsolutePath:rs,toWorkspaceRelative:ss};var nu="X-Kortix-Impersonate",cs="kortix.impersonation",Pe=null,qt=!1,as=new Set;function ls(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function ru(t,e=Date.now()){if(!t||!t.grantId||!t.accountId)return!1;let n=Date.parse(t.expiresAt);return Number.isFinite(n)&&n>e}function Eg(t){if(!t)return null;try{let e=JSON.parse(t);return typeof e?.grantId!="string"||typeof e?.accountId!="string"?null:{grantId:e.grantId,accountId:e.accountId,accountName:typeof e.accountName=="string"?e.accountName:null,expiresAt:typeof e.expiresAt=="string"?e.expiresAt:""}}catch{return null}}function su(){for(let t of as)try{t()}catch{}}function iu(){return qt||(qt=!0,Pe=Eg(ls()?.getItem(cs)??null)),Pe&&!ru(Pe)?(us(),null):Pe}function $g(t){if(qt=!0,!t){us();return}Pe=t;try{ls()?.setItem(cs,JSON.stringify(t))}catch{}su()}function us(){qt=!0;let t=Pe!==null;Pe=null;try{ls()?.removeItem(cs)}catch{}t&&su()}function qg(t){return as.add(t),()=>{as.delete(t)}}var Dg=/(^|\/)admin\/(api|analytics)(\/|$)/;function ou(t){let e=t;if(/^https?:\/\//.test(t))try{e=new URL(t).pathname}catch{e=t}return!Dg.test(e)}function Dt(t){if(t!==void 0&&!ou(t))return{};let e=iu();return e?{[nu]:e.grantId}:{}}var ne=()=>E().backendUrl||"",cu="feature_not_supported",lu="model_not_servable",uu="provision_in_flight",pu="request_deadline",Mg=/^Request exceeded the \d+s server processing deadline$/,Ug=(t,e,n)=>t!==503?!1:(typeof e=="object"&&e!==null&&"code"in e?e.code:void 0)===pu||Mg.test(n),Og=t=>new Promise(e=>setTimeout(e,t)),Fg=new Set([502,503,504]),Lg=t=>Fg.has(t),Gg=t=>{let e=(t??"GET").toUpperCase();return e==="GET"||e==="HEAD"},Bg=2,au=t=>t?.name==="AbortError"||t?.name==="AbortSignal"||t instanceof Error&&t.message.includes("aborted"),Mt=!1;function Kg(t){Mt=t}function Ng(){return Mt}async function ke(t,e={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=e,u=new AbortController,p=null,g=!1,f=!1;try{p=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,f=!0,u.abort())},s);let m=await ee(),_=c.body instanceof FormData,x={};_||(x["Content-Type"]="application/json"),Object.assign(x,c.headers);let I=wt(E().clientSource),T=Object.keys(x).some(v=>v.toLowerCase()==="x-kortix-client");if(I&&!T&&(x["X-Kortix-Client"]=I),Mt&&(x["x-kortix-admin-bypass"]="1"),Object.assign(x,Dt(t)),m)x.Authorization=`Bearer ${m}`;else return{error:new ye,success:!1};let l=Gg(c.method),h=l?Bg+1:1,a;for(let v=0;v<h;v++){v>0&&await Og(250*2**(v-1));let k=v===0?u:new AbortController;v>0&&(p=setTimeout(()=>{f=!0,k.abort()},s));try{a=await(E().fetch??fetch)(t,{...c,headers:x,signal:k.signal,credentials:c.credentials??"omit"})}catch(w){if(p&&(clearTimeout(p),p=null),au(w)||v===h-1)throw w;continue}if(p&&(clearTimeout(p),p=null),!(l&&Lg(a.status)&&v<h-1))break;try{await a.arrayBuffer()}catch{}}if(!a.ok){let v=`HTTP ${a.status}: ${a.statusText}`,k=null;try{k=await a.json(),typeof k.reason=="string"?v=k.reason:typeof k.message=="string"?v=k.message:k.error&&typeof k.error=="string"?v=k.error:typeof k.detail=="string"?v=k.detail:typeof k.detail?.message=="string"&&(v=k.detail.message)}catch{}let $=Ug(a.status,k,v),w=new R(v,{status:a.status,response:a,details:k||void 0,data:k,detail:k?.detail,code:$?pu:k?.code||k?.error_code||k?.detail?.error_code||a.status.toString()});if(a.status===402&&(w=be(w)),a.status===403&&k?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}a.status===431&&(w=new he(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let F=a.status===501&&k?.code===cu,K=a.status===409&&k?.code===lu,y=a.status===409&&k?.code===uu;return n&&!F&&!K&&!y&&!$&&E().onError?.(w,r),{error:w,success:!1}}let A,j=a.headers.get("content-type");return j?.includes("application/json")?A=await a.json():j?.includes("text/")?A=await a.text():A=await a.blob(),{data:A,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let _=au(m);_&&(g=!0);let x;if(_){if(!f)return{error:new R("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let I=t.replace(ne(),"")||t;x=new R(`Request timed out after ${Math.round(s/1e3)}s: ${I}`,{code:"TIMEOUT",url:t,endpoint:I,timeout:s})}else m instanceof Error?(x=new R(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&E().onError?.(x,r)):(x=new R(String(m)),n&&E().onError?.(x,r));return{error:x,success:!1}}}var Hg={async execute(t,e){try{let{data:n,error:r}=await t();if(r){let s=new R(r.message||"Database error",{code:r.code,details:r});return E().onError?.(s,e),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new R(n.message,{name:n.name||"ApiError",stack:n.stack}):new R(String(n));return E().onError?.(r,e),{error:r,success:!1}}}};async function Wg(t,e,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,c=await ee(),u={Accept:"text/event-stream","Content-Type":"application/json"},p=wt(E().clientSource);p&&(u["X-Kortix-Client"]=p),Mt&&(u["x-kortix-admin-bypass"]="1"),Object.assign(u,Dt(t)),c&&(u.Authorization=`Bearer ${c}`);let g=new AbortController,f=setTimeout(()=>g.abort(),r);try{return await s(`${ne()}${t}`,{method:"POST",headers:u,body:JSON.stringify(e),signal:g.signal,credentials:"omit"})}finally{clearTimeout(f)}}var i={get:(t,e)=>ke(`${ne()}${t}`,{...e,method:"GET"}),post:(t,e,n)=>ke(`${ne()}${t}`,{...n,method:"POST",body:e?JSON.stringify(e):void 0}),put:(t,e,n)=>ke(`${ne()}${t}`,{...n,method:"PUT",body:e?JSON.stringify(e):void 0}),patch:(t,e,n)=>ke(`${ne()}${t}`,{...n,method:"PATCH",body:e?JSON.stringify(e):void 0}),delete:(t,e)=>ke(`${ne()}${t}`,{...e,method:"DELETE"}),upload:(t,e,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],ke(`${ne()}${t}`,{...s,method:"POST",body:e,headers:c})},uploadPut:(t,e,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],ke(`${ne()}${t}`,{...s,method:"PUT",body:e,headers:c})},postStream:Wg};function o(t,e="Project request failed"){if(!t.success||t.data===void 0)throw t.error??new Error(e);return t.data}function ps(t){return t.replace(/\/v1\/?$/,"")}async function De(t,e){if(!t.backendUrl||!t.accessToken)return null;let n=ps(t.backendUrl);try{let r=await fetch(`${n}${e}`,{headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(t.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function ds(){return o(await i.get("/accounts"))}async function gs(t){return o(await i.post("/accounts",t))}async function ms(t){return o(await i.get(`/accounts/${t}`))}async function fs(t,e){return o(await i.patch(`/accounts/${t}`,{name:e}))}async function ys(t){return o(await i.get(`/accounts/${t}/members`))}async function hs(t,e){return o(await i.post(`/accounts/${t}/members`,e,{showErrors:!1}))}async function bs(t){return o(await i.get(`/accounts/${t}/invites`))}async function xs(t,e){return o(await i.delete(`/accounts/${t}/invites/${e}`))}async function _s(t,e){return o(await i.post(`/accounts/${t}/invites/${e}/resend`,{}))}async function Ps(t){return o(await i.get(`/account-invites/${t}`,{showErrors:!1}))}async function ks(t){return o(await i.post(`/account-invites/${t}/accept`,{}))}async function ws(t){return o(await i.post(`/account-invites/${t}/decline`,{}))}async function Ss(t,e){return o(await i.delete(`/accounts/${t}/members/${e}`))}async function vs(t,e,n){return o(await i.patch(`/accounts/${t}/members/${e}`,{role:n}))}async function Cs(t){return o(await i.post(`/accounts/${t}/leave`,{}))}async function zg(t){return De(t,"/v1/accounts")}async function Rs(){let t=await i.get("/accounts/me",{showErrors:!1});return!t.success||!t.data?{valid:!1,error:t.error}:{valid:!0,identity:t.data}}var Vg=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","voice","llm_gateway","review_center","meta_agent","apps"];async function we(){return o(await i.get("/projects"))}async function Ts(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/projects${e}`))}async function Ut(t,e){return o(await i.get(`/projects/${t}`,e))}async function As(t,e,n="write"){return o(await i.post(`/projects/${t}/git/collaborators`,{github_username:e,permission:n}))}async function Is(t,e){return o(await i.post(`/projects/${t}/manifest/validate`,{raw:e}),"Failed to validate manifest")}async function js(t){return o(await i.post(`/projects/${t}/git-token`,{}),"Failed to mint git token")}function Jg(t){let e=t.metadata?.git;return e?.provider==="github"&&e?.managed===!0}async function Ot(t,e){let n=o(await i.get(`/projects/${t}/detail`,{showErrors:!1,...e}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Ft(t,e){return o(await i.get(`/projects/${t}/llm-catalog`,{showErrors:!1,...e}))}async function Lt(t,e){return o(await i.get(`/projects/${t}/model-picker`,{showErrors:!1,...e}))}async function Xg(t,e){return o(await i.get(`/projects/${t}/llm-catalog/providers`,{showErrors:!1,...e}))}async function Es(t){return o(await i.post("/projects",t))}async function $s(t){return o(await i.post("/projects/create-repo",t))}async function qs(t,e={}){return o(await i.post("/projects/provision",{seed_starter:!0,...t},{timeout:12e4,...e}))}var du=200;function Qg(t){let e=t.split(`
|
|
5
|
+
`);A=S.pop()??"";for(let N of S){let X=N.split(`
|
|
6
|
+
`),U=[],B;for(let M of X)if(M.startsWith("data:"))U.push(M.replace(/^data:\s*/,""));else if(M.startsWith("event:"))B=M.replace(/^event:\s*/,"");else if(M.startsWith("id:"))b=M.replace(/^id:\s*/,"");else if(M.startsWith("retry:")){let Q=Number.parseInt(M.replace(/^retry:\s*/,""),10);Number.isNaN(Q)||(C=Q)}let F,H=!1;if(U.length){let M=U.join(`
|
|
7
|
+
`);try{F=JSON.parse(M),H=!0}catch{F=M}}H&&(s&&await s(F),r&&(F=await r(F))),n?.({data:F,event:B,id:b,retry:C}),U.length&&(yield F)}}}finally{y.removeEventListener("abort",z),j.releaseLock()}break}catch(R){if(e?.(R),u!==void 0&&l>=u)break;let T=Math.min(C*2**(l-1),p??3e4);await x(T)}}}()}};var wd=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Sd=t=>{switch(t){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},vd=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},kt=({allowReserved:t,explode:e,name:n,style:r,value:s})=>{if(!e){let p=(t?s:s.map(d=>encodeURIComponent(d))).join(Sd(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=wd(r),u=s.map(p=>r==="label"||r==="simple"?t?p:encodeURIComponent(p):Ie({allowReserved:t,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+u:u},Ie=({allowReserved:t,name:e,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${t?n:encodeURIComponent(n)}`},wt=({allowReserved:t,explode:e,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!e){let d=[];Object.entries(s).forEach(([m,b])=>{d=[...d,m,t?b:encodeURIComponent(b)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let u=vd(r),p=Object.entries(s).map(([d,f])=>Ie({allowReserved:t,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var Cd=/\{[^{}]+\}/g,Rd=({path:t,url:e})=>{let n=e,r=e.match(Cd);if(r)for(let s of r){let o=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(o=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let d=t[u];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,kt({explode:o,name:u,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,wt({explode:o,name:u,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${Ie({name:u,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},cu=({baseUrl:t,path:e,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,u=(t??"")+o;e&&(u=Rd({path:e,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function kn(t){let e=t.body!==void 0;if(e&&t.bodySerializer)return"serializedBody"in t?t.serializedBody!==void 0&&t.serializedBody!==""?t.serializedBody:null:t.body!==""?t.body:null;if(e)return t.body}var lu=async(t,e)=>{let n=typeof e=="function"?await e(t):e;if(n)return t.scheme==="bearer"?`Bearer ${n}`:t.scheme==="basic"?`Basic ${btoa(n)}`:n};var wn={bodySerializer:t=>JSON.stringify(t,(e,n)=>typeof n=="bigint"?n.toString():n)};var uu=({parameters:t={},...e}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let u=r[o];if(u==null)continue;let p=t[o]||e;if(Array.isArray(u)){let d=kt({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:u,...p.array});d&&s.push(d)}else if(typeof u=="object"){let d=wt({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:u,...p.object});d&&s.push(d)}else{let d=Ie({allowReserved:p.allowReserved,name:o,value:u});d&&s.push(d)}}return s.join("&")},pu=t=>{if(!t)return"stream";let e=t.split(";")[0]?.trim();if(e){if(e.startsWith("application/json")||e.endsWith("+json"))return"json";if(e==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>e.startsWith(n)))return"blob";if(e.startsWith("text/"))return"text"}},Td=(t,e)=>e?!!(t.headers.has(e)||t.query?.[e]||t.headers.get("Cookie")?.includes(`${e}=`)):!1,du=async({security:t,...e})=>{for(let n of t){if(Td(e,n.name))continue;let r=await lu(n,e.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":e.query||(e.query={}),e.query[s]=r;break;case"cookie":e.headers.append("Cookie",`${s}=${r}`);break;default:e.headers.set(s,r);break}}},Sn=t=>cu({baseUrl:t.baseUrl,path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:uu(t.querySerializer),url:t.url}),vn=(t,e)=>{let n={...t,...e};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=St(t.headers,e.headers),n},Ad=t=>{let e=[];return t.forEach((n,r)=>{e.push([r,n])}),e},St=(...t)=>{let e=new Headers;for(let n of t){if(!n)continue;let r=n instanceof Headers?Ad(n):Object.entries(n);for(let[s,o]of r)if(o===null)e.delete(s);else if(Array.isArray(o))for(let u of o)e.append(s,u);else o!==void 0&&e.set(s,typeof o=="object"?JSON.stringify(o):o)}return e},He=class{fns=[];clear(){this.fns=[]}eject(e){let n=this.getInterceptorIndex(e);this.fns[n]&&(this.fns[n]=null)}exists(e){let n=this.getInterceptorIndex(e);return!!this.fns[n]}getInterceptorIndex(e){return typeof e=="number"?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,n){let r=this.getInterceptorIndex(e);return this.fns[r]?(this.fns[r]=n,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},gu=()=>({error:new He,request:new He,response:new He}),Id=uu({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Ed={"Content-Type":"application/json"},We=(t={})=>({...wn,headers:Ed,parseAs:"auto",querySerializer:Id,...t});var ze=(t={})=>{let e=vn(We(),t),n=()=>({...e}),r=f=>(e=vn(e,f),n()),s=gu(),o=async f=>{let m={...e,...f,fetch:f.fetch??e.fetch??globalThis.fetch,headers:St(e.headers,f.headers),serializedBody:void 0};m.security&&await du({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let b=Sn(m);return{opts:m,url:b}},u=async f=>{let{opts:m,url:b}=await o(f),x={redirect:"follow",...m,body:kn(m)},I=new Request(b,x);for(let k of s.request.fns)k&&(I=await k(I,m));let E=m.fetch,C;try{C=await E(I)}catch(k){let q=k;for(let j of s.error.fns)j&&(q=await j(k,void 0,I,m));if(q=q||{},m.throwOnError)throw q;return m.responseStyle==="data"?void 0:{error:q,request:I,response:void 0}}for(let k of s.response.fns)k&&(C=await k(C,I,m));let l={request:I,response:C};if(C.ok){let k=(m.parseAs==="auto"?pu(C.headers.get("Content-Type")):m.parseAs)??"json";if(C.status===204||C.headers.get("Content-Length")==="0"){let j;switch(k){case"arrayBuffer":case"blob":case"text":j=await C[k]();break;case"formData":j=new FormData;break;case"stream":j=C.body;break;default:j={};break}return m.responseStyle==="data"?j:{data:j,...l}}let q;switch(k){case"arrayBuffer":case"blob":case"formData":case"text":q=await C[k]();break;case"json":{let j=await C.text();q=j?JSON.parse(j):{};break}case"stream":return m.responseStyle==="data"?C.body:{data:C.body,...l}}return k==="json"&&(m.responseValidator&&await m.responseValidator(q),m.responseTransformer&&(q=await m.responseTransformer(q))),m.responseStyle==="data"?q:{data:q,...l}}let y=await C.text(),c;try{c=JSON.parse(y)}catch{}let R=c??y,T=R;for(let k of s.error.fns)k&&(T=await k(R,C,I,m));if(T=T||{},m.throwOnError)throw T;return m.responseStyle==="data"?void 0:{error:T,...l}},p=f=>m=>u({...m,method:f}),d=f=>async m=>{let{opts:b,url:x}=await o(m);return au({...b,body:b.body,headers:b.headers,method:f,onRequest:async(I,E)=>{let C=new Request(I,E);for(let l of s.request.fns)l&&(C=await l(C,b));return C},serializedBody:kn(b),url:x})};return{buildUrl:Sn,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var jd={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},$d=Object.entries(jd),mu=(t,e)=>{e||(e=new Map);for(let n of t)"in"in n?n.key&&e.set(n.key,{in:n.in,map:n.map}):"key"in n?e.set(n.key,{map:n.map}):n.args&&mu(n.args,e);return e},qd=t=>{for(let[e,n]of Object.entries(t))n&&typeof n=="object"&&!Object.keys(n).length&&delete t[e]},g=(t,e)=>{let n={body:{},headers:{},path:{},query:{}},r=mu(e),s;for(let[o,u]of t.entries())if(e[o]&&(s=e[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=u)}else n.body=u;else for(let[p,d]of Object.entries(u??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=$d.find(([b])=>p.startsWith(b));if(m){let[b,x]=m;n[x][p.slice(b.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[b,x]of Object.entries(s.allowExtra))if(x){n[b][p]=d;break}}}}return qd(n),n};var fu=ze(We({baseUrl:"http://localhost:4096"}));var _=class{client;constructor(e){this.client=e?.client??fu}},Cn=class{defaultKey="default";instances=new Map;get(e){let n=this.instances.get(e??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(e,n){this.instances.set(n??this.defaultKey,e)}},Rn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Tn=class extends _{log(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},An=class extends _{moveSession(e,n){let r=g([e],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},In=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},En=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},jn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},$n=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},qn=class extends _{generateName(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Dn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},Mn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new Dn({client:this.client})}},On=class extends _{_controlPlane;get controlPlane(){return this._controlPlane??=new An({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new In({client:this.client})}_console;get console(){return this._console??=new En({client:this.client})}_session;get session(){return this._session??=new jn({client:this.client})}_resource;get resource(){return this._resource??=new $n({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new qn({client:this.client})}_workspace;get workspace(){return this._workspace??=new Mn({client:this.client})}},Un=class extends _{get(e){return(e?.client??this.client).get({url:"/global/config",...e})}update(e,n){let r=g([e],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Fn=class extends _{health(e){return(e?.client??this.client).get({url:"/global/health",...e})}event(e){return(e?.client??this.client).sse.get({url:"/global/event",...e})}dispose(e){return(e?.client??this.client).post({url:"/global/dispose",...e})}upgrade(e,n){let r=g([e],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new Un({client:this.client})}},Ln=class extends _{subscribe(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},Gn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},Bn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},Nn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Kn=class extends _{text(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},Hn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},Wn=class extends _{dispose(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},zn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},Vn=class extends _{raw(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Jn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new Vn({client:this.client})}},Xn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},Qn=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Yn=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Zn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},er=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Zn({client:this.client})}},tr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},nr=class extends _{shells(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},rr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},sr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ir=class extends _{authorize(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},or=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new ir({client:this.client})}},ar=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},cr=class extends _{delete(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},lr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ur=class extends _{start(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(e,n){let r=g([e],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new lr({client:this.client})}},pr=class extends _{next(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},dr=class extends _{appendPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new pr({client:this.client})}},gr=class extends _{get(e){return(e?.client??this.client).get({url:"/api/health",...e})}},mr=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},fr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},yr=class extends _{stage(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},hr=class extends _{list(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},br=class extends _{list(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},xr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new yr({client:this.client})}_permission;get permission(){return this._permission??=new hr({client:this.client})}_question;get question(){return this._question??=new br({client:this.client})}},_r=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Pr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},kr=class extends _{key(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},wr=class extends _{cancel(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Sr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new kr({client:this.client})}_attempt;get attempt(){return this._attempt??=new wr({client:this.client})}},vr=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Cr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Rr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Tr=class extends _{_request;get request(){return this._request??=new Cr({client:this.client})}_saved;get saved(){return this._saved??=new Rr({client:this.client})}},Ar=class extends _{read(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},Ir=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Er=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},jr=class extends _{subscribe(e){return(e?.client??this.client).sse.get({url:"/api/event",...e})}},$r=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},qr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Dr=class extends _{_request;get request(){return this._request??=new qr({client:this.client})}},Mr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Or=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},Ur=class extends _{_health;get health(){return this._health??=new gr({client:this.client})}_location;get location(){return this._location??=new mr({client:this.client})}_agent;get agent(){return this._agent??=new fr({client:this.client})}_session;get session(){return this._session??=new xr({client:this.client})}_model;get model(){return this._model??=new _r({client:this.client})}_provider;get provider(){return this._provider??=new Pr({client:this.client})}_integration;get integration(){return this._integration??=new Sr({client:this.client})}_credential;get credential(){return this._credential??=new vr({client:this.client})}_permission;get permission(){return this._permission??=new Tr({client:this.client})}_fs;get fs(){return this._fs??=new Ar({client:this.client})}_command;get command(){return this._command??=new Ir({client:this.client})}_skill;get skill(){return this._skill??=new Er({client:this.client})}_event;get event(){return this._event??=new jr({client:this.client})}_pty;get pty(){return this._pty??=new $r({client:this.client})}_question;get question(){return this._question??=new Dr({client:this.client})}_reference;get reference(){return this._reference??=new Mr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Or({client:this.client})}},vt=class t extends _{static __registry=new Cn;constructor(e){super(e),t.__registry.set(this,e?.key)}_auth;get auth(){return this._auth??=new Rn({client:this.client})}_app;get app(){return this._app??=new Tn({client:this.client})}_experimental;get experimental(){return this._experimental??=new On({client:this.client})}_global;get global(){return this._global??=new Fn({client:this.client})}_event;get event(){return this._event??=new Ln({client:this.client})}_config;get config(){return this._config??=new Gn({client:this.client})}_tool;get tool(){return this._tool??=new Bn({client:this.client})}_worktree;get worktree(){return this._worktree??=new Nn({client:this.client})}_find;get find(){return this._find??=new Kn({client:this.client})}_file;get file(){return this._file??=new Hn({client:this.client})}_instance;get instance(){return this._instance??=new Wn({client:this.client})}_path;get path(){return this._path??=new zn({client:this.client})}_vcs;get vcs(){return this._vcs??=new Jn({client:this.client})}_command;get command(){return this._command??=new Xn({client:this.client})}_lsp;get lsp(){return this._lsp??=new Qn({client:this.client})}_formatter;get formatter(){return this._formatter??=new Yn({client:this.client})}_mcp;get mcp(){return this._mcp??=new er({client:this.client})}_project;get project(){return this._project??=new tr({client:this.client})}_pty;get pty(){return this._pty??=new nr({client:this.client})}_question;get question(){return this._question??=new rr({client:this.client})}_permission;get permission(){return this._permission??=new sr({client:this.client})}_provider;get provider(){return this._provider??=new or({client:this.client})}_session;get session(){return this._session??=new ar({client:this.client})}_part;get part(){return this._part??=new cr({client:this.client})}_sync;get sync(){return this._sync??=new ur({client:this.client})}_tui;get tui(){return this._tui??=new dr({client:this.client})}_v2;get v2(){return this._v2??=new Ur({client:this.client})}};function hu(t,e,n,r){if(!r?.throwOnError||t instanceof Error)return t;if(typeof t=="object"&&t!==null&&Object.keys(t).length>0){let o=t,u=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||yu(n,e);return new Error(u,{cause:{body:t,status:e?.status}})}if(typeof t=="string"&&t.length>0)return new Error(t,{cause:{body:t,status:e?.status}});let s=e?"(empty response body)":"network error (no response)";return new Error(`opencode server ${yu(n,e)}: ${s}`,{cause:{body:t,status:e?.status}})}function yu(t,e){let n=t?.method??"?",r=t?.url??"?",s=e?.status,o=e?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function Dd(t,e,n){if(t)return e&&(t===e||n&&t===n(e))?e:t}function Md(t,e){if(t.method!=="GET"&&t.method!=="HEAD")return t;let n=new URL(t.url),r=!1;for(let[o,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=Dd(t.headers.get(o),u==="directory"?e.directory:e.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(d)||n.searchParams.set(d,p);r=!0}}if(!r)return t;let s=new Request(n,t);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function Fr(t){t?.fetch||(t={...t,fetch:r=>(r.timeout=!1,fetch(r))}),t?.directory&&(t.headers={...t.headers,"x-opencode-directory":encodeURIComponent(t.directory)}),t?.experimental_workspaceID&&(t.headers={...t.headers,"x-opencode-workspace":t.experimental_workspaceID});let e=ze(t);return e.interceptors.request.use(n=>Md(n,{directory:t?.directory,workspace:t?.experimental_workspaceID})),e.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),e.interceptors.error.use(hu),new vt({client:e})}var Od=new Set(["api","cli","mobile","web"]);function Ct(t){let e=t?.trim().toLowerCase();return e&&Od.has(e)?e:null}function Ud(t){return new Promise(e=>setTimeout(e,t))}async function bu(t,e,n){let r=Math.max(1,e?.attempts??1),s=e?.baseDelayMs??0,o=e?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await Ud(s)),u=await t(),u)return u;return u}var Fd=3e4;function Ld(t){return(t instanceof Request?t.url:String(t)).includes("/global/event")}function Lr(t,e,n=Fd){let r=t instanceof Request?t.signal:e?.signal;if(Ld(t))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function Gr(t,e,n,r){let s=new Headers(t instanceof Request?t.headers:void 0);e?.headers&&new Headers(e.headers).forEach((u,p)=>{s.set(p,u)}),n&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${n}`);let o=Ct(r);return o&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",o),s}function xu(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function Rt(){return $().getToken()}async function ee(t){return bu(()=>$().getToken(),t,Ve)}function Ve(){}function Gd(t){}function Bd(t){}async function Je(){return Rt()}async function Br(t){return ee(t)}function _u(t,e,n,r){let s=$().fetch??fetch;if(t instanceof Request){let o=new Request(t,{headers:n,...r?{signal:r}:{}});return s(o)}return s(t,{...e,headers:n,...r?{signal:r}:{}})}async function D(t,e,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},o=await Br();if(!o)return xu();let u=$().clientSource,p=Gr(t,e,o,u),d=s===void 0?Lr(t,e):Lr(t,e,s),f=await _u(t,e,p,d);if(f.status===401&&r&&o){Ve();let m=await Br({attempts:2,baseDelayMs:200});if(m&&m!==o){let b=Gr(t,e,m,u);return _u(t,e,b,d)}}return f}var Ee={url:null,sandboxId:null,dbSandboxId:null,version:0},Nd=new Set;function Pu(t,e=null,n=null){if(!(Ee.url===t&&Ee.sandboxId===e&&Ee.dbSandboxId===n)){Ee={url:t,sandboxId:e,dbSandboxId:n,version:Ee.version+1};for(let r of Nd)r()}}function ku(){return Ee.url}function Kd(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function ye(){return Kd($().backendUrl||"http://localhost:8008/v1")}function wu(){let t=$().sandboxId;return t?`${ye()}/p/${t}/8000`:""}function Hd(t){return`${ye()}/p/${t}/8000`}function Tt(t){return Hd(t)}function he(){let t=ku();return t||($().billingEnabled??!1?"":wu())}var v=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(e,n={}){super(e),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let u=typeof e=="string"?e:e==null?"":String(e);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},be=class extends v{constructor(e="Not authenticated"){super(e,{code:"NO_SESSION"}),this.name="AuthError"}},le=class t extends Error{status;detail;constructor(e,n,r){super(r||n.message||`Billing Error: ${e}`),this.name="BillingError",this.status=e,this.detail=n,Object.setPrototypeOf(this,t.prototype)}},xe=class t extends Error{status;detail;constructor(e=431,n,r){let s="Request headers are too large",o="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=e,this.detail={message:n?.message||s,suggestion:n?.suggestion||o},Object.setPrototypeOf(this,t.prototype)}},At="feature_disabled";function Su(t){if(!(t instanceof v)||t.status!==403||t.code!==At)return null;let e=t.details??t.data;return e&&typeof e=="object"?e:{}}function Nr(t){let e=Su(t);return e?(typeof e.feature=="string"&&!t.feature&&(t.feature=e.feature),!0):!1}function Kr(t){let e=Su(t);if(!e)return null;let n=t.feature;return typeof n=="string"?n:typeof e.feature=="string"?e.feature:null}function _e(t){let e=t.response?.status||t.status;if(e!==402)return t;let n=t.response?.data||t.data||t.detail||{},r=n?.detail||n;return new le(e,{message:r?.message||t.message||"Billing error",...r})}function Hr(t){return t instanceof le}function Wr(t){if(!(t instanceof le))return null;let e=t.detail?.message?.toLowerCase()||"";return e.includes("credit")||e.includes("balance")||e.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:t.detail?.message||"Please upgrade to continue."}}async function zr(t,e){return(await t.json().catch(()=>({})))?.error||t.statusText||e}function Vr(t){if(!t)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return t}async function Jr(t){let e=Vr(t),n=await D(`${e}/env`);if(!n.ok)throw new Error(await zr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Xr(t,e,n){let r=Vr(t),s=await D(`${r}/env/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await zr(s,"Failed to save secret"))}async function Qr(t,e){let n=Vr(t),r=await D(`${n}/env/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await zr(r,"Failed to delete secret"))}var vu={list:Jr,set:Xr,delete:Qr};async function Cu(t,e,n){let r=t;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await D(`${r}/kortix/triggers${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}function Pe(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return e===t.length?t:t.slice(0,e)}async function It(t,e){let n=await t.json().catch(()=>({}));return n?.error||n?.message||t.statusText||e}function Xe(t){if(!t)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return Pe(t)}async function Yr(t){let e=Xe(t),n=await D(`${e}/kortix/pty`);if(!n.ok)throw new Error(await It(n,"Failed to list terminals"));return n.json()}async function Zr(t,e){let n=Xe(t),r=await D(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e??{})});if(!r.ok)throw new Error(await It(r,"Failed to create terminal"));return r.json()}async function es(t,e,n){let r=Xe(t),s=await D(`${r}/kortix/pty/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await It(s,"Failed to update terminal"));return s.json()}async function ts(t,e){let n=Xe(t),r=await D(`${n}/kortix/pty/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await It(r,"Failed to remove terminal"))}async function ns(t,e){let n=Xe(e),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),Pe(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(t)}/connect`,o=await Je();if(!o)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(o)}`}var Ru={list:Yr,create:Zr,update:es,remove:ts,webSocketUrl:ns};async function w(t,e,n,r){let s=t;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await D(`${s}${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await o.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${o.status}`);return p}async function Wd(t,e={}){let n=new URLSearchParams;e.projectId&&n.set("project_id",e.projectId),e.status&&n.set("status",e.status);let r=n.toString()?`?${n}`:"";return w(t,`/kortix/tasks${r}`)}async function zd(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`)}async function Vd(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/events`)}async function Jd(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/status`)}async function Xd(t,e){return w(t,"/kortix/tasks",{method:"POST",body:JSON.stringify(e)})}async function Qd(t,e,n){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Yd(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/start`,{method:"POST"})}async function Zd(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/approve`,{method:"POST"})}async function eg(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"DELETE"})}async function tg(t,e){let n=e?`?project_id=${encodeURIComponent(e)}`:"";return w(t,`/kortix/tickets${n}`)}async function ng(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`)}async function rg(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/events`)}async function sg(t,e){return w(t,"/kortix/tickets",{method:"POST",body:JSON.stringify(e)})}async function ig(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function og(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/status`,{method:"POST",body:JSON.stringify(n)})}async function ag(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function cg(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function lg(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function ug(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"DELETE"})}async function pg(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/columns`)}async function dg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function gg(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/fields`)}async function mg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function fg(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/templates`)}async function yg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function hg(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/pm-session`,{method:"POST"})}async function bg(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents`)}async function xg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function _g(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Pg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function kg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}/persona`)}async function wg(t,e,n=200){return w(t,`/kortix/projects/${encodeURIComponent(e)}/activity?limit=${n}`)}async function Sg(t){return w(t,"/kortix/projects")}async function vg(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}`)}async function Cg(t,e){return w(t,`/kortix/projects/by-session/${encodeURIComponent(e)}`)}async function Rg(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/sessions`)}async function Tg(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Ag(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Ig(t,e,n="all"){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones?status=${n}`)}async function Eg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`)}async function jg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/events`)}async function $g(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function qg(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Dg(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function Mg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function Og(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Ug(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`)}async function Fg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}/events`)}async function Lg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function Gg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`)}async function Bg(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var Ng=1e4,Kg={retryOnAuthError:!1};function je(t,e,n){return w(t,e,{signal:AbortSignal.timeout(Ng),...n},Kg)}async function Hg(t,e=!1){return(await je(t,`/kortix/services${e?"?all=true":""}`)).services??[]}async function Wg(t){return(await je(t,"/kortix/services/templates")).templates??[]}async function zg(t,e){return(await je(t,`/kortix/services/${encodeURIComponent(e)}/logs`)).logs??[]}async function Vg(t,e,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(e)}`:`/kortix/services/${encodeURIComponent(e)}/${n}`;return je(t,s,{method:r?"DELETE":"POST"})}async function Jg(t,e){return je(t,`/kortix/services/reconcile${e?"?reload=true":""}`,{method:"POST"})}async function Xg(t,e){return je(t,"/kortix/services/register",{method:"POST",body:JSON.stringify(e)})}var Et=new Map,$e=class extends Error{constructor(e="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(e),this.name="RuntimeNotReadyError"}};function ue(){let t=he();if(!t)throw new $e;return te(t)}function te(t){if(!t)throw new Error("[opencode-sdk] getClientForUrl called without a url");let e=Et.get(t);if(e)return e;if(!Pt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Fr({baseUrl:t,fetch:D});return Et.set(t,n),n}function Qg(t){Et.delete(t)}function Yg(){Et.clear()}var jt=new Map;function Zg(t){if(!t)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let e=jt.get(t);if(e)return e;let n=Fr({baseUrl:t,fetch});return jt.set(t,n),n}function em(t){jt.delete(t)}function tm(){jt.clear()}async function nm(t){let e=await t.text().catch(()=>"");try{let n=JSON.parse(e);return n?.error||n?.message||e||t.statusText||`HTTP ${t.status}`}catch{return e||t.statusText||`HTTP ${t.status}`}}async function rm(t){let e=he();if(!e)throw new v("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=t==="full"?"/kortix/refresh":"/global/dispose",r=await D(`${e}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",o=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new v(`System reload failed (${r.status}): ${await nm(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new v(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(d){throw new v(`System reload returned malformed JSON from ${n}: ${d instanceof Error?d.message:String(d)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode:t,steps:p?[t==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:p?[]:[`the sandbox did not confirm the reload (${n})`]}}function Au(t){if(t.error){let e=t.error,n=e?.data?.message||e?.message||(typeof e?.error=="string"?e.error:null)||"SDK request failed";throw new v(n,{status:e?.response?.status??e?.status,response:e?.response,details:e})}return t.data}async function qe(t){let e=await t.text().catch(()=>""),n=null;try{n=JSON.parse(e)}catch{}return n?.error||e||t.statusText||`HTTP ${t.status}`}function K(t){let e=(t??he()).trim();if(!e)throw new $e;return e}async function $t(t,e){let n=await D(`${K(e)}${t}`);if(!n.ok)throw new v(await qe(n),{status:n.status,response:n});return n.json()}var qt=["/workspace","/tmp","/home","/opt"],sm=qt.filter(t=>t!=="/workspace");function ss(t){return qt.some(e=>t===e||t.startsWith(`${e}/`))}function Ye(t){return ss(t)?t:`/workspace/${t.replace(/^\/+/,"")}`}function we(t){let e=t||"";if(e==="/workspace"||e==="/workspace/")return"";if(e.startsWith("/workspace/"))e=e.slice(11);else if(sm.some(n=>e===n||e.startsWith(`${n}/`)))return e;for(;e.startsWith("/");)e=e.slice(1);return e}var is=we;async function Ze(t,e){let n=K(e),r=we(t)||".";return(await $t(`/file?path=${encodeURIComponent(r)}`,n)).map(o=>({...o,path:o.absolute||`/workspace/${o.path}`}))}async function De(t,e){let n=K(e),r=we(t),s=await D(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new v(await qe(s),{status:s.status,response:s});return s.json()}async function im(t,e,n){let r=K(n),s=we(t),o=await D(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new v(await qe(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new v("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let u=await o.blob();return e&&(!u.type||u.type==="application/octet-stream")?new Blob([u],{type:e}):u}async function Me(t,e){let n=K(e);try{return await im(t,void 0,n)}catch{}let r=await De(t,n);if(r.encoding==="base64"&&r.content){let s=Uint8Array.from(atob(r.content),o=>o.charCodeAt(0));return new Blob([s],{type:r.mimeType||"application/octet-stream"})}return new Blob([r.content??""],{type:r.mimeType||"text/plain;charset=utf-8"})}async function et(t){return $t("/file/status",K(t))}async function tt(t,e,n){let r=K(n),s=new URLSearchParams({query:t});return e?.type&&s.set("type",e.type),e?.limit&&s.set("limit",String(e.limit)),$t(`/find/file?${s.toString()}`,r)}async function nt(t,e){let n=K(e);return(await $t(`/find?pattern=${encodeURIComponent(t)}`,n)).map(s=>({path:typeof s.path=="string"?s.path:s.path?.text??"",lines:typeof s.lines=="string"?s.lines:s.lines?.text??"",line_number:s.line_number,absolute_offset:s.absolute_offset,submatches:(s.submatches??[]).map(o=>({start:o.start,end:o.end}))}))}var Qe=[400,1200],om=t=>t===408||t===429||t===502||t===503||t===504,Tu=t=>new Promise(e=>setTimeout(e,t));function am(t){let e=t?.name;return e==="TimeoutError"||e==="AbortError"}var rs=3e4,cm=15*6e4,lm=256;function Iu(t){if(typeof t!="number"||!Number.isFinite(t)||t<=0)return rs;let e=rs+t/lm;return Math.min(cm,Math.max(rs,Math.round(e)))}async function um(t){let e=await t.text().catch(()=>""),n=null;try{n=e?JSON.parse(e):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(t.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(e)?t.status===502||/bad gateway/i.test(e)?"Bad gateway while reaching the sandbox upload service. Please retry.":t.statusText||`HTTP ${t.status}`:e.replace(/\s+/g," ").trim().slice(0,500)||t.statusText||`HTTP ${t.status}`}async function Eu(t,e){let n;for(let s=0;s<=Qe.length;s++){let o;try{o=await e(t())}catch(p){if(n=p,am(p)||s===Qe.length)break;await Tu(Qe[s]);continue}if(o.ok)return o.json();let u=await um(o);if(n=new v(`Upload failed (${o.status}): ${u}`,{status:o.status,response:o}),!om(o.status)||s===Qe.length)throw n;await Tu(Qe[s])}if(n instanceof v)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new v(`Upload failed: ${r}`)}async function Oe(t,e,n,r){let s=K(r),o=Iu(t.size),u=n||(t instanceof File?t.name:"")||"";return Eu(()=>{let p=new FormData,d=(e??"").trim();return d&&p.append("path",d.startsWith("/")?d:`/${d}`),u&&p.append("filename",u),u?p.append("file",t,u):p.append("file",t),p},p=>D(`${s}/file/upload`,{method:"POST",body:p},{timeoutMs:o}))}function pm(t,e,n){let r=K(n),s=Iu(e.size);return Eu(()=>{let o=new FormData;return o.append(t,e,t.split("/").pop()||"file"),o},o=>D(`${r}/file/upload`,{method:"POST",body:o},{timeoutMs:s}))}async function rt(t,e){let n=K(e),r=t.trim(),o=(r.startsWith("/")?r:`/${r}`).split("/"),u=o.pop()||"untitled",p=o.join("/")||"/workspace",d=await Ue(`${p}/${u}`,new Blob([],{type:"application/octet-stream"}),n);return[{path:d.path,size:d.bytes}]}async function st(t,e,n){let r=K(n);return pm(e,await Me(t,r),r)}function dm(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function gm(t){let e=t.lastIndexOf("/");return e<=0?"/":t.slice(0,e)}function mm(t){return t.slice(t.lastIndexOf("/")+1)}function fm(){let t=typeof crypto<"u"?crypto:void 0;if(t?.randomUUID)return t.randomUUID();if(t?.getRandomValues){let e=new Uint8Array(8);return t.getRandomValues(e),[...e].map(n=>n.toString(16).padStart(2,"0")).join("")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}async function Ue(t,e,n){let r=K(n),s=Ye(dm(t.trim())),o=mm(s);if(!o)throw new v(`writeFile needs a file path, got "${t}"`,{code:"INVALID_PATH"});let u=gm(s);await Fe(u,r).catch(()=>{});let p=fm(),d=await Oe(e,u,`.${o}.kortix-write-${p}`,r),f=d[0]?.path;if(!f)throw new v(`Upload returned no file for ${s}`,{code:"UPLOAD_NO_RESULT"});let m=Ye(f),b=`${s}.kortix-write-backup-${p}`,x=!1;try{await pe(s,b,r),x=!0}catch{}try{await pe(m,s,r)}catch(E){throw x&&await pe(b,s,r).catch(()=>{}),await ke(m,r).catch(()=>{}),E}x&&await ke(b,r).catch(()=>{});let I=d[0]?.size;return{path:s,bytes:typeof I=="number"?I:e.size}}async function ke(t,e){let n=await D(`${K(e)}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new v(`Delete failed (${n.status}): ${await qe(n)}`,{status:n.status,response:n});return n.json()}async function Fe(t,e){let n=await D(`${K(e)}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new v(`Mkdir failed (${n.status}): ${await qe(n)}`,{status:n.status,response:n});return n.json()}async function pe(t,e,n){let r=await D(`${K(n)}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:t,to:e})});if(!r.ok)throw new v(`Rename failed (${r.status}): ${await qe(r)}`,{status:r.status,response:r});return r.json()}async function os(){return Au(await ue().project.current())}async function Dt(){return Au(await ue().global.health())}async function as(){try{return(await Dt()).healthy===!0}catch{return!1}}var ju={list:Ze,read:De,readBlob:Me,status:et,findFiles:tt,findText:nt,upload:Oe,write:Ue,create:rt,copy:st,remove:ke,mkdir:Fe,rename:pe,currentProject:os,health:Dt,isReachable:as,toDaemonPath:we,toSandboxAbsolutePath:Ye,toWorkspaceRelative:is};var $u="X-Kortix-Impersonate",ls="kortix.impersonation",Se=null,Mt=!1,cs=new Set;function us(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function qu(t,e=Date.now()){if(!t||!t.grantId||!t.accountId)return!1;let n=Date.parse(t.expiresAt);return Number.isFinite(n)&&n>e}function hm(t){if(!t)return null;try{let e=JSON.parse(t);return typeof e?.grantId!="string"||typeof e?.accountId!="string"?null:{grantId:e.grantId,accountId:e.accountId,accountName:typeof e.accountName=="string"?e.accountName:null,expiresAt:typeof e.expiresAt=="string"?e.expiresAt:""}}catch{return null}}function Du(){for(let t of cs)try{t()}catch{}}function Mu(){return Mt||(Mt=!0,Se=hm(us()?.getItem(ls)??null)),Se&&!qu(Se)?(ps(),null):Se}function bm(t){if(Mt=!0,!t){ps();return}Se=t;try{us()?.setItem(ls,JSON.stringify(t))}catch{}Du()}function ps(){Mt=!0;let t=Se!==null;Se=null;try{us()?.removeItem(ls)}catch{}t&&Du()}function xm(t){return cs.add(t),()=>{cs.delete(t)}}var _m=/(^|\/)admin\/(api|analytics)(\/|$)/;function Ou(t){let e=t;if(/^https?:\/\//.test(t))try{e=new URL(t).pathname}catch{e=t}return!_m.test(e)}function Ot(t){if(t!==void 0&&!Ou(t))return{};let e=Mu();return e?{[$u]:e.grantId}:{}}var ne=()=>$().backendUrl||"",Fu="feature_not_supported",Lu="model_not_servable",Gu="provision_in_flight",Bu="request_deadline",Pm=/^Request exceeded the \d+s server processing deadline$/,km=(t,e,n)=>t!==503?!1:(typeof e=="object"&&e!==null&&"code"in e?e.code:void 0)===Bu||Pm.test(n),wm=t=>new Promise(e=>setTimeout(e,t)),Sm=new Set([502,503,504]),vm=t=>Sm.has(t),Cm=t=>{let e=(t??"GET").toUpperCase();return e==="GET"||e==="HEAD"},Rm=2,Uu=t=>t?.name==="AbortError"||t?.name==="AbortSignal"||t instanceof Error&&t.message.includes("aborted"),Ut=!1;function Tm(t){Ut=t}function Am(){return Ut}async function ve(t,e={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=e,u=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!u.signal.aborted&&(d=!0,f=!0,u.abort())},s);let m=await ee(),b=o.body instanceof FormData,x={};b||(x["Content-Type"]="application/json"),Object.assign(x,o.headers);let I=Ct($().clientSource),E=Object.keys(x).some(T=>T.toLowerCase()==="x-kortix-client");if(I&&!E&&(x["X-Kortix-Client"]=I),Ut&&(x["x-kortix-admin-bypass"]="1"),Object.assign(x,Ot(t)),m)x.Authorization=`Bearer ${m}`;else return{error:new be,success:!1};let C=Cm(o.method),l=C?Rm+1:1,y;for(let T=0;T<l;T++){T>0&&await wm(250*2**(T-1));let k=T===0?u:new AbortController;T>0&&(p=setTimeout(()=>{f=!0,k.abort()},s));try{y=await($().fetch??fetch)(t,{...o,headers:x,signal:k.signal,credentials:o.credentials??"omit"})}catch(j){if(p&&(clearTimeout(p),p=null),Uu(j)||T===l-1)throw j;continue}if(p&&(clearTimeout(p),p=null),!(C&&vm(y.status)&&T<l-1))break;try{await y.arrayBuffer()}catch{}}if(!y.ok){let T=`HTTP ${y.status}: ${y.statusText}`,k=null;try{k=await y.json(),typeof k.message=="string"?T=k.message:k.error&&typeof k.error=="string"?T=k.error:typeof k.detail=="string"?T=k.detail:typeof k.detail?.message=="string"?T=k.detail.message:typeof k.reason=="string"&&(T=k.reason)}catch{}let q=km(y.status,k,T),j=new v(T,{status:y.status,response:y,details:k||void 0,data:k,detail:k?.detail,code:q?Bu:k?.code||k?.error_code||k?.detail?.error_code||y.status.toString()});if(y.status===402&&(j=_e(j)),y.status===403&&k?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}y.status===431&&(j=new xe(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let A=y.status===501&&k?.code===Fu,z=y.status===409&&k?.code===Lu,V=y.status===409&&k?.code===Gu;return n&&!A&&!z&&!V&&!q&&$().onError?.(j,r),{error:j,success:!1}}let c,R=y.headers.get("content-type");return R?.includes("application/json")?c=await y.json():R?.includes("text/")?c=await y.text():c=await y.blob(),{data:c,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let b=Uu(m);b&&(d=!0);let x;if(b){if(!f)return{error:new v("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let I=t.replace(ne(),"")||t;x=new v(`Request timed out after ${Math.round(s/1e3)}s: ${I}`,{code:"TIMEOUT",url:t,endpoint:I,timeout:s})}else m instanceof Error?(x=new v(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(x,r)):(x=new v(String(m)),n&&$().onError?.(x,r));return{error:x,success:!1}}}var Im={async execute(t,e){try{let{data:n,error:r}=await t();if(r){let s=new v(r.message||"Database error",{code:r.code,details:r});return $().onError?.(s,e),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new v(n.message,{name:n.name||"ApiError",stack:n.stack}):new v(String(n));return $().onError?.(r,e),{error:r,success:!1}}}};async function Em(t,e,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,o=await ee(),u={Accept:"text/event-stream","Content-Type":"application/json"},p=Ct($().clientSource);p&&(u["X-Kortix-Client"]=p),Ut&&(u["x-kortix-admin-bypass"]="1"),Object.assign(u,Ot(t)),o&&(u.Authorization=`Bearer ${o}`);let d=new AbortController,f=setTimeout(()=>d.abort(),r);try{return await s(`${ne()}${t}`,{method:"POST",headers:u,body:JSON.stringify(e),signal:d.signal,credentials:"omit"})}finally{clearTimeout(f)}}var i={get:(t,e)=>ve(`${ne()}${t}`,{...e,method:"GET"}),post:(t,e,n)=>ve(`${ne()}${t}`,{...n,method:"POST",body:e?JSON.stringify(e):void 0}),put:(t,e,n)=>ve(`${ne()}${t}`,{...n,method:"PUT",body:e?JSON.stringify(e):void 0}),patch:(t,e,n)=>ve(`${ne()}${t}`,{...n,method:"PATCH",body:e?JSON.stringify(e):void 0}),delete:(t,e)=>ve(`${ne()}${t}`,{...e,method:"DELETE"}),upload:(t,e,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],ve(`${ne()}${t}`,{...s,method:"POST",body:e,headers:o})},uploadPut:(t,e,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],ve(`${ne()}${t}`,{...s,method:"PUT",body:e,headers:o})},postStream:Em};function a(t,e="Project request failed"){if(!t.success||t.data===void 0)throw t.error??new Error(e);return t.data}function ds(t){return t.replace(/\/v1\/?$/,"")}async function Le(t,e){if(!t.backendUrl||!t.accessToken)return null;let n=ds(t.backendUrl);try{let r=await fetch(`${n}${e}`,{headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(t.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function gs(){return a(await i.get("/accounts"))}async function ms(t){return a(await i.post("/accounts",t))}async function fs(t){return a(await i.get(`/accounts/${t}`))}async function ys(t,e){return a(await i.patch(`/accounts/${t}`,{name:e}))}async function hs(t){return a(await i.get(`/accounts/${t}/members`))}async function bs(t,e){return a(await i.post(`/accounts/${t}/members`,e,{showErrors:!1}))}async function xs(t){return a(await i.get(`/accounts/${t}/invites`))}async function _s(t,e){return a(await i.delete(`/accounts/${t}/invites/${e}`))}async function Ps(t,e){return a(await i.post(`/accounts/${t}/invites/${e}/resend`,{}))}async function ks(t){return a(await i.get(`/account-invites/${t}`,{showErrors:!1}))}async function ws(t){return a(await i.post(`/account-invites/${t}/accept`,{}))}async function Ss(t){return a(await i.post(`/account-invites/${t}/decline`,{}))}async function vs(t,e){return a(await i.delete(`/accounts/${t}/members/${e}`))}async function Cs(t,e,n){return a(await i.patch(`/accounts/${t}/members/${e}`,{role:n}))}async function Rs(t){return a(await i.post(`/accounts/${t}/leave`,{}))}async function jm(t){return Le(t,"/v1/accounts")}async function Ts(){let t=await i.get("/accounts/me",{showErrors:!1});return!t.success||!t.data?{valid:!1,error:t.error}:{valid:!0,identity:t.data}}var $m=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","voice","llm_gateway","review_center","meta_agent","apps","monitors","network_boundary_shim","warm_sessions"];async function Ce(){return a(await i.get("/projects"))}async function As(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/projects${e}`))}async function Ft(t,e){return a(await i.get(`/projects/${t}`,e))}async function Is(t,e,n="write"){return a(await i.post(`/projects/${t}/git/collaborators`,{github_username:e,permission:n}))}async function Es(t,e){return a(await i.post(`/projects/${t}/manifest/validate`,{raw:e}),"Failed to validate manifest")}async function js(t){return a(await i.post(`/projects/${t}/git-token`,{}),"Failed to mint git token")}function qm(t){let e=t.metadata?.git;return e?.provider==="github"&&e?.managed===!0}async function Lt(t,e){let n=a(await i.get(`/projects/${t}/detail`,{showErrors:!1,...e}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Gt(t,e){return a(await i.get(`/projects/${t}/llm-catalog`,{showErrors:!1,...e}))}async function Bt(t,e){return a(await i.get(`/projects/${t}/model-picker`,{showErrors:!1,...e}))}async function Dm(t,e){return a(await i.get(`/projects/${t}/llm-catalog/providers`,{showErrors:!1,...e}))}async function $s(t){return a(await i.post("/projects",t))}async function qs(t){return a(await i.post("/projects/create-repo",t))}async function Ds(t,e={}){return a(await i.post("/projects/provision",{seed_starter:!0,...t},{timeout:12e4,...e}))}var Nu=200;function Mm(t){let e=t.split(`
|
|
8
8
|
`).filter(r=>r.startsWith("data:")).map(r=>r.slice(5).replace(/^ /,""));if(e.length===0)return null;let n=e.join(`
|
|
9
|
-
`);try{return JSON.parse(n)}catch(r){let s=n.length>
|
|
9
|
+
`);try{return JSON.parse(n)}catch(r){let s=n.length>Nu?`${n.slice(0,Nu)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function Om(t,e,n={}){let r=await i.postStream("/projects/provision-stream",{seed_starter:!0,...t},n);if(!r.ok){let d=await r.json().catch(()=>null);throw new v(d?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:d?.code})}let s=r.body?.getReader();if(!s)throw new Error("Provision stream is unavailable on this runtime (no response body)");let o=new TextDecoder,u="",p=null;try{for(;;){let{done:d,value:f}=await s.read();if(d)break;u+=o.decode(f,{stream:!0});let m=u.indexOf(`
|
|
10
10
|
|
|
11
|
-
`);for(;m!==-1;){let
|
|
11
|
+
`);for(;m!==-1;){let b=u.slice(0,m);u=u.slice(m+2),m=u.indexOf(`
|
|
12
12
|
|
|
13
|
-
`);let x=Qg(_);if(x){if(e(x),x.type==="error")throw new R(x.error,{status:x.status,code:x.code});x.type==="done"&&(p=x.project)}}}}finally{s.cancel().catch(()=>{})}if(!p)throw new Error("Provision stream ended without a result");return p}async function Zg(){try{return o(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Gt(t,e){return o(await i.patch(`/projects/${t}`,e))}async function Ds(t,e,n){return o(await i.patch(`/projects/${t}/features`,{feature:e,enabled:n}))}async function Ms(t,e,n){return o(await i.patch(`/projects/${t}/experimental`,{feature:e,enabled:n}))}async function Us(t,e){return o(await i.patch(`/projects/${t}/sandbox-provider`,{provider:e}))}async function em(t,e){return o(await i.get(`/projects/${t}/sandbox-provider/transition`,{showErrors:!1,...e}))}async function tm(t,e){return o(await i.patch(`/projects/${t}/warm-pool`,e))}async function Os(t,e){return o(await i.patch(`/projects/${t}/onboarding`,{completed:e}))}async function nm(t,e){return o(await i.patch(`/projects/${t}/onboarding`,{profile:e}))}async function Bt(t){return o(await i.delete(`/projects/${t}`))}async function rm(t,e){return De(t,`/v1/projects?account_id=${encodeURIComponent(e)}`)}async function sm(t,e){if(!t.backendUrl||!t.accessToken)return{ok:!1,limitReached:!1};let n=ps(t.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...e}),signal:AbortSignal.timeout(t.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function Fs(t){return o(await i.post("/projects/link-repository",t,{showErrors:!1}))}async function Ls(t){return o(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Gs(t){return o(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Bs(t){return o(await i.post("/projects/github/installations/linkable",t,{showErrors:!1}))}async function Ks(t,e,n){let r=new URLSearchParams({account_id:t});e&&r.set("installation_id",e);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),o(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function Ns(t,e,n){let r=new URLSearchParams({account_id:t,installation_id:e,repo_full_name:n});return o(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Hs(t){return o(await i.post("/projects/github/installation",t,{showErrors:!1}))}async function Ws(t){return o(await i.post("/projects/github/installations/link",t,{showErrors:!1}))}async function zs(t,e){let n=new URLSearchParams({account_id:t});return e&&n.set("installation_id",e),o(await i.delete(`/projects/github/installation?${n.toString()}`))}async function im(t,e){return o(await i.post(`/projects/${t}/access-requests`,{message:e?.trim()||void 0},{showErrors:!1}))}async function Vs(t,e){return o(await i.get(`/projects/${t}/access-requests`,e))}async function Js(t,e,n="member"){return o(await i.post(`/projects/${t}/access-requests/${e}/approve`,{role:n}))}async function Xs(t,e){return o(await i.post(`/projects/${t}/access-requests/${e}/reject`,{}))}async function Qs(t){return o(await i.get(`/projects/${t}/access`))}async function Ys(t,e,n){return o(await i.put(`/projects/${t}/access/${e}`,{role:n}))}async function Zs(t,e){return o(await i.delete(`/projects/${t}/access/${e}`))}function om(t){return"status"in t&&t.status==="invited"}async function ei(t,e,n,r){return o(await i.post(`/projects/${t}/access/invite`,{email:e,role:n,...r!==void 0?{expires_at:r}:{}}))}async function ti(t){return o(await i.get(`/projects/${t}/access/pending-invites`))}async function ni(t,e){return o(await i.delete(`/projects/${t}/access/pending-invites/${e}`))}async function ri(t,e){return o(await i.post(`/projects/${t}/access/pending-invites/${e}/resend`))}async function si(t){return o(await i.get(`/projects/${t}/group-grants`))}async function ii(t,e,n,r){return o(await i.post(`/projects/${t}/group-grants`,r===void 0?{group_id:e,role:n}:{group_id:e,role:n,expires_at:r}))}async function oi(t,e,n,r){return o(await i.patch(`/projects/${t}/group-grants/${e}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function ai(t,e){return o(await i.delete(`/projects/${t}/group-grants/${e}`))}async function ci(t){return o(await i.get(`/projects/${t}/resource-grants`))}async function li(t,e){return o(await i.post(`/projects/${t}/resource-grants`,{resource_type:e.resourceType,resource_id:e.resourceId,principal_type:e.principalType,principal_id:e.principalId,...e.expiresAt!==void 0?{expires_at:e.expiresAt}:{}}))}async function ui(t,e){return o(await i.delete(`/projects/${t}/resource-grants/${e}`))}async function pi(t,e){return o(await i.get(`/projects/${t}/approvals`,{showErrors:e?.showErrors}))}async function di(t,e){return o(await i.get(`/projects/${t}/approvals/needs-input`,{showErrors:e?.showErrors}))}async function gi(t,e,n){return o(await i.post(`/projects/${t}/approvals/${e}`,{decision:n}))}async function mi(t){return o(await i.get(`/projects/${t}/secrets`,{showErrors:!1}))}async function fi(t,e){return o(await i.post(`/projects/${t}/secrets`,e))}async function yi(t,e,n,r={}){return o(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/strategy`,{strategy:n,...r}))}async function hi(t,e,n){return o(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/broker`,n))}async function bi(t,e,n){return o(await i.post(`/projects/${t}/oauth/${e}/start`,{sharing:n?.sharing}))}async function xi(t,e,n){return o(await i.post(`/projects/${t}/oauth/${e}/poll`,{flow_id:n}))}async function _i(t,e){return o(await i.delete(`/projects/${t}/oauth/${encodeURIComponent(e)}`))}async function Pi(t,e){return o(await i.put(`/projects/${t}/git-credential`,e))}async function ki(t,e){return o(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}`))}async function wi(t,e,n){return o(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`,n))}async function Si(t,e){return o(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`))}function vi(t,e){return t?`/connectors/projects/${encodeURIComponent(t)}/${e}`:`/connectors/${e}`}async function Kt(t){return o(await i.get(vi(t,"catalog"))).connectors??[]}async function nt(t){let e=[];for(let n of await Kt(t))for(let r of n.actions)e.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return e}async function Ci(t,e="",n={}){let r=e.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),c=[],u=[];for(let p of await nt(t)){let g=`${p.tool} ${p.description}`.toLowerCase();!r||g.includes(r)?c.push(p):s.every(f=>g.includes(f))&&u.push(p)}return[...c,...u].slice(0,n.limit??20)}async function Ri(t,e){return(await nt(t)).find(n=>n.tool===e)??null}function am(t){let e=t.indexOf("."),n=e<0?"":t.slice(0,e).trim(),r=e<0?"":t.slice(e+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}async function Ti(t,e,n={}){let{connector:r,action:s}=am(e);return o(await i.post(vi(t,"call"),{connector:r,action:s,args:n}))}function cm(t,e){if(t&&typeof t=="object"){let n=t;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${e}`}function lm(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e-=1;return e===t.length?t:t.slice(0,e)}async function Ai(t,e,n){let r=n.filename.trim(),s=n.contentType.trim();if(!r)throw new Error("filename is required");if(!s)throw new Error("contentType is required");let c={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(c["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let u=lm(E().backendUrl),p=vi(t,"attachments"),g=await q(`${u}${p}`,{method:"POST",headers:c,body:e},{timeoutMs:6e4}),f=await g.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!g.ok)throw new R(cm(m,g.status),{status:g.status,code:String(m&&typeof m=="object"?m.code??g.status:g.status),details:m,response:g,endpoint:p});return m}async function Ii(t){return o(await i.get(`/projects/${t}/connections`))}async function ji(t){return o(await i.get(`/projects/${t}/connections/all`))}async function Ei(t,e){return o(await i.post(`/projects/${t}/connections`,e))}async function $i(t,e){return o(await i.post(`/projects/${t}/connections/me`,e))}async function qi(t,e,n){return o(await i.put(`/projects/${t}/connections/${e}/credential`,n))}function Se(t,e,n){return`/projects/${t}/connections/${e}/oauth2/${n}`}async function um(t,e){return o(await i.post(`/projects/${t}/connectors/${encodeURIComponent(e)}/oauth2/connection`,{}))}async function pm(t,e,n){return o(await i.put(Se(t,e,"application"),n))}async function dm(t,e){return o(await i.get(Se(t,e,"application")))}async function gm(t,e,n){return o(await i.post(Se(t,e,"discover"),n))}async function mm(t,e,n){return o(await i.post(Se(t,e,"authorize"),n))}async function fm(t,e,n){return o(await i.post(Se(t,e,"device"),n))}async function ym(t,e,n){return o(await i.post(Se(t,e,`device/${encodeURIComponent(n)}`),{}))}async function hm(t,e){return o(await i.get(Se(t,e,"status")))}async function Di(t,e){return o(await i.put(`/projects/${t}/connections/${e}/revoke`,{}))}async function Mi(t,e){return o(await i.put(`/projects/${t}/connections/${e}/activate`,{}))}async function Ui(t,e){return o(await i.put(`/projects/${t}/connections/${e}/default`,{}))}async function Oi(t,e,n={}){return o(await i.post(`/projects/${t}/connections/${e}/connect`,n))}async function Fi(t,e){return o(await i.post(`/projects/${t}/connections/${e}/connect/finalize`,{}))}async function Li(t){return o(await i.get(`/connectors/projects/${t}/connectors`,{showErrors:!1}))}async function Gi(t){return o(await i.post(`/connectors/projects/${t}/connectors/sync`,{}))}async function Bi(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential-mode`,{mode:n}))}async function Ki(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/authorization-strategy`,{authorization_strategy:n}))}async function Ni(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/sensitive`,{sensitive:n}))}async function Hi(t,e){return o(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`))}async function Wi(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`,{policies:n}))}async function bm(t,e){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function xm(t,e,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function zi(t,e){return o(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/config`))}async function Vi(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/name`,{name:n}))}async function Ji(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect`,{}))}async function Xi(t,e){return o(await i.post(`/connectors/projects/${t}/connectors`,e))}async function Qi(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/auth-discovery`,e))}async function Yi(t,e){return o(await i.delete(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}`))}async function Zi(t,e,n){let r=typeof e=="string"||e===void 0?{...e?{q:e}:{},...n?{cursor:n}:{}}:e,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let c=s.toString();return o(await i.get(`/connectors/projects/${t}/pipedream/apps${c?`?${c}`:""}`))}async function eo(t,e){let n=new URLSearchParams;e?.perCategory&&n.set("perCategory",String(e.perCategory)),e?.maxCategories&&n.set("maxCategories",String(e.maxCategories));let r=n.toString();return o(await i.get(`/connectors/projects/${t}/pipedream/sections${r?`?${r}`:""}`))}async function Nt(t,e,n){let r=new URLSearchParams;e&&r.set("q",e),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/connectors/projects/${t}/discover/connectors${s?`?${s}`:""}`))}async function Ht(t,e){let n=new URLSearchParams({id:e});return o(await i.get(`/connectors/projects/${t}/discover/connectors/detail?${n.toString()}`))}var _m=Nt,Pm=Ht;async function to(){return o(await i.get("/connectors/connect-status"))}async function no(t,e,n){let r=typeof n=="string"?{value:n}:n;return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential`,r))}async function km(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/secret-binding`,{secret_identifier:n}))}async function ro(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect/finalize`,{}))}async function so(t){return o(await i.get(`/connectors/projects/${t}/policies`))}async function io(t,e,n){return o(await i.put(`/connectors/projects/${t}/policies`,{policies:e,defaultMode:n}))}async function oo(t){return o(await i.get(`/projects/${t}/sandboxes`))}async function ao(t){return o(await i.get(`/projects/${t}/snapshots`))}async function Wt(t){return o(await i.get(`/projects/${t}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function co(t,e){return o(await i.post(`/projects/${t}/snapshots/rebuild`,e?{slug:e}:{}))}async function lo(t){return o(await i.post(`/projects/${t}/snapshots/fix-with-agent`,{}))}async function uo(t,e){return o(await i.post(`/projects/${t}/sandbox-templates`,e))}async function po(t,e,n){return o(await i.patch(`/projects/${t}/sandbox-templates/${e}`,n))}async function go(t,e){return o(await i.delete(`/projects/${t}/sandbox-templates/${e}`))}async function mo(t,e){return o(await i.post(`/projects/${t}/sandbox-templates/${e}/build`,{}))}async function fo(t){return o(await i.get(`/projects/${t}/sandboxes`))}async function yo(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path);let r=n.toString()?`?${n.toString()}`:"";return o(await i.get(`/projects/${t}/files${r}`,{showErrors:!1}))}async function ho(t,e,n){let r=new URLSearchParams({q:e});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),o(await i.get(`/projects/${t}/files/search?${r.toString()}`))}async function bo(t,e,n){let r=new URLSearchParams({path:e});return n&&r.set("ref",n),o(await i.get(`/projects/${t}/files/content?${r.toString()}`,{showErrors:!1}))}async function xo(t,e,n){let r=new URLSearchParams;e&&r.set("ref",e),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",c=await ee(),u=`${E().backendUrl||""}/projects/${t}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!p.ok){let g=await p.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function _o(t){return o(await i.get(`/projects/${t}/branches`))}async function Po(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path),e?.limit!=null&&n.set("limit",String(e.limit)),e?.skip!=null&&n.set("skip",String(e.skip));let r=n.toString()?`?${n.toString()}`:"";return o(await i.get(`/projects/${t}/commits${r}`))}async function ko(t,e){return o(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}`))}async function wo(t,e,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return o(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}/diff${s}`))}async function So(t,e,n){let r=new URLSearchParams({path:e});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),o(await i.get(`/projects/${t}/files/history?${r.toString()}`))}async function vo(t,e){let n=new URLSearchParams({from:e.from,into:e.into});return o(await i.get(`/projects/${t}/version-diff?${n.toString()}`))}async function Co(t,e){let n=e?`?status=${e}`:"";return o(await i.get(`/projects/${t}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Ro(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}`))}async function To(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}/diff`))}async function Ao(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}/merge-preview`))}async function Io(t,e){return o(await i.post(`/projects/${t}/change-requests`,e))}async function jo(t,e,n){return o(await i.post(`/projects/${t}/change-requests/${e}/merge`,n??{},{showErrors:!1}))}async function Eo(t,e){return o(await i.post(`/projects/${t}/change-requests/${e}/close`,{}))}async function $o(t,e){return o(await i.post(`/projects/${t}/change-requests/${e}/reopen`,{}))}async function qo(t,e,n){return o(await i.post(`/projects/${t}/change-requests/${e}/request-changes`,{feedback:n}))}async function Do(t,e,n){return o(await i.post(`/projects/${t}/sessions/${e}/commit-push`,n??{}))}var Mo=new Set;function rt(t){t&&Mo.add(t)}function Uo(t){return!!t&&Mo.has(t)}function wm(t){t&&Mo.delete(t)}async function Me(t,e){let n=new URLSearchParams;e?.scope&&e.scope!=="visible"&&n.set("scope",e.scope);let r=n.size>0?`?${n}`:"";return o(await i.get(`/projects/${t}/sessions${r}`))}async function Oo(t,e,n){return o(await i.put(`/projects/${t}/sessions/${e}/sharing`,n))}async function Fo(t,e){return o(await i.get(`/projects/${t}/sessions/${e}/previews`))}async function Lo(t,e){return o(await i.get(`/projects/${t}/sessions/${e}/public-shares`,{showErrors:!1}))}async function Go(t,e,n){return o(await i.post(`/projects/${t}/sessions/${e}/public-shares`,n))}async function Bo(t,e,n){return o(await i.delete(`/projects/${t}/sessions/${e}/public-shares/${n}`))}async function Ue(t,e){let n=o(await i.post(`/projects/${t}/sessions`,e??{}));return e?.initial_prompt||rt(n?.session_id),n}async function Ko(t){let e=o(await i.post(`/projects/${t}/sessions/warm`,{}));return rt(e.session.session_id),e}async function No(t,e){let n=o(await i.post(`/projects/${t}/sessions/warm/claim`,e,{showErrors:!1}));return rt(n.session_id),n}async function zt(t,e,n){return o(await i.get(`/projects/${t}/sessions/${e}`,{showErrors:n?.showErrors}))}async function Ho(t,e,n,r){let s=new URLSearchParams;n&&s.set("limit",String(n)),r?.cursor&&s.set("cursor",r.cursor),r?.includeEvents!=null&&s.set("include_events",String(r.includeEvents));let c=s.toString();return o(await i.get(`/projects/${t}/sessions/${e}/audit${c?`?${c}`:""}`,{showErrors:r?.showErrors}))}async function Wo(t,e,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return o(await i.get(`/projects/${t}/sessions/${e}/transcript${s?`?${s}`:""}`))}async function zo(t,e,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return o(await i.get(`/projects/${t}/sessions/${e}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function Vo(t,e,n){return o(await i.patch(`/projects/${t}/sessions/${e}`,n))}async function Jo(t,e){return o(await i.delete(`/projects/${t}/sessions/${e}`))}async function st(t,e){return o(await i.post(`/projects/${t}/sessions/${e}/restart`,{}))}async function it(t,e){return o(await i.post(`/projects/${t}/sessions/${e}/stop`,{}))}async function Xo(t,e){return o(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/config`,{showErrors:!1}))}function Sm(t){let e=t.split(`
|
|
13
|
+
`);let x=Mm(b);if(x){if(e(x),x.type==="error")throw new v(x.error,{status:x.status,code:x.code});x.type==="done"&&(p=x.project)}}}}finally{s.cancel().catch(()=>{})}if(!p)throw new Error("Provision stream ended without a result");return p}async function Um(){try{return a(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Nt(t,e){return a(await i.patch(`/projects/${t}`,e))}async function Ms(t,e,n){return a(await i.patch(`/projects/${t}/features`,{feature:e,enabled:n}))}async function Os(t,e,n){return a(await i.patch(`/projects/${t}/experimental`,{feature:e,enabled:n}))}async function Us(t,e){return a(await i.patch(`/projects/${t}/sandbox-provider`,{provider:e}))}async function Fm(t,e){return a(await i.get(`/projects/${t}/sandbox-provider/transition`,{showErrors:!1,...e}))}async function Lm(t,e){return a(await i.patch(`/projects/${t}/warm-pool`,e))}async function Fs(t,e){return a(await i.patch(`/projects/${t}/onboarding`,{completed:e}))}async function Gm(t,e){return a(await i.patch(`/projects/${t}/onboarding`,{profile:e}))}async function Kt(t){return a(await i.delete(`/projects/${t}`))}async function Bm(t,e){return Le(t,`/v1/projects?account_id=${encodeURIComponent(e)}`)}async function Nm(t,e){if(!t.backendUrl||!t.accessToken)return{ok:!1,limitReached:!1};let n=ds(t.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...e}),signal:AbortSignal.timeout(t.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function Ls(t){return a(await i.post("/projects/link-repository",t,{showErrors:!1}))}async function Gs(t){return a(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Bs(t){return a(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Ns(t){return a(await i.post("/projects/github/installations/linkable",t,{showErrors:!1}))}async function Ks(t,e,n){let r=new URLSearchParams({account_id:t});e&&r.set("installation_id",e);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function Hs(t,e,n){let r=new URLSearchParams({account_id:t,installation_id:e,repo_full_name:n});return a(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Ws(t){return a(await i.post("/projects/github/installation",t,{showErrors:!1}))}async function zs(t){return a(await i.post("/projects/github/installations/link",t,{showErrors:!1}))}async function Vs(t,e){let n=new URLSearchParams({account_id:t});return e&&n.set("installation_id",e),a(await i.delete(`/projects/github/installation?${n.toString()}`))}async function Km(t,e){return a(await i.post(`/projects/${t}/access-requests`,{message:e?.trim()||void 0},{showErrors:!1}))}async function Js(t,e){return a(await i.get(`/projects/${t}/access-requests`,e))}async function Xs(t,e,n="member"){return a(await i.post(`/projects/${t}/access-requests/${e}/approve`,{role:n}))}async function Qs(t,e){return a(await i.post(`/projects/${t}/access-requests/${e}/reject`,{}))}async function Ys(t){return a(await i.get(`/projects/${t}/access`))}async function Zs(t,e,n){return a(await i.put(`/projects/${t}/access/${e}`,{role:n}))}async function ei(t,e){return a(await i.delete(`/projects/${t}/access/${e}`))}function Hm(t){return"status"in t&&t.status==="invited"}async function ti(t,e,n,r){return a(await i.post(`/projects/${t}/access/invite`,{email:e,role:n,...r!==void 0?{expires_at:r}:{}}))}async function ni(t){return a(await i.get(`/projects/${t}/access/pending-invites`))}async function ri(t,e){return a(await i.delete(`/projects/${t}/access/pending-invites/${e}`))}async function si(t,e){return a(await i.post(`/projects/${t}/access/pending-invites/${e}/resend`))}async function ii(t){return a(await i.get(`/projects/${t}/group-grants`))}async function oi(t,e,n,r){return a(await i.post(`/projects/${t}/group-grants`,r===void 0?{group_id:e,role:n}:{group_id:e,role:n,expires_at:r}))}async function ai(t,e,n,r){return a(await i.patch(`/projects/${t}/group-grants/${e}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function ci(t,e){return a(await i.delete(`/projects/${t}/group-grants/${e}`))}async function li(t){return a(await i.get(`/projects/${t}/resource-grants`))}async function ui(t,e){return a(await i.post(`/projects/${t}/resource-grants`,{resource_type:e.resourceType,resource_id:e.resourceId,principal_type:e.principalType,principal_id:e.principalId,...e.expiresAt!==void 0?{expires_at:e.expiresAt}:{}}))}async function pi(t,e){return a(await i.delete(`/projects/${t}/resource-grants/${e}`))}async function di(t,e){return a(await i.get(`/projects/${t}/approvals`,{showErrors:e?.showErrors}))}async function gi(t,e){return a(await i.get(`/projects/${t}/approvals/needs-input`,{showErrors:e?.showErrors}))}async function mi(t,e,n){return a(await i.post(`/projects/${t}/approvals/${e}`,{decision:n}))}async function fi(t){return a(await i.get(`/projects/${t}/secrets`,{showErrors:!1}))}async function yi(t,e){return a(await i.post(`/projects/${t}/secrets`,e))}async function hi(t,e,n,r={}){return a(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/strategy`,{strategy:n,...r}))}async function bi(t,e,n){return a(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/broker`,n))}async function xi(t,e,n){return a(await i.post(`/projects/${t}/oauth/${e}/start`,{sharing:n?.sharing}))}async function _i(t,e,n){return a(await i.post(`/projects/${t}/oauth/${e}/poll`,{flow_id:n}))}async function Pi(t,e){return a(await i.delete(`/projects/${t}/oauth/${encodeURIComponent(e)}`))}async function ki(t,e){return a(await i.put(`/projects/${t}/git-credential`,e))}async function wi(t,e){return a(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}`))}async function Si(t,e,n){return a(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`,n))}async function vi(t,e){return a(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`))}function Ci(t,e){return t?`/connectors/projects/${encodeURIComponent(t)}/${e}`:`/connectors/${e}`}async function Ht(t){return a(await i.get(Ci(t,"catalog"))).connectors??[]}async function it(t){let e=[];for(let n of await Ht(t))for(let r of n.actions)e.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return e}async function Ri(t,e="",n={}){let r=e.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),o=[],u=[];for(let p of await it(t)){let d=`${p.tool} ${p.description}`.toLowerCase();!r||d.includes(r)?o.push(p):s.every(f=>d.includes(f))&&u.push(p)}return[...o,...u].slice(0,n.limit??20)}async function Ti(t,e){return(await it(t)).find(n=>n.tool===e)??null}function Wm(t){let e=t.indexOf("."),n=e<0?"":t.slice(0,e).trim(),r=e<0?"":t.slice(e+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}async function Ai(t,e,n={}){let{connector:r,action:s}=Wm(e);return a(await i.post(Ci(t,"call"),{connector:r,action:s,args:n}))}function zm(t,e){if(t&&typeof t=="object"){let n=t;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${e}`}function Vm(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e-=1;return e===t.length?t:t.slice(0,e)}async function Ii(t,e,n){let r=n.filename.trim(),s=n.contentType.trim();if(!r)throw new Error("filename is required");if(!s)throw new Error("contentType is required");let o={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(o["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let u=Vm($().backendUrl),p=Ci(t,"attachments"),d=await D(`${u}${p}`,{method:"POST",headers:o,body:e},{timeoutMs:6e4}),f=await d.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!d.ok)throw new v(zm(m,d.status),{status:d.status,code:String(m&&typeof m=="object"?m.code??d.status:d.status),details:m,response:d,endpoint:p});return m}async function Ei(t){return a(await i.get(`/projects/${t}/connections`))}async function ji(t){return a(await i.get(`/projects/${t}/connections/all`))}async function $i(t,e){return a(await i.post(`/projects/${t}/connections`,e))}async function qi(t,e){return a(await i.post(`/projects/${t}/connections/me`,e))}async function Di(t,e,n){return a(await i.put(`/projects/${t}/connections/${e}/credential`,n))}function Re(t,e,n){return`/projects/${t}/connections/${e}/oauth2/${n}`}async function Jm(t,e){return a(await i.post(`/projects/${t}/connectors/${encodeURIComponent(e)}/oauth2/connection`,{}))}async function Xm(t,e,n){return a(await i.put(Re(t,e,"application"),n))}async function Qm(t,e){return a(await i.get(Re(t,e,"application")))}async function Ym(t,e,n){return a(await i.post(Re(t,e,"discover"),n))}async function Zm(t,e,n){return a(await i.post(Re(t,e,"authorize"),n))}async function ef(t,e,n){return a(await i.post(Re(t,e,"device"),n))}async function tf(t,e,n){return a(await i.post(Re(t,e,`device/${encodeURIComponent(n)}`),{}))}async function nf(t,e){return a(await i.get(Re(t,e,"status")))}async function Mi(t,e){return a(await i.put(`/projects/${t}/connections/${e}/revoke`,{}))}async function Oi(t,e){return a(await i.put(`/projects/${t}/connections/${e}/activate`,{}))}async function Ui(t,e){return a(await i.put(`/projects/${t}/connections/${e}/default`,{}))}async function Fi(t,e,n={}){return a(await i.post(`/projects/${t}/connections/${e}/connect`,n))}async function Li(t,e){return a(await i.post(`/projects/${t}/connections/${e}/connect/finalize`,{}))}async function Gi(t){return a(await i.get(`/connectors/projects/${t}/connectors`,{showErrors:!1}))}async function Bi(t){return a(await i.post(`/connectors/projects/${t}/connectors/sync`,{}))}async function Ni(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential-mode`,{mode:n}))}async function Ki(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/authorization-strategy`,{authorization_strategy:n}))}async function Hi(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/sensitive`,{sensitive:n}))}async function Wi(t,e){return a(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`))}async function zi(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`,{policies:n}))}async function rf(t,e){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function sf(t,e,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function Vi(t,e){return a(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/config`))}async function Ji(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/name`,{name:n}))}async function Xi(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect`,{}))}async function Qi(t,e){return a(await i.post(`/connectors/projects/${t}/connectors`,e))}async function Yi(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/auth-discovery`,e))}async function Zi(t,e){return a(await i.delete(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}`))}async function eo(t,e,n){let r=typeof e=="string"||e===void 0?{...e?{q:e}:{},...n?{cursor:n}:{}}:e,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let o=s.toString();return a(await i.get(`/connectors/projects/${t}/pipedream/apps${o?`?${o}`:""}`))}async function to(t,e){let n=new URLSearchParams;e?.perCategory&&n.set("perCategory",String(e.perCategory)),e?.maxCategories&&n.set("maxCategories",String(e.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${t}/pipedream/sections${r?`?${r}`:""}`))}async function Wt(t,e,n){let r=new URLSearchParams;e&&r.set("q",e),n&&r.set("cursor",n);let s=r.toString();return a(await i.get(`/connectors/projects/${t}/discover/connectors${s?`?${s}`:""}`))}async function zt(t,e){let n=new URLSearchParams({id:e});return a(await i.get(`/connectors/projects/${t}/discover/connectors/detail?${n.toString()}`))}var of=Wt,af=zt;async function no(){return a(await i.get("/connectors/connect-status"))}async function ro(t,e,n){let r=typeof n=="string"?{value:n}:n;return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential`,r))}async function cf(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/secret-binding`,{secret_identifier:n}))}async function so(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect/finalize`,{}))}async function io(t){return a(await i.get(`/connectors/projects/${t}/policies`))}async function oo(t,e,n){return a(await i.put(`/connectors/projects/${t}/policies`,{policies:e,defaultMode:n}))}async function ao(t){return a(await i.get(`/projects/${t}/sandboxes`))}async function co(t){return a(await i.get(`/projects/${t}/snapshots`))}async function Vt(t){return a(await i.get(`/projects/${t}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function lo(t,e){return a(await i.post(`/projects/${t}/snapshots/rebuild`,e?{slug:e}:{}))}async function uo(t){return a(await i.post(`/projects/${t}/snapshots/fix-with-agent`,{}))}async function po(t,e){return a(await i.post(`/projects/${t}/sandbox-templates`,e))}async function go(t,e,n){return a(await i.patch(`/projects/${t}/sandbox-templates/${e}`,n))}async function mo(t,e){return a(await i.delete(`/projects/${t}/sandbox-templates/${e}`))}async function fo(t,e){return a(await i.post(`/projects/${t}/sandbox-templates/${e}/build`,{}))}async function yo(t){return a(await i.get(`/projects/${t}/sandboxes`))}async function ho(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path);let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${t}/files${r}`,{showErrors:!1}))}async function bo(t,e,n){let r=new URLSearchParams({q:e});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),a(await i.get(`/projects/${t}/files/search?${r.toString()}`))}async function xo(t,e,n){let r=new URLSearchParams({path:e});return n&&r.set("ref",n),a(await i.get(`/projects/${t}/files/content?${r.toString()}`,{showErrors:!1}))}async function _o(t,e,n){let r=new URLSearchParams;e&&r.set("ref",e),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await ee(),u=`${$().backendUrl||""}/projects/${t}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function Po(t){return a(await i.get(`/projects/${t}/branches`))}async function ko(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path),e?.limit!=null&&n.set("limit",String(e.limit)),e?.skip!=null&&n.set("skip",String(e.skip));let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${t}/commits${r}`))}async function wo(t,e){return a(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}`))}async function So(t,e,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}/diff${s}`))}async function vo(t,e,n){let r=new URLSearchParams({path:e});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),a(await i.get(`/projects/${t}/files/history?${r.toString()}`))}async function Co(t,e){let n=new URLSearchParams({from:e.from,into:e.into});return a(await i.get(`/projects/${t}/version-diff?${n.toString()}`))}async function Ro(t,e){let n=e?`?status=${e}`:"";return a(await i.get(`/projects/${t}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function To(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}`))}async function Ao(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}/diff`))}async function Io(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}/merge-preview`))}async function Eo(t,e){return a(await i.post(`/projects/${t}/change-requests`,e))}async function jo(t,e,n){return a(await i.post(`/projects/${t}/change-requests/${e}/merge`,n??{},{showErrors:!1}))}async function $o(t,e){return a(await i.post(`/projects/${t}/change-requests/${e}/close`,{}))}async function qo(t,e){return a(await i.post(`/projects/${t}/change-requests/${e}/reopen`,{}))}async function Do(t,e,n){return a(await i.post(`/projects/${t}/change-requests/${e}/request-changes`,{feedback:n}))}async function Mo(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/commit-push`,n??{}))}var Oo=new Set;function ot(t){t&&Oo.add(t)}function Uo(t){return!!t&&Oo.has(t)}function lf(t){t&&Oo.delete(t)}async function Ge(t,e){let n=new URLSearchParams;e?.scope&&e.scope!=="visible"&&n.set("scope",e.scope);let r=n.size>0?`?${n}`:"";return a(await i.get(`/projects/${t}/sessions${r}`))}async function Fo(t,e,n){return a(await i.put(`/projects/${t}/sessions/${e}/sharing`,n))}async function Lo(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/previews`))}async function Go(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/public-shares`,{showErrors:!1}))}async function Bo(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/public-shares`,n))}async function No(t,e,n){return a(await i.delete(`/projects/${t}/sessions/${e}/public-shares/${n}`))}async function Be(t,e){let n=a(await i.post(`/projects/${t}/sessions`,e??{}));return e?.initial_prompt||ot(n?.session_id),n}async function Ko(t,e){let n=e?.excludeSessionId?{exclude_session_id:e.excludeSessionId}:{},r=a(await i.post(`/projects/${t}/sessions/warm`,n,{showErrors:!1}));return r.reused||ot(r.session.session_id),r}async function Ho(t,e){let n=a(await i.post(`/projects/${t}/sessions/warm/claim`,e,{showErrors:!1}));return ot(n.session_id),n}async function Jt(t,e,n){return a(await i.get(`/projects/${t}/sessions/${e}`,{showErrors:n?.showErrors}))}async function Wo(t,e,n,r){let s=new URLSearchParams;n&&s.set("limit",String(n)),r?.cursor&&s.set("cursor",r.cursor),r?.includeEvents!=null&&s.set("include_events",String(r.includeEvents));let o=s.toString();return a(await i.get(`/projects/${t}/sessions/${e}/audit${o?`?${o}`:""}`,{showErrors:r?.showErrors}))}async function zo(t,e,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return a(await i.get(`/projects/${t}/sessions/${e}/transcript${s?`?${s}`:""}`))}async function Vo(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/turn`))}async function Jo(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts`,{client_message_id:n.clientMessageId,message_id:n.messageId,parts:n.parts,...n.overrides?{overrides:n.overrides}:{},...n.remintOnDelivery?{remint_on_delivery:!0}:{}}))}async function Xo(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/prompts`))}async function Qo(t,e,n){return a(await i.delete(`/projects/${t}/sessions/${e}/prompts/${n}`)).removed}async function Yo(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts/${n}/retry`,{}))}async function Zo(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts/hold`,{held:n}))}async function ea(t,e,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return a(await i.get(`/projects/${t}/sessions/${e}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function ta(t,e,n){return a(await i.patch(`/projects/${t}/sessions/${e}`,n))}async function na(t,e){return a(await i.delete(`/projects/${t}/sessions/${e}`))}async function at(t,e){return a(await i.post(`/projects/${t}/sessions/${e}/restart`,{}))}async function ct(t,e){return a(await i.post(`/projects/${t}/sessions/${e}/stop`,{}))}async function ra(t,e){return a(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/config`,{showErrors:!1}))}function uf(t){let e=t.split(`
|
|
14
14
|
`).filter(n=>n.startsWith("data:")).map(n=>n.slice(5).replace(/^ /,""));if(e.length===0)return null;try{return JSON.parse(e.join(`
|
|
15
|
-
`))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function
|
|
15
|
+
`))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function sa(t,e,n={}){return a(await i.post(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload`,n,{showErrors:!1}))}async function ia(t,e,n,r,s={}){let o=await i.postStream(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload-stream`,n,s);if(!o.ok){let m=await o.json().catch(()=>null);throw new v(m?.error||`Reload failed: HTTP ${o.status}`,{status:o.status,code:m?.code,data:m})}let u=o.body?.getReader();if(!u)throw new Error("Reload stream is unavailable on this runtime (no response body)");let p=new TextDecoder,d="",f=null;try{for(;;){let{done:m,value:b}=await u.read();if(m)break;d+=p.decode(b,{stream:!0});let x=d.indexOf(`
|
|
16
16
|
|
|
17
|
-
`);for(;x!==-1;){let I=
|
|
17
|
+
`);for(;x!==-1;){let I=d.slice(0,x);d=d.slice(x+2),x=d.indexOf(`
|
|
18
18
|
|
|
19
|
-
`);let T=Sm(I);if(T){if(r(T),T.type==="error")throw new R(T.error,{status:T.status,code:T.code,data:{reason:T.reason}});T.type==="done"&&(f=T.result)}}}}finally{u.cancel().catch(()=>{})}if(!f)throw new Error("Reload stream ended without a result");return f}async function Zo(t,e){return o(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`))}async function ea(t,e,n){return o(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`,n))}async function ta(t,e,n){return o(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/model`,{opencode_model:n}))}async function na(t){return o(await i.get(`/projects/${t}/triggers`))}async function ra(t,e){return o(await i.post(`/projects/${t}/triggers`,e))}async function sa(t,e,n){return o(await i.patch(`/projects/${t}/triggers/${e}`,n))}async function ia(t,e){return o(await i.delete(`/projects/${t}/triggers/${e}`))}async function oa(t,e){return o(await i.patch(`/projects/${t}/triggers/activation`,{paused:e}))}async function aa(t,e){return o(await i.post(`/projects/${t}/triggers/${e}/fire`,{}))}var ue=new Map;function ca(t,e){return`${t}::${e}`}function gu(t,e){ue.delete(t),ue.set(t,e)}function mu(t,e){let n=ca(t,e),r=ue.get(n);return r&&gu(n,r),r}function fu(t,e,n){let r=ca(t,e);if(!ue.has(r)&&ue.size>=512){let s=ue.keys().next().value;s!==void 0&&ue.delete(s)}gu(r,n)}function yu(t,e){ue.delete(ca(t,e))}function vm(t){if(t.status!=="running"||!t.sandbox_id||!t.sandbox_provider||!t.sandbox_url||!t.opencode_session_id)return null;let e=t.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return e?{stage:"ready",agent_name:t.agent_name??"default",retriable:!0,sandbox:{sandbox_id:t.sandbox_id,session_id:t.session_id,project_id:t.project_id,account_id:t.account_id,provider:t.sandbox_provider,external_id:e,base_url:t.sandbox_url,status:"active",config:{},metadata:t.metadata,last_used_at:t.updated_at,created_at:t.created_at,updated_at:t.updated_at},opencode_session_id:t.opencode_session_id,runtime_url:t.sandbox_url}:null}var Vt=class extends Error{status;code;terminal;constructor(e,n){super(e),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function Cm(t){return t instanceof Error&&t.name==="SessionStartError"}function Rm(t){let e=t,n=e?.status,r=e?.code??e?.details?.code??e?.details?.error,s=e?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Vt(s,{status:n,code:r,terminal:!0}):null}async function ve(t,e,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${t}/sessions/${e}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=Rm(s.error);if(p&&!(p.status===404&&Uo(e)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&fu(t,e,{opencodeSessionId:c.opencode_session_id,runtimeUrl:vt(u),sandboxId:u}),c}function Tm(t,e){return["session-start",t,e]}async function la(t){return o(await i.get(`/projects/${t}/model-defaults`))}async function ua(t,e){return o(await i.put(`/projects/${t}/model-defaults`,e))}async function pa(t,e){let n=new URLSearchParams({scope:e.scope,...e.agentName?{agentName:e.agentName}:{}}).toString();return o(await i.delete(`/projects/${t}/model-defaults?${n}`))}async function Am(t,e){return o(await i.put(`/projects/${t}/model-enablement`,{modelOverrides:e}))}async function da(t,e,n){let r=jm(n);return o(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/scope`,r))}function hu(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function Im(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function jm(t){let e=t.connectors_required?hu(t.connectors_required):void 0,n=t.connectors_personal?hu(t.connectors_personal):void 0;if(e&&n&&!Im(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function Em(t,e){let n=o(await i.get(`/projects/${t}/agents/${encodeURIComponent(e)}/config`));return{...n,block:n.block?ga(n.block):null}}async function $m(t,e,n){let r=ga(n),s=o(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/config`,r));return{...s,block:s.block?ga(s.block):null}}function bu(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function qm(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function ga(t){let e=t.connectors_required?bu(t.connectors_required):void 0,n=t.connectors_personal?bu(t.connectors_personal):void 0;if(e&&n&&!qm(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function Dm(t,e,n){return o(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/grant`,{agent:n}))}async function ma(t,e){return o(await i.put(`/projects/${t}/default-agent`,{agent:e}))}function Jt(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}function Mm(t){let e=t.trim().toLowerCase();return e===""||e==="free"||e==="none"?"free":e==="enterprise"?"enterprise":"team"}function Um(t){let e=t?.plan;if(e)return{family:e.family,label:e.label,sublabel:e.sublabel??null,isGrandfathered:e.is_grandfathered===!0};let n=t??Jt(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:Mm(r),label:s,sublabel:null,isGrandfathered:!1}}async function fa(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Jt():s.data}async function ya(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Jt():s.data}async function ha(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.limit!=null&&e.set("limit",String(t.limit)),t?.offset!=null&&e.set("offset",String(t.offset)),t?.typeFilter&&e.set("type_filter",Array.isArray(t.typeFilter)?t.typeFilter.join(","):t.typeFilter);let n=e.toString();return o(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function ba(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.days!=null&&e.set("days",String(t.days));let n=e.toString();return o(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function xa(){return o(await i.get("/billing/credit-breakdown"))}async function _a(t){let e=t!=null?`?days=${t}`:"";return o(await i.get(`/billing/usage-history${e}`))}async function Pa(){return o(await i.get("/billing/tier-configurations"))}async function Om(t){let e=t.accountId?`?account_id=${encodeURIComponent(t.accountId)}`:"";return De(t,`/v1/billing/account-state${e}`)}async function ka(t){return o(await i.post("/billing/create-checkout-session",{account_id:t.accountId,tier_key:t.tierKey,success_url:t.successUrl,cancel_url:t.cancelUrl,commitment_type:t.commitmentType,locale:t.locale,server_type:t.serverType,location:t.location}),"Failed to create checkout session")}async function wa(t,e){return o(await i.post("/billing/confirm-checkout-session",{account_id:e,session_id:t}),"Failed to confirm checkout session")}async function Sa(t,e){return o(await i.post("/billing/create-portal-session",{account_id:e,return_url:t}),"Failed to create portal session")}async function va(t,e){return o(await i.post("/billing/cancel-subscription",{account_id:e,feedback:t}),"Failed to cancel subscription")}async function Ca(t){return o(await i.post("/billing/reactivate-subscription",{account_id:t}),"Failed to reactivate subscription")}async function Ra(t,e,n){return o(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:t,commitment_type:e}),"Failed to schedule downgrade")}async function Ta(t){return o(await i.post("/billing/cancel-scheduled-change",{account_id:t}),"Failed to cancel scheduled change")}async function Aa(t,e){let n=new URLSearchParams({new_price_id:t});return e&&n.set("account_id",e),o(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Ia(t){return o(await i.post("/billing/purchase-credits",{amount:t.amount,account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl}),"Failed to purchase credits")}async function ja(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/billing/auto-topup/settings${e}`),"Failed to load auto-topup settings")}async function Ea(t){return o(await i.post("/billing/auto-topup/configure",{account_id:t.accountId,enabled:t.enabled,threshold:t.threshold,amount:t.amount}),"Failed to configure auto-topup")}async function Fm(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/billing/auto-topup/setup-status${e}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Lm(t){return o(await i.post("/billing/create-per-seat-checkout",{account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl,locale:t.locale}),"Failed to create per-seat checkout")}async function Gm(t){return o(await i.post("/billing/claim-per-seat",{account_id:t}),"Failed to switch to per-seat billing")}async function Bm(t){return o(await i.post("/billing/sync-subscription",{account_id:t}),"Failed to sync subscription")}async function $a(t={}){let e=new URLSearchParams;t.start&&e.set("start",t.start),t.end&&e.set("end",t.end),(t.groupBy==="model"||t.groupBy==="provider"||t.groupBy==="day")&&e.set("group_by",t.groupBy),t.accountId&&e.set("account_id",t.accountId);let n=e.toString();return o(await i.get(`/usage${n?`?${n}`:""}`))}function Da(t,e){e.accountId&&t.set("account_id",e.accountId),e.projectId&&t.set("project_id",e.projectId)}function Xt(t,e){e.from&&t.set("from",e.from),e.to&&t.set("to",e.to)}function Qt(t){return t.size>0?`?${t}`:""}async function Ma(t={}){let e=new URLSearchParams;return Da(e,t),t.ownerId&&e.set("owner_id",t.ownerId),Xt(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),o(await i.get(`/usage/session-costs${Qt(e)}`))}async function Yt(t,e={}){let n=new URLSearchParams;return Da(n,e),o(await i.get(`/usage/session-costs/${encodeURIComponent(t)}${Qt(n)}`))}async function Km(t={}){let e=new URLSearchParams;return t.accountId&&e.set("account_id",t.accountId),Xt(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),o(await i.get(`/usage/cost-by-project${Qt(e)}`))}async function Nm(t={}){let e=new URLSearchParams;return Da(e,t),t.sessionId&&e.set("session_id",t.sessionId),Xt(e,t),o(await i.get(`/usage/cost-summary${Qt(e)}`))}function qa(t,e={}){let n=new URLSearchParams;if(e.accountId&&n.set("account_id",e.accountId),t==="sessions"){let s=e;s.projectId&&n.set("project_id",s.projectId),s.ownerId&&n.set("owner_id",s.ownerId)}Xt(n,e),e.sort&&n.set("sort",e.sort),n.set("format","csv");let r=t==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${E().backendUrl||""}${r}?${n}`}async function Hm(t,e={}){let n=qa(t==="projects"?"projects":"sessions",e),r=await ee(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let g=await s.text().catch(()=>"");throw new Error(g||`Failed to export CSV (HTTP ${s.status})`)}let c=s.headers.get("x-kortix-row-cap"),u=c!=null?Number(c):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function xu(t,e){return o(await i.post(`/channels/${t}/identity/bind`,{token:e}),"Failed to connect your account")}function Wm(t){return xu("slack",t)}function zm(t){return xu("teams",t)}async function Ua(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});return e.success?e.data??null:null}async function Oa(t,e){return o(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/connect`,e,{showErrors:!1}),"Failed to connect")}var Vm={oauth_available:!1,install_url:null};async function Fa(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/mode`,{showErrors:!1});return!e.success||!e.data?Vm:e.data}async function La(t){return o(await i.get(`/webhooks/slack/${encodeURIComponent(t)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Ga(t){let e=await i.delete(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});if(!e.success)throw new Error(e.error?.message??"Failed to disconnect")}async function Ba(t,e){return o(await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/file?url=${encodeURIComponent(e)}`,{showErrors:!1}),"Failed to download Slack file")}async function Ka(t,e){return o(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/file/upload`,{channel:e.channel,filename:e.filename,content_base64:e.contentBase64,comment:e.comment,thread_ts:e.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Na(t){let e=t.connectionId??t.connection_id??null,n=t.connectorSlug??t.connector_slug??t.connectionSlug??t.connection_slug??"kortix_email";return{...t,connectionId:e,connectorSlug:n}}var Jm={provider:"agentmail",managed_available:!1};async function Ha(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Na(r.data):null}async function Wa(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/mode`,{showErrors:!1});return!e.success||!e.data?Jm:e.data}async function za(t,e){let n=o(await i.post(`/projects/${encodeURIComponent(t)}/channels/email/connect`,e,{showErrors:!1}),"Failed to connect email");return Na(n)}async function Va(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.delete(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function Ja(t,e,n){let r=o(await i.patch(`/projects/${encodeURIComponent(t)}/channels/email/installation`,{connector_slug:e??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Na(r)}async function Xa(t,e){return o(await i.put(`/projects/${encodeURIComponent(t)}/channels/meet/name`,{name:e},{showErrors:!1}),"Failed to save name")}async function Xm(t){return o(await i.get(`/projects/${encodeURIComponent(t)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Qm(t,e,n){return o(await i.patch(`/projects/${encodeURIComponent(t)}/channels/bindings/${encodeURIComponent(e)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Qa(t){return o(await i.get(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Ya(t,e){return o(await i.put(`/projects/${t}/gateway/routing-policy`,e),"Gateway routing policy request failed")}async function Za(t){return o(await i.delete(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ec(t,e){return o(await i.post(`/projects/${t}/gateway/routing-policy/preview`,e),"Gateway route preview failed")}async function tc(t,e){let n=new URLSearchParams;e?.limit&&n.set("limit",String(e.limit)),e?.offset&&n.set("offset",String(e.offset)),e?.ok!==void 0&&n.set("ok",String(e.ok));let r=n.toString();return o(await i.get(`/projects/${t}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function nc(t,e){return o(await i.get(`/projects/${t}/gateway/logs/${e}`),"Gateway request failed")}async function rc(t,e){return o(await i.get(`/projects/${t}/gateway/overview${e?`?days=${e}`:""}`),"Gateway request failed")}async function sc(t,e){return o(await i.get(`/projects/${t}/gateway/series${e?`?days=${e}`:""}`),"Gateway request failed")}async function ic(t,e){return o(await i.get(`/projects/${t}/gateway/breakdown${e?`?days=${e}`:""}`),"Gateway request failed")}async function oc(t,e){return o(await i.get(`/projects/${t}/gateway/sessions${e?`?days=${e}`:""}`),"Gateway request failed")}async function ac(t,e){return o(await i.get(`/projects/${t}/gateway/errors${e?`?days=${e}`:""}`),"Gateway request failed")}async function cc(t){return o(await i.get(`/projects/${t}/gateway/budgets`),"Gateway request failed")}async function lc(t,e){return o(await i.put(`/projects/${t}/gateway/budgets`,e),"Gateway request failed")}async function uc(t,e){return o(await i.delete(`/projects/${t}/gateway/budgets/${e}`),"Gateway request failed")}async function pc(t){return o(await i.get(`/projects/${t}/gateway/keys`),"Gateway request failed")}async function dc(t,e){return o(await i.post(`/projects/${t}/gateway/keys`,{name:e}),"Gateway request failed")}async function gc(t,e){return o(await i.delete(`/projects/${t}/gateway/keys/${e}`),"Gateway request failed")}async function mc(t,e,n,r,s){return o(await i.post(`/projects/${t}/gateway/playground`,{prompt:e,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function Ym(t,e){return o(await i.post(`/projects/${t}/gateway/providers/${encodeURIComponent(e)}/verify`,{}),"Gateway provider verification failed")}async function fc(t){let e=new FormData;e.append("audio_file",t);let n=await i.upload("/transcription",e,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function Zm(){return o(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function ef(){return o(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function tf(t){return o(await i.post("/referrals/validate",{referral_code:t}),"VALIDATE_CODE_FAILED")}async function nf(){return o(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function rf(t={}){let e=new URLSearchParams({limit:String(t.limit??50),offset:String(t.offset??0)});return o(await i.get(`/referrals/list?${e}`),"GET_REFERRALS_FAILED")}async function sf(t){return o(await i.post("/referrals/email",{emails:t}),"SEND_EMAILS_FAILED")}function P(t){if(!t.success||t.data===void 0)throw t.error||new Error("Unexpected empty response");return t.data}function O(t){return i.get(t,{showErrors:!1})}async function of(t){return P(await O(`/accounts/${t}/iam/groups`)).groups}async function af(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}`))}async function cf(t,e){return P(await i.post(`/accounts/${t}/iam/groups`,e,{showErrors:!1}))}async function lf(t,e,n){return P(await i.patch(`/accounts/${t}/iam/groups/${e}`,n))}async function uf(t,e){return P(await i.delete(`/accounts/${t}/iam/groups/${e}`))}async function pf(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/members`)).members}async function df(t,e,n){return P(await i.post(`/accounts/${t}/iam/groups/${e}/members`,{userIds:n}))}async function gf(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/project-grants`)).grants}async function mf(t,e,n){return P(await i.delete(`/accounts/${t}/iam/groups/${e}/members/${n}`))}async function ff(t,e){return P(await O(`/accounts/${t}/iam/members/${e}/groups`)).groups}async function yf(t,e){return P(await O(`/accounts/${t}/iam/members/${e}/project-access`)).projects}async function hf(t,e={}){let n=new URLSearchParams;e.principalType&&n.set("principalType",e.principalType),e.principalId&&n.set("principalId",e.principalId),e.scopeType&&n.set("scopeType",e.scopeType),e.scopeId!==void 0&&n.set("scopeId",e.scopeId===null?"null":e.scopeId);let r=n.toString();return P(await O(`/accounts/${t}/iam/policies${r?`?${r}`:""}`)).policies}async function bf(t,e){return P(await i.post(`/accounts/${t}/iam/policies`,e,{showErrors:!1}))}async function xf(t,e,n){return P(await i.patch(`/accounts/${t}/iam/policies/${e}`,n,{showErrors:!1}))}async function _f(t,e){return P(await i.delete(`/accounts/${t}/iam/policies/${e}`))}async function Pf(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-delete`,{policy_ids:e},{showErrors:!1}))}async function kf(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-import`,{policies:e},{showErrors:!1}))}async function wf(t){return P(await O(`/accounts/${t}/iam/roles`)).roles}async function Sf(t){return P(await O(`/accounts/${t}/iam/agent-identities`)).agents}async function vf(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/permissions`))}async function Cf(t){return P(await O(`/accounts/${t}/iam/actions`)).actions}async function Rf(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/usage`))}async function Tf(t,e){return P(await i.post(`/accounts/${t}/iam/roles`,e,{showErrors:!1}))}async function Af(t,e,n){return P(await i.patch(`/accounts/${t}/iam/roles/${e}`,n,{showErrors:!1}))}async function If(t,e,n){return P(await i.put(`/accounts/${t}/iam/roles/${e}/permissions`,{actions:n},{showErrors:!1}))}async function jf(t,e){return P(await i.delete(`/accounts/${t}/iam/roles/${e}`,{showErrors:!1}))}async function Ef(t,e,n){return P(await i.patch(`/accounts/${t}/iam/members/${e}/super-admin`,{isSuperAdmin:n}))}async function $f(t){return P(await O(`/accounts/${t}/iam/scim/tokens`)).tokens}async function qf(t,e){return P(await i.post(`/accounts/${t}/iam/scim/tokens`,e,{showErrors:!1}))}async function Df(t,e){return P(await i.delete(`/accounts/${t}/iam/scim/tokens/${e}`))}async function Mf(t){return P(await O(`/accounts/${t}/iam/mfa-required`))}async function Uf(t){return P(await O(`/accounts/${t}/iam/mfa-required/preview`))}async function Of(t,e){return P(await i.patch(`/accounts/${t}/iam/mfa-required`,{enabled:e},{showErrors:!1}))}async function Ff(t){return P(await O(`/accounts/${t}/iam/sso/provider`)).provider}async function Lf(t,e){return P(await i.put(`/accounts/${t}/iam/sso/provider`,e,{showErrors:!1})).provider}async function Gf(t,e){return P(await i.post(`/accounts/${t}/iam/sso/provider/from-metadata`,e,{showErrors:!1})).provider}async function Bf(t){return P(await i.delete(`/accounts/${t}/iam/sso/provider`))}async function Kf(t){return P(await O(`/accounts/${t}/iam/sso/mappings`)).mappings}async function Nf(t,e){return P(await i.post(`/accounts/${t}/iam/sso/mappings`,e,{showErrors:!1}))}async function Hf(t,e){return P(await i.delete(`/accounts/${t}/iam/sso/mappings/${e}`))}async function Wf(t){return P(await O(`/accounts/${t}/iam/session-policy`))}async function zf(t,e){return P(await i.patch(`/accounts/${t}/iam/session-policy`,e,{showErrors:!1}))}async function Vf(t){return P(await O(`/accounts/${t}/iam/sessions`)).sessions}async function Jf(t,e){return P(await i.post(`/accounts/${t}/iam/sessions/${e}/revoke`,{},{showErrors:!1}))}async function Xf(t){return P(await O(`/accounts/${t}/iam/pat-policy`))}async function Qf(t,e){return P(await i.patch(`/accounts/${t}/iam/pat-policy`,e,{showErrors:!1}))}async function Yf(t){return P(await O(`/accounts/${t}/iam/service-accounts`)).service_accounts}async function Zf(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts`,e,{showErrors:!1}))}async function ey(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts/${e}/disable`,{},{showErrors:!1}))}async function ty(t,e){return P(await i.delete(`/accounts/${t}/iam/service-accounts/${e}`))}async function ny(t){return P(await O(`/accounts/${t}/audit/webhooks`)).webhooks}async function ry(t,e){return P(await i.post(`/accounts/${t}/audit/webhooks`,e,{showErrors:!1}))}async function sy(t,e,n){return P(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function iy(t,e){return P(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function oy(t,e={}){let n=new URLSearchParams;e.action&&n.set("action",e.action),e.actor&&n.set("actor",e.actor),e.project_id&&n.set("project_id",e.project_id),e.session_id&&n.set("session_id",e.session_id),e.actor_type&&n.set("actor_type",e.actor_type),e.source&&n.set("source",e.source),e.phase&&n.set("phase",e.phase),e.outcome&&n.set("outcome",e.outcome),e.request_id&&n.set("request_id",e.request_id),e.correlation_id&&n.set("correlation_id",e.correlation_id),e.resource_type&&n.set("resource_type",e.resource_type),e.since&&n.set("since",e.since),e.until&&n.set("until",e.until),e.q&&n.set("q",e.q),e.cursor&&n.set("cursor",e.cursor),e.limit&&n.set("limit",String(e.limit));let r=n.toString();return P(await O(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function ay(t,e,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),P(await O(`/accounts/${t}/iam/members/${e}/effective?${r.toString()}`))}async function cy(t,e,n){return n.length===0?[]:P(await i.post(`/accounts/${t}/iam/members/${e}/effective:batch`,{probes:n})).results}async function ly(t){return P(await O(`/accounts/${t}/iam/enterprise-demo`)).enabled}async function uy(t,e){return P(await i.put(`/accounts/${t}/iam/enterprise-demo`,{enabled:e})).enabled}async function py(){let t=await i.get("/account/deletion-status",{showErrors:!1});return t.error?.status===404?null:o(t,"Failed to load account deletion status")}async function dy(t="User requested deletion"){return o(await i.post("/account/request-deletion",{reason:t},{showErrors:!1}),"Failed to request account deletion")}async function gy(){return o(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function my(){return o(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function fy(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function yy(){return i.get("/admin/api/provider-distribution").then(t=>o(t))}function hy(t=300){return i.get(`/admin/api/sandboxes?limit=${t}`).then(e=>o(e))}function by(t){return i.put("/admin/api/provider-distribution",t).then(e=>o(e))}function xy(t){return i.get(`/admin/api/provider-analytics?days=${t}`).then(e=>o(e))}function _y(t,e){return i.post(`/admin/api/sandboxes/${encodeURIComponent(t)}/migrate`,{targetProvider:e}).then(n=>o(n))}function Py(){return i.get("/admin/api/provider-fallback").then(t=>o(t))}function ky(t){return i.put("/admin/api/provider-fallback",{enabled:t}).then(e=>o(e))}async function wy(t){return o(await i.get(`/google/auth-url?return_url=${encodeURIComponent(t)}`),"Failed to get Google auth URL")}async function Sy(t,e){return o(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:t,sandbox_url:e},{timeout:18e4}),"Failed to upload to Google Slides")}async function yc(t,e){let n=new URLSearchParams;e?.segment&&n.set("segment",e.segment),e?.kind&&n.set("kind",e.kind);let r=n.toString();return o(await i.get(`/projects/${t}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function hc(t,e){return o(await i.get(`/projects/${t}/review/items/${e}`))}async function bc(t,e){return o(await i.post(`/projects/${t}/review/items`,e))}async function xc(t,e,n){return o(await i.post(`/projects/${t}/review/items/${e}/act`,n))}async function _c(t,e){return o(await i.post(`/projects/${t}/review/bulk`,e))}async function Pc(t){return o(await i.get(`/p/share?sandbox_id=${encodeURIComponent(t)}`),"Failed to load public links").shares??[]}async function kc(t){return o(await i.post("/p/share",{sandbox_id:t.sandboxId,port:t.port,ttl:t.ttl,label:t.label}),"Failed to generate public URL")}async function wc(t,e){let n=await i.delete(`/p/share/${encodeURIComponent(e)}?sandbox_id=${encodeURIComponent(t)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Zt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function _u(t,e=""){return`${fe()}/public/session-shares/${encodeURIComponent(t)}${e}`}async function Pu(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new Zt(s,e.status)}return r}async function vy(t){return Pu(_u(t))}async function Cy(t){return Pu(_u(t,"/messages"))}var en=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function ku(t){return`${fe()}/public/voice-join/${encodeURIComponent(t)}`}async function wu(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new en(s,e.status)}return r}async function Ry(t){return wu(ku(t))}async function Ty(t,e=0){let n=`${ku(t)}/transcript?cursor=${encodeURIComponent(String(e))}`;return wu(n)}async function Sc(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/accounts/tokens${e}`))}async function vc(t){let{accountId:e,expiresAt:n,projectId:r,name:s}=t;return o(await i.post("/accounts/tokens",{name:s,...e?{account_id:e}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Cc(t,e){let n=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.delete(`/accounts/tokens/${t}${n}`))}async function Rc(t){return o(await i.get(`/projects/${t}/cli-token`))}async function Tc(t,e){return o(await i.post(`/projects/${t}/cli-token`,e??{}))}async function Ac(t,e){return o(await i.delete(`/projects/${t}/cli-token/${e}`))}async function Ic(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return o(await i.get(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function jc(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return o(await i.get(`/projects/${t}/audit${r?`?${r}`:""}`))}async function Ec(t,e){let n=new URLSearchParams;e?.format&&n.set("format",e.format),e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return o(await i.get(`/accounts/${t}/audit/export${r?`?${r}`:""}`))}async function $c(t){return o(await i.get(`/accounts/${t}/audit/webhooks`))}async function qc(t,e){return o(await i.post(`/accounts/${t}/audit/webhooks`,e))}async function Dc(t,e,n){return o(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function Mc(t,e){return o(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function Uc(t,e){return o(await i.post(`/projects/${t}/secret-requests`,{names:e.names,labels:e.labels,descriptions:e.descriptions,scope:e.scope,expires_in_minutes:e.expiresInMinutes}),"Failed to mint secret-entry link")}async function Oc(t,e){return o(await i.post(`/projects/${t}/connect-requests`,{slug:e.slug,expires_in_minutes:e.expiresInMinutes}),"Failed to mint connect link")}async function Ay(t){return o(await i.get(`/approval-links/${t}`),"Failed to load approval")}async function Fc(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString()?`?${e.toString()}`:"";return o(await i.get(`/marketplace/items${n}`))}async function Lc(){return o(await i.get("/marketplace/marketplaces"))}async function Gc(){return o(await i.get("/marketplace/marketplaces/featured"))}async function Bc(t){return o(await i.get(`/marketplace/items/${encodeURIComponent(t)}`),"Item not found")}async function Kc(t,e){return o(await i.get(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`),"File not found")}async function Nc(){return o(await i.get("/marketplace/sources"))}async function Hc(t){return o(await i.post("/marketplace/sources",t),"Failed to add marketplace source")}async function Wc(t){return o(await i.delete(`/marketplace/sources/${encodeURIComponent(t)}`),"Failed to remove marketplace source")}async function Iy(t,e){return o(await i.post(`/projects/${encodeURIComponent(t)}/marketplace/install-session`,{id:e}),"Failed to start marketplace install session")}async function jy(t){return o(await i.get(`/templates/${encodeURIComponent(t)}`))}async function Ey(t,e){return o(await i.post(`/templates/${encodeURIComponent(t)}/install`,e))}async function zc(t){return o(await i.get(`/projects/${t}/apps`),"Failed to list Apps").apps}async function Vc(t,e){return o(await i.post(`/projects/${t}/apps`,e),"Failed to create App")}async function Jc(t,e){return o(await i.get(`/projects/${t}/apps/${e}`),"Failed to load App")}async function Xc(t,e,n){return o(await i.patch(`/projects/${t}/apps/${e}`,n),"Failed to update App")}async function Qc(t,e){return o(await i.delete(`/projects/${t}/apps/${e}`),"Failed to delete App")}async function Yc(t,e){return o(await i.get(`/projects/${t}/apps/${e}/access`),"Failed to load App access policy")}async function Zc(t,e,n){return o(await i.patch(`/projects/${t}/apps/${e}/access`,n),"Failed to update App access policy")}async function el(t,e){return o(await i.post(`/projects/${t}/apps/${e}/access-session`,{}),"Failed to create App access session")}async function tn(t,e){return o(await i.post(`/projects/${t}/apps/artifacts`,e),"Failed to register App artifact")}async function nn(t,e,n){return o(await i.post(`/projects/${t}/apps/artifacts/${e}/finalize`,n),"Failed to finalize App artifact")}async function $y(t){return t instanceof Uint8Array?t:new Uint8Array(await t.arrayBuffer())}async function qy(t){let e=Uint8Array.from(t),n=await globalThis.crypto.subtle.digest("SHA-256",e.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function tl(t,e,n={}){let r=await $y(e),s=n.mediaType??"application/gzip",c=await tn(t,{kind:"archive",media_type:s});if(!c.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>c.upload.max_bytes)throw new Error(`App artifact exceeds ${c.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let u=await fetch(c.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!u.ok){let p=await u.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${u.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),nn(t,c.artifact.artifact_id,{sha256:await qy(r),size_bytes:r.byteLength})}async function nl(t,e,n){return o(await i.post(`/projects/${t}/apps/${e}/deployments`,n),"Failed to create App deployment")}async function rl(t,e){return o(await i.get(`/projects/${t}/apps/${e}/deployments`),"Failed to list App deployments").deployments}async function sl(t,e,n){return o(await i.get(`/projects/${t}/apps/${e}/deployments/${n}`),"Failed to load App deployment")}async function il(t,e,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let c=s.size?`?${s.toString()}`:"";return o(await i.get(`/projects/${t}/apps/${e}/deployments/${n}/logs${c}`),"Failed to load App logs")}async function ol(t,e){return o(await i.post(`/projects/${t}/apps/${e}/start`,{}),"Failed to start App")}async function al(t,e){return o(await i.post(`/projects/${t}/apps/${e}/stop`,{}),"Failed to stop App")}async function cl(t,e,n){return o(await i.post(`/projects/${t}/apps/${e}/rollback`,{deployment_id:n}),"Failed to roll back App")}function Dy(t){return t?t.runtimeReady!==void 0?t.runtimeReady===!0:t.opencode!==void 0?t.opencode==="ok"||t.opencode===!0:t.status!=="starting"&&t.status!=="down"&&t.status!=="error":!1}async function ll(t,e){let n=(t===void 0?L():t)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await q(`${n}/kortix/health`,{method:"GET",...e},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var re={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var Su=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,vu=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Cu=new Set([22,4096,parseInt(re.KORTIX_MASTER,10)]);function My(t){return vu.test(t)}function rn(t){if(!t)return"/";let e=t,n=e.indexOf("](");n!==-1&&(e=e.slice(0,n));let r=e.toLowerCase().indexOf("%5d(");return r!==-1&&(e=e.slice(0,r)),e?e.startsWith("/")?e:`/${e}`:"/"}function Uy(t){let e=t.indexOf("](");return e===-1?t:t.slice(0,e)}var Oy=new Set(["'",'"',"`","<","(","["]),Fy=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Ly(t){let e=0,n=t.length;for(;e<n&&(t[e]===" "||t[e]===" ");)e++;for(;n>e&&(t[n-1]===" "||t[n-1]===" ");)n--;for(;e<n&&Oy.has(t[e]);)e++;for(;n>e&&Fy.has(t[n-1]);)n--;return t.slice(e,n)}function Gy(t){return t.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var By=/^\/proxy\/(\d{1,5})(\/.*)?$/,Ky=/^\/(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 Ru(t){if(!t)return!1;try{let e=new URL(t);return e.hostname!=="localhost"&&e.hostname!=="127.0.0.1"?!1:Ky.test(e.pathname)}catch{return!1}}function at(t){if(!t)return null;let e=Ly(Uy(t.trim())),n=pl(e);if(n){let r=rn(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(re.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(By);if(g){let f=parseInt(g[1],10);if(f>=1&&f<=65535)return s=f,c=rn(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let p=rn(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Gy(t);return r&&r!==t?at(r):null}}function Ny(t){let e=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(t))!==null;)e.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(t))!==null;){let c=r.index,u=c+r[0].length;e.some(([g,f])=>c>=g&&u<=f)||e.push([c,u])}return e}function Hy(t,e){return e.some(([n,r])=>t>=n&&t<r)}function Tu(t){let e=[],n=new Set,r=Ny(t);Su.lastIndex=0;let s;for(;(s=Su.exec(t))!==null;){let c=at(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||Cu.has(p)||n.has(u)||(n.add(u),e.push({originalUrl:u,port:p,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Hy(s.index,r)}))}return e}function Wy(t){return Tu(t).length>0}function zy(t){try{let{hostname:e}=new URL(t);return e==="localhost"||e==="127.0.0.1"}catch{return!1}}function Au(t){return t.sandboxId.trim().length>0}function pe(t,e,n){let r=rn(e);if(!Au(n))return $u(t,r);if(!zy(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${t}${r}`}return`http://p${t}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function Vy(t,e){if(!t)return;let r=t.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return pe(3211,`/open?path=/workspace/${r}`,e)}function Iu(t){return`/open?path=/${(t.startsWith("/workspace")?t:`/workspace/${t.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Jy(t){return`http://localhost:3211${Iu(t)}`}function ju(){return"/health"}function Xy(t){return pe(3211,ju(),t)}function Qy(t,e){return pe(t,"/",e)}function Eu(t){let e=at(t);return!(!e||Cu.has(e.port)||Ru(t))}function ul(t,e){if(!t)return t;let n=at(t);return n?Eu(n.originalUrl)?pe(n.port,n.path,e):n.originalUrl:t}function $u(t,e="/"){return`http://localhost:${t}${e}`}var qu=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function pl(t){let e=t.match(vu);if(e)return{port:parseInt(e[1],10),sandboxId:e[2],backendPort:e[3]?parseInt(e[3],10):80,path:e[4]||"/"};let n=t.match(qu);if(n)try{let r=new URL(t);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function Yy(t){try{let e=pl(t);return e?`http://localhost:${e.port}${e.path}`:null}catch{return null}}function Zy(t){return My(t)||qu.test(t)}function eh(t){try{let{hostname:e,port:n}=new URL(t);return(e==="localhost"||e==="127.0.0.1")&&n!==""}catch{return!1}}var ot="/web-proxy/";function th(t,e){try{let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${ot}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(re.KORTIX_MASTER,10);return`${pe(c,"/",e).replace(/\/$/,"")}${s}`}catch{return null}}function nh(t){try{let e=new URL(t),n=e.pathname.indexOf(ot);if(n===-1)return null;let s=e.pathname.slice(n+ot.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],p=s[3]||"/";return`${c}://${u}${p}${e.search}${e.hash}`}catch{return null}}function rh(t){try{return new URL(t).pathname.includes(ot)}catch{return t.includes(ot)}}function sh(t){if(!t)return!1;let e=t.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(e)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e))}function ih(t){let e=t.trim();return e?/^https?:\/\//i.test(e)?e:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e)?`https://${e}`:null:null}var Du="frontend";function sn(t,e,n){(t==="error"?console.error:t==="warn"?console.warn:t==="debug"?console.debug:console.log)(`[${Du}] ${e}`,...n?[n]:[]);try{le().app.log({service:Du,level:t,message:e,extra:n})}catch{}}var de={debug:(t,e)=>sn("debug",t,e),info:(t,e)=>sn("info",t,e),warn:(t,e)=>sn("warn",t,e),error:(t,e)=>sn("error",t,e)};function Mu(t){return{type:"heartbeat-gap",gapMs:t}}function Uu(t){switch(t.type){case"message.updated":return{type:"message.updated",sessionID:t.properties.sessionID,message:t.properties.info};case"message.removed":return{type:"message.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:t.properties.sessionID,part:t.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID,partID:t.properties.partID};case"session.status":return{type:"session.status",sessionID:t.properties.sessionID,status:t.properties.status};case"session.idle":return{type:"session.idle",sessionID:t.properties.sessionID};case"session.error":return{type:"session.error",sessionID:t.properties.sessionID,error:t.properties.error};case"question.asked":return{type:"question.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,questions:t.properties.questions,tool:t.properties.tool};case"question.replied":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"replied",answers:t.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,permission:t.properties.permission,patterns:t.properties.patterns,tool:t.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:t.properties.sessionID,requestID:t.properties.requestID,reply:t.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:t.properties.sessionID,todos:t.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var oh={now:()=>Date.now(),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},ah=16,ch=8,lh=6e4,uh=5e3,ph=250,dh=1e3,gh=3e4,mh=5,fh=3e3,yh=3e4,hh=2e4,bh=2e3,xh=8;function _h(t){if(t.type==="session.status")return`session.status:${t.properties.sessionID}`;if(t.type==="lsp.updated")return"lsp.updated"}function Ou(t){if(t.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let e=()=>{};return{promise:new Promise(r=>{e=()=>r(),t.addEventListener("abort",e,{once:!0})}),cleanup:()=>t.removeEventListener("abort",e)}}function on(t){let{client:e,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=t,u=t.timers??oh,p=t.connectTimeoutMs??hh,g=t.heartbeatTimeoutMs??lh,f=t.maxConsecutiveHardFailures??xh,m=new AbortController,_=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",_,{once:!0}));let x=u.now(),I=[],T,l=0,h=new Map,a=()=>{if(T&&u.clearTimeout(T),T=void 0,I.length===0)return;let j=I;I=[],h.clear(),l=u.now(),x=u.now();for(let v of j)if(v)try{n(v.event)}catch(k){console.warn("[opencode-events] event handler threw, skipping",k)}},A=()=>{if(T)return;let j=u.now()-l;T=u.setTimeout(a,Math.max(0,ah-j))};return(async()=>{let j=0,v=0;for(;!m.signal.aborted;){let k=!1,$=!1,w,F,K=null,y=u.now(),C=new AbortController,M=Ou(m.signal);M.promise.then(()=>C.abort());try{let D=await new Promise((yn,Le)=>{let X=!1;F=u.setTimeout(()=>{X||(X=!0,de.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),C.abort(),Le(new Error(`SSE connect timed out after ${p}ms`)))},p),e.global.event({signal:C.signal,sseDefaultRetryDelay:fh,sseMaxRetryDelay:yh,sseMaxRetryAttempts:1}).then(Z=>{X||(X=!0,u.clearTimeout(F),yn(Z))},Z=>{X||(X=!0,u.clearTimeout(F),Le(Z))})}),{stream:U}=D;x=u.now();let H=()=>{u.clearTimeout(w),w=u.setTimeout(()=>{de.warn("SSE heartbeat timeout, forcing reconnect"),C.abort()},g)};H();let Re=u.now(),jp=U[Symbol.asyncIterator]();for(;!C.signal.aborted;){let yn=jp.next().then(ae=>({kind:"next",result:ae}),ae=>({kind:"error",error:ae})),Le=Ou(C.signal),X=await Promise.race([yn,Le.promise.then(()=>({kind:"aborted"}))]);if(Le.cleanup(),X.kind==="aborted")break;if(X.kind==="error")throw X.error;if(X.result.done)break;k=!0,H();let Z=X.result.value,ft=Z&&typeof Z=="object"&&"payload"in Z?Z.payload:Z;if(!ft?.type)continue;let hn=_h(ft);if(hn){let ae=h.get(hn);ae!==void 0&&(I[ae]=void 0),h.set(hn,I.length)}I.push({type:ft.type,event:ft}),A(),!(u.now()-Re<ch)&&(Re=u.now(),await new Promise(ae=>u.setTimeout(ae,0)))}$=k}catch(D){if(m.signal.aborted)break;K=D;let U=String(D),H=U.includes("401")||U.includes("403")||U.includes("Unauthorized")||U.includes("Token refresh failed");if(de.error("SSE event stream error",{error:U,retryCount:j,isAuthError:H}),H)try{Ne(),await St(),de.info("SSE: refreshed auth token after auth error")}catch(Re){de.error("SSE: failed to refresh auth token",{error:String(Re)})}}finally{u.clearTimeout(w),u.clearTimeout(F),C.abort(),M.cleanup(),a()}if(m.signal.aborted)break;let z=u.now()-y,V=K?.cause?.status;if(v=!k&&(typeof V=="number"&&V>=400||z<bh)?v+1:0,v>=f){de.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(K)});try{s?.({consecutiveFailures:v,lastError:K})}catch(D){console.warn("[opencode-events] onParked handler threw",D)}break}let Q=u.now()-x;Q>uh&&r?.(Q),$?j=0:(j++,j>1&&de.warn("SSE event stream reconnecting",{retryCount:j}));let N=$?ph:Math.min(dh*2**Math.min(j-1,mh),gh);await new Promise(D=>{let U=u.setTimeout(D,N),H=()=>{u.clearTimeout(U),D()};m.signal.addEventListener("abort",H,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",_),T&&u.clearTimeout(T)}}}function Ph(){return le()}var an=new Map,ct=class extends Error{constructor(e){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${e}\`.`),this.name="SessionNotReadyError"}};function Fu(t,e){ht(t,e);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new R(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let h=E().backendUrl??t.backendUrl,a=80,A=n(h);return A&&(a=A.port?Number(A.port):A.protocol==="https:"?443:80),{sandboxId:l,backendPort:a,apiBaseUrl:h}}let s={list:ds,get:ms,create:gs,updateName:fs,leave:Cs,members:ys,invite:hs,removeMember:Ss,updateMemberRole:vs,invites:bs,cancelInvite:xs,resendInvite:_s,tokens:{list:Sc,create:vc,revoke:Cc},audit:{log:Ic,export:Ec,webhooks:{list:$c,create:qc,update:Dc,remove:Mc}}},c={accountState:fa,accountStateMinimal:ya,transactions:ha,transactionsSummary:ba,creditBreakdown:xa,usageHistory:_a,usageRollup:$a,sessionCosts:{list:Ma,get:Yt},tierConfigurations:Pa,checkout:{createSession:l=>ka(l),confirmSession:(l,h)=>wa(l,h)},subscription:{createPortalSession:(l,h)=>Sa(l,h),cancel:(l,h)=>va(l,h),reactivate:l=>Ca(l),scheduleDowngrade:(l,h,a)=>Ra(l,h,a),cancelScheduledChange:l=>Ta(l),prorationPreview:(l,h)=>Aa(l,h)},credits:{purchase:l=>Ia(l),autoTopupSettings:l=>ja(l),configureAutoTopup:l=>Ea(l)}},u={describe:Ps,accept:ks,decline:ws},p={list:we,listForAccount:Ts,get:Ut,detail:Ot,create:Es,createRepo:$s,provision:qs,update:Gt,archive:Bt,llmCatalog:Ft,modelPicker:Lt,sandboxHealth:Wt,sandboxTemplates:oo,sessions:Me,createSession:Ue},g={linkRepository:Fs,getInstallation:Ls,listInstallations:Gs,listLinkableInstallations:Bs,listRepositories:Ks,listRepositoryBranches:Ns,linkInstallation:Ws,saveInstallation:Hs,deleteInstallation:zs},f={list:Pc,create:kc,revoke:wc},m=to,_={items:l=>Fc(l),item:l=>Bc(l),itemFile:(l,h)=>Kc(l,h),marketplaces:()=>Lc(),featured:()=>Gc(),sources:{list:()=>Nc(),add:l=>Hc(l),remove:l=>Wc(l)}};function x(l){return{catalog:()=>Kt(l),tools:()=>nt(l),search:(...h)=>Ci(l,...h),describe:(...h)=>Ri(l,...h),call:(...h)=>Ti(l,...h),uploadAttachment:(...h)=>Ai(l,...h)}}function I(l){let h={list:()=>Ii(l),listAll:()=>ji(l),reconcile:(...a)=>Ei(l,...a),reconcileMember:(...a)=>$i(l,...a),updateCredential:(...a)=>qi(l,...a),revoke:(...a)=>Di(l,...a),activate:(...a)=>Mi(l,...a),setDefault:(...a)=>Ui(l,...a),pipedreamConnect:(...a)=>Oi(l,...a),pipedreamFinalize:(...a)=>Fi(l,...a)};return{get:a=>Ut(l,a),detail:()=>Ot(l),audit:a=>jc(l,a),update:a=>Gt(l,a),archive:()=>Bt(l),llmCatalog:()=>Ft(l),modelPicker:()=>Lt(l),sandboxHealth:()=>Wt(l),onboardingComplete:(...a)=>Os(l,...a),apps:{list:()=>zc(l),create:a=>Vc(l,a),get:a=>Jc(l,a),update:(...a)=>Xc(l,...a),access:{get:(...a)=>Yc(l,...a),update:(...a)=>Zc(l,...a),session:(...a)=>el(l,...a)},remove:a=>Qc(l,a),artifacts:{register:a=>tn(l,a),uploadArchive:(...a)=>tl(l,...a),finalize:(...a)=>nn(l,...a)},deployments:{create:(...a)=>nl(l,...a),list:a=>rl(l,a),get:(...a)=>sl(l,...a),logs:(...a)=>il(l,...a)},start:a=>ol(l,a),stop:a=>al(l,a),rollback:(...a)=>cl(l,...a)},tokens:{list:()=>Rc(l),create:a=>Tc(l,a),revoke:a=>Ac(l,a)},setupLinks:{requestSecret:a=>Uc(l,a),requestConnector:a=>Oc(l,a)},validateManifest:a=>Is(l,a),gitToken:()=>js(l),secrets:{list:()=>mi(l),upsert:a=>fi(l,a),setStrategy:(...a)=>yi(l,...a),broker:(...a)=>hi(l,...a),remove:a=>ki(l,a),setPersonal:(...a)=>wi(l,...a),removePersonal:a=>Si(l,a),setGitCredential:a=>Pi(l,a),startProviderOAuth:(...a)=>bi(l,...a),pollProviderOAuth:(...a)=>xi(l,...a),removeProviderOAuth:a=>_i(l,a)},access:{list:()=>Qs(l),invite:(...a)=>ei(l,...a),update:(...a)=>Ys(l,...a),revoke:a=>Zs(l,a),pendingInvites:()=>ti(l),resendInvite:(...a)=>ri(l,...a),revokeInvite:(...a)=>ni(l,...a),requests:()=>Vs(l),approveRequest:(...a)=>Js(l,...a),rejectRequest:(...a)=>Xs(l,...a),groupGrants:()=>si(l),attachGroupGrant:(...a)=>ii(l,...a),updateGroupGrant:(...a)=>oi(l,...a),detachGroupGrant:a=>ai(l,a),resourceGrants:{list:()=>ci(l),create:a=>li(l,a),remove:a=>ui(l,a)}},connectors:{...x(l),list:()=>Li(l),config:(...a)=>zi(l,...a),create:(...a)=>Xi(l,...a),remove:(...a)=>Yi(l,...a),sync:()=>Gi(l),auth:{discover:(...a)=>Qi(l,...a)},setName:(...a)=>Vi(l,...a),setCredentialMode:(...a)=>Bi(l,...a),setAuthorizationStrategy:(...a)=>Ki(l,...a),setCredential:(...a)=>no(l,...a),setSensitive:(...a)=>Ni(l,...a),connections:h,policies:{get:(...a)=>Hi(l,...a),set:(...a)=>Wi(l,...a)},pipedream:{listApps:(...a)=>Zi(l,...a),listSections:(...a)=>eo(l,...a),connect:(...a)=>Ji(l,...a),finalize:(...a)=>ro(l,...a)},discover:{list:(...a)=>Nt(l,...a),detail:(...a)=>Ht(l,...a)}},policies:{list:()=>so(l),set:(...a)=>io(l,...a)},triggers:{list:()=>na(l),create:(...a)=>ra(l,...a),update:(...a)=>sa(l,...a),remove:(...a)=>ia(l,...a),fire:(...a)=>aa(l,...a),setActivation:(...a)=>oa(l,...a)},files:{list:a=>yo(l,a),read:(a,A)=>bo(l,a,A),search:(...a)=>ho(l,...a),archive:(...a)=>xo(l,...a),history:(...a)=>So(l,...a)},git:{commits:()=>Po(l),commit:a=>ko(l,a),commitDiff:a=>wo(l,a),branches:()=>_o(l),versionDiff:(...a)=>vo(l,...a),inviteCollaborator:(...a)=>As(l,...a)},changeRequests:{list:()=>Co(l),get:a=>Ro(l,a),diff:a=>To(l,a),mergePreview:a=>Ao(l,a),open:(...a)=>Io(l,...a),merge:(...a)=>jo(l,...a),close:(...a)=>Eo(l,...a),reopen:(...a)=>$o(l,...a),requestChanges:(...a)=>qo(l,...a)},sessions:{list:a=>Me(l,a),create:a=>Ue(l,a),ensureWarm:()=>Ko(l),claimWarm:a=>No(l,a)},review:{list:a=>yc(l,a),get:a=>hc(l,a),submit:a=>bc(l,a),act:(...a)=>xc(l,...a),bulkAct:a=>_c(l,a)},approvals:{list:a=>pi(l,a),resolve:(...a)=>gi(l,...a),sessionsNeedingInput:a=>di(l,a)},gateway:{logs:a=>tc(l,a),log:a=>nc(l,a),overview:a=>rc(l,a),series:a=>sc(l,a),breakdown:a=>ic(l,a),sessions:a=>oc(l,a),errors:a=>ac(l,a),budgets:()=>cc(l),setBudget:a=>lc(l,a),deleteBudget:a=>uc(l,a),keys:()=>pc(l),createKey:a=>dc(l,a),revokeKey:a=>gc(l,a),routing:{get:()=>Qa(l),set:a=>Ya(l,a),reset:()=>Za(l),preview:a=>ec(l,a)},playground:(a,A,j)=>mc(l,a,A,j)},channels:{slack:{installation:()=>Ua(l),connect:a=>Oa(l,a),mode:()=>Fa(l),manifest:()=>La(l),disconnect:()=>Ga(l),getFile:a=>Ba(l,a),uploadFile:a=>Ka(l,a)},email:{installation:a=>Ha(l,a),mode:()=>Wa(l),connect:a=>za(l,a),disconnect:a=>Va(l,a),updatePolicy:(...a)=>Ja(l,...a)},voice:{setBotName:a=>Xa(l,a)}},updateFeatureFlag:(...a)=>Ds(l,...a),updateExperimentalFeature:(...a)=>Ms(l,...a),modelDefaults:{get:()=>la(l),set:a=>ua(l,a),clear:a=>pa(l,a)},setDefaultAgent:a=>ma(l,a),sandbox:{list:()=>fo(l),snapshots:()=>ao(l),rebuildSnapshot:a=>co(l,a),fixWithAgent:()=>lo(l),createTemplate:a=>uo(l,a),updateTemplate:(...a)=>po(l,...a),removeTemplate:a=>go(l,a),buildTemplate:a=>mo(l,a),setProvider:a=>Us(l,a)},setAgentScope:(...a)=>da(l,...a),session:a=>T(l,a)}}function T(l,h){let a=null,A,j,v=null;async function k(){v||(v=zt(l,h,{showErrors:!1}).then(y=>{let C=typeof y.metadata?.opencode_model=="string"?y.metadata.opencode_model.trim():"",M=C.indexOf("/"),z=M>0&&M<C.length-1?{providerID:C.slice(0,M),modelID:C.slice(M+1)}:void 0,V=y.agent_name?.trim()||void 0;return{model:z,agent:V}}));try{return await v}catch(y){throw v=null,y}}function $(){if(a)return a;let y=mu(l,h);return y&&(a=y),a}async function w(y){let C=$();if(C)return C;let M=y?.readyTimeoutMs??18e4,z=`${l}
|
|
20
|
-
${
|
|
19
|
+
`);let E=uf(I);if(E){if(r(E),E.type==="error")throw new v(E.error,{status:E.status,code:E.code,data:{reason:E.reason}});E.type==="done"&&(f=E.result)}}}}finally{u.cancel().catch(()=>{})}if(!f)throw new Error("Reload stream ended without a result");return f}async function oa(t,e){return a(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`))}async function aa(t,e,n){return a(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`,n))}async function ca(t,e,n){return a(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/model`,{opencode_model:n}))}async function la(t){return a(await i.get(`/projects/${t}/triggers`))}async function ua(t,e){return a(await i.post(`/projects/${t}/triggers`,e))}async function pa(t,e,n){return a(await i.patch(`/projects/${t}/triggers/${e}`,n))}async function da(t,e){return a(await i.delete(`/projects/${t}/triggers/${e}`))}async function ga(t,e){return a(await i.patch(`/projects/${t}/triggers/activation`,{paused:e}))}async function ma(t,e){return a(await i.post(`/projects/${t}/triggers/${e}/fire`,{}))}var de=new Map;function fa(t,e){return`${t}::${e}`}function Ku(t,e){de.delete(t),de.set(t,e)}function Hu(t,e){let n=fa(t,e),r=de.get(n);return r&&Ku(n,r),r}function Wu(t,e,n){let r=fa(t,e);if(!de.has(r)&&de.size>=512){let s=de.keys().next().value;s!==void 0&&de.delete(s)}Ku(r,n)}function zu(t,e){de.delete(fa(t,e))}function pf(t){if(t.status!=="running"||!t.sandbox_id||!t.sandbox_provider||!t.sandbox_url||!t.opencode_session_id)return null;let e=t.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return e?{stage:"ready",agent_name:t.agent_name??"default",retriable:!0,sandbox:{sandbox_id:t.sandbox_id,session_id:t.session_id,project_id:t.project_id,account_id:t.account_id,provider:t.sandbox_provider,external_id:e,base_url:t.sandbox_url,status:"active",config:{},metadata:t.metadata,last_used_at:t.updated_at,created_at:t.created_at,updated_at:t.updated_at},opencode_session_id:t.opencode_session_id,runtime_url:t.sandbox_url}:null}var Xt=class extends Error{status;code;terminal;constructor(e,n){super(e),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function df(t){return t instanceof Error&&t.name==="SessionStartError"}function gf(t){let e=t,n=e?.status,r=e?.code??e?.details?.code??e?.details?.error,s=e?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Xt(s,{status:n,code:r,terminal:!0}):null}async function Te(t,e,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${t}/sessions/${e}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=gf(s.error);if(p&&!(p.status===404&&Uo(e)))throw p;return null}let o=s.data,u=o.sandbox?.external_id;return o.stage==="ready"&&u&&o.opencode_session_id&&Wu(t,e,{opencodeSessionId:o.opencode_session_id,runtimeUrl:Tt(u),sandboxId:u}),o}function mf(t,e){return["session-start",t,e]}async function ya(t){return a(await i.get(`/projects/${t}/model-defaults`))}async function ha(t,e){return a(await i.put(`/projects/${t}/model-defaults`,e))}async function ba(t,e){let n=new URLSearchParams({scope:e.scope,...e.agentName?{agentName:e.agentName}:{}}).toString();return a(await i.delete(`/projects/${t}/model-defaults?${n}`))}async function ff(t,e){return a(await i.put(`/projects/${t}/model-enablement`,{modelOverrides:e}))}async function xa(t,e,n){let r=hf(n);return a(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/scope`,r))}function Vu(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function yf(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function hf(t){let e=t.connectors_required?Vu(t.connectors_required):void 0,n=t.connectors_personal?Vu(t.connectors_personal):void 0;if(e&&n&&!yf(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function bf(t,e){let n=a(await i.get(`/projects/${t}/agents/${encodeURIComponent(e)}/config`));return{...n,block:n.block?_a(n.block):null}}async function xf(t,e,n){let r=_a(n),s=a(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/config`,r));return{...s,block:s.block?_a(s.block):null}}function Ju(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function _f(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function _a(t){let e=t.connectors_required?Ju(t.connectors_required):void 0,n=t.connectors_personal?Ju(t.connectors_personal):void 0;if(e&&n&&!_f(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function Pf(t,e,n){return a(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/grant`,{agent:n}))}async function Pa(t,e){return a(await i.put(`/projects/${t}/default-agent`,{agent:e}))}function Qt(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}function kf(t){let e=t.trim().toLowerCase();return e===""||e==="free"||e==="none"?"free":e==="enterprise"?"enterprise":"team"}function wf(t){let e=t?.plan;if(e)return{family:e.family,label:e.label,sublabel:e.sublabel??null,isGrandfathered:e.is_grandfathered===!0};let n=t??Qt(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:kf(r),label:s,sublabel:null,isGrandfathered:!1}}async function ka(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?Qt():s.data}async function wa(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?Qt():s.data}async function Sa(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.limit!=null&&e.set("limit",String(t.limit)),t?.offset!=null&&e.set("offset",String(t.offset)),t?.typeFilter&&e.set("type_filter",Array.isArray(t.typeFilter)?t.typeFilter.join(","):t.typeFilter);let n=e.toString();return a(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function va(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.days!=null&&e.set("days",String(t.days));let n=e.toString();return a(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Ca(){return a(await i.get("/billing/credit-breakdown"))}async function Ra(t){let e=t!=null?`?days=${t}`:"";return a(await i.get(`/billing/usage-history${e}`))}async function Ta(){return a(await i.get("/billing/tier-configurations"))}async function Sf(t){let e=t.accountId?`?account_id=${encodeURIComponent(t.accountId)}`:"";return Le(t,`/v1/billing/account-state${e}`)}async function Aa(t){return a(await i.post("/billing/create-checkout-session",{account_id:t.accountId,tier_key:t.tierKey,success_url:t.successUrl,cancel_url:t.cancelUrl,commitment_type:t.commitmentType,locale:t.locale,server_type:t.serverType,location:t.location}),"Failed to create checkout session")}async function Ia(t,e){return a(await i.post("/billing/confirm-checkout-session",{account_id:e,session_id:t}),"Failed to confirm checkout session")}async function Ea(t,e){return a(await i.post("/billing/create-portal-session",{account_id:e,return_url:t}),"Failed to create portal session")}async function ja(t,e){return a(await i.post("/billing/cancel-subscription",{account_id:e,feedback:t}),"Failed to cancel subscription")}async function $a(t){return a(await i.post("/billing/reactivate-subscription",{account_id:t}),"Failed to reactivate subscription")}async function qa(t,e,n){return a(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:t,commitment_type:e}),"Failed to schedule downgrade")}async function Da(t){return a(await i.post("/billing/cancel-scheduled-change",{account_id:t}),"Failed to cancel scheduled change")}async function Ma(t,e){let n=new URLSearchParams({new_price_id:t});return e&&n.set("account_id",e),a(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Oa(t){return a(await i.post("/billing/purchase-credits",{amount:t.amount,account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl}),"Failed to purchase credits")}async function Ua(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/billing/auto-topup/settings${e}`),"Failed to load auto-topup settings")}async function Fa(t){return a(await i.post("/billing/auto-topup/configure",{account_id:t.accountId,enabled:t.enabled,threshold:t.threshold,amount:t.amount},{showErrors:!1}),"Failed to configure auto-topup")}async function vf(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/billing/auto-topup/setup-status${e}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Cf(t){return a(await i.post("/billing/create-per-seat-checkout",{account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl,locale:t.locale}),"Failed to create per-seat checkout")}async function Rf(t){return a(await i.post("/billing/claim-per-seat",{account_id:t}),"Failed to switch to per-seat billing")}async function Tf(t){return a(await i.post("/billing/sync-subscription",{account_id:t}),"Failed to sync subscription")}async function La(t={}){let e=new URLSearchParams;t.start&&e.set("start",t.start),t.end&&e.set("end",t.end),(t.groupBy==="model"||t.groupBy==="provider"||t.groupBy==="day")&&e.set("group_by",t.groupBy),t.accountId&&e.set("account_id",t.accountId);let n=e.toString();return a(await i.get(`/usage${n?`?${n}`:""}`))}function Ba(t,e){e.accountId&&t.set("account_id",e.accountId),e.projectId&&t.set("project_id",e.projectId)}function Yt(t,e){e.from&&t.set("from",e.from),e.to&&t.set("to",e.to)}function Zt(t){return t.size>0?`?${t}`:""}async function Na(t={}){let e=new URLSearchParams;return Ba(e,t),t.ownerId&&e.set("owner_id",t.ownerId),Yt(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),a(await i.get(`/usage/session-costs${Zt(e)}`))}async function en(t,e={}){let n=new URLSearchParams;return Ba(n,e),a(await i.get(`/usage/session-costs/${encodeURIComponent(t)}${Zt(n)}`))}async function Af(t={}){let e=new URLSearchParams;return t.accountId&&e.set("account_id",t.accountId),Yt(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),a(await i.get(`/usage/cost-by-project${Zt(e)}`))}async function If(t={}){let e=new URLSearchParams;return Ba(e,t),t.sessionId&&e.set("session_id",t.sessionId),Yt(e,t),a(await i.get(`/usage/cost-summary${Zt(e)}`))}function Ga(t,e={}){let n=new URLSearchParams;if(e.accountId&&n.set("account_id",e.accountId),t==="sessions"){let s=e;s.projectId&&n.set("project_id",s.projectId),s.ownerId&&n.set("owner_id",s.ownerId)}Yt(n,e),e.sort&&n.set("sort",e.sort),n.set("format","csv");let r=t==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${$().backendUrl||""}${r}?${n}`}async function Ef(t,e={}){let n=Ga(t==="projects"?"projects":"sessions",e),r=await ee(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let d=await s.text().catch(()=>"");throw new Error(d||`Failed to export CSV (HTTP ${s.status})`)}let o=s.headers.get("x-kortix-row-cap"),u=o!=null?Number(o):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function Xu(t,e){return a(await i.post(`/channels/${t}/identity/bind`,{token:e}),"Failed to connect your account")}function jf(t){return Xu("slack",t)}function $f(t){return Xu("teams",t)}async function Ka(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});return e.success?e.data??null:null}async function Ha(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/connect`,e,{showErrors:!1}),"Failed to connect")}var qf={oauth_available:!1,install_url:null};async function Wa(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/mode`,{showErrors:!1});return!e.success||!e.data?qf:e.data}async function za(t){return a(await i.get(`/webhooks/slack/${encodeURIComponent(t)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Va(t){let e=await i.delete(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});if(!e.success)throw new Error(e.error?.message??"Failed to disconnect")}async function Ja(t,e){return a(await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/file?url=${encodeURIComponent(e)}`,{showErrors:!1}),"Failed to download Slack file")}async function Xa(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/file/upload`,{channel:e.channel,filename:e.filename,content_base64:e.contentBase64,comment:e.comment,thread_ts:e.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Qa(t){let e=t.connectionId??t.connection_id??null,n=t.connectorSlug??t.connector_slug??t.connectionSlug??t.connection_slug??"kortix_email";return{...t,connectionId:e,connectorSlug:n}}var Df={provider:"agentmail",managed_available:!1};async function Ya(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Qa(r.data):null}async function Za(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/mode`,{showErrors:!1});return!e.success||!e.data?Df:e.data}async function ec(t,e){let n=a(await i.post(`/projects/${encodeURIComponent(t)}/channels/email/connect`,e,{showErrors:!1}),"Failed to connect email");return Qa(n)}async function tc(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.delete(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function nc(t,e,n){let r=a(await i.patch(`/projects/${encodeURIComponent(t)}/channels/email/installation`,{connector_slug:e??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Qa(r)}async function rc(t,e){return a(await i.put(`/projects/${encodeURIComponent(t)}/channels/meet/name`,{name:e},{showErrors:!1}),"Failed to save name")}async function Mf(t){return a(await i.get(`/projects/${encodeURIComponent(t)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Of(t,e,n){return a(await i.patch(`/projects/${encodeURIComponent(t)}/channels/bindings/${encodeURIComponent(e)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function sc(t){return a(await i.get(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ic(t,e){return a(await i.put(`/projects/${t}/gateway/routing-policy`,e),"Gateway routing policy request failed")}async function oc(t){return a(await i.delete(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ac(t,e){return a(await i.post(`/projects/${t}/gateway/routing-policy/preview`,e),"Gateway route preview failed")}async function cc(t,e){let n=new URLSearchParams;e?.limit&&n.set("limit",String(e.limit)),e?.offset&&n.set("offset",String(e.offset)),e?.ok!==void 0&&n.set("ok",String(e.ok));let r=n.toString();return a(await i.get(`/projects/${t}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function lc(t,e){return a(await i.get(`/projects/${t}/gateway/logs/${e}`),"Gateway request failed")}async function uc(t,e){return a(await i.get(`/projects/${t}/gateway/overview${e?`?days=${e}`:""}`),"Gateway request failed")}async function pc(t,e){return a(await i.get(`/projects/${t}/gateway/series${e?`?days=${e}`:""}`),"Gateway request failed")}async function dc(t,e){return a(await i.get(`/projects/${t}/gateway/breakdown${e?`?days=${e}`:""}`),"Gateway request failed")}async function gc(t,e){return a(await i.get(`/projects/${t}/gateway/sessions${e?`?days=${e}`:""}`),"Gateway request failed")}async function mc(t,e){return a(await i.get(`/projects/${t}/gateway/errors${e?`?days=${e}`:""}`),"Gateway request failed")}async function fc(t){return a(await i.get(`/projects/${t}/gateway/budgets`),"Gateway request failed")}async function yc(t,e){return a(await i.put(`/projects/${t}/gateway/budgets`,e),"Gateway request failed")}async function hc(t,e){return a(await i.delete(`/projects/${t}/gateway/budgets/${e}`),"Gateway request failed")}async function bc(t){return a(await i.get(`/projects/${t}/gateway/keys`),"Gateway request failed")}async function xc(t,e){return a(await i.post(`/projects/${t}/gateway/keys`,{name:e}),"Gateway request failed")}async function _c(t,e){return a(await i.delete(`/projects/${t}/gateway/keys/${e}`),"Gateway request failed")}async function Pc(t,e,n,r,s){return a(await i.post(`/projects/${t}/gateway/playground`,{prompt:e,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function Uf(t,e){return a(await i.post(`/projects/${t}/gateway/providers/${encodeURIComponent(e)}/verify`,{}),"Gateway provider verification failed")}async function kc(t){let e=new FormData;e.append("audio_file",t);let n=await i.upload("/transcription",e,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function Ff(){return a(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function Lf(){return a(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function Gf(t){return a(await i.post("/referrals/validate",{referral_code:t}),"VALIDATE_CODE_FAILED")}async function Bf(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function Nf(t={}){let e=new URLSearchParams({limit:String(t.limit??50),offset:String(t.offset??0)});return a(await i.get(`/referrals/list?${e}`),"GET_REFERRALS_FAILED")}async function Kf(t){return a(await i.post("/referrals/email",{emails:t}),"SEND_EMAILS_FAILED")}function P(t){if(!t.success||t.data===void 0)throw t.error||new Error("Unexpected empty response");return t.data}function O(t){return i.get(t,{showErrors:!1})}async function wc(t){return P(await O(`/accounts/${t}/iam/groups`)).groups}async function Sc(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}`))}async function vc(t,e){return P(await i.post(`/accounts/${t}/iam/groups`,e,{showErrors:!1}))}async function Cc(t,e,n){return P(await i.patch(`/accounts/${t}/iam/groups/${e}`,n))}async function Rc(t,e){return P(await i.delete(`/accounts/${t}/iam/groups/${e}`))}async function Tc(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/members`)).members}async function Ac(t,e,n){return P(await i.post(`/accounts/${t}/iam/groups/${e}/members`,{userIds:n}))}async function Hf(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/project-grants`)).grants}async function Ic(t,e,n){return P(await i.delete(`/accounts/${t}/iam/groups/${e}/members/${n}`))}async function Wf(t,e){return P(await O(`/accounts/${t}/iam/members/${e}/groups`)).groups}async function zf(t,e){let n=P(await O(`/accounts/${t}/iam/members/${e}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}async function Vf(t,e={}){let n=new URLSearchParams;e.resourceType&&n.set("resourceType",e.resourceType),e.principalType&&n.set("principalType",e.principalType),e.principalId&&n.set("principalId",e.principalId),e.projectId&&n.set("projectId",e.projectId);let r=n.toString();return P(await O(`/accounts/${t}/iam/resource-grants${r?`?${r}`:""}`)).grants}async function Jf(t,e={}){let n=new URLSearchParams;e.principalType&&n.set("principalType",e.principalType),e.principalId&&n.set("principalId",e.principalId),e.scopeType&&n.set("scopeType",e.scopeType),e.scopeId!==void 0&&n.set("scopeId",e.scopeId===null?"null":e.scopeId);let r=n.toString();return P(await O(`/accounts/${t}/iam/policies${r?`?${r}`:""}`)).policies}async function Xf(t,e){return P(await i.post(`/accounts/${t}/iam/policies`,e,{showErrors:!1}))}async function Qf(t,e,n){return P(await i.patch(`/accounts/${t}/iam/policies/${e}`,n,{showErrors:!1}))}async function Yf(t,e){return P(await i.delete(`/accounts/${t}/iam/policies/${e}`))}async function Zf(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-delete`,{policy_ids:e},{showErrors:!1}))}async function ey(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-import`,{policies:e},{showErrors:!1}))}async function Ec(t){return P(await O(`/accounts/${t}/iam/roles`)).roles}async function jc(t){return P(await O(`/accounts/${t}/iam/agent-identities`)).agents}async function $c(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/permissions`))}async function ty(t){return P(await O(`/accounts/${t}/iam/actions`)).actions}async function qc(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/usage`))}async function Dc(t,e){return P(await i.post(`/accounts/${t}/iam/roles`,e,{showErrors:!1}))}async function Mc(t,e,n){return P(await i.patch(`/accounts/${t}/iam/roles/${e}`,n,{showErrors:!1}))}async function Oc(t,e,n){return P(await i.put(`/accounts/${t}/iam/roles/${e}/permissions`,{actions:n},{showErrors:!1}))}async function Uc(t,e){return P(await i.delete(`/accounts/${t}/iam/roles/${e}`,{showErrors:!1}))}async function ny(t,e,n){return P(await i.patch(`/accounts/${t}/iam/members/${e}/super-admin`,{isSuperAdmin:n}))}async function ry(t){return P(await O(`/accounts/${t}/iam/scim/tokens`)).tokens}async function sy(t,e){return P(await i.post(`/accounts/${t}/iam/scim/tokens`,e,{showErrors:!1}))}async function iy(t,e){return P(await i.delete(`/accounts/${t}/iam/scim/tokens/${e}`))}async function oy(t){return P(await O(`/accounts/${t}/iam/mfa-required`))}async function ay(t){return P(await O(`/accounts/${t}/iam/mfa-required/preview`))}async function cy(t,e){return P(await i.patch(`/accounts/${t}/iam/mfa-required`,{enabled:e},{showErrors:!1}))}async function ly(t){return P(await O(`/accounts/${t}/iam/sso/provider`)).provider}async function uy(t,e){return P(await i.put(`/accounts/${t}/iam/sso/provider`,e,{showErrors:!1})).provider}async function py(t,e){return P(await i.post(`/accounts/${t}/iam/sso/provider/from-metadata`,e,{showErrors:!1})).provider}async function dy(t){return P(await i.delete(`/accounts/${t}/iam/sso/provider`))}async function gy(t){return P(await O(`/accounts/${t}/iam/sso/mappings`)).mappings}async function my(t,e){return P(await i.post(`/accounts/${t}/iam/sso/mappings`,e,{showErrors:!1}))}async function fy(t,e){return P(await i.delete(`/accounts/${t}/iam/sso/mappings/${e}`))}async function yy(t){return P(await O(`/accounts/${t}/iam/session-policy`))}async function hy(t,e){return P(await i.patch(`/accounts/${t}/iam/session-policy`,e,{showErrors:!1}))}async function by(t){return P(await O(`/accounts/${t}/iam/sessions`)).sessions}async function xy(t,e){return P(await i.post(`/accounts/${t}/iam/sessions/${e}/revoke`,{},{showErrors:!1}))}async function _y(t){return P(await O(`/accounts/${t}/iam/pat-policy`))}async function Py(t,e){return P(await i.patch(`/accounts/${t}/iam/pat-policy`,e,{showErrors:!1}))}async function ky(t){return P(await O(`/accounts/${t}/iam/service-accounts`)).service_accounts}async function wy(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts`,e,{showErrors:!1}))}async function Sy(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts/${e}/disable`,{},{showErrors:!1}))}async function vy(t,e){return P(await i.delete(`/accounts/${t}/iam/service-accounts/${e}`))}async function Cy(t){return P(await O(`/accounts/${t}/audit/webhooks`)).webhooks}async function Ry(t,e){return P(await i.post(`/accounts/${t}/audit/webhooks`,e,{showErrors:!1}))}async function Ty(t,e,n){return P(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function Ay(t,e){return P(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function Iy(t,e={}){let n=new URLSearchParams;e.action&&n.set("action",e.action),e.actor&&n.set("actor",e.actor),e.project_id&&n.set("project_id",e.project_id),e.session_id&&n.set("session_id",e.session_id),e.actor_type&&n.set("actor_type",e.actor_type),e.source&&n.set("source",e.source),e.phase&&n.set("phase",e.phase),e.outcome&&n.set("outcome",e.outcome),e.request_id&&n.set("request_id",e.request_id),e.correlation_id&&n.set("correlation_id",e.correlation_id),e.resource_type&&n.set("resource_type",e.resource_type),e.since&&n.set("since",e.since),e.until&&n.set("until",e.until),e.q&&n.set("q",e.q),e.cursor&&n.set("cursor",e.cursor),e.limit&&n.set("limit",String(e.limit));let r=n.toString();return P(await O(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function Fc(t,e,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),P(await O(`/accounts/${t}/iam/members/${e}/effective?${r.toString()}`))}async function Lc(t,e,n){return n.length===0?[]:P(await i.post(`/accounts/${t}/iam/members/${e}/effective:batch`,{probes:n})).results}async function Ey(t){return P(await O(`/accounts/${t}/iam/enterprise-demo`)).enabled}async function jy(t,e){return P(await i.put(`/accounts/${t}/iam/enterprise-demo`,{enabled:e})).enabled}function Qu(t){return i.get(t,{showErrors:!1})}function $y(t){let e=new URLSearchParams;t?.principalType&&e.set("principal_type",t.principalType),t?.principalId&&e.set("principal_id",t.principalId),t?.scopeType&&e.set("scope_type",t.scopeType),t?.scopeId&&e.set("scope_id",t.scopeId),t?.objectType&&e.set("object_type",t.objectType),t?.objectId&&e.set("object_id",t.objectId),t?.roleId&&e.set("role_id",t.roleId),t?.includeExpired&&e.set("include_expired","true");let n=e.toString();return n?`?${n}`:""}async function Gc(t,e){return a(await Qu(`/accounts/${t}/iam/assignments${$y(e)}`)).assignments}async function Bc(t,e){let n={principal_type:e.principal.type,principal_id:e.principal.id,scope_type:e.scope.type,scope_id:e.scope.type==="project"?e.scope.id:null};return e.roleId?n.role_id=e.roleId:n.role_key=e.roleKey,e.object&&(n.object_type=e.object.type,n.object_id=e.object.id),e.expiresAt!==void 0&&(n.expires_at=e.expiresAt),a(await i.post(`/accounts/${t}/iam/assignments`,n))}async function Nc(t,e){return a(await i.delete(`/accounts/${t}/iam/assignments/${e}`)).assignment}async function Kc(t,e){let n=e?.scopeType?`?scope_type=${e.scopeType}`:"";return a(await Qu(`/accounts/${t}/iam/permissions${n}`)).permissions}async function qy(){let t=await i.get("/account/deletion-status",{showErrors:!1});return t.error?.status===404?null:a(t,"Failed to load account deletion status")}async function Dy(t="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:t},{showErrors:!1}),"Failed to request account deletion")}async function My(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function Oy(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function Uy(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Fy(){return i.get("/admin/api/provider-distribution").then(t=>a(t))}function Ly(t=300){return i.get(`/admin/api/sandboxes?limit=${t}`).then(e=>a(e))}function Gy(t){return i.put("/admin/api/provider-distribution",t).then(e=>a(e))}function By(t){return i.get(`/admin/api/provider-analytics?days=${t}`).then(e=>a(e))}function Ny(t,e){return i.post(`/admin/api/sandboxes/${encodeURIComponent(t)}/migrate`,{targetProvider:e}).then(n=>a(n))}function Ky(){return i.get("/admin/api/provider-fallback").then(t=>a(t))}function Hy(t){return i.put("/admin/api/provider-fallback",{enabled:t}).then(e=>a(e))}async function Wy(t){return a(await i.get(`/google/auth-url?return_url=${encodeURIComponent(t)}`),"Failed to get Google auth URL")}async function zy(t,e){return a(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:t,sandbox_url:e},{timeout:18e4}),"Failed to upload to Google Slides")}async function Hc(t,e){let n=new URLSearchParams;e?.segment&&n.set("segment",e.segment),e?.kind&&n.set("kind",e.kind);let r=n.toString();return a(await i.get(`/projects/${t}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Wc(t,e){return a(await i.get(`/projects/${t}/review/items/${e}`))}async function zc(t,e){return a(await i.post(`/projects/${t}/review/items`,e))}async function Vc(t,e,n){return a(await i.post(`/projects/${t}/review/items/${e}/act`,n))}async function Jc(t,e){return a(await i.post(`/projects/${t}/review/bulk`,e))}async function Xc(t){return a(await i.get(`/p/share?sandbox_id=${encodeURIComponent(t)}`),"Failed to load public links").shares??[]}async function Qc(t){return a(await i.post("/p/share",{sandbox_id:t.sandboxId,port:t.port,ttl:t.ttl,label:t.label}),"Failed to generate public URL")}async function Yc(t,e){let n=await i.delete(`/p/share/${encodeURIComponent(e)}?sandbox_id=${encodeURIComponent(t)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var tn=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Yu(t,e=""){return`${ye()}/public/session-shares/${encodeURIComponent(t)}${e}`}async function Zu(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new tn(s,e.status)}return r}async function Vy(t){return Zu(Yu(t))}async function Jy(t){return Zu(Yu(t,"/messages"))}var nn=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function ep(t){return`${ye()}/public/voice-join/${encodeURIComponent(t)}`}async function tp(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new nn(s,e.status)}return r}async function Xy(t){return tp(ep(t))}async function Qy(t,e=0){let n=`${ep(t)}/transcript?cursor=${encodeURIComponent(String(e))}`;return tp(n)}async function Zc(t,e){let n=new URLSearchParams;t&&n.set("account_id",t),e?.mine&&n.set("mine","true");let r=n.size>0?`?${n.toString()}`:"";return a(await i.get(`/accounts/tokens${r}`))}async function el(t){let{accountId:e,expiresAt:n,projectId:r,name:s}=t;return a(await i.post("/accounts/tokens",{name:s,...e?{account_id:e}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function tl(t,e){let n=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.delete(`/accounts/tokens/${t}${n}`))}async function nl(t){return a(await i.get(`/projects/${t}/cli-token`))}async function rl(t,e){return a(await i.post(`/projects/${t}/cli-token`,e??{}))}async function sl(t,e){return a(await i.delete(`/projects/${t}/cli-token/${e}`))}async function il(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function ol(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/projects/${t}/audit${r?`?${r}`:""}`))}async function al(t,e){let n=new URLSearchParams;e?.format&&n.set("format",e.format),e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/accounts/${t}/audit/export${r?`?${r}`:""}`))}async function cl(t){return a(await i.get(`/accounts/${t}/audit/webhooks`))}async function ll(t,e){return a(await i.post(`/accounts/${t}/audit/webhooks`,e))}async function ul(t,e,n){return a(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function pl(t,e){return a(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function dl(t,e){return a(await i.post(`/projects/${t}/secret-requests`,{names:e.names,labels:e.labels,descriptions:e.descriptions,scope:e.scope,expires_in_minutes:e.expiresInMinutes}),"Failed to mint secret-entry link")}async function gl(t,e){return a(await i.post(`/projects/${t}/connect-requests`,{slug:e.slug,expires_in_minutes:e.expiresInMinutes}),"Failed to mint connect link")}async function Yy(t){return a(await i.get(`/approval-links/${t}`),"Failed to load approval")}async function ml(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString()?`?${e.toString()}`:"";return a(await i.get(`/marketplace/items${n}`))}async function fl(){return a(await i.get("/marketplace/marketplaces"))}async function yl(){return a(await i.get("/marketplace/marketplaces/featured"))}async function hl(t){return a(await i.get(`/marketplace/items/${encodeURIComponent(t)}`),"Item not found")}async function bl(t,e){return a(await i.get(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`),"File not found")}async function xl(){return a(await i.get("/marketplace/sources"))}async function _l(t){return a(await i.post("/marketplace/sources",t),"Failed to add marketplace source")}async function Pl(t){return a(await i.delete(`/marketplace/sources/${encodeURIComponent(t)}`),"Failed to remove marketplace source")}async function Zy(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/marketplace/install-session`,{id:e}),"Failed to start marketplace install session")}async function eh(t){return a(await i.get(`/templates/${encodeURIComponent(t)}`))}async function th(t,e){return a(await i.post(`/templates/${encodeURIComponent(t)}/install`,e))}async function kl(t){return a(await i.get(`/projects/${t}/apps`),"Failed to list Apps").apps}async function wl(t,e){return a(await i.post(`/projects/${t}/apps`,e),"Failed to create App")}async function Sl(t,e){return a(await i.get(`/projects/${t}/apps/${e}`),"Failed to load App")}async function vl(t,e,n){return a(await i.patch(`/projects/${t}/apps/${e}`,n),"Failed to update App")}async function Cl(t,e){return a(await i.delete(`/projects/${t}/apps/${e}`),"Failed to delete App")}async function Rl(t,e){return a(await i.get(`/projects/${t}/apps/${e}/access`),"Failed to load App access policy")}async function Tl(t,e,n){return a(await i.patch(`/projects/${t}/apps/${e}/access`,n),"Failed to update App access policy")}async function Al(t,e){return a(await i.post(`/projects/${t}/apps/${e}/access-session`,{}),"Failed to create App access session")}async function rn(t,e){return a(await i.post(`/projects/${t}/apps/artifacts`,e),"Failed to register App artifact")}async function sn(t,e,n){return a(await i.post(`/projects/${t}/apps/artifacts/${e}/finalize`,n),"Failed to finalize App artifact")}async function nh(t){return t instanceof Uint8Array?t:new Uint8Array(await t.arrayBuffer())}async function rh(t){let e=Uint8Array.from(t),n=await globalThis.crypto.subtle.digest("SHA-256",e.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function Il(t,e,n={}){let r=await nh(e),s=n.mediaType??"application/gzip",o=await rn(t,{kind:"archive",media_type:s});if(!o.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>o.upload.max_bytes)throw new Error(`App artifact exceeds ${o.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let u=await fetch(o.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!u.ok){let p=await u.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${u.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),sn(t,o.artifact.artifact_id,{sha256:await rh(r),size_bytes:r.byteLength})}async function El(t,e,n){return a(await i.post(`/projects/${t}/apps/${e}/deployments`,n),"Failed to create App deployment")}async function jl(t,e){return a(await i.get(`/projects/${t}/apps/${e}/deployments`),"Failed to list App deployments").deployments}async function $l(t,e,n){return a(await i.get(`/projects/${t}/apps/${e}/deployments/${n}`),"Failed to load App deployment")}async function ql(t,e,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let o=s.size?`?${s.toString()}`:"";return a(await i.get(`/projects/${t}/apps/${e}/deployments/${n}/logs${o}`),"Failed to load App logs")}async function Dl(t,e){return a(await i.post(`/projects/${t}/apps/${e}/start`,{}),"Failed to start App")}async function Ml(t,e){return a(await i.post(`/projects/${t}/apps/${e}/stop`,{}),"Failed to stop App")}async function Ol(t,e,n){return a(await i.post(`/projects/${t}/apps/${e}/rollback`,{deployment_id:n}),"Failed to roll back App")}var sh=["control_plane","provider_ingress","daemon","upstream_port"];function Ul(t){return typeof t=="string"&&sh.includes(t)?t:null}function ih(t){return t?t.runtimeReady!==void 0?t.runtimeReady===!0:t.opencode!==void 0?t.opencode==="ok"||t.opencode===!0:t.status!=="starting"&&t.status!=="down"&&t.status!=="error":!1}async function Fl(t,e){let n=(t===void 0?he():t)||null;if(!n)return{status:0,ok:!1,health:null,body:"",hop:null,upstreamStatus:null};let r=await D(`${n}/kortix/health`,{method:"GET",...e},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}let u=o,p=Ul(r.headers.get("X-Kortix-Proxy-Hop"))??Ul(o?.hop),d=Number(r.headers.get("X-Kortix-Upstream-Status")),f=o?.upstream_status,m=Number.isFinite(d)&&d>0?d:typeof f=="number"?f:null;return{status:r.status,ok:r.ok,health:u,body:s,hop:p,upstreamStatus:m}}var re={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var np=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,rp=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,sp=new Set([22,4096,parseInt(re.KORTIX_MASTER,10)]);function oh(t){return rp.test(t)}function on(t){if(!t)return"/";let e=t,n=e.indexOf("](");n!==-1&&(e=e.slice(0,n));let r=e.toLowerCase().indexOf("%5d(");return r!==-1&&(e=e.slice(0,r)),e?e.startsWith("/")?e:`/${e}`:"/"}function ah(t){let e=t.indexOf("](");return e===-1?t:t.slice(0,e)}var ch=new Set(["'",'"',"`","<","(","["]),lh=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function uh(t){let e=0,n=t.length;for(;e<n&&(t[e]===" "||t[e]===" ");)e++;for(;n>e&&(t[n-1]===" "||t[n-1]===" ");)n--;for(;e<n&&ch.has(t[e]);)e++;for(;n>e&&lh.has(t[n-1]);)n--;return t.slice(e,n)}function ph(t){return t.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var dh=/^\/proxy\/(\d{1,5})(\/.*)?$/,gh=/^\/(connectors|settings|dashboard|projects|agents|skills|tools|commands|support|changelog|files|p|browser|desktop|terminal|sessions|services|workspace|channels|scheduled-tasks|marketplace|templates|tunnel|admin|auth)(\/|$|\?)/;function ip(t){if(!t)return!1;try{let e=new URL(t);return e.hostname!=="localhost"&&e.hostname!=="127.0.0.1"?!1:gh.test(e.pathname)}catch{return!1}}function ut(t){if(!t)return null;let e=uh(ah(t.trim())),n=Gl(e);if(n){let r=on(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let o=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(re.KORTIX_MASTER,10);if(s===u){let d=r.pathname.match(dh);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=on(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=on(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=ph(t);return r&&r!==t?ut(r):null}}function mh(t){let e=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(t))!==null;)e.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(t))!==null;){let o=r.index,u=o+r[0].length;e.some(([d,f])=>o>=d&&u<=f)||e.push([o,u])}return e}function fh(t,e){return e.some(([n,r])=>t>=n&&t<r)}function op(t){let e=[],n=new Set,r=mh(t);np.lastIndex=0;let s;for(;(s=np.exec(t))!==null;){let o=ut(s[0]);if(!o)continue;let{originalUrl:u,port:p,path:d}=o;p<1||p>65535||sp.has(p)||n.has(u)||(n.add(u),e.push({originalUrl:u,port:p,path:d,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:fh(s.index,r)}))}return e}function yh(t){return op(t).length>0}function hh(t){try{let{hostname:e}=new URL(t);return e==="localhost"||e==="127.0.0.1"}catch{return!1}}function ap(t){return t.sandboxId.trim().length>0}function ge(t,e,n){let r=on(e);if(!ap(n))return pp(t,r);if(!hh(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${t}${r}`}return`http://p${t}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function bh(t,e){if(!t)return;let r=t.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return ge(3211,`/open?path=/workspace/${r}`,e)}function cp(t){return`/open?path=/${(t.startsWith("/workspace")?t:`/workspace/${t.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function xh(t){return`http://localhost:3211${cp(t)}`}function lp(){return"/health"}function _h(t){return ge(3211,lp(),t)}function Ph(t,e){return ge(t,"/",e)}function up(t){let e=ut(t);return!(!e||sp.has(e.port)||ip(t))}function Ll(t,e){if(!t)return t;let n=ut(t);return n?up(n.originalUrl)?ge(n.port,n.path,e):n.originalUrl:t}function pp(t,e="/"){return`http://localhost:${t}${e}`}var dp=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Gl(t){let e=t.match(rp);if(e)return{port:parseInt(e[1],10),sandboxId:e[2],backendPort:e[3]?parseInt(e[3],10):80,path:e[4]||"/"};let n=t.match(dp);if(n)try{let r=new URL(t);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function kh(t){try{let e=Gl(t);return e?`http://localhost:${e.port}${e.path}`:null}catch{return null}}function wh(t){return oh(t)||dp.test(t)}function Sh(t){try{let{hostname:e,port:n}=new URL(t);return(e==="localhost"||e==="127.0.0.1")&&n!==""}catch{return!1}}var lt="/web-proxy/";function vh(t,e){try{let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${lt}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(re.KORTIX_MASTER,10);return`${ge(o,"/",e).replace(/\/$/,"")}${s}`}catch{return null}}function Ch(t){try{let e=new URL(t),n=e.pathname.indexOf(lt);if(n===-1)return null;let s=e.pathname.slice(n+lt.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],u=s[2],p=s[3]||"/";return`${o}://${u}${p}${e.search}${e.hash}`}catch{return null}}function Rh(t){try{return new URL(t).pathname.includes(lt)}catch{return t.includes(lt)}}function Th(t){if(!t)return!1;let e=t.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(e)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e))}function Ah(t){let e=t.trim();return e?/^https?:\/\//i.test(e)?e:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e)?`https://${e}`:null:null}var gp="frontend";function an(t,e,n){(t==="error"?console.error:t==="warn"?console.warn:t==="debug"?console.debug:console.log)(`[${gp}] ${e}`,...n?[n]:[]);try{ue().app.log({service:gp,level:t,message:e,extra:n})}catch{}}var me={debug:(t,e)=>an("debug",t,e),info:(t,e)=>an("info",t,e),warn:(t,e)=>an("warn",t,e),error:(t,e)=>an("error",t,e)};function mp(t){return{type:"heartbeat-gap",gapMs:t}}function fp(t){switch(t.type){case"message.updated":return{type:"message.updated",sessionID:t.properties.sessionID,message:t.properties.info};case"message.removed":return{type:"message.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:t.properties.sessionID,part:t.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID,partID:t.properties.partID};case"session.status":return{type:"session.status",sessionID:t.properties.sessionID,status:t.properties.status};case"session.idle":return{type:"session.idle",sessionID:t.properties.sessionID};case"session.error":return{type:"session.error",sessionID:t.properties.sessionID,error:t.properties.error};case"question.asked":return{type:"question.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,questions:t.properties.questions,tool:t.properties.tool};case"question.replied":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"replied",answers:t.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,permission:t.properties.permission,patterns:t.properties.patterns,tool:t.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:t.properties.sessionID,requestID:t.properties.requestID,reply:t.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:t.properties.sessionID,todos:t.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var Ih={now:()=>Date.now(),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},Eh=16,jh=8,$h=6e4,qh=5e3,Dh=250,Mh=1e3,Oh=3e4,Uh=5,Fh=3e3,Lh=3e4,Gh=2e4,Bh=2e3,Nh=8;function Kh(t){if(t.type==="session.status")return`session.status:${t.properties.sessionID}`;if(t.type==="lsp.updated")return"lsp.updated"}function yp(t){if(t.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let e=()=>{};return{promise:new Promise(r=>{e=()=>r(),t.addEventListener("abort",e,{once:!0})}),cleanup:()=>t.removeEventListener("abort",e)}}var cn=new WeakMap;function Hh(t,e,n){let r=e.timers??Ih,s=e.connectTimeoutMs??Gh,o=e.heartbeatTimeoutMs??$h,u=e.maxConsecutiveHardFailures??Nh,p=new AbortController;function d(l,...y){for(let c of n){let R=l(c);if(R)try{R(...y)}catch(T){console.warn("[opencode-events] subscriber handler threw, skipping",T)}}}let f=r.now(),m=[],b,x=0,I=new Map,E=()=>{if(b&&r.clearTimeout(b),b=void 0,m.length===0)return;let l=m;m=[],I.clear(),x=r.now(),f=r.now();for(let y of l)y&&d(c=>c.onEvent,y.event)},C=()=>{if(b)return;let l=r.now()-x;b=r.setTimeout(E,Math.max(0,Eh-l))};return(async()=>{let l=0,y=0;for(;!p.signal.aborted;){let c=!1,R=!1,T,k,q=null,j=r.now(),A=new AbortController,z=yp(p.signal);z.promise.then(()=>A.abort());try{let U=await new Promise((Q,ae)=>{let W=!1;k=r.setTimeout(()=>{W||(W=!0,me.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),A.abort(),ae(new Error(`SSE connect timed out after ${s}ms`)))},s),t.global.event({signal:A.signal,sseDefaultRetryDelay:Fh,sseMaxRetryDelay:Lh,sseMaxRetryAttempts:1}).then(Z=>{W||(W=!0,r.clearTimeout(k),Q(Z))},Z=>{W||(W=!0,r.clearTimeout(k),ae(Z))})}),{stream:B}=U;f=r.now();let F=()=>{r.clearTimeout(T),T=r.setTimeout(()=>{me.warn("SSE heartbeat timeout, forcing reconnect"),A.abort()},o)};F();let H=r.now(),M=B[Symbol.asyncIterator]();for(;!A.signal.aborted;){let Q=M.next().then(ce=>({kind:"next",result:ce}),ce=>({kind:"error",error:ce})),ae=yp(A.signal),W=await Promise.race([Q,ae.promise.then(()=>({kind:"aborted"}))]);if(ae.cleanup(),W.kind==="aborted")break;if(W.kind==="error")throw W.error;if(W.result.done)break;c=!0,F();let Z=W.result.value,bt=Z&&typeof Z=="object"&&"payload"in Z?Z.payload:Z;if(!bt?.type)continue;let xn=Kh(bt);if(xn){let ce=I.get(xn);ce!==void 0&&(m[ce]=void 0),I.set(xn,m.length)}m.push({type:bt.type,event:bt}),C(),!(r.now()-H<jh)&&(H=r.now(),await new Promise(ce=>r.setTimeout(ce,0)))}R=c}catch(U){if(p.signal.aborted)break;q=U;let B=String(U),F=B.includes("401")||B.includes("403")||B.includes("Unauthorized")||B.includes("Token refresh failed");if(me.error("SSE event stream error",{error:B,retryCount:l,isAuthError:F}),F)try{Ve(),await Rt(),me.info("SSE: refreshed auth token after auth error")}catch(H){me.error("SSE: failed to refresh auth token",{error:String(H)})}}finally{r.clearTimeout(T),r.clearTimeout(k),A.abort(),z.cleanup(),E()}if(p.signal.aborted)break;let V=r.now()-j,h=q?.cause?.status;if(y=!c&&(typeof h=="number"&&h>=400||V<Bh)?y+1:0,y>=u){me.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:y,lastError:String(q)}),d(U=>U.onParked,{consecutiveFailures:y,lastError:q});break}let N=r.now()-f;N>qh&&d(U=>U.onGapRehydrate,N),R?l=0:(l++,l>1&&me.warn("SSE event stream reconnecting",{retryCount:l}));let X=R?Dh:Math.min(Mh*2**Math.min(l-1,Uh),Oh);await new Promise(U=>{let B=r.setTimeout(U,X),F=()=>{r.clearTimeout(B),U()};p.signal.addEventListener("abort",F,{once:!0})})}})(),{subscribers:n,teardown:()=>{p.abort(),b&&r.clearTimeout(b)}}}function ln(t){let{client:e,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=t,u={onEvent:n,onGapRehydrate:r,onParked:s},p=cn.get(e);p?p.subscribers.add(u):(p=Hh(e,t,new Set([u])),cn.set(e,p));let d=p,f=!1,m=()=>{f||(f=!0,o&&o.removeEventListener("abort",b),d.subscribers.delete(u),d.subscribers.size===0&&(d.teardown(),cn.get(e)===d&&cn.delete(e)))},b=()=>m();return o&&(o.aborted?m():o.addEventListener("abort",b,{once:!0})),{close:m}}function Wh(){return ue()}var un=new Map,pt=class extends Error{constructor(e){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${e}\`.`),this.name="SessionNotReadyError"}};function hp(t,e){_t(t,e);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new v(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let y=$().backendUrl??t.backendUrl,c=80,R=n(y);return R&&(c=R.port?Number(R.port):R.protocol==="https:"?443:80),{sandboxId:l,backendPort:c,apiBaseUrl:y}}let s={list:gs,get:fs,create:ms,updateName:ys,leave:Rs,members:hs,invite:bs,removeMember:vs,updateMemberRole:Cs,invites:xs,cancelInvite:_s,resendInvite:Ps,tokens:{list:Zc,create:el,revoke:tl},audit:{log:il,export:al,webhooks:{list:cl,create:ll,update:ul,remove:pl}}},o={assignments:{list:Gc,create:Bc,revoke:Nc},permissions:{list:Kc,forRole:$c},roles:{list:Ec,create:Dc,update:Mc,setPermissions:Oc,remove:Uc,usage:qc},groups:{list:wc,get:Sc,create:vc,update:Cc,remove:Rc,members:{list:Tc,add:Ac,remove:Ic}},agentIdentities:jc,can:Fc,canBatch:Lc},u={accountState:ka,accountStateMinimal:wa,transactions:Sa,transactionsSummary:va,creditBreakdown:Ca,usageHistory:Ra,usageRollup:La,sessionCosts:{list:Na,get:en},tierConfigurations:Ta,checkout:{createSession:l=>Aa(l),confirmSession:(l,y)=>Ia(l,y)},subscription:{createPortalSession:(l,y)=>Ea(l,y),cancel:(l,y)=>ja(l,y),reactivate:l=>$a(l),scheduleDowngrade:(l,y,c)=>qa(l,y,c),cancelScheduledChange:l=>Da(l),prorationPreview:(l,y)=>Ma(l,y)},credits:{purchase:l=>Oa(l),autoTopupSettings:l=>Ua(l),configureAutoTopup:l=>Fa(l)}},p={describe:ks,accept:ws,decline:Ss},d={list:Ce,listForAccount:As,get:Ft,detail:Lt,create:$s,createRepo:qs,provision:Ds,update:Nt,archive:Kt,llmCatalog:Gt,modelPicker:Bt,sandboxHealth:Vt,sandboxTemplates:ao,sessions:Ge,createSession:Be},f={linkRepository:Ls,getInstallation:Gs,listInstallations:Bs,listLinkableInstallations:Ns,listRepositories:Ks,listRepositoryBranches:Hs,linkInstallation:zs,saveInstallation:Ws,deleteInstallation:Vs},m={list:Xc,create:Qc,revoke:Yc},b=no,x={items:l=>ml(l),item:l=>hl(l),itemFile:(l,y)=>bl(l,y),marketplaces:()=>fl(),featured:()=>yl(),sources:{list:()=>xl(),add:l=>_l(l),remove:l=>Pl(l)}};function I(l){return{catalog:()=>Ht(l),tools:()=>it(l),search:(...y)=>Ri(l,...y),describe:(...y)=>Ti(l,...y),call:(...y)=>Ai(l,...y),uploadAttachment:(...y)=>Ii(l,...y)}}function E(l){let y={list:()=>Ei(l),listAll:()=>ji(l),reconcile:(...c)=>$i(l,...c),reconcileMember:(...c)=>qi(l,...c),updateCredential:(...c)=>Di(l,...c),revoke:(...c)=>Mi(l,...c),activate:(...c)=>Oi(l,...c),setDefault:(...c)=>Ui(l,...c),pipedreamConnect:(...c)=>Fi(l,...c),pipedreamFinalize:(...c)=>Li(l,...c)};return{get:c=>Ft(l,c),detail:()=>Lt(l),audit:c=>ol(l,c),update:c=>Nt(l,c),archive:()=>Kt(l),llmCatalog:()=>Gt(l),modelPicker:()=>Bt(l),sandboxHealth:()=>Vt(l),onboardingComplete:(...c)=>Fs(l,...c),apps:{list:()=>kl(l),create:c=>wl(l,c),get:c=>Sl(l,c),update:(...c)=>vl(l,...c),access:{get:(...c)=>Rl(l,...c),update:(...c)=>Tl(l,...c),session:(...c)=>Al(l,...c)},remove:c=>Cl(l,c),artifacts:{register:c=>rn(l,c),uploadArchive:(...c)=>Il(l,...c),finalize:(...c)=>sn(l,...c)},deployments:{create:(...c)=>El(l,...c),list:c=>jl(l,c),get:(...c)=>$l(l,...c),logs:(...c)=>ql(l,...c)},start:c=>Dl(l,c),stop:c=>Ml(l,c),rollback:(...c)=>Ol(l,...c)},tokens:{list:()=>nl(l),create:c=>rl(l,c),revoke:c=>sl(l,c)},setupLinks:{requestSecret:c=>dl(l,c),requestConnector:c=>gl(l,c)},validateManifest:c=>Es(l,c),gitToken:()=>js(l),secrets:{list:()=>fi(l),upsert:c=>yi(l,c),setStrategy:(...c)=>hi(l,...c),broker:(...c)=>bi(l,...c),remove:c=>wi(l,c),setPersonal:(...c)=>Si(l,...c),removePersonal:c=>vi(l,c),setGitCredential:c=>ki(l,c),startProviderOAuth:(...c)=>xi(l,...c),pollProviderOAuth:(...c)=>_i(l,...c),removeProviderOAuth:c=>Pi(l,c)},access:{list:()=>Ys(l),invite:(...c)=>ti(l,...c),update:(...c)=>Zs(l,...c),revoke:c=>ei(l,c),pendingInvites:()=>ni(l),resendInvite:(...c)=>si(l,...c),revokeInvite:(...c)=>ri(l,...c),requests:()=>Js(l),approveRequest:(...c)=>Xs(l,...c),rejectRequest:(...c)=>Qs(l,...c),groupGrants:()=>ii(l),attachGroupGrant:(...c)=>oi(l,...c),updateGroupGrant:(...c)=>ai(l,...c),detachGroupGrant:c=>ci(l,c),resourceGrants:{list:()=>li(l),create:c=>ui(l,c),remove:c=>pi(l,c)}},connectors:{...I(l),list:()=>Gi(l),config:(...c)=>Vi(l,...c),create:(...c)=>Qi(l,...c),remove:(...c)=>Zi(l,...c),sync:()=>Bi(l),auth:{discover:(...c)=>Yi(l,...c)},setName:(...c)=>Ji(l,...c),setCredentialMode:(...c)=>Ni(l,...c),setAuthorizationStrategy:(...c)=>Ki(l,...c),setCredential:(...c)=>ro(l,...c),setSensitive:(...c)=>Hi(l,...c),connections:y,policies:{get:(...c)=>Wi(l,...c),set:(...c)=>zi(l,...c)},pipedream:{listApps:(...c)=>eo(l,...c),listSections:(...c)=>to(l,...c),connect:(...c)=>Xi(l,...c),finalize:(...c)=>so(l,...c)},discover:{list:(...c)=>Wt(l,...c),detail:(...c)=>zt(l,...c)}},policies:{list:()=>io(l),set:(...c)=>oo(l,...c)},triggers:{list:()=>la(l),create:(...c)=>ua(l,...c),update:(...c)=>pa(l,...c),remove:(...c)=>da(l,...c),fire:(...c)=>ma(l,...c),setActivation:(...c)=>ga(l,...c)},files:{list:c=>ho(l,c),read:(c,R)=>xo(l,c,R),search:(...c)=>bo(l,...c),archive:(...c)=>_o(l,...c),history:(...c)=>vo(l,...c)},git:{commits:()=>ko(l),commit:c=>wo(l,c),commitDiff:c=>So(l,c),branches:()=>Po(l),versionDiff:(...c)=>Co(l,...c),inviteCollaborator:(...c)=>Is(l,...c)},changeRequests:{list:()=>Ro(l),get:c=>To(l,c),diff:c=>Ao(l,c),mergePreview:c=>Io(l,c),open:(...c)=>Eo(l,...c),merge:(...c)=>jo(l,...c),close:(...c)=>$o(l,...c),reopen:(...c)=>qo(l,...c),requestChanges:(...c)=>Do(l,...c)},sessions:{list:c=>Ge(l,c),create:c=>Be(l,c),ensureWarm:()=>Ko(l),claimWarm:c=>Ho(l,c)},review:{list:c=>Hc(l,c),get:c=>Wc(l,c),submit:c=>zc(l,c),act:(...c)=>Vc(l,...c),bulkAct:c=>Jc(l,c)},approvals:{list:c=>di(l,c),resolve:(...c)=>mi(l,...c),sessionsNeedingInput:c=>gi(l,c)},gateway:{logs:c=>cc(l,c),log:c=>lc(l,c),overview:c=>uc(l,c),series:c=>pc(l,c),breakdown:c=>dc(l,c),sessions:c=>gc(l,c),errors:c=>mc(l,c),budgets:()=>fc(l),setBudget:c=>yc(l,c),deleteBudget:c=>hc(l,c),keys:()=>bc(l),createKey:c=>xc(l,c),revokeKey:c=>_c(l,c),routing:{get:()=>sc(l),set:c=>ic(l,c),reset:()=>oc(l),preview:c=>ac(l,c)},playground:(c,R,T)=>Pc(l,c,R,T)},channels:{slack:{installation:()=>Ka(l),connect:c=>Ha(l,c),mode:()=>Wa(l),manifest:()=>za(l),disconnect:()=>Va(l),getFile:c=>Ja(l,c),uploadFile:c=>Xa(l,c)},email:{installation:c=>Ya(l,c),mode:()=>Za(l),connect:c=>ec(l,c),disconnect:c=>tc(l,c),updatePolicy:(...c)=>nc(l,...c)},voice:{setBotName:c=>rc(l,c)}},updateFeatureFlag:(...c)=>Ms(l,...c),updateExperimentalFeature:(...c)=>Os(l,...c),modelDefaults:{get:()=>ya(l),set:c=>ha(l,c),clear:c=>ba(l,c)},setDefaultAgent:c=>Pa(l,c),sandbox:{list:()=>yo(l),snapshots:()=>co(l),rebuildSnapshot:c=>lo(l,c),fixWithAgent:()=>uo(l),createTemplate:c=>po(l,c),updateTemplate:(...c)=>go(l,...c),removeTemplate:c=>mo(l,c),buildTemplate:c=>fo(l,c),setProvider:c=>Us(l,c)},setAgentScope:(...c)=>xa(l,...c),session:c=>C(l,c)}}function C(l,y){let c=null,R,T,k=null;async function q(){k||(k=Jt(l,y,{showErrors:!1}).then(h=>{let S=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",N=S.indexOf("/"),X=N>0&&N<S.length-1?{providerID:S.slice(0,N),modelID:S.slice(N+1)}:void 0,U=h.agent_name?.trim()||void 0;return{model:X,agent:U}}));try{return await k}catch(h){throw k=null,h}}function j(){if(c)return c;let h=Hu(l,y);return h&&(c=h),c}async function A(h){let S=j();if(S)return S;let N=h?.readyTimeoutMs??18e4,X=`${l}
|
|
20
|
+
${y}`,U=un.get(X);if(U)return c=await U,c;let B=(async()=>{let F=Date.now()+N,H=()=>Math.max(0,F-Date.now()),M=await Te(l,y,Math.min(3e4,H()));for(;Date.now()<F&&(M==null||(M.stage==="provisioning"||M.stage==="starting")&&M.retriable);)await new Promise(W=>setTimeout(W,Math.min(1e3,H()))),M=await Te(l,y,Math.min(3e4,H()));if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new v(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let Q=M.sandbox.external_id;if(!Q)throw new v("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let ae=Tt(Q);return Pu(ae,Q),{opencodeSessionId:M.opencode_session_id,runtimeUrl:ae,sandboxId:Q}})();un.set(X,B);try{return c=await B,c}finally{un.get(X)===B&&un.delete(X)}}function z(h){let S=j();if(!S)throw new pt(h);return S}function V(){c=null,zu(l,y)}return{get:h=>Jt(l,y,h),cost:()=>en(y,{projectId:l}),update:h=>ta(l,y,h),delete:()=>(V(),na(l,y)),start:(...h)=>Te(l,y,...h),restart:()=>(V(),at(l,y)),stop:()=>(V(),ct(l,y)),configState:()=>ra(l,y),reloadConfig:h=>(V(),sa(l,y,h)),reloadConfigStream:(...h)=>(V(),ia(l,y,...h)),setSharing:h=>Fo(l,y,h),previews:()=>Lo(l,y),commit:h=>Mo(l,y,h),publicShares:{list:()=>Go(l,y),create:(...h)=>Bo(l,y,...h),revoke:(...h)=>No(l,y,...h)},audit:(h,S)=>Wo(l,y,h,S),transcript:h=>zo(l,y,h),turn:()=>Vo(l,y),prompts:{create:h=>Jo(l,y,h),list:()=>Xo(l,y),remove:h=>Qo(l,y,h),retry:h=>Yo(l,y,h),hold:h=>Zo(l,y,h)},voiceTranscript:h=>ea(l,y,h),ensureReady:A,health:h=>Fl(j()?.runtimeUrl??null,h),previewUrl:(h,S="/")=>ge(h,S,r(z("previewUrl").sandboxId)),proxyUrl:h=>Ll(h,r(z("proxyUrl").sandboxId)),setModel:h=>{R=h},changeModel:async h=>{let S=await ca(l,y,h);return k=null,S},scope:()=>oa(l,y),rescope:h=>aa(l,y,h),setAgent:h=>{T=h},send:async(h,S)=>{let{opencodeSessionId:N,runtimeUrl:X}=await A(),U=S?.model??R,B=S?.agent??T,F=U&&B?{}:await q(),H=U??F.model,M=B??F.agent;return te(X).session.prompt({sessionID:N,parts:[{type:"text",text:h}],...H?{model:H}:{},...M?{agent:M}:{}})},abort:async()=>{let{opencodeSessionId:h,runtimeUrl:S}=await A();return te(S).session.abort({sessionID:h})},rewind:async h=>{let{opencodeSessionId:S,runtimeUrl:N}=await A();return te(N).session.revert({sessionID:S,messageID:h})},restoreRewind:async()=>{let{opencodeSessionId:h,runtimeUrl:S}=await A();return te(S).session.unrevert({sessionID:h})},stream:async h=>{let{runtimeUrl:S}=await A();return ln({client:te(S),onEvent:h.onEvent,onGapRehydrate:h.onGapRehydrate,signal:h.signal})},get runtime(){return te(z("runtime").runtimeUrl)},files:{list:async h=>Ze(h,(await A()).runtimeUrl),read:async h=>De(h,(await A()).runtimeUrl),readBlob:async h=>Me(h,(await A()).runtimeUrl),status:async()=>et((await A()).runtimeUrl),findFiles:async(h,S)=>tt(h,S,(await A()).runtimeUrl),findText:async h=>nt(h,(await A()).runtimeUrl),upload:async(h,S,N)=>Oe(h,S,N,(await A()).runtimeUrl),write:async(h,S)=>Ue(h,S,(await A()).runtimeUrl),create:async h=>rt(h,(await A()).runtimeUrl),copy:async(h,S)=>st(h,S,(await A()).runtimeUrl),remove:async h=>ke(h,(await A()).runtimeUrl),mkdir:async h=>Fe(h,(await A()).runtimeUrl),rename:async(h,S)=>pe(h,S,(await A()).runtimeUrl)}}}return{config:t,accounts:s,iam:o,accountInvites:p,projects:d,connectors:I(),project:E,session:C,github:f,billing:u,sandboxShares:m,transcribe:kc,connectStatus:b,marketplace:x,validateToken:Ts,runtime:Wh}}function bp(){let t=typeof crypto<"u"?crypto:void 0;if(t?.randomUUID)return t.randomUUID();let e=new Uint8Array(16);if(t?.getRandomValues)t.getRandomValues(e);else for(let r=0;r<16;r++)e[r]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=[...e].map(r=>r.toString(16).padStart(2,"0"));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n.slice(10).join("")}`}var Bl={thinking:!1,toolDetails:!0,assistantMetadata:!0};function zh(t){return t&&t.charAt(0).toUpperCase()+t.slice(1)}function Vh(t){let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let n=Math.floor(e/60),r=e%60;return`${n}m ${r.toFixed(0)}s`}function Jh(t,e){if(t.type==="text"&&!t.synthetic)return`${t.text??""}
|
|
21
21
|
|
|
22
22
|
`;if(t.type==="reasoning")return e.thinking?`> _Thinking:_
|
|
23
23
|
>
|
|
@@ -50,15 +50,15 @@ ${s}
|
|
|
50
50
|
${t.state.error}
|
|
51
51
|
\`\`\`
|
|
52
52
|
`),n+=`
|
|
53
|
-
`,n}return""}function
|
|
53
|
+
`,n}return""}function Xh(t,e){if(!e)return`## Assistant
|
|
54
54
|
|
|
55
|
-
`;let n=t.agent?
|
|
55
|
+
`;let n=t.agent?zh(t.agent):"Assistant",r=t.modelID||"",s="";t.time?.completed&&t.time?.created&&(s=Vh(t.time.completed-t.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
|
|
56
56
|
|
|
57
57
|
`:`## ${n}
|
|
58
58
|
|
|
59
|
-
`}function
|
|
59
|
+
`}function Qh(t,e,n){let r="";t.role==="user"?r+=`## User
|
|
60
60
|
|
|
61
|
-
`:r+=
|
|
61
|
+
`:r+=Xh(t,n.assistantMetadata);for(let s of e)r+=Jh(s,n);return r}function xp(t,e,n=Bl){let r=`# ${t.title||"Untitled Session"}
|
|
62
62
|
|
|
63
63
|
`;r+=`**Session ID:** \`${t.id}\`
|
|
64
64
|
`,r+=`**Created:** ${new Date(t.time.created).toLocaleString()}
|
|
@@ -66,14 +66,14 @@ ${t.state.error}
|
|
|
66
66
|
|
|
67
67
|
`,r+=`---
|
|
68
68
|
|
|
69
|
-
`;for(let s of e)r+=
|
|
69
|
+
`;for(let s of e)r+=Qh(s.info,s.parts,n),r+=`---
|
|
70
70
|
|
|
71
|
-
`;return r}function Bu(t,e){return`session-${t}.md`}function Y(t){if(!t)return"An error occurred";if(typeof t=="string"){let e=t.startsWith("Error: ")?t.slice(7):t;try{let n=JSON.parse(e);if(typeof n=="string"){e=n;try{let r=JSON.parse(e);return lt(r)||e}catch{return e}}return lt(n)||e}catch{return Rh(e)??e}}return typeof t=="object"?lt(t)||"An error occurred":String(t)}function Nu(t){let e=t.indexOf("{"),n=t.lastIndexOf("}");if(!(e===-1||n===-1||n<=e))return t.slice(e,n+1)}function Rh(t){let e=Nu(t);if(e)try{return lt(JSON.parse(e))}catch{return}}function lt(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t;if(typeof e.message=="string"&&e.message)return e.message;if(typeof e.error=="string"&&e.error)return e.error;let n=e.data;if(typeof n?.message=="string")return n.message;let r=e.error;if(typeof r?.message=="string")return r.message}function Th(t){if(!Array.isArray(t))return;let e=[];for(let n of t){if(!n||typeof n!="object"||Array.isArray(n))continue;let r=n;!Number.isInteger(r.attempt)||r.attempt<1||typeof r.provider!="string"||!r.provider||typeof r.route_model!="string"||!r.route_model||typeof r.resolved_model!="string"||!r.resolved_model||typeof r.stage!="string"||!r.stage||typeof r.code!="string"&&!(typeof r.code=="number"&&Number.isFinite(r.code))||typeof r.message!="string"||!r.message||r.status!==void 0&&(!Number.isInteger(r.status)||r.status<100||r.status>599)||e.push({attempt:r.attempt,provider:r.provider,routeModel:r.route_model,resolvedModel:r.resolved_model,stage:r.stage,...typeof r.status=="number"?{status:r.status}:{},code:r.code,message:r.message})}return e.length>0?e:void 0}function gl(t){if(!(typeof t!="string"||!t))try{return JSON.parse(t)}catch{return}}function Ku(t){let e=typeof t.provider=="string"&&t.provider?t.provider:void 0,n=typeof t.code=="string"&&t.code?t.code:void 0,r=typeof t.suggestion=="string"&&t.suggestion?t.suggestion:void 0,s=typeof t.upstream_status=="number"?t.upstream_status:void 0,c=typeof t.request_id=="string"&&t.request_id?t.request_id:void 0,u=Th(t.attempt_failures);return!e&&!n&&!r&&s===void 0&&!c&&!u?void 0:{message:typeof t.message=="string"&&t.message||lt(t)||"",provider:e,code:n,suggestion:r,upstreamStatus:s,requestId:c,attemptFailures:u}}function se(t){if(t==null)return;if(typeof t=="string"){let u=t.startsWith("Error: ")?t.slice(7):t,p=gl(u)??gl(Nu(u));return p!==void 0?se(p):void 0}if(typeof t!="object")return;let e=t,n=Ku(e);if(n)return n;let r=e.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Ku(r);if(u)return u}let s=e.data;if(s&&typeof s.responseBody=="string"){let u=gl(s.responseBody);if(u!==void 0){let p=se(u);if(p)return p}}let c=e.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let p=se(u);if(p)return p}}}var Ah={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"}},Ih=[{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 jh(t){return t.replace(/^oc[-_]/,"")}function ut(t){return jh(t).replace(/-/g,"_")}function cn(t){return ut(t).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function ln(t){let e=ut(t),n=Ah[e];if(n)return n;for(let{prefix:r,category:s}of Ih)if(e.startsWith(r))return{label:cn(t),category:s};return{label:cn(t),category:"other"}}var Eh=256*1024;function $h(t){switch(t.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return t}}function qh(t){if(t===void 0)return{};if(t.length>Eh)return{outputText:t};try{return{outputParsed:JSON.parse(t),outputText:t}}catch{return{outputText:t}}}function Dh(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t,n=e.success===!1,r=e.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Y(r):typeof e.message=="string"&&e.message?e.message:"Tool reported failure"}function Mh(t,e){let n="title"in e?e.title:void 0,r=e.status==="completed"?e.output:void 0,{outputParsed:s,outputText:c}=qh(r),u=$h(e),p=e.status==="error"?e.error:void 0;if(u==="done"){let g=Dh(s);g&&(u="error",p=g)}return{name:t,title:n||ln(t).label,status:u,input:e.input,output:r,outputParsed:s,outputText:c,error:p}}function Uh(t){return{kind:"text",id:t.id,text:t.text,synthetic:!!t.synthetic}}function Oh(t){return{kind:"reasoning",id:t.id,text:t.text}}function Fh(t){return{kind:"tool",id:t.id,tool:Mh(t.tool,t.state)}}function Lh(t){let e=t.mime;return{kind:"file",id:t.id,filename:t.filename,mime:e,url:t.url,isImage:e.startsWith("image/"),isPdf:e==="application/pdf"}}function Gh(t){return{kind:"subtask",id:t.id,description:t.description,agent:t.agent,prompt:t.prompt,model:t.model}}function Bh(t){return{kind:"patch",id:t.id,hash:t.hash,files:t.files,fileCount:t.files.length}}function Kh(t){return{kind:"snapshot",id:t.id,snapshot:t.snapshot}}function Nh(t){return{kind:"agent",id:t.id,name:t.name}}function Hh(t){return{kind:"retry",id:t.id,attempt:t.attempt,message:Y(t.error),createdAt:t.time.created}}function Wh(t){return{kind:"compaction",id:t.id,auto:t.auto,overflow:!!t.overflow,tailStartId:t.tail_start_id}}function zh(t){return{kind:"step",id:t.id,phase:"start",snapshot:t.snapshot}}function Vh(t){return{kind:"step",id:t.id,phase:"finish",snapshot:t.snapshot,reason:t.reason,cost:t.cost,tokens:t.tokens}}function ml(t){switch(t.type){case"text":return Uh(t);case"reasoning":return Oh(t);case"tool":return Fh(t);case"file":return Lh(t);case"subtask":return Gh(t);case"patch":return Bh(t);case"snapshot":return Kh(t);case"agent":return Nh(t);case"retry":return Hh(t);case"compaction":return Wh(t);case"step-start":return zh(t);case"step-finish":return Vh(t);default:return{kind:"unknown",raw:t}}}function Jh(t){if(!t)return;let e=typeof t=="object"&&"name"in t&&typeof t.name=="string"?t.name:"Error",n=se(t);return{name:e,message:n?.message||Y(t),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function Xh(t){switch(t.kind){case"text":case"reasoning":return t.text.trim().length>0;case"step":return!1;default:return!0}}function Hu(t){let e=t.parts.map(ml),n=t.info.role==="assistant"?t.info.error:void 0,r=Jh(n),s=!r&&!e.some(Xh);return{parts:e,error:r,isEmpty:s}}function ge(t){return t.type==="text"}function un(t){return t.type==="reasoning"}function ie(t){return t.type==="tool"}function Wu(t){return t.type==="file"}function Qh(t){return t.type==="agent"}function Yh(t){return t.type==="compaction"}function Zh(t){return t.type==="snapshot"}function eb(t){return t.type==="patch"}function tb(t){if(ge(t)||un(t))return t.text}function zu(t){if(!Wu(t))return!1;let e=t.mime;return e.startsWith("image/")||e==="application/pdf"}function nb(t){let e=[],n=[];for(let r of t)zu(r)?e.push(r):n.push(r);return{attachments:e,stickyParts:n}}function rb(t,e){let n=[];return t?.tool&&n.push(t.tool),e?.tool&&n.push(e.tool),n}function sb(t,e,n){return n.some(r=>r.messageID===e&&r.callID===t.callID)}var ib=new Set(["todoread","context_info"]);function Vu(t){return!ib.has(t.tool)}function ob(t){let e=t.tool||"";if(e==="task"||e==="agent_spawn"||e==="agent-spawn"||e==="agent_message"||e==="agent-message"||e==="agent_task"||e==="agent-task"||e==="agent_task_update"||e==="agent-task-update"||e==="agent_task_message"||e==="agent-task-message"||e==="agent_task_start"||e==="agent-task-start"||e==="task_create"||e==="task-create"||e==="task_start"||e==="task-start"||e==="task_update"||e==="task-update"||e==="task_message"||e==="task-message"){let r=t.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=t.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=t.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=t.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=t.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function ab(t){if(t)for(let e=t.length-1;e>=0;e--){let n=t[e]?.info;if(n?.role==="assistant"&&n.error)return Y(n.error)}}function cb(t){let e=[];for(let n of t)if(n.info.role==="assistant")for(let r of n.parts)ie(r)&&Vu(r)&&e.push(r);return e}function lb(t,e={}){switch(t){case"read":return{icon:"glasses",title:"Read",subtitle:Ju(e.filePath)};case"list":return{icon:"list",title:"List",subtitle:Xu(e.path)};case"glob":return{icon:"search",title:"Glob",subtitle:e.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:e.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:e.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:e.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:e.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:e.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:e.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:e.prompt?.slice?.(0,40)};case"presentation-gen":{let n=e.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:e.slide_title||e.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:e.title||e.description};case"task":return{icon:"square-kanban",title:`Agent (${e.subagent_type||"task"})`,subtitle:Qu(e)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${e.agent||"KortixWorker"})`,subtitle:e.description||e.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:e.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:fl(e.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:fl(e.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:e.files?.length?`${e.files.length} file${e.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:e.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:e.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${e.mode||"summary"})`,subtitle:e.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:e.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:e.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:e.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:e.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:e.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:e.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:e.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:e.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:e.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:e.name||e.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:e.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:e.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:e.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:e.name||e.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:e.name||e.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:e.name||e.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:e.name||e.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:e.name||e.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:e.name||e.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${e.agent_type||"worker"})`,subtitle:e.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:e.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:e.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:e.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:e.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:e.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:e.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:e.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:e.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:e.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:e.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:e.title||e.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:e.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:e.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:e.id};default:return{icon:"cpu",title:t}}}function Ju(t){if(!t)return;let e=t.split("/");return e[e.length-1]||t}function fl(t){if(!t)return;let e=t.split("/"),n=e[e.length-1]||t;if(e.length<=1)return n;let r=e[e.length-2];return r?`${n} /${r}`:n}function Xu(t){if(!t)return;let e=t.lastIndexOf("/");if(!(e<0))return t.slice(0,e)||"/"}function ub(t,e){if(!e)return t;if(t.startsWith(e)){let n=t.slice(e.length);return n.startsWith("/")?n.slice(1):n}return t}function pt(t,e=120){if(typeof t!="string")return"";let n=t.split(`
|
|
72
|
-
`).map(r=>r.trim()).find(Boolean);return n?n.length>e?`${n.slice(0,e).trim()}\u2026`:n:""}function
|
|
73
|
-
\u2026`:t}function
|
|
71
|
+
`;return r}function _p(t,e){return`session-${t}.md`}function Y(t){if(!t)return"An error occurred";if(typeof t=="string"){let e=t.startsWith("Error: ")?t.slice(7):t;try{let n=JSON.parse(e);if(typeof n=="string"){e=n;try{let r=JSON.parse(e);return dt(r)||e}catch{return e}}return dt(n)||e}catch{return Yh(e)??e}}return typeof t=="object"?dt(t)||"An error occurred":String(t)}function kp(t){let e=t.indexOf("{"),n=t.lastIndexOf("}");if(!(e===-1||n===-1||n<=e))return t.slice(e,n+1)}function Yh(t){let e=kp(t);if(e)try{return dt(JSON.parse(e))}catch{return}}function dt(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t;if(typeof e.message=="string"&&e.message)return e.message;if(typeof e.error=="string"&&e.error)return e.error;let n=e.data;if(typeof n?.message=="string")return n.message;let r=e.error;if(typeof r?.message=="string")return r.message}function Zh(t){if(!Array.isArray(t))return;let e=[];for(let n of t){if(!n||typeof n!="object"||Array.isArray(n))continue;let r=n;!Number.isInteger(r.attempt)||r.attempt<1||typeof r.provider!="string"||!r.provider||typeof r.route_model!="string"||!r.route_model||typeof r.resolved_model!="string"||!r.resolved_model||typeof r.stage!="string"||!r.stage||typeof r.code!="string"&&!(typeof r.code=="number"&&Number.isFinite(r.code))||typeof r.message!="string"||!r.message||r.status!==void 0&&(!Number.isInteger(r.status)||r.status<100||r.status>599)||e.push({attempt:r.attempt,provider:r.provider,routeModel:r.route_model,resolvedModel:r.resolved_model,stage:r.stage,...typeof r.status=="number"?{status:r.status}:{},code:r.code,message:r.message})}return e.length>0?e:void 0}function Nl(t){if(!(typeof t!="string"||!t))try{return JSON.parse(t)}catch{return}}function Pp(t){let e=typeof t.provider=="string"&&t.provider?t.provider:void 0,n=typeof t.code=="string"&&t.code?t.code:void 0,r=typeof t.suggestion=="string"&&t.suggestion?t.suggestion:void 0,s=typeof t.upstream_status=="number"?t.upstream_status:void 0,o=typeof t.request_id=="string"&&t.request_id?t.request_id:void 0,u=Zh(t.attempt_failures);return!e&&!n&&!r&&s===void 0&&!o&&!u?void 0:{message:typeof t.message=="string"&&t.message||dt(t)||"",provider:e,code:n,suggestion:r,upstreamStatus:s,requestId:o,attemptFailures:u}}function se(t){if(t==null)return;if(typeof t=="string"){let u=t.startsWith("Error: ")?t.slice(7):t,p=Nl(u)??Nl(kp(u));return p!==void 0?se(p):void 0}if(typeof t!="object")return;let e=t,n=Pp(e);if(n)return n;let r=e.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Pp(r);if(u)return u}let s=e.data;if(s&&typeof s.responseBody=="string"){let u=Nl(s.responseBody);if(u!==void 0){let p=se(u);if(p)return p}}let o=e.cause;if(o&&typeof o=="object"){let u=o.body;if(u!==void 0){let p=se(u);if(p)return p}}}var eb={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"}},tb=[{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 nb(t){return t.replace(/^oc[-_]/,"")}function gt(t){return nb(t).replace(/-/g,"_")}function pn(t){return gt(t).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function dn(t){let e=gt(t),n=eb[e];if(n)return n;for(let{prefix:r,category:s}of tb)if(e.startsWith(r))return{label:pn(t),category:s};return{label:pn(t),category:"other"}}var rb=256*1024;function sb(t){switch(t.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return t}}function ib(t){if(t===void 0)return{};if(t.length>rb)return{outputText:t};try{return{outputParsed:JSON.parse(t),outputText:t}}catch{return{outputText:t}}}function ob(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t,n=e.success===!1,r=e.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Y(r):typeof e.message=="string"&&e.message?e.message:"Tool reported failure"}function ab(t,e){let n="title"in e?e.title:void 0,r=e.status==="completed"?e.output:void 0,{outputParsed:s,outputText:o}=ib(r),u=sb(e),p=e.status==="error"?e.error:void 0;if(u==="done"){let d=ob(s);d&&(u="error",p=d)}return{name:t,title:n||dn(t).label,status:u,input:e.input,output:r,outputParsed:s,outputText:o,error:p}}function cb(t){return{kind:"text",id:t.id,text:t.text,synthetic:!!t.synthetic}}function lb(t){return{kind:"reasoning",id:t.id,text:t.text}}function ub(t){return{kind:"tool",id:t.id,tool:ab(t.tool,t.state)}}function pb(t){let e=t.mime;return{kind:"file",id:t.id,filename:t.filename,mime:e,url:t.url,isImage:e.startsWith("image/"),isPdf:e==="application/pdf"}}function db(t){return{kind:"subtask",id:t.id,description:t.description,agent:t.agent,prompt:t.prompt,model:t.model}}function gb(t){return{kind:"patch",id:t.id,hash:t.hash,files:t.files,fileCount:t.files.length}}function mb(t){return{kind:"snapshot",id:t.id,snapshot:t.snapshot}}function fb(t){return{kind:"agent",id:t.id,name:t.name}}function yb(t){return{kind:"retry",id:t.id,attempt:t.attempt,message:Y(t.error),createdAt:t.time.created}}function hb(t){return{kind:"compaction",id:t.id,auto:t.auto,overflow:!!t.overflow,tailStartId:t.tail_start_id}}function bb(t){return{kind:"step",id:t.id,phase:"start",snapshot:t.snapshot}}function xb(t){return{kind:"step",id:t.id,phase:"finish",snapshot:t.snapshot,reason:t.reason,cost:t.cost,tokens:t.tokens}}function Kl(t){switch(t.type){case"text":return cb(t);case"reasoning":return lb(t);case"tool":return ub(t);case"file":return pb(t);case"subtask":return db(t);case"patch":return gb(t);case"snapshot":return mb(t);case"agent":return fb(t);case"retry":return yb(t);case"compaction":return hb(t);case"step-start":return bb(t);case"step-finish":return xb(t);default:return{kind:"unknown",raw:t}}}function _b(t){if(!t)return;let e=typeof t=="object"&&"name"in t&&typeof t.name=="string"?t.name:"Error",n=se(t);return{name:e,message:n?.message||Y(t),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function Pb(t){switch(t.kind){case"text":case"reasoning":return t.text.trim().length>0;case"step":return!1;default:return!0}}function wp(t){let e=t.parts.map(Kl),n=t.info.role==="assistant"?t.info.error:void 0,r=_b(n),s=!r&&!e.some(Pb);return{parts:e,error:r,isEmpty:s}}function fe(t){return t.type==="text"}function gn(t){return t.type==="reasoning"}function ie(t){return t.type==="tool"}function Sp(t){return t.type==="file"}function kb(t){return t.type==="agent"}function wb(t){return t.type==="compaction"}function Sb(t){return t.type==="snapshot"}function vb(t){return t.type==="patch"}function Cb(t){if(fe(t)||gn(t))return t.text}function vp(t){if(!Sp(t))return!1;let e=t.mime;return e.startsWith("image/")||e==="application/pdf"}function Rb(t){let e=[],n=[];for(let r of t)vp(r)?e.push(r):n.push(r);return{attachments:e,stickyParts:n}}function Tb(t,e){let n=[];return t?.tool&&n.push(t.tool),e?.tool&&n.push(e.tool),n}function Ab(t,e,n){return n.some(r=>r.messageID===e&&r.callID===t.callID)}var Ib=new Set(["todoread","context_info"]);function Cp(t){return!Ib.has(t.tool)}function Eb(t){let e=t.tool||"";if(e==="task"||e==="agent_spawn"||e==="agent-spawn"||e==="agent_message"||e==="agent-message"||e==="agent_task"||e==="agent-task"||e==="agent_task_update"||e==="agent-task-update"||e==="agent_task_message"||e==="agent-task-message"||e==="agent_task_start"||e==="agent-task-start"||e==="task_create"||e==="task-create"||e==="task_start"||e==="task-start"||e==="task_update"||e==="task-update"||e==="task_message"||e==="task-message"){let r=t.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=t.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let o=t.state?.output;if(o){let u=o.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=t.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=t.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function jb(t){if(t)for(let e=t.length-1;e>=0;e--){let n=t[e]?.info;if(n?.role==="assistant"&&n.error)return Y(n.error)}}function $b(t){let e=[];for(let n of t)if(n.info.role==="assistant")for(let r of n.parts)ie(r)&&Cp(r)&&e.push(r);return e}function qb(t,e={}){switch(t){case"read":return{icon:"glasses",title:"Read",subtitle:Rp(e.filePath)};case"list":return{icon:"list",title:"List",subtitle:Tp(e.path)};case"glob":return{icon:"search",title:"Glob",subtitle:e.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:e.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:e.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:e.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:e.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:e.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:e.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:e.prompt?.slice?.(0,40)};case"presentation-gen":{let n=e.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:e.slide_title||e.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:e.title||e.description};case"task":return{icon:"square-kanban",title:`Agent (${e.subagent_type||"task"})`,subtitle:Ap(e)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${e.agent||"KortixWorker"})`,subtitle:e.description||e.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:e.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:Hl(e.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Hl(e.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:e.files?.length?`${e.files.length} file${e.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:e.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:e.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${e.mode||"summary"})`,subtitle:e.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:e.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:e.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:e.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:e.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:e.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:e.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:e.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:e.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:e.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:e.name||e.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:e.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:e.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:e.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:e.name||e.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:e.name||e.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:e.name||e.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:e.name||e.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:e.name||e.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:e.name||e.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${e.agent_type||"worker"})`,subtitle:e.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:e.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:e.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:e.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:e.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:e.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:e.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:e.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:e.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:e.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:e.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:e.title||e.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:e.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:e.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:e.id};default:return{icon:"cpu",title:t}}}function Rp(t){if(!t)return;let e=t.split("/");return e[e.length-1]||t}function Hl(t){if(!t)return;let e=t.split("/"),n=e[e.length-1]||t;if(e.length<=1)return n;let r=e[e.length-2];return r?`${n} /${r}`:n}function Tp(t){if(!t)return;let e=t.lastIndexOf("/");if(!(e<0))return t.slice(0,e)||"/"}function Db(t,e){if(!e)return t;if(t.startsWith(e)){let n=t.slice(e.length);return n.startsWith("/")?n.slice(1):n}return t}function mt(t,e=120){if(typeof t!="string")return"";let n=t.split(`
|
|
72
|
+
`).map(r=>r.trim()).find(Boolean);return n?n.length>e?`${n.slice(0,e).trim()}\u2026`:n:""}function Ap(t){let e=mt(t.description);if(e)return e;let n=mt(t.title,80);if(n)return n;let r=mt(t.message);if(r)return r;let s=mt(t.prompt);if(s)return s;let o=mt(t.agent_id,40);return o?`Agent ${o}`:"Worker task"}function Mb(t,e){return!t||!e?[]:(t[e]??[]).filter(r=>r.severity===1).slice(0,3)}function Ob(t,e){return t.find(n=>n.tool?.callID===e)}function Ub(t,e){return t.find(n=>n.tool?.callID===e)}var Fb=/\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 Lb(t){return t?t.replace(Fb,""):""}function Ip(t,e){let n=typeof t.info.time?.created=="number"?t.info.time.created:null,r=typeof e.info.time?.created=="number"?e.info.time.created:null;return n===null&&r===null?0:n===null?1:r===null?-1:n!==r?n<r?-1:1:t.info.id<e.info.id?-1:t.info.id>e.info.id?1:0}function Gb(t){let e=[...t].sort(Ip),n=[],r=new Map;for(let o of e)if(o.info.role==="user"){if(r.has(o.info.id))continue;let u={userMessage:o,assistantMessages:[]};n.push(u),r.set(o.info.id,u)}let s=null;for(let o of e){if(o.info.role==="user"){s=r.get(o.info.id)??null;continue}if(o.info.role!=="assistant")continue;let u=o.info;if(u.parentID){let d=r.get(u.parentID);if(d){d.assistantMessages.push(o);continue}}if(s){s.assistantMessages.push(o);continue}if(n.length>0){n[0].assistantMessages.unshift(o);continue}let p={userMessage:o,assistantMessages:[]};n.push(p)}return n}function Bb(t){let e=[];for(let n of t.assistantMessages)for(let r of n.parts)e.push({part:r,message:n});return e}function Nb(t){for(let e=t.length-1;e>=0;e--){let n=t[e].part;if(fe(n)&&n.text?.trim())return n}}function Kb(t){return t.some(({part:e})=>e.type==="tool"||e.type==="compaction"||e.type==="snapshot"||e.type==="patch")}function Hb(t,e,n){if(n)return[];let r=[];for(let s of t.assistantMessages)for(let o of s.parts){if(!ie(o))continue;let u=o,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:o,message:s})}return r}function Wb(t){let e=new Map;for(let n of t){if(!n.parentID)continue;let r=e.get(n.parentID);r?r.push(n.id):e.set(n.parentID,[n.id])}return e}function zb(t){let e=t-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,o=r.time.updated??r.time.created,u=s>e,p=o>e;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:o-s}}function Ep(t,e){let n=t.get(e);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(...Ep(t,s));return r}function jp(t){if(!t||typeof t!="object")return!1;let e=t.data;return!!e&&typeof e=="object"&&e.isRetryable===!0}function Vb(t){if(!t?.length)return!1;for(let e=t.length-1;e>=0;e--){let n=t[e].info;if(n.role==="assistant")return!n.time?.completed&&jp(n.error)}return!1}function $p(t){let e=t.userMessage.parts;if(e.length===0||!e.every(o=>fe(o)&&o.synthetic)||t.assistantMessages.length!==1)return!1;let r=t.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return ie(s)&&s.tool==="bash"}function Jb(t){if($p(t))return t.assistantMessages[0].parts[0]}function Xb(t,e){for(let n=e.length-1;n>=0;n--)if(e[n].info.role==="user")return e[n].info.id===t;return!1}function Qb(t,e){return!e||!t?!1:t.type!=="idle"}function Yb(t,e){return!t&&!!e}function Zb(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return Y(n.error)}}function ex(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return se(n.error)}}function Wl(t){if(t){if(ie(t))switch(t.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Handing off to an agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Handing off to an agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating progress...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Checking in with an agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Starting a new task...";case"task_list":case"task-list":return"Reviewing the task list...";case"task_done":case"task-done":return"Updating progress...";case"todowrite":case"todoread":return"Planning...";case"read":return"Reading files...";case"list":case"grep":case"glob":return"Searching files...";case"webfetch":case"scrape-webpage":return"Reading a web page...";case"websearch":case"web-search":case"web_search":return"Searching the web...";case"image-search":return"Searching for images...";case"image-gen":return"Creating an image...";case"video-gen":return"Creating a video...";case"presentation-gen":return"Creating a presentation...";case"show":case"show-user":return"Sharing the result...";case"edit":case"write":case"morph_edit":return"Making changes...";case"bash":return"Working on the computer...";case"apply_patch":return"Making changes...";case"prune":return"Tidying up memory...";case"distill":return"Tidying up memory...";case"compress":return"Tidying up memory...";case"context_info":return"Refreshing memory...";default:return"Working on it..."}if(gn(t)){let e=t.text?.trimStart();if(e){let n=e.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(fe(t))return"Gathering thoughts..."}}function tx(t,e){for(let n=t.length-1;n>=0;n--){let r=t[n].part,s=ie(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&e&&e.length>0){for(let u=e.length-1;u>=0;u--){let p=e[u];if(p.info.role==="assistant")for(let d=p.parts.length-1;d>=0;d--){let f=Wl(p.parts[d]);if(f)return f}}return"Handing off to an agent..."}let o=Wl(r);if(o)return o}return"Figuring out what\u2019s next..."}function nx(t){if(!Number.isFinite(t)||t<1e3)return"";let e=Math.floor(t/1e3);if(e<60)return`${e}s`;let n=Math.floor(e/60),r=e%60;return r>0?`${n}m ${r}s`:`${n}m`}var zl=1.2;function qp(t,e){if(!t)return 0;let n=t.input??0,r=(t.output??0)+(t.reasoning??0),s=t.cache?.read??0,o=t.cache?.write??0,u=Math.max(0,n-s-o),d=[...e.tiers??[],...e.contextOver200k?[e.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,b)=>b.contextThreshold-m.contextThreshold)[0]??e,f=u/1e6*d.inputPer1M;return f+=r/1e6*d.outputPer1M,s>0&&(f+=s/1e6*(d.cacheReadPer1M??d.inputPer1M)),o>0&&(f+=o/1e6*(d.cacheWritePer1M??d.inputPer1M)),f}function Dp(t,e,n,r){let s=t.cost||0;if(s>0)return s;if(!r||!e||!n)return 0;let o=r(e,n);return o?qp(t.tokens,o):0}function Mp(t){if(t.role!=="assistant")return{};let e=t;return{providerID:e.providerID,modelID:e.modelID}}function rx(t,e){let n=0,r=0,s=0,o=0,u=0,p=0,d=!1;for(let{part:f,message:m}of t)if(f.type==="step-finish"){d=!0;let b=f,{providerID:x,modelID:I}=Mp(m.info);n+=Dp(b,x,I,e),r+=b.tokens?.input||0,s+=b.tokens?.output||0,o+=b.tokens?.reasoning||0,u+=b.tokens?.cache?.read||0,p+=b.tokens?.cache?.write||0}if(!d)for(let{message:f}of t){if(f.info.role!=="assistant")continue;let m=f.info,b=Op(m,e);if(b<=0)continue;d=!0,n+=b;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,o+=x.reasoning??0,u+=x.cache?.read??0,p+=x.cache?.write??0)}if(d)return{cost:n*zl,tokens:{input:r,output:s,reasoning:o,cacheRead:u,cacheWrite:p}}}function Op(t,e){if(!e||!t.providerID||!t.modelID||!t.tokens)return 0;let n=e(t.providerID,t.modelID);return n?qp({input:t.tokens.input,output:t.tokens.output,reasoning:t.tokens.reasoning,cache:t.tokens.cache},n):0}function sx(t,e){let n=0;for(let r of t){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:u}=Mp(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=Dp(f,o,u,e));d||(p+=Op(s,e)),n+=p}return n*zl}function ix(t){return t===0?"$0.00":t<.001?`$${t.toFixed(4)}`:t<.01?`$${t.toFixed(3)}`:`$${t.toFixed(2)}`}function ox(t){return t<1e3?String(t):t<1e4?`${(t/1e3).toFixed(1)}k`:`${Math.round(t/1e3)}k`}function ax(t){if(!t||t.type!=="retry")return;let e=t,n=Y(e.message);return{attempt:e.attempt,message:n.length>60?`${n.slice(0,60)}...`:n,next:e.next,details:se(e.message)}}function cx(t){if(!(!t||t.type!=="retry"))return Y(t.message)}function lx(t){return(t.info.summary?.diffs?.length??0)>0}var ux=4e3;function ft(t,e=ux){return t.length>e?`${t.slice(0,e)}
|
|
73
|
+
\u2026`:t}function Up(t){if(t!==void 0)try{return ft(JSON.stringify(t,null,2))}catch{return}}function L(...t){for(let e of t)if(typeof e=="string"&&e.length>0)return e}function Ne(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:void 0}function px(t){let e=L(t.input?.query)??"";if(t.status==="error")return{kind:"web-search",query:e,error:t.error??"Search failed"};let n=Ne(t.outputParsed);if(!n)return{kind:"web-search",query:e};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(o=>{let u=Ne(o)??{};return{title:L(u.title)??"",url:L(u.url,u.link)??"",snippet:L(u.snippet,u.description,u.source)}});return{kind:"web-search",query:L(n.query)??e,results:s.length>0?s:void 0,answer:L(n.answer)}}var dx=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function Jl(t){let e=t.match(dx);return e?Number(e[1]):void 0}function gx(t,e,n){let r="",s=0;for(;;){let o=t.indexOf(e,s);if(o===-1)return r+t.slice(s);let u=t.indexOf(n,o+e.length);if(u===-1)return r+t.slice(s);r+=t.slice(s,o),s=u+n.length}}var mx=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function fx(t){let e=-1;for(let n of mx){let r=t.indexOf(n);r!==-1&&(e===-1||r<e)&&(e=r)}return e===-1?t:t.slice(0,e)}var yx=/\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 hx(t){return t.replace(yx,"")}function bx(t){let e=L(t.input?.command)??"",n=t.output??"",r=Jl(n),o=hx(fx(gx(n,"<bash_metadata>","</bash_metadata>"))).trim()||(t.status==="error"?t.error:void 0);return{kind:"shell",command:e,stdout:o||void 0,exitCode:r}}function Xl(t){return L(t.input?.filePath,t.input?.file_path,t.input?.path)??""}function xx(t){let e=t.status==="error"?t.error:t.output&&ft(t.output)||void 0;return{kind:"file-read",path:Xl(t),preview:e}}function _x(t){let e=L(t.input?.content),n=t.status==="error"?t.error:ft(e??t.output??"")||void 0;return{kind:"file-write",path:Xl(t),preview:n}}var Px=256*1024;function kx(t,e){if(t.length+e.length>Px)return;let n=t.split(`
|
|
74
74
|
`),r=e.split(`
|
|
75
|
-
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let
|
|
76
|
-
`).map(e=>e.trim()).filter(e=>e.startsWith("/")||e.startsWith("./")||e.startsWith("~")).map(e=>({path:e}))}function tx(t){let e=G(t.input?.pattern,t.input?.query)??"";if(t.status==="error"||!t.output)return{kind:"search",pattern:e};let n=op.test(t.output.trim())?Zb(t.output):ex(t.output);return{kind:"search",pattern:e,matches:n.length>0?n.slice(0,200):void 0}}function nx(t){let e=G(t.input?.description,t.input?.title,t.input?.prompt)??t.title,n=G(t.input?.subagent_type,t.input?.agent);return{kind:"task",description:e,agent:n}}function bl(t){let e=Oe(t)??{};return{content:G(e.content)??"",status:G(e.status)??"pending",priority:G(e.priority)}}function rx(t){let e=t.input?.todos;if(Array.isArray(e))return{kind:"todo",items:e.map(bl)};if(Array.isArray(t.outputParsed))return{kind:"todo",items:t.outputParsed.map(bl)};let n=Oe(t.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(bl)}:{kind:"todo",items:[]}}function sx(t){return{kind:"question",questions:(Array.isArray(t.input?.questions)?t.input.questions:[]).map(r=>{let s=Oe(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=Oe(p),f=g&&G(g.label);return f?[{label:f,description:g?G(g.description):void 0}]:[]});return{question:G(s.question)??"",header:G(s.header),options:u}})}}function ix(t){let n=t.input&&Object.keys(t.input).length>0?sp(t.input):void 0,r;return t.outputParsed!==void 0?r=typeof t.outputParsed=="string"?dt(t.outputParsed):sp(t.outputParsed):t.outputText!==void 0?r=dt(t.outputText):r=t.error,{kind:"generic",label:t.title,inputPretty:n,outputPretty:r}}function ap(t){switch(ut(t.name)){case"web_search":case"websearch":case"image_search":return Fb(t);case"bash":return Wb(t);case"read":return zb(t);case"write":return Vb(t);case"edit":case"morph_edit":return Qb(t);case"grep":case"glob":return tx(t);case"task":return nx(t);case"todowrite":return rx(t);case"question":case"ask":return sx(t);default:return ix(t)}}function pn(t){try{return typeof process<"u"?process.env?.[t]:void 0}catch{return}}function ox(t,e){if(t==null)return e;let n=t.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:e}function ax(t){if(t==null)return;let e=t.trim().toLowerCase();if(["1","true","yes","y","on"].includes(e))return!0;if(["0","false","no","n","off"].includes(e))return!1}function Pl(t,e,n){return t!==void 0?t:ox(pn(e),n)}var cx={get disableMobileAdvertising(){return Pl(E().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Pl(E().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Pl(E().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var gt="kortix-active-instance",cp=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function lp(t){return cp.some(e=>t===e||t.startsWith(`${e}/`))}function Fe(t){let e=t.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!e)return null;let n=decodeURIComponent(e[1]),r=e[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function lx(t){let e=Fe(t);return!!e&&e.innerPath===""}function ux(t){let e=Fe(t);return!e||!e.innerPath?t:e.innerPath}function up(t,e){if(!t)return e;if(e.startsWith("/")||(e=`/${e}`),e.startsWith("/instances/")){let n=Fe(e);return n?`/instances/${encodeURIComponent(t)}${n.innerPath}`:e}return lp(e)?`/instances/${encodeURIComponent(t)}${e}`:e}function pp(t){return t?Fe(t)?.instanceId??null:null}function px(){return typeof window>"u"?null:pp(window.location.pathname)||dp()}function dp(){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp(`(?:^|; )${gt}=([^;]+)`));return t?decodeURIComponent(t[1]):null}function dx(t){if(typeof document>"u")return;let e=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){e(`${gt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!t){e(`${gt}=; Max-Age=0; Path=/; SameSite=Lax`);return}e(`${gt}=${encodeURIComponent(t)}; Path=/; SameSite=Lax`)}function gx(t,e){return e?up(e,t):t}function mx(t){let e=Fe(t);return e?e.innerPath||"/dashboard":t}function gp(t){if(t instanceof Error)return t.message;if(typeof t=="string")return t;if(t&&typeof t=="object")try{return JSON.stringify(t)}catch{return String(t)}return String(t??"")}function mp(t){let e=gp(t).trim();if(!e)return null;let n=[e,e.replace(/^Failed to perform action:\s*/i,"").trim()],r=e.indexOf("{");r>=0&&n.push(e.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function kl(t){let e=mp(t);if(!e||typeof e!="object")return null;let n=e;return n.name==="ConfigInvalidError"?n:null}function fx(t){return kl(t)!==null}function fp(t){let e=kl(t);if(e){let s=(e.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=e.data?.issues?.[0]?.message,u=e.data?.issues?.[0]?.path?.join("."),p=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}let n=gp(t);return/sandbox not ready \(status: stopped\)/.test(n)?{title:"Session is waking up",message:"This session slept to save compute. Your conversation is safe \u2014 sending a message wakes it back up."}:{title:"OpenCode failed to load",message:n||"The sandbox is running, but OpenCode returned an error."}}function W(){let t=pn("BACKEND_URL")||E().backendUrl;return t||"http://localhost:8008/v1"}function mt(t){if(typeof t=="string"){let e=t.trim();return e.length>0?e:void 0}if(Array.isArray(t)){for(let e of t){let n=mt(e);if(n)return n}return}if(t&&typeof t=="object"){let e=t;return mt(e.sandboxId??e.id??e.slug??Object.values(e)[0])}}var yp=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function hp(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return`${t.slice(0,e)}/platform/local-bridge/status`}function yx(t){return t==="running"||t==="active"?"active":t==="queued"||t==="branching"||t==="provisioning"?"provisioning":t==="failed"||t==="error"?"error":t==="stopped"||t==="completed"||t==="archived"?"stopped":t||"unknown"}function wl(t,e,n){let r=n?.external_id||e.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||e.sandbox_id;return{sandbox_id:n?.sandbox_id||e.sandbox_id||e.session_id,external_id:r,name:e.name||`${t.name} session`,provider:n?.provider||e.sandbox_provider||"daytona",base_url:n?.base_url||e.sandbox_url||(n?.external_id?`${W()}/p/${n.external_id}/${re.KORTIX_MASTER}`:""),status:yx(n?.status||e.status),metadata:{...e.metadata??{},project_id:t.project_id,session_id:e.session_id,project_name:t.name,runtime_status:n?.status,error:e.error},created_at:n?.created_at||e.created_at,updated_at:n?.updated_at||e.updated_at}}async function Sl(){let t=await we(),e=[];for(let n of t){let r=await Me(n.project_id).catch(()=>[]);for(let s of r)e.push({project:n,session:s,runtime:null,sandbox:wl(n,s,null)})}return e.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return c!==0?c:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function Ce(t){let e=await Sl();return t?e.find(n=>n.sandbox.sandbox_id===t||n.sandbox.external_id===t||n.session.session_id===t||n.runtime?.external_id===t)??null:e[0]??null}async function dn(t,e={}){let n={"Content-Type":"application/json",...e.headers},r=e.signal??AbortSignal.timeout(3e4),s=await q(`${W()}${t}`,{...e,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new R(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:t});throw s.status===402&&(g=be(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function vl(t){if(!t.external_id){if(t.base_url)return t.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${t.provider} sandbox "${t.sandbox_id}"`)}return`${W()}/p/${t.external_id}/${re.KORTIX_MASTER}`}function hx(t,e){return t.external_id?`${W()}/p/${t.external_id}/${e}`:null}async function bx(){let t=await i.get("/setup/sandbox-providers");if(t.error)throw t.error;return t.data}async function bp(t){let e=await Ce();if(e)return{sandbox:e.sandbox,created:!1};let r=(await we())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Ue(r.project_id,{...t?.provider?{provider:t.provider}:{}}),c=(await ve(r.project_id,s.session_id))?.sandbox??null;return{sandbox:wl(r,s,c),created:!0}}async function xx(){return(await Ce().catch(()=>null))?.sandbox??null}async function _x(t){return{sandbox:(await bp(t)).sandbox}}async function Px(t){let e=mt(t);return e?(await Ce(e).catch(()=>null))?.sandbox??null:null}async function kx(t,e){throw await Ce(t)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function wx(t){let e=mt(t);return(await Sl().catch(()=>[])).map(r=>r.sandbox).filter(r=>!e||r.sandbox_id===e||r.external_id===e)}async function Sx(){if(typeof window>"u")return null;let t=W(),e=Array.from(new Set([t,...yp]));for(let n of e)try{let r=await fetch(hp(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 vx(t){if(!t)throw new Error("No sandbox selected for workload restart");let e=await Ce(t);if(!e)throw new Error("Project session sandbox not found");await st(e.project.project_id,e.session.session_id)}async function Cx(t){if(!t)throw new Error("No sandbox selected to stop");let e=await Ce(t);if(!e)throw new Error("Project session sandbox not found");await it(e.project.project_id,e.session.session_id)}async function Rx(t){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function Tx(t){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Ax(t){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function Ix(t,e,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function jx(t,e){throw new Error("Sandbox members moved to project access; update project access instead")}async function Ex(t,e,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function $x(t,e,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function qx(t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Dx(t,e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Mx(t,e,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Cl(t,e,n){let r=vl(t),s=await q(`${xe(r)}${e}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function Ux(t,e){return Cl(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"GET"})}async function Ox(t,e,n,r="member"){await Cl(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function Fx(t,e,n){await Cl(t,`/kortix/projects/${encodeURIComponent(e)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Lx(t,e){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Gx(t){let e=await dn(`/platform/invites/${encodeURIComponent(t)}`,{method:"GET"});if(!e.success||!e.data)throw new Error(e.error||"Invite not found");return e.data}async function Bx(t){let e=await dn(`/platform/invites/${encodeURIComponent(t)}/accept`,{method:"POST"});if(!e.success||!e.data)throw new Error(e.error||"Failed to accept invite");return e.data}async function Kx(t){let e=await dn(`/platform/invites/${encodeURIComponent(t)}/decline`,{method:"POST"});if(!e.success)throw new Error(e.error||"Failed to decline invite")}async function Nx(t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Hx(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Wx(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function zx(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Vx(t){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Jx(t){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var xp=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Xx(t){return xp.includes(t)}async function Qx(t){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:t?.version??null,error:null,startedAt:null,updatedAt:null}}async function Yx(t){let e=t?`?channel=${t}`:"",n=await fetch(`${W()}/platform/sandbox/version/latest${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await _p(t||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function _p(t){let e=t?`?channel=${t}`:"",n=await fetch(`${W()}/platform/sandbox/version/changelog${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function Zx(){let t=await fetch(`${W()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`All versions fetch failed: ${t.status}`);return t.json()}async function e_(t,e){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function t_(t){}async function n_(t){}async function r_(t){return{serverTypes:[],location:t||"hel1"}}async function s_(t){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function i_(t){let e=await i.delete(`/platform/sandbox?sandbox_id=${t}`);if(e.error)throw e.error;return e.data}async function o_(t,e){await i.post("/platform/sandbox/mark-error",{sandbox_id:t,error_message:e},{showErrors:!1,timeout:1e4})}async function a_(){let t=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(t.error)throw t.error;return t.data}async function c_(t){let e=await i.get(`/platform/sandbox/${t}/status`,{showErrors:!1,timeout:1e4});return e.success?e.data??null:null}function l_(t,e){return`${W()}/platform/sandbox/${t}/provision-stream?token=${encodeURIComponent(e)}`}var oe=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function gn(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return/\/v1$/.test(e)?e:`${e}/v1`}function Rl(t,e){let n=new Headers(t.headers);return n.set("Accept","application/json"),e&&n.set("Content-Type","application/json"),t.accessToken&&n.set("Authorization",`Bearer ${t.accessToken}`),n}async function mn(t){let e=await t.text().catch(()=>"");if(!e)return null;try{return JSON.parse(e)}catch{return e}}function fn(t,e){if(e&&typeof e=="object"){let n=e;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof e=="string"&&e?e:t.statusText||`HTTP ${t.status}`}async function B(t,e,n){let r=n?.body!==void 0,s=await fetch(`${gn(e.backendUrl)}${t}`,{method:n?.method??"GET",headers:Rl(e,r),...r?{body:JSON.stringify(n.body)}:{},...e.signal?{signal:e.signal}:{},...e.cache?{cache:e.cache}:{},...e.next?{next:e.next}:{}}),c=await mn(s);if(!s.ok)throw new oe(fn(s,c),s.status,c);return c}function u_(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString();return n?`?${n}`:""}function p_(t,e){return B(`/marketplace/items${u_(e)}`,t)}function d_(t){return B("/marketplace/marketplaces",t)}function g_(t,e){return B(`/marketplace/items/${encodeURIComponent(t)}`,e)}function m_(t,e,n){return B(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`,n)}function f_(t,e){return B("/access/check-email",e,{method:"POST",body:{email:t}})}function y_(t,e){return B("/access/request-access",e,{method:"POST",body:t})}function h_(t){return B("/auth/logout",t,{method:"POST",body:{}})}function b_(t,e){return B(`/oauth/authorize/consent/${encodeURIComponent(t)}`,e)}function x_(t,e){return B("/oauth/authorize/consent",e,{method:"POST",body:{request_id:t.requestId,approved:t.approved}})}function __(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}`,e)}function P_(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}/start`,e,{method:"POST",body:{}})}function k_(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}/finalize`,e,{method:"POST",body:{}})}function w_(t,e){return B(`/setup-links/secret/${encodeURIComponent(t)}`,e)}function S_(t,e,n){return B(`/setup-links/secret/${encodeURIComponent(t)}`,n,{method:"POST",body:{values:e}})}function v_(t,e){return B(`/p/public-share/${encodeURIComponent(t)}`,e)}function C_(t,e,n){return B(`/projects/${encodeURIComponent(t)}/sessions/${encodeURIComponent(e)}/start`,n,{method:"POST",body:{}})}function R_(t){return B("/system/maintenance",t)}function T_(t,e){return B("/system/maintenance",e,{method:"PUT",body:t})}function A_(t){return B("/user-roles",t)}function I_(t,e){return B("/system/demo-request",e,{method:"POST",body:t})}async function j_(t,e,n){let r=new URLSearchParams({format:e.format});e.action&&r.set("action",e.action),e.actor&&r.set("actor",e.actor),e.project_id&&r.set("project_id",e.project_id),e.session_id&&r.set("session_id",e.session_id),e.actor_type&&r.set("actor_type",e.actor_type),e.source&&r.set("source",e.source),e.phase&&r.set("phase",e.phase),e.outcome&&r.set("outcome",e.outcome),e.request_id&&r.set("request_id",e.request_id),e.correlation_id&&r.set("correlation_id",e.correlation_id),e.resource_type&&r.set("resource_type",e.resource_type),e.since&&r.set("since",e.since),e.until&&r.set("until",e.until),e.q&&r.set("q",e.q),e.cursor&&r.set("cursor",e.cursor),e.limit!=null&&r.set("limit",String(e.limit));let s=await fetch(`${gn(n.backendUrl)}/accounts/${encodeURIComponent(t)}/audit/export?${r}`,{headers:Rl(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let c=await mn(s);throw new oe(fn(s,c),s.status,c)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count"),complete:s.headers.get("x-audit-complete")!=="false",nextCursor:s.headers.get("x-audit-next-cursor")||null}}async function E_(t,e){let n=await fetch(`${gn(e.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Rl(e,!0),body:JSON.stringify(t),...e.signal?{signal:e.signal}:{}});if(!n.ok){let r=await mn(n);throw new oe(fn(n,r),n.status,r)}if(!n.body)throw new oe("No response body",n.status,null);return n.body}var $_=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Pp(t,e){return $_.test(e)?new URL(`templates/public/${e.toLowerCase()}`,`${gn(t)}/`):null}async function q_(t,e,n){let r=Pp(t,e);if(!r)throw new oe("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),c=await mn(s);if(!s.ok)throw new oe(fn(s,c),s.status,c);return c}async function D_(){let t=await i.get("/platform/github-app/status",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App status request failed");return t.data}async function M_(t={}){let e=await i.post("/platform/github-app/manifest-start",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App manifest-start request failed");return e.data}async function U_(t){let e=await i.post("/platform/github-app/app",{app_id:t.appId,private_key:t.privateKey,installation_id:t.installationId,slug:t.slug},{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App configuration request failed");return e.data}async function O_(t){let e=await i.post("/platform/github-app/pat",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub token configuration request failed");return e.data}async function F_(){let t=await i.delete("/platform/github-app",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App disconnect request failed");return t.data}function kp(t){try{let e=new URL(t);if(/^\/proxy\/\d+(?:\/|$)/.test(e.pathname))return`${e.origin}/v1/p/auth`;let n=e.pathname.indexOf("/p/");return n!==-1?`${e.origin}${e.pathname.slice(0,n)}/p/auth`:`${e.origin}/v1/p/auth`}catch{return null}}function L_(t,e){try{let n=new URL(t),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let c=new Set;if(e)try{c.add(new URL(e).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(n.origin)}catch{return!1}}function Tl(t,e){return L_(t,e)?(e?kp(e):null)??kp(t):null}function G_(t){try{return/^p\d+-[^.]+\./.test(new URL(t).hostname)}catch{return!1}}function B_(t,e){try{let n=new URL(t);return n.searchParams.set("token",e),n.toString()}catch{return t}}async function K_(t,e={}){let n=Tl(t,e.serverUrl);if(!n)return!1;let r=await me();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}var N_=3e3;function wp(t){return!Number.isFinite(t)||t<100||t>599?"unknown":t===502||t===503||t===504?"unreachable":t===401||t===403?"unknown":"reachable"}async function H_(t,e){if(!t||e?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();e?.signal?.addEventListener("abort",r);let s=setTimeout(r,e?.timeoutMs??3e3);try{let c=await fetch(t,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return wp(c.status)}catch{return"unknown"}finally{clearTimeout(s),e?.signal?.removeEventListener("abort",r)}}function Al(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return e}function W_(t,e){return`${Al(t)}/presentation-templates/${encodeURIComponent(e)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function z_(t,e){return`${Al(t)}/presentation-templates/${encodeURIComponent(e)}/image.png`}function Sp(t,e){return`${Al(t)}/presentation/convert-to-${e}`}async function V_(t,e,n,r){let s=Sp(e,t),c=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),g=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let T=await f.blob();if(T.size===0)throw new Error("Downloaded file is empty");return T}if(f.status===202){if(g||(g=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${t.toUpperCase()} to generate`);await new Promise((T,l)=>{let h=setTimeout(T,c);r?.signal?.addEventListener("abort",()=>{clearTimeout(h),l(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),I=f.statusText;try{let T=JSON.parse(x);I=String(T.error||T.detail||T.message||I)}catch{x&&(I=x)}throw new Error(`Failed to download ${t.toUpperCase()}: ${I} (HTTP ${f.status})`)}}function Cp(t){let e=t.fetch??globalThis.fetch,n=t.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let c=new URLSearchParams({limit:String(r)});s&&c.set("before",s);let u=await t.getToken?.(),p=await e(`${n}/session/${encodeURIComponent(t.sessionId)}/message?${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function Rp(t){return J_(Cp(t))}function Tp(t){let e=t.fetch??globalThis.fetch,n=t.baseUrl.replace(/\/$/,""),r=Cp(t),s=async c=>{let u=await t.getToken?.(),p=await e(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new Il({...t,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[t.sessionId]??{type:"idle"}})}async function J_(t){let e=new Map,n=new Set,r;do{let s=await t({limit:50,...r?{before:r}:{}});for(let c of s.messages)e.set(c.info.id,c);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...e.values()].sort((s,c)=>s.info.id.localeCompare(c.info.id))}var X_={now:Date.now,setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},vp=500,Il=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(e){this.options=e,this.scheduler=e.scheduler??X_,this.livenessIntervalMs=e.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(e="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(e).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let e=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(e).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0}),this.setBusy(!0)}observePromptStatus(e){if(this.promptObservationPhase!=="idle"){if(e.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.setBusy(!1)}setBusy(e){if(!e){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(e){try{let n=await this.loadPage("tail",e),r=await this.loadCompleteTurn(n,"tail",e);if(this.destroyed)return;this.containsNewPromptReply(r.messages)&&this.observePromptActivity(),this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(e,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async loadCompleteOlderTurn(e){let n=await this.loadPage("older","manual",e);return this.loadCompleteTurn(n,"older","manual",e)}async loadCompleteTurn(e,n,r,s){let c=[...e.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),g=e.nextCursor;for(let f of e.messages)f.info.role==="user"&&u.add(f.info.id);for(;g&&c.some(f=>f.info.role==="assistant"&&!!f.info.parentID&&!u.has(f.info.parentID));){if(p.has(g))throw new Error(`Session history cursor repeated: ${g}`);p.add(g);let f=await this.loadPage(n,r,g);c.unshift(...f.messages);for(let m of f.messages)m.info.role==="user"&&u.add(m.info.id);g=f.nextCursor}return{messages:c,nextCursor:g}}rememberUserMessages(e){for(let n of e)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.reconcile("poll"),await this.reconcileStatus(),this.lastActivityAt=this.scheduler.now())}containsNewPromptReply(e){if(this.promptObservationPhase==="idle")return!1;let n=new Set(e.filter(r=>r.info.role==="user"&&!this.knownUserMessageIds.has(r.info.id)).map(r=>r.info.id));return n.size===0?!1:e.some(r=>r.info.role==="assistant"&&!!r.info.parentID&&n.has(r.info.parentID))}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(e){this.nextCursor=e,this.update({hasOlder:!!e})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let e=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.stopLivenessTimer())};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(e,vp):setTimeout(e,vp)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(e){let n={...this.snapshot,...e};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder&&n.isPromptObservedBusy===this.snapshot.isPromptObservedBusy)){this.snapshot=n;for(let r of this.listeners)r()}}};function Ap(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return`${e}/tunnel/permission-requests/stream`}function Ip(t){let{url:e,token:n,method:r="GET",body:s,onEvent:c,onOpen:u,onError:p,signal:g}=t,f=new Map,m=null,_=!1;function x(a,A){c?.(a,A);let j=f.get(a);if(j)for(let v of j)try{v(A)}catch{}}async function I(){if(_)return;m=new AbortController;let a=g?AbortSignal.any([m.signal,g]):m.signal;try{let A={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(A["Content-Type"]="application/json");let j=await fetch(e,{method:r,headers:A,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:a,credentials:"include"});if(!j.ok)throw new Error(`SSE connection failed: ${j.status} ${j.statusText}`);if(!j.body)throw new Error("SSE response has no body");u?.();let v=j.body.getReader(),k=new TextDecoder,$="",w="message",F="";for(;!_;){let{done:K,value:y}=await v.read();if(K)break;$+=k.decode(y,{stream:!0});let C=$.split(`
|
|
77
|
-
`)
|
|
78
|
-
`:"")+
|
|
79
|
-
`:"")+
|
|
75
|
+
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,u=r.length;for(;o>s&&u>s&&n[o-1]===r[u-1];)o--,u--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<u;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function wx(t){let e=L(t.input?.oldString),n=L(t.input?.newString),r=e!==void 0&&n!==void 0?kx(e,n):void 0;return{kind:"file-edit",path:Xl(t),diff:r}}var Lp=/^Found\s+(\d+)\s+match/i,Sx=/^(\/[^:]+?):\s*/,Fp=/Line\s+(\d+):/g;function vx(t){let e=t.trim(),n=e.match(Lp),r=n?e.slice(n[0].length).trim():e;if(!r)return[];let s=[];for(let o of r.split(/\n\n+/)){let u=o.trim();if(!u)continue;let p=u.match(Sx);if(!p)continue;let d=p[1],f=u.slice(p[0].length),m=[],b;for(Fp.lastIndex=0;(b=Fp.exec(f))!==null;)m.push({line:Number(b[1]),contentStart:b.index+b[0].length,headerStart:b.index});for(let x=0;x<m.length;x++){let I=x+1<m.length?m[x+1].headerStart:f.length,E=f.slice(m[x].contentStart,I).trim();s.push({path:d,line:m[x].line,content:E.endsWith(";")?E.slice(0,-1):E})}}return s}function Cx(t){return t.trim().split(`
|
|
76
|
+
`).map(e=>e.trim()).filter(e=>e.startsWith("/")||e.startsWith("./")||e.startsWith("~")).map(e=>({path:e}))}function Rx(t){let e=L(t.input?.pattern,t.input?.query)??"";if(t.status==="error"||!t.output)return{kind:"search",pattern:e};let n=Lp.test(t.output.trim())?vx(t.output):Cx(t.output);return{kind:"search",pattern:e,matches:n.length>0?n.slice(0,200):void 0}}function Tx(t){let e=L(t.input?.description,t.input?.title,t.input?.prompt)??t.title,n=L(t.input?.subagent_type,t.input?.agent);return{kind:"task",description:e,agent:n}}function Vl(t){let e=Ne(t)??{};return{content:L(e.content)??"",status:L(e.status)??"pending",priority:L(e.priority)}}function Ax(t){let e=t.input?.todos;if(Array.isArray(e))return{kind:"todo",items:e.map(Vl)};if(Array.isArray(t.outputParsed))return{kind:"todo",items:t.outputParsed.map(Vl)};let n=Ne(t.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Vl)}:{kind:"todo",items:[]}}function Ix(t){return{kind:"question",questions:(Array.isArray(t.input?.questions)?t.input.questions:[]).map(r=>{let s=Ne(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=Ne(p),f=d&&L(d.label);return f?[{label:f,description:d?L(d.description):void 0}]:[]});return{question:L(s.question)??"",header:L(s.header),options:u}})}}function Ex(t){let n=t.input&&Object.keys(t.input).length>0?Up(t.input):void 0,r;return t.outputParsed!==void 0?r=typeof t.outputParsed=="string"?ft(t.outputParsed):Up(t.outputParsed):t.outputText!==void 0?r=ft(t.outputText):r=t.error,{kind:"generic",label:t.title,inputPretty:n,outputPretty:r}}function Gp(t){switch(gt(t.name)){case"web_search":case"websearch":case"image_search":return px(t);case"bash":return bx(t);case"read":return xx(t);case"write":return _x(t);case"edit":case"morph_edit":return wx(t);case"grep":case"glob":return Rx(t);case"task":return Tx(t);case"todowrite":return Ax(t);case"question":case"ask":return Ix(t);default:return Ex(t)}}var jx=new Set(["AbortError","MessageAbortedError"]),$x=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],qx=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function Bp(t){let e=t.toLowerCase();return qx.some(n=>e.includes(n))?!1:$x.some(n=>e.includes(n))}function Dx(t){let e=t.data,n=e&&typeof e=="object"?e.message:void 0;return typeof n=="string"?n:typeof t.message=="string"?t.message:void 0}function Mx(t){if(typeof t=="string")return Bp(t);if(!t||typeof t!="object")return!1;let e=t,n=e.name;if(typeof n=="string"&&jx.has(n))return!0;let r=Dx(e);return typeof r=="string"?Bp(r):!1}var Np=["user","runtime-disposed","orphan-finalized","wake"],Ox=["orphan-finalized","wake"];function Ux(t){if(!t||typeof t!="object")return;let e=t.data;if(!e||typeof e!="object")return;let n=e.reason;if(!(typeof n!="string"||!n))return Np.includes(n)?n:void 0}function mn(t){try{return typeof process<"u"?process.env?.[t]:void 0}catch{return}}function Fx(t,e){if(t==null)return e;let n=t.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:e}function Lx(t){if(t==null)return;let e=t.trim().toLowerCase();if(["1","true","yes","y","on"].includes(e))return!0;if(["0","false","no","n","off"].includes(e))return!1}function Ql(t,e,n){return t!==void 0?t:Fx(mn(e),n)}var Gx={get disableMobileAdvertising(){return Ql($().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Ql($().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Ql($().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var yt="kortix-active-instance",Kp=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Hp(t){return Kp.some(e=>t===e||t.startsWith(`${e}/`))}function Ke(t){let e=t.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!e)return null;let n=decodeURIComponent(e[1]),r=e[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function Bx(t){let e=Ke(t);return!!e&&e.innerPath===""}function Nx(t){let e=Ke(t);return!e||!e.innerPath?t:e.innerPath}function Wp(t,e){if(!t)return e;if(e.startsWith("/")||(e=`/${e}`),e.startsWith("/instances/")){let n=Ke(e);return n?`/instances/${encodeURIComponent(t)}${n.innerPath}`:e}return Hp(e)?`/instances/${encodeURIComponent(t)}${e}`:e}function zp(t){return t?Ke(t)?.instanceId??null:null}function Kx(){return typeof window>"u"?null:zp(window.location.pathname)||Vp()}function Vp(){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp(`(?:^|; )${yt}=([^;]+)`));return t?decodeURIComponent(t[1]):null}function Hx(t){if(typeof document>"u")return;let e=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){e(`${yt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!t){e(`${yt}=; Max-Age=0; Path=/; SameSite=Lax`);return}e(`${yt}=${encodeURIComponent(t)}; Path=/; SameSite=Lax`)}function Wx(t,e){return e?Wp(e,t):t}function zx(t){let e=Ke(t);return e?e.innerPath||"/dashboard":t}function Jp(t){if(t instanceof Error)return t.message;if(typeof t=="string")return t;if(t&&typeof t=="object")try{return JSON.stringify(t)}catch{return String(t)}return String(t??"")}function Xp(t){let e=Jp(t).trim();if(!e)return null;let n=[e,e.replace(/^Failed to perform action:\s*/i,"").trim()],r=e.indexOf("{");r>=0&&n.push(e.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function Yl(t){let e=Xp(t);if(!e||typeof e!="object")return null;let n=e;return n.name==="ConfigInvalidError"?n:null}function Vx(t){return Yl(t)!==null}function Qp(t){let e=Yl(t);if(e){let s=(e.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=e.data?.issues?.[0]?.message,u=e.data?.issues?.[0]?.path?.join("."),p=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:o?`${u?`${u}: `:""}${o}`:void 0}}let n=Jp(t);return/sandbox not ready \(status: stopped\)/.test(n)?{title:"Session is waking up",message:"This session slept to save compute. Your conversation is safe \u2014 sending a message wakes it back up."}:{title:"OpenCode failed to load",message:n||"The sandbox is running, but OpenCode returned an error."}}function J(){let t=mn("BACKEND_URL")||$().backendUrl;return t||"http://localhost:8008/v1"}function ht(t){if(typeof t=="string"){let e=t.trim();return e.length>0?e:void 0}if(Array.isArray(t)){for(let e of t){let n=ht(e);if(n)return n}return}if(t&&typeof t=="object"){let e=t;return ht(e.sandboxId??e.id??e.slug??Object.values(e)[0])}}var Yp=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Zp(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return`${t.slice(0,e)}/platform/local-bridge/status`}function Jx(t){return t==="running"||t==="active"?"active":t==="queued"||t==="branching"||t==="provisioning"?"provisioning":t==="failed"||t==="error"?"error":t==="stopped"||t==="completed"||t==="archived"?"stopped":t||"unknown"}function Zl(t,e,n){let r=n?.external_id||e.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||e.sandbox_id;return{sandbox_id:n?.sandbox_id||e.sandbox_id||e.session_id,external_id:r,name:e.name||`${t.name} session`,provider:n?.provider||e.sandbox_provider||"daytona",base_url:n?.base_url||e.sandbox_url||(n?.external_id?`${J()}/p/${n.external_id}/${re.KORTIX_MASTER}`:""),status:Jx(n?.status||e.status),metadata:{...e.metadata??{},project_id:t.project_id,session_id:e.session_id,project_name:t.name,runtime_status:n?.status,error:e.error},created_at:n?.created_at||e.created_at,updated_at:n?.updated_at||e.updated_at}}async function eu(){let t=await Ce(),e=[];for(let n of t){let r=await Ge(n.project_id).catch(()=>[]);for(let s of r)e.push({project:n,session:s,runtime:null,sandbox:Zl(n,s,null)})}return e.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},o=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return o!==0?o:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function Ae(t){let e=await eu();return t?e.find(n=>n.sandbox.sandbox_id===t||n.sandbox.external_id===t||n.session.session_id===t||n.runtime?.external_id===t)??null:e[0]??null}async function fn(t,e={}){let n={"Content-Type":"application/json",...e.headers},r=e.signal??AbortSignal.timeout(3e4),s=await D(`${J()}${t}`,{...e,headers:n,signal:r}),o=await s.text().catch(()=>{}),u;if(o)try{u=JSON.parse(o)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||o||`Platform API error ${s.status}`,d=new v(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(o?{rawText:o}:void 0),response:s,endpoint:t});throw s.status===402&&(d=_e(Object.assign(d,{response:s,status:s.status,data:u}))),d}return u}function tu(t){if(!t.external_id){if(t.base_url)return t.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${t.provider} sandbox "${t.sandbox_id}"`)}return`${J()}/p/${t.external_id}/${re.KORTIX_MASTER}`}function Xx(t,e){return t.external_id?`${J()}/p/${t.external_id}/${e}`:null}async function Qx(){let t=await i.get("/setup/sandbox-providers");if(t.error)throw t.error;return t.data}async function ed(t){let e=await Ae();if(e)return{sandbox:e.sandbox,created:!1};let r=(await Ce())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Be(r.project_id,{...t?.provider?{provider:t.provider}:{}}),o=(await Te(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Zl(r,s,o),created:!0}}async function Yx(){return(await Ae().catch(()=>null))?.sandbox??null}async function Zx(t){return{sandbox:(await ed(t)).sandbox}}async function e_(t){let e=ht(t);return e?(await Ae(e).catch(()=>null))?.sandbox??null:null}async function t_(t,e){throw await Ae(t)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function n_(t){let e=ht(t);return(await eu().catch(()=>[])).map(r=>r.sandbox).filter(r=>!e||r.sandbox_id===e||r.external_id===e)}async function r_(){if(typeof window>"u")return null;let t=J(),e=Array.from(new Set([t,...Yp]));for(let n of e)try{let r=await fetch(Zp(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 s_(t){if(!t)throw new Error("No sandbox selected for workload restart");let e=await Ae(t);if(!e)throw new Error("Project session sandbox not found");await at(e.project.project_id,e.session.session_id)}async function i_(t){if(!t)throw new Error("No sandbox selected to stop");let e=await Ae(t);if(!e)throw new Error("Project session sandbox not found");await ct(e.project.project_id,e.session.session_id)}async function o_(t){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function a_(t){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function nu(t,e,n){let r=tu(t),s=await D(`${Pe(r)}${e}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let o=await s.text().catch(()=>"");throw new Error(o||`Request failed (${s.status})`)}return await s.json()}async function c_(t,e){return nu(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"GET"})}async function l_(t,e,n,r="member"){await nu(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function u_(t,e,n){await nu(t,`/kortix/projects/${encodeURIComponent(e)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function p_(t){let e=await fn(`/platform/invites/${encodeURIComponent(t)}`,{method:"GET"});if(!e.success||!e.data)throw new Error(e.error||"Invite not found");return e.data}async function d_(t){let e=await fn(`/platform/invites/${encodeURIComponent(t)}/accept`,{method:"POST"});if(!e.success||!e.data)throw new Error(e.error||"Failed to accept invite");return e.data}async function g_(t){let e=await fn(`/platform/invites/${encodeURIComponent(t)}/decline`,{method:"POST"});if(!e.success)throw new Error(e.error||"Failed to decline invite")}async function m_(t){throw new Error("Backups are not exposed for project-session sandboxes")}async function f_(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function y_(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function h_(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function b_(t){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function x_(t){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var td=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function __(t){return td.includes(t)}async function P_(t){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:t?.version??null,error:null,startedAt:null,updatedAt:null}}async function k_(t){let e=t?`?channel=${t}`:"",n=await fetch(`${J()}/platform/sandbox/version/latest${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await nd(t||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function nd(t){let e=t?`?channel=${t}`:"",n=await fetch(`${J()}/platform/sandbox/version/changelog${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function w_(){let t=await fetch(`${J()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`All versions fetch failed: ${t.status}`);return t.json()}async function S_(t,e){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function v_(t){}async function C_(t){}async function R_(t){return{serverTypes:[],location:t||"hel1"}}async function T_(t){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function A_(t){let e=await i.delete(`/platform/sandbox?sandbox_id=${t}`);if(e.error)throw e.error;return e.data}async function I_(t,e){await i.post("/platform/sandbox/mark-error",{sandbox_id:t,error_message:e},{showErrors:!1,timeout:1e4})}async function E_(){let t=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(t.error)throw t.error;return t.data}async function j_(t){let e=await i.get(`/platform/sandbox/${t}/status`,{showErrors:!1,timeout:1e4});return e.success?e.data??null:null}function $_(t,e){return`${J()}/platform/sandbox/${t}/provision-stream?token=${encodeURIComponent(e)}`}var oe=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function yn(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return/\/v1$/.test(e)?e:`${e}/v1`}function ru(t,e){let n=new Headers(t.headers);return n.set("Accept","application/json"),e&&n.set("Content-Type","application/json"),t.accessToken&&n.set("Authorization",`Bearer ${t.accessToken}`),n}async function hn(t){let e=await t.text().catch(()=>"");if(!e)return null;try{return JSON.parse(e)}catch{return e}}function bn(t,e){if(e&&typeof e=="object"){let n=e;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof e=="string"&&e?e:t.statusText||`HTTP ${t.status}`}async function G(t,e,n){let r=n?.body!==void 0,s=await fetch(`${yn(e.backendUrl)}${t}`,{method:n?.method??"GET",headers:ru(e,r),...r?{body:JSON.stringify(n.body)}:{},...e.signal?{signal:e.signal}:{},...e.cache?{cache:e.cache}:{},...e.next?{next:e.next}:{}}),o=await hn(s);if(!s.ok)throw new oe(bn(s,o),s.status,o);return o}function q_(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString();return n?`?${n}`:""}function D_(t,e){return G(`/marketplace/items${q_(e)}`,t)}function M_(t){return G("/marketplace/marketplaces",t)}function O_(t,e){return G(`/marketplace/items/${encodeURIComponent(t)}`,e)}function U_(t,e,n){return G(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`,n)}function F_(t,e){return G("/access/check-email",e,{method:"POST",body:{email:t}})}function L_(t,e){return G("/access/request-access",e,{method:"POST",body:t})}function G_(t){return G("/auth/logout",t,{method:"POST",body:{}})}function B_(t,e){return G(`/oauth/authorize/consent/${encodeURIComponent(t)}`,e)}function N_(t,e){return G("/oauth/authorize/consent",e,{method:"POST",body:{request_id:t.requestId,approved:t.approved}})}function K_(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}`,e)}function H_(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}/start`,e,{method:"POST",body:{}})}function W_(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}/finalize`,e,{method:"POST",body:{}})}function z_(t,e){return G(`/setup-links/secret/${encodeURIComponent(t)}`,e)}function V_(t,e,n){return G(`/setup-links/secret/${encodeURIComponent(t)}`,n,{method:"POST",body:{values:e}})}function J_(t,e){return G(`/p/public-share/${encodeURIComponent(t)}`,e)}function X_(t,e,n){return G(`/projects/${encodeURIComponent(t)}/sessions/${encodeURIComponent(e)}/start`,n,{method:"POST",body:{}})}function Q_(t){return G("/system/maintenance",t)}function Y_(t,e){return G("/system/maintenance",e,{method:"PUT",body:t})}function Z_(t){return G("/user-roles",t)}function eP(t,e){return G("/system/demo-request",e,{method:"POST",body:t})}async function tP(t,e,n){let r=new URLSearchParams({format:e.format});e.action&&r.set("action",e.action),e.actor&&r.set("actor",e.actor),e.project_id&&r.set("project_id",e.project_id),e.session_id&&r.set("session_id",e.session_id),e.actor_type&&r.set("actor_type",e.actor_type),e.source&&r.set("source",e.source),e.phase&&r.set("phase",e.phase),e.outcome&&r.set("outcome",e.outcome),e.request_id&&r.set("request_id",e.request_id),e.correlation_id&&r.set("correlation_id",e.correlation_id),e.resource_type&&r.set("resource_type",e.resource_type),e.since&&r.set("since",e.since),e.until&&r.set("until",e.until),e.q&&r.set("q",e.q),e.cursor&&r.set("cursor",e.cursor),e.limit!=null&&r.set("limit",String(e.limit));let s=await fetch(`${yn(n.backendUrl)}/accounts/${encodeURIComponent(t)}/audit/export?${r}`,{headers:ru(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await hn(s);throw new oe(bn(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count"),complete:s.headers.get("x-audit-complete")!=="false",nextCursor:s.headers.get("x-audit-next-cursor")||null}}async function nP(t,e){let n=await fetch(`${yn(e.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:ru(e,!0),body:JSON.stringify(t),...e.signal?{signal:e.signal}:{}});if(!n.ok){let r=await hn(n);throw new oe(bn(n,r),n.status,r)}if(!n.body)throw new oe("No response body",n.status,null);return n.body}var rP=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function rd(t,e){return rP.test(e)?new URL(`templates/public/${e.toLowerCase()}`,`${yn(t)}/`):null}async function sP(t,e,n){let r=rd(t,e);if(!r)throw new oe("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await hn(s);if(!s.ok)throw new oe(bn(s,o),s.status,o);return o}async function iP(){let t=await i.get("/platform/github-app/status",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App status request failed");return t.data}async function oP(t={}){let e=await i.post("/platform/github-app/manifest-start",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App manifest-start request failed");return e.data}async function aP(t){let e=await i.post("/platform/github-app/app",{app_id:t.appId,private_key:t.privateKey,installation_id:t.installationId,slug:t.slug,client_id:t.clientId,client_secret:t.clientSecret},{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App configuration request failed");return e.data}async function cP(t){let e=await i.post("/platform/github-app/pat",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub token configuration request failed");return e.data}async function lP(){let t=await i.delete("/platform/github-app",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App disconnect request failed");return t.data}function sd(t){try{let e=new URL(t);if(/^\/proxy\/\d+(?:\/|$)/.test(e.pathname))return`${e.origin}/v1/p/auth`;let n=e.pathname.indexOf("/p/");return n!==-1?`${e.origin}${e.pathname.slice(0,n)}/p/auth`:`${e.origin}/v1/p/auth`}catch{return null}}function uP(t,e){try{let n=new URL(t),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(e)try{o.add(new URL(e).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function su(t,e){return uP(t,e)?(e?sd(e):null)??sd(t):null}function pP(t){try{return/^p\d+-[^.]+\./.test(new URL(t).hostname)}catch{return!1}}function dP(t,e){try{let n=new URL(t);return n.searchParams.set("token",e),n.toString()}catch{return t}}async function gP(t,e={}){let n=su(t,e.serverUrl);if(!n)return!1;let r=await Je();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}var mP=3e3;function id(t){return!Number.isFinite(t)||t<100||t>599?"unknown":t===502||t===503||t===504?"unreachable":t===401||t===403?"unknown":"reachable"}async function fP(t,e){if(!t||e?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();e?.signal?.addEventListener("abort",r);let s=setTimeout(r,e?.timeoutMs??3e3);try{let o=await fetch(t,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return id(o.status)}catch{return"unknown"}finally{clearTimeout(s),e?.signal?.removeEventListener("abort",r)}}function iu(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return e}function yP(t,e){return`${iu(t)}/presentation-templates/${encodeURIComponent(e)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function hP(t,e){return`${iu(t)}/presentation-templates/${encodeURIComponent(e)}/image.png`}function od(t,e){return`${iu(t)}/presentation/convert-to-${e}`}async function bP(t,e,n,r){let s=od(e,t),o=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let E=await f.blob();if(E.size===0)throw new Error("Downloaded file is empty");return E}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${t.toUpperCase()} to generate`);await new Promise((E,C)=>{let l=setTimeout(E,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(l),C(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),I=f.statusText;try{let E=JSON.parse(x);I=String(E.error||E.detail||E.message||I)}catch{x&&(I=x)}throw new Error(`Failed to download ${t.toUpperCase()}: ${I} (HTTP ${f.status})`)}}var xP=6e4,_P=45e3,PP=45e3,kP=1e4,wP=15e3;function SP(t){let e=0;for(let n of t)(n.state==="queued"||n.state==="delivering"||n.state==="waiting"&&n.reason!=="held")&&(e+=1);return e}function ad(t){if(!t)return null;let e=Date.parse(t);return Number.isNaN(e)?null:e}function vP(t){let{optimistic:e,abort:n,inbox:r,server:s,stream:o,nowMs:u}=t,p=!!e&&u-e.atMs<6e4,d=p?e.acceptedAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,f=p?e.atMs:Number.NEGATIVE_INFINITY,b=!!n&&u-n.atMs<15e3?n.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,x=!!s&&u-s.atMs<=45e3,I=!!o&&u-o.atMs<=45e3,E=!!r&&u-r.atMs<=1e4,C=x?s.turns[0]:void 0,l=C?.turn_token??null;if(C&&s.atMs>=b&&(!o||s.atMs>=o.atMs))return{state:"working",source:"server",turnId:C.message_id,since:ad(C.started_at)??s.atMs,serverOpenTurnToken:l};if(E&&r.pending>0)return{state:"working",source:"server",turnId:null,since:r.atMs,serverOpenTurnToken:l};let y=x&&!C&&s.atMs>=d,c=I&&o.atMs>=f;if(y&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:ad(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:l};if(c)return{state:o.type==="idle"?"idle":"working",source:"stream",turnId:null,since:o.atMs,serverOpenTurnToken:l};if(p)return{state:"working",source:"optimistic",turnId:e.messageId,since:e.atMs,serverOpenTurnToken:l};let R=s&&o?s.atMs>=o.atMs?{source:"server",atMs:s.atMs}:{source:"stream",atMs:o.atMs}:s?{source:"server",atMs:s.atMs}:o?{source:"stream",atMs:o.atMs}:{source:"server",atMs:u};return{state:"idle",source:R.source,turnId:null,since:R.atMs,serverOpenTurnToken:l}}function CP(t){let{optimistic:e,abort:n,inbox:r,server:s,stream:o,nowMs:u}=t,p=[e?e.atMs+6e4:null,n?n.atMs+15e3:null,r?r.atMs+1e4:null,s?s.atMs+45e3:null,o?o.atMs+45e3:null],d=null;for(let f of p)f===null||f<=u||(d===null||f<d)&&(d=f);return d}var RP=6e4;function TP(t){return t.serverCompactingAtMs!==null?!0:t.optimisticAtMs===null?!1:t.nowMs-t.optimisticAtMs<6e4}function AP(t){if(t.serverCompactingAtMs!==null||t.optimisticAtMs===null)return null;let e=t.optimisticAtMs+6e4;return e>t.nowMs?e:null}var cd=9e4;function IP(t){return t.serverCompactingAtMs===null?null:t.serverCompactingAtMs+cd}function ld(t){let e=t.fetch??globalThis.fetch,n=t.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let o=new URLSearchParams({limit:String(r)});s&&o.set("before",s);let u=await t.getToken?.(),p=await e(`${n}/session/${encodeURIComponent(t.sessionId)}/message?${o}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function ud(t){return EP(ld(t))}function pd(t){return new ou({...t,loadPage:ld(t)})}async function EP(t){let e=new Map,n=new Set,r;do{let s=await t({limit:50,...r?{before:r}:{}});for(let o of s.messages)e.set(o.info.id,o);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...e.values()].sort((s,o)=>s.info.id.localeCompare(o.info.id))}var jP={now:Date.now,setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},ou=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;lastActivityAt;listeners=new Set;destroyed=!1;constructor(e){this.options=e,this.scheduler=e.scheduler??jP,this.livenessIntervalMs=e.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(e="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(e).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let e=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(e).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}setBusy(e){if(!e){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.listeners.clear()}async loadTail(e){try{let n=await this.loadPage("tail",e),r=await this.loadCompleteTurn(n,"tail",e);if(this.destroyed)return;this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(e,n,r){let s=this.scheduler.now();try{let o=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(e){let n=await this.loadPage("older","manual",e);return this.loadCompleteTurn(n,"older","manual",e)}async loadCompleteTurn(e,n,r,s){let o=[...e.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),d=e.nextCursor;for(let f of e.messages)f.info.role==="user"&&u.add(f.info.id);for(;d&&o.some(f=>f.info.role==="assistant"&&!!f.info.parentID&&!u.has(f.info.parentID));){if(p.has(d))throw new Error(`Session history cursor repeated: ${d}`);p.add(d);let f=await this.loadPage(n,r,d);o.unshift(...f.messages);for(let m of f.messages)m.info.role==="user"&&u.add(m.info.id);d=f.nextCursor}return{messages:o,nextCursor:d}}rememberUserMessages(e){for(let n of e)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.raceDeadline(this.reconcile("poll"),this.livenessIntervalMs),this.lastActivityAt=this.scheduler.now())}raceDeadline(e,n){return new Promise(r=>{let s,o=!1,u=()=>{o||(o=!0,this.cancelTimer(s),r())};s=this.startTimer(u,n),e.then(u,u)})}setCursor(e){this.nextCursor=e,this.update({hasOlder:!!e})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}startTimer(e,n){return this.scheduler.setTimeout?this.scheduler.setTimeout(e,n):setTimeout(e,n)}cancelTimer(e){e!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(e):clearTimeout(e))}update(e){let n={...this.snapshot,...e};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder)){this.snapshot=n;for(let r of this.listeners)r()}}};function dd(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return`${e}/tunnel/permission-requests/stream`}function gd(t){let{url:e,token:n,method:r="GET",body:s,onEvent:o,onOpen:u,onError:p,signal:d}=t,f=new Map,m=null,b=!1;function x(y,c){o?.(y,c);let R=f.get(y);if(R)for(let T of R)try{T(c)}catch{}}async function I(){if(b)return;m=new AbortController;let y=d?AbortSignal.any([m.signal,d]):m.signal;try{let c={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(c["Content-Type"]="application/json");let R=await fetch(e,{method:r,headers:c,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:y,credentials:"include"});if(!R.ok)throw new Error(`SSE connection failed: ${R.status} ${R.statusText}`);if(!R.body)throw new Error("SSE response has no body");u?.();let T=R.body.getReader(),k=new TextDecoder,q="",j="message",A="";for(;!b;){let{done:z,value:V}=await T.read();if(z)break;q+=k.decode(V,{stream:!0});let h=q.split(`
|
|
77
|
+
`);q=h.pop()||"";for(let S of h)S===""?A&&(x(j,A.trimEnd()),j="message",A=""):S.startsWith("event: ")?j=S.slice(7).trim():S.startsWith("data: ")?A+=(A?`
|
|
78
|
+
`:"")+S.slice(6):S.startsWith("data:")&&(A+=(A?`
|
|
79
|
+
`:"")+S.slice(5))}}catch(c){if(b||c instanceof DOMException&&c.name==="AbortError")return;p?.(c instanceof Error?c:new Error(String(c)))}}function E(){b=!0,m?.abort(),m=null,f.clear()}function C(y,c){let R=f.get(y)??new Set;R.add(c),f.set(y,R)}function l(y,c){f.get(y)?.delete(c)}return{connect:I,close:E,addEventListener:C,removeEventListener:l}}function $P(t,e){return gd({...e,url:dd(t)})}return xd(qP);})();
|