@kortix/sdk 0.12.5 → 0.12.7
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 +29 -2
- package/dist/browser/stores/sync-store/stream-cache.d.ts +29 -0
- package/dist/browser/stores/sync-store/stream-cache.d.ts.map +1 -1
- package/dist/browser/stores/sync-store/stream-cache.js +127 -18
- package/dist/browser/stores/sync-store/stream-cache.js.map +1 -1
- package/dist/core/client/kortix.d.ts +57 -12
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +40 -1
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/http/api/errors.d.ts +26 -0
- package/dist/core/http/api/errors.d.ts.map +1 -1
- package/dist/core/http/api/errors.js +44 -0
- package/dist/core/http/api/errors.js.map +1 -1
- package/dist/core/http/api-client.d.ts +37 -1
- package/dist/core/http/api-client.d.ts.map +1 -1
- package/dist/core/http/api-client.js +92 -17
- package/dist/core/http/api-client.js.map +1 -1
- package/dist/core/http/opencode-errors.d.ts.map +1 -1
- package/dist/core/http/opencode-errors.js +19 -0
- package/dist/core/http/opencode-errors.js.map +1 -1
- package/dist/core/rest/platform-client/host-boundary.d.ts +17 -0
- package/dist/core/rest/platform-client/host-boundary.d.ts.map +1 -1
- package/dist/core/rest/platform-client/host-boundary.js +21 -0
- package/dist/core/rest/platform-client/host-boundary.js.map +1 -1
- package/dist/core/rest/projects-client/apps.d.ts +216 -0
- package/dist/core/rest/projects-client/apps.d.ts.map +1 -0
- package/dist/core/rest/projects-client/apps.js +105 -0
- package/dist/core/rest/projects-client/apps.js.map +1 -0
- package/dist/core/rest/projects-client/audit.d.ts +39 -2
- package/dist/core/rest/projects-client/audit.d.ts.map +1 -1
- package/dist/core/rest/projects-client/audit.js +46 -2
- package/dist/core/rest/projects-client/audit.js.map +1 -1
- package/dist/core/rest/projects-client/connectors.d.ts +88 -3
- package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
- package/dist/core/rest/projects-client/connectors.js +43 -6
- package/dist/core/rest/projects-client/connectors.js.map +1 -1
- package/dist/core/rest/projects-client/iam.d.ts +3 -1
- package/dist/core/rest/projects-client/iam.d.ts.map +1 -1
- package/dist/core/rest/projects-client/iam.js +2 -0
- package/dist/core/rest/projects-client/iam.js.map +1 -1
- package/dist/core/rest/projects-client/index.d.ts +1 -0
- package/dist/core/rest/projects-client/index.d.ts.map +1 -1
- package/dist/core/rest/projects-client/index.js +1 -0
- package/dist/core/rest/projects-client/index.js.map +1 -1
- package/dist/core/rest/projects-client/projects.d.ts +136 -15
- package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
- package/dist/core/rest/projects-client/projects.js +180 -5
- package/dist/core/rest/projects-client/projects.js.map +1 -1
- package/dist/core/rest/projects-client/sessions.d.ts +50 -5
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sessions.js +91 -7
- package/dist/core/rest/projects-client/sessions.js.map +1 -1
- package/dist/core/turns/view-model.d.ts +15 -0
- package/dist/core/turns/view-model.d.ts.map +1 -1
- package/dist/core/turns/view-model.js +19 -2
- package/dist/core/turns/view-model.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/kortix.esm.min.js +43 -31
- package/dist/kortix.global.js +43 -31
- package/dist/react/index.d.ts +9 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +14 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/invalidate-project.d.ts +76 -0
- package/dist/react/invalidate-project.d.ts.map +1 -0
- package/dist/react/invalidate-project.js +72 -0
- package/dist/react/invalidate-project.js.map +1 -0
- package/dist/react/provider-refresh.d.ts.map +1 -1
- package/dist/react/provider-refresh.js +12 -3
- package/dist/react/provider-refresh.js.map +1 -1
- package/dist/react/query-contracts.d.ts +112 -0
- package/dist/react/query-contracts.d.ts.map +1 -0
- package/dist/react/query-contracts.js +100 -0
- package/dist/react/query-contracts.js.map +1 -0
- package/dist/react/query-keys.d.ts +251 -0
- package/dist/react/query-keys.d.ts.map +1 -0
- package/dist/react/query-keys.js +249 -0
- package/dist/react/query-keys.js.map +1 -0
- package/dist/react/session-title-sync.d.ts.map +1 -1
- package/dist/react/session-title-sync.js +14 -4
- package/dist/react/session-title-sync.js.map +1 -1
- package/dist/react/use-admin-accounts.d.ts +85 -0
- package/dist/react/use-admin-accounts.d.ts.map +1 -1
- package/dist/react/use-admin-accounts.js +100 -0
- package/dist/react/use-admin-accounts.js.map +1 -1
- package/dist/react/use-admin-activity-analytics.d.ts +91 -0
- package/dist/react/use-admin-activity-analytics.d.ts.map +1 -0
- package/dist/react/use-admin-activity-analytics.js +83 -0
- package/dist/react/use-admin-activity-analytics.js.map +1 -0
- package/dist/react/use-admin-projects.d.ts +50 -0
- package/dist/react/use-admin-projects.d.ts.map +1 -0
- package/dist/react/use-admin-projects.js +28 -0
- package/dist/react/use-admin-projects.js.map +1 -0
- package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
- package/dist/react/use-canonical-opencode-session.js +12 -7
- package/dist/react/use-canonical-opencode-session.js.map +1 -1
- package/dist/react/use-feature-flag.d.ts +23 -0
- package/dist/react/use-feature-flag.d.ts.map +1 -0
- package/dist/react/use-feature-flag.js +32 -0
- package/dist/react/use-feature-flag.js.map +1 -0
- package/dist/react/use-gateway-catalog-sync.d.ts.map +1 -1
- package/dist/react/use-gateway-catalog-sync.js +5 -2
- package/dist/react/use-gateway-catalog-sync.js.map +1 -1
- package/dist/react/use-model-defaults.d.ts.map +1 -1
- package/dist/react/use-model-defaults.js +3 -1
- package/dist/react/use-model-defaults.js.map +1 -1
- package/dist/react/use-model-enablement.d.ts.map +1 -1
- package/dist/react/use-model-enablement.js +6 -2
- package/dist/react/use-model-enablement.js.map +1 -1
- package/dist/react/use-opencode-events/handle-event.d.ts +6 -0
- package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
- package/dist/react/use-opencode-events/handle-event.js +11 -5
- package/dist/react/use-opencode-events/handle-event.js.map +1 -1
- package/dist/react/use-opencode-events/helpers.d.ts +44 -1
- package/dist/react/use-opencode-events/helpers.d.ts.map +1 -1
- package/dist/react/use-opencode-events/helpers.js +88 -6
- 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 +8 -0
- package/dist/react/use-opencode-events/index.js.map +1 -1
- package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/agents.js +10 -1
- package/dist/react/use-opencode-sessions/agents.js.map +1 -1
- package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/providers.js +9 -2
- package/dist/react/use-opencode-sessions/providers.js.map +1 -1
- package/dist/react/use-project-apps.d.ts +410 -0
- package/dist/react/use-project-apps.d.ts.map +1 -0
- package/dist/react/use-project-apps.js +98 -0
- package/dist/react/use-project-apps.js.map +1 -0
- package/dist/react/use-project-config.d.ts +7 -0
- package/dist/react/use-project-config.d.ts.map +1 -1
- package/dist/react/use-project-config.js +14 -4
- package/dist/react/use-project-config.js.map +1 -1
- package/dist/react/use-project-models.d.ts.map +1 -1
- package/dist/react/use-project-models.js +8 -2
- package/dist/react/use-project-models.js.map +1 -1
- package/dist/react/use-project-name.d.ts +23 -0
- package/dist/react/use-project-name.d.ts.map +1 -0
- package/dist/react/use-project-name.js +44 -0
- package/dist/react/use-project-name.js.map +1 -0
- package/dist/react/use-project-secrets.d.ts +5 -2
- package/dist/react/use-project-secrets.d.ts.map +1 -1
- package/dist/react/use-project-secrets.js +8 -2
- package/dist/react/use-project-secrets.js.map +1 -1
- package/dist/react/use-project-session.d.ts +40 -0
- package/dist/react/use-project-session.d.ts.map +1 -0
- package/dist/react/use-project-session.js +49 -0
- package/dist/react/use-project-session.js.map +1 -0
- package/dist/react/use-project-triggers.d.ts +4 -2
- package/dist/react/use-project-triggers.d.ts.map +1 -1
- package/dist/react/use-project-triggers.js +7 -2
- package/dist/react/use-project-triggers.js.map +1 -1
- package/dist/react/use-session-phase.d.ts +23 -0
- package/dist/react/use-session-phase.d.ts.map +1 -0
- package/dist/react/use-session-phase.js +23 -0
- package/dist/react/use-session-phase.js.map +1 -0
- package/dist/react/use-session.d.ts +117 -1
- package/dist/react/use-session.d.ts.map +1 -1
- package/dist/react/use-session.js +222 -21
- package/dist/react/use-session.js.map +1 -1
- package/package.json +2 -2
package/dist/kortix.global.js
CHANGED
|
@@ -1,19 +1,31 @@
|
|
|
1
|
-
"use strict";var Kortix=(()=>{var ln=Object.defineProperty;var Hu=Object.getOwnPropertyDescriptor;var Wu=Object.getOwnPropertyNames;var zu=Object.prototype.hasOwnProperty;var Vu=(e,t)=>{for(var n in t)ln(e,n,{get:t[n],enumerable:!0})},Ju=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Wu(t))!zu.call(e,s)&&s!==n&&ln(e,s,{get:()=>t[s],enumerable:!(r=Hu(t,s))||r.enumerable});return e};var Xu=e=>Ju(ln({},"__esModule",{value:!0}),e);var Wx={};Vu(Wx,{ACTIVE_INSTANCE_COOKIE:()=>dt,ApiError:()=>T,AuthError:()=>Ce,BillingError:()=>fe,COST_MARKUP:()=>Uc,DEFAULT_TRANSCRIPT_OPTIONS:()=>Ec,DESTRUCTIVE_PHASES:()=>Eu,FEATURE_NOT_SUPPORTED_CODE:()=>wl,HostBoundaryError:()=>re,INSTANCE_SCOPED_ROUTES:()=>_u,MODEL_NOT_SERVABLE_CODE:()=>Sl,PREVIEW_PROBE_TIMEOUT_MS:()=>Ox,PROVISION_IN_FLIGHT_CODE:()=>vl,PublicSessionShareError:()=>Wt,PublicVoiceJoinError:()=>zt,RequestTooLargeError:()=>Re,RuntimeNotReadyError:()=>Ct,SANDBOX_FS_ROOTS:()=>It,SANDBOX_PORTS:()=>te,SessionNotReadyError:()=>at,SessionStartError:()=>Bt,__getConfigResolver:()=>Zu,__setConfigResolver:()=>Yu,acceptAccountInvite:()=>as,acceptInvite:()=>Ub,actReviewItem:()=>nc,activateConnection:()=>_o,addGroupMembers:()=>lm,addMarketplaceSource:()=>Rc,addSandboxMember:()=>vb,allDescendantIds:()=>pu,appendPreviewToken:()=>Mx,approveProjectAccessRequest:()=>$s,approveTask:()=>Ap,archiveProject:()=>Mt,assignTicket:()=>Op,attachGroupToProject:()=>Ks,authenticatedFetch:()=>$,backendApi:()=>o,bindSlackIdentity:()=>Ng,bindTeamsIdentity:()=>Hg,brokerProjectSecretRequest:()=>to,buildInstancePath:()=>wu,buildPresentationTemplateImageUrl:()=>Gx,buildPresentationTemplatePdfUrl:()=>Fx,buildPreviewAuthEndpoint:()=>zc,buildPublicTemplateUrl:()=>qu,buildRuntimePresentationConversionUrl:()=>Uu,buildSandboxTemplate:()=>Qo,buildStaticFileHealthPreviewUrl:()=>Wf,buildStaticFileLocalUrl:()=>Hf,buildStaticFilePreviewUrl:()=>Nf,buildStaticFileServicePath:()=>Kl,buildTunnelEventStreamUrl:()=>Bu,buildWebProxyUrl:()=>Qf,bulkActReviewItems:()=>rc,bulkDeletePolicies:()=>bm,bulkImportPolicies:()=>xm,callConnector:()=>go,cancelAccountDeletion:()=>pf,cancelAccountInvite:()=>ss,cancelSandbox:()=>kb,cancelSandboxUpdate:()=>Qb,cancelScheduledChange:()=>pa,cancelSubscription:()=>ca,checkAccessEmail:()=>ux,childMapByParent:()=>yh,claimComputer:()=>nx,claimPerSeatBilling:()=>Lg,claimWarmProjectSession:()=>Ri,classifyPart:()=>qc,classifyPreviewProbeStatus:()=>Mu,classifyTurn:()=>su,clearModelDefault:()=>zi,clearSessionFresh:()=>vg,closeChangeRequest:()=>fi,closeMilestone:()=>dd,collectTurnParts:()=>dh,commentTicket:()=>Fp,commitSessionChanges:()=>bi,computeStatusFromPart:()=>Mc,configureAutoTopup:()=>fa,configureKortix:()=>yt,confirmCheckoutSession:()=>ia,connectEmail:()=>Aa,connectSlack:()=>_a,convertPresentationToGoogleSlides:()=>kf,convertRuntimePresentation:()=>Bx,copyFile:()=>Qe,costExportUrl:()=>ha,createAccount:()=>Yr,createAccountAuditWebhook:()=>yc,createAccountToken:()=>cc,createAuditWebhook:()=>ef,createBackup:()=>Fb,createCheckoutSession:()=>oa,createConnector:()=>Do,createFile:()=>Xe,createGatewayKey:()=>Ja,createGroup:()=>om,createHttpSessionSyncController:()=>Gu,createInstance:()=>Zb,createKortix:()=>Yl,createKortixPty:()=>Lr,createMarketplaceInstallSession:()=>Tf,createMilestone:()=>ud,createPerSeatCheckout:()=>Og,createPolicy:()=>fm,createPortalSession:()=>aa,createProject:()=>hs,createProjectAgent:()=>Xp,createProjectCliToken:()=>pc,createProjectRepo:()=>bs,createProjectResourceGrant:()=>zs,createProjectSession:()=>Me,createProjectTrigger:()=>Li,createRole:()=>vm,createSSEStream:()=>Ku,createSandbox:()=>fb,createSandboxShare:()=>oc,createSandboxTemplate:()=>Vo,createScimToken:()=>jm,createServiceAccountApi:()=>Xm,createSessionPublicShare:()=>Si,createSsoGroupMapping:()=>Gm,createTask:()=>Rp,createTicket:()=>Dp,createTunnelEventStream:()=>Hx,declineAccountInvite:()=>cs,declineInvite:()=>Ob,deleteAccountImmediately:()=>df,deleteAuditWebhook:()=>nf,deleteBackup:()=>Bb,deleteConnector:()=>Uo,deleteCredential:()=>xd,deleteEnv:()=>Ur,deleteFile:()=>Ye,deleteGatewayBudget:()=>za,deleteGitHubInstallation:()=>js,deleteGroup:()=>am,deleteInstance:()=>ex,deleteKortixProject:()=>od,deleteMilestone:()=>md,deletePersonalProjectSecret:()=>co,deletePolicy:()=>hm,deleteProjectAgent:()=>Yp,deleteProjectProviderOAuth:()=>so,deleteProjectResourceGrant:()=>Vs,deleteProjectSecret:()=>io,deleteProjectSession:()=>Ei,deleteProjectTrigger:()=>Gi,deleteRole:()=>Tm,deleteSandboxTemplate:()=>Xo,deleteServiceAccountApi:()=>Ym,deleteSsoGroupMapping:()=>Bm,deleteSsoProvider:()=>Lm,deleteTask:()=>jp,deleteTicket:()=>Gp,describeAccountInvite:()=>is,describeConnectorTool:()=>po,detachGroupFromProject:()=>Hs,detectLocalhostUrls:()=>Gl,disableServiceAccountApi:()=>Qm,disconnectEmail:()=>ja,disconnectGitHubApp:()=>$x,disconnectSlack:()=>Sa,discoverConnectionOAuth2:()=>fg,discoverConnectorAuth:()=>Mo,discoverLocalSandbox:()=>xb,downloadAccountAudit:()=>vx,dropClientForUrl:()=>Td,dropPublicClientForUrl:()=>jd,ensurePmSession:()=>Vp,ensurePreviewSessionCookie:()=>Ux,ensureProjectConnectorConnection:()=>dg,ensureSandbox:()=>ju,ensureWarmProjectSession:()=>Ci,env:()=>fl,exportAccountAudit:()=>mc,extractGatewayErrorDetails:()=>pe,extractInstanceRoute:()=>Oe,featureFlags:()=>rb,fetchAccountStateWithToken:()=>Mg,fetchAccountsWithToken:()=>Zd,fetchCostExportCsv:()=>Kg,fetchProjectArchive:()=>ni,fetchProjectsForAccountWithToken:()=>ig,files:()=>_l,findFiles:()=>Ve,findLastTextPart:()=>gh,findText:()=>Je,fireProjectTrigger:()=>Ki,fixSandboxWithAgent:()=>zo,formatBillingErrorForUI:()=>ml,formatCost:()=>Th,formatDuration:()=>vh,formatOpenCodeRuntimeError:()=>Tu,formatRuntimeError:()=>Tu,formatTokens:()=>Ih,formatTranscript:()=>eu,generateSessionId:()=>Zl,getAccount:()=>Zr,getAccountDeletionStatus:()=>lf,getAccountState:()=>Yi,getAccountStateMinimal:()=>Zi,getActiveInstanceIdFromCookie:()=>vu,getAdminProviderAnalytics:()=>hf,getAdminProviderDistribution:()=>mf,getAdminProviderFallback:()=>xf,getAdminRole:()=>gf,getAgentCardLabel:()=>uu,getAgentConfig:()=>$g,getAgentPersona:()=>Zp,getAllVersions:()=>Vb,getAnsweredQuestionParts:()=>fh,getApprovalLink:()=>Rf,getAuthToken:()=>ge,getAuthTokenWithRetry:()=>Er,getAutoTopupSettings:()=>ma,getAutoTopupSetupStatus:()=>Ug,getBillingCreditBreakdown:()=>na,getBillingTierConfigurations:()=>sa,getBillingTransactionsSummary:()=>ta,getBillingUsageHistory:()=>ra,getChangeRequest:()=>ui,getChangeRequestDiff:()=>pi,getChangeRequestMergePreview:()=>di,getChildSessionError:()=>nh,getChildSessionId:()=>th,getChildSessionToolParts:()=>rh,getClient:()=>ie,getClientForUrl:()=>ee,getConnectStatus:()=>Lo,getConnectionOAuth2Application:()=>mg,getConnectionOAuth2Status:()=>xg,getConnectionPolicies:()=>Pg,getConnectorCatalog:()=>Ut,getConnectorConfig:()=>Eo,getConnectorPolicies:()=>Ao,getConnectorSetupLink:()=>fx,getCostSummary:()=>Bg,getCurrentInstanceIdFromPathname:()=>Su,getCurrentInstanceIdFromWindow:()=>ib,getCurrentProject:()=>zr,getDefaultAccountState:()=>Qi,getDiagnostics:()=>ih,getDirectory:()=>lu,getDiscoverConnector:()=>Lt,getDiscoverIntegration:()=>wg,getEmailInstallation:()=>Ta,getEmailMode:()=>Ia,getEnterpriseDemo:()=>af,getFileStatus:()=>ze,getFileWithDir:()=>Dc,getFilename:()=>cu,getFullChangelog:()=>$u,getGatewayBreakdown:()=>Ba,getGatewayBudgets:()=>Ha,getGatewayErrors:()=>Na,getGatewayKeys:()=>Va,getGatewayLog:()=>La,getGatewayOverview:()=>Fa,getGatewayRoutingPolicy:()=>qa,getGatewaySeries:()=>Ga,getGatewaySessions:()=>Ka,getGitHubAppStatus:()=>Ix,getGitHubInstallation:()=>Ss,getGoogleAuthUrl:()=>_f,getGroup:()=>sm,getHiddenToolParts:()=>Yy,getInvite:()=>Mb,getJustavpsServerTypes:()=>Yb,getKortixProject:()=>nd,getKortixProjectBySession:()=>rd,getKortixPtyWebSocketUrl:()=>Br,getLatestSandboxVersion:()=>zb,getMaintenanceConfig:()=>_x,getManagedGitStatus:()=>ng,getMarketplaceCatalogItem:()=>Sc,getMarketplaceCatalogItemFile:()=>vc,getMfaRequired:()=>$m,getMilestone:()=>cd,getModelDefaults:()=>Hi,getOAuthConsentRequest:()=>gx,getOpenCodeConfigInvalidError:()=>Gc,getPartText:()=>Xy,getPatPolicy:()=>zm,getPermissionForTool:()=>ah,getProject:()=>jt,getProjectActivity:()=>ed,getProjectCommit:()=>oi,getProjectCommitDiff:()=>ii,getProjectDetail:()=>Et,getProjectFileHistory:()=>ai,getProjectGitToken:()=>ys,getProjectLlmCatalog:()=>$t,getProjectLlmCatalogProviders:()=>tg,getProjectModelPicker:()=>qt,getProjectSandboxHealth:()=>Ft,getProjectSandboxProviderTransition:()=>rg,getProjectSession:()=>Gt,getProjectSessionConfigState:()=>$i,getProjectSessionScope:()=>Di,getProrationPreview:()=>da,getProviders:()=>gb,getProxyBaseUrl:()=>zf,getPublicClientForUrl:()=>Ad,getPublicMarketplaceItem:()=>cx,getPublicMarketplaceItemFile:()=>lx,getPublicSessionShare:()=>wf,getPublicSessionShareMessages:()=>Sf,getPublicShareByToken:()=>xx,getPublicTemplate:()=>Tx,getPublicVoiceJoin:()=>vf,getPublicVoiceTranscript:()=>Cf,getQuestionForTool:()=>ch,getReferralCode:()=>Qg,getReferralStats:()=>em,getRetryInfo:()=>Ah,getRetryMessage:()=>jh,getReviewItem:()=>ec,getRolePermissions:()=>km,getRoleUsage:()=>Sm,getSSHConnection:()=>Nb,getSandbox:()=>mb,getSandboxById:()=>yb,getSandboxMemberScopes:()=>Ab,getSandboxPortUrl:()=>db,getSandboxProvisionStatus:()=>rx,getSandboxProvisionStreamUrl:()=>sx,getSandboxUpdateStatus:()=>Wb,getSandboxUrl:()=>Nc,getSecretSetupLink:()=>hx,getServerHealth:()=>At,getServiceLogs:()=>Sd,getSessionAudit:()=>Ti,getSessionCost:()=>Rh,getSessionCostRecord:()=>Ht,getSessionHealth:()=>Ic,getSessionPolicy:()=>Km,getSessionPreviewCandidates:()=>ki,getSessionTranscript:()=>Ii,getShellModePart:()=>bh,getSlackChannelFile:()=>va,getSlackInstallation:()=>Pa,getSlackManifest:()=>wa,getSlackMode:()=>ka,getSsoProvider:()=>Mm,getStaticFileHealthPath:()=>Nl,getSupabaseAccessToken:()=>kt,getSupabaseAccessTokenWithRetry:()=>oe,getTask:()=>Sp,getTaskStatus:()=>Cp,getTemplate:()=>If,getTicket:()=>$p,getToolInfo:()=>sh,getTranscriptFilename:()=>tu,getTurnCost:()=>Ch,getTurnError:()=>kh,getTurnErrorDetails:()=>wh,getTurnStatus:()=>Sh,getUsageRollup:()=>ya,getUserRolesWithToken:()=>wx,getVersionDiff:()=>ci,getViewerSandboxScopes:()=>Ib,getVoiceTranscript:()=>Ai,getWorkingState:()=>Ph,grantSandboxProjectAccess:()=>$b,groupMessagesIntoTurns:()=>ph,hasDiffs:()=>Eh,hasLocalhostUrls:()=>Bf,hasPreviewTarget:()=>Bl,heartbeatGapEvent:()=>Jl,humanizeToolName:()=>Yt,importSsoProviderFromMetadata:()=>Om,installTemplate:()=>Af,invalidateTokenCache:()=>Ke,inviteAccountMember:()=>ns,inviteProjectMember:()=>Os,inviteRepoCollaborator:()=>ms,isAdminBypassEnabled:()=>Qd,isAgentPart:()=>Wy,isAppRouteUrl:()=>Fl,isAttachment:()=>iu,isBillingError:()=>gl,isCompactionPart:()=>zy,isConfigured:()=>ht,isDestructivePhase:()=>Hb,isExternalUrl:()=>ey,isFilePart:()=>ou,isInstanceDetailPath:()=>sb,isInstanceScopedAppPath:()=>ku,isInternalLocalhostUrl:()=>Xf,isInviteSent:()=>lg,isLastUserMessage:()=>xh,isManagedGithubProject:()=>eg,isOpenCodeConfigInvalidError:()=>ub,isPatchPart:()=>Jy,isPreviewUrl:()=>Jf,isProxiableLocalhostUrl:()=>Hl,isReasoningPart:()=>en,isRuntimeReady:()=>jf,isServerReachable:()=>Vr,isSessionFresh:()=>Pi,isSessionStartError:()=>Rg,isShellMode:()=>du,isSnapshotPart:()=>Vy,isSubdomainPreviewUrl:()=>Dx,isTextPart:()=>de,isToolPart:()=>ne,isToolPartHidden:()=>Zy,isUnderSandboxRoot:()=>Nr,isWebProxyUrl:()=>Zf,kortixPty:()=>hl,leaveAccount:()=>ps,linkGitHubInstallation:()=>As,linkRepository:()=>ws,listAccountAudit:()=>gc,listAccountAuditWebhooks:()=>fc,listAccountInvites:()=>rs,listAccountMembers:()=>ts,listAccountSessions:()=>Hm,listAccountTokens:()=>ac,listAccounts:()=>Qr,listActions:()=>wm,listAdminSandboxes:()=>ff,listAgentIdentities:()=>_m,listAllConnections:()=>yo,listAuditEvents:()=>rf,listAuditWebhooks:()=>Zm,listBackups:()=>Lb,listBillingTransactions:()=>ea,listChangeRequests:()=>li,listChannelBindings:()=>Vg,listColumns:()=>Bp,listConnections:()=>fo,listConnectorTools:()=>tt,listConnectors:()=>vo,listCostByProject:()=>Gg,listCredentialEvents:()=>yd,listCredentials:()=>fd,listDiscoverConnectors:()=>Ot,listDiscoverIntegrations:()=>kg,listEnv:()=>Dr,listFeaturedMarketplaces:()=>wc,listFields:()=>Np,listFiles:()=>We,listGatewayLogs:()=>Oa,listGitHubInstallations:()=>vs,listGitHubRepositories:()=>Rs,listGitHubRepositoryBranches:()=>Ts,listGroupMembers:()=>cm,listGroupProjectGrants:()=>um,listGroups:()=>rm,listKortixProjectSessions:()=>sd,listKortixProjects:()=>td,listKortixPty:()=>Or,listLinkableGitHubInstallations:()=>Cs,listMarketplaceCatalogItems:()=>_c,listMarketplaceSources:()=>Cc,listMarketplaces:()=>kc,listMemberGroups:()=>dm,listMemberProjectAccess:()=>gm,listMilestoneEvents:()=>ld,listMilestones:()=>ad,listPendingApprovals:()=>Js,listPendingProjectInvites:()=>Ls,listPipedreamApps:()=>Oo,listPolicies:()=>mm,listProjectAccess:()=>Ds,listProjectAccessRequests:()=>Es,listProjectAgents:()=>Jp,listProjectBranches:()=>ri,listProjectCliTokens:()=>uc,listProjectCommits:()=>si,listProjectFiles:()=>Zo,listProjectGroupGrants:()=>Bs,listProjectPolicies:()=>Bo,listProjectResourceGrants:()=>Ws,listProjectSandboxTemplates:()=>No,listProjectSandboxes:()=>Yo,listProjectSecrets:()=>Ys,listProjectSessions:()=>De,listProjectSnapshots:()=>Ho,listProjectTriggers:()=>Oi,listProjects:()=>xe,listProjectsForAccount:()=>gs,listPublicMarketplaceItems:()=>ix,listPublicMarketplaces:()=>ax,listReferrals:()=>tm,listReviewItems:()=>Za,listRoles:()=>Pm,listSandboxMembers:()=>Sb,listSandboxProjectMembers:()=>Eb,listSandboxShares:()=>sc,listSandboxes:()=>bb,listScimTokens:()=>Am,listServiceAccountsApi:()=>Jm,listServiceTemplates:()=>wd,listServices:()=>kd,listSessionCosts:()=>xa,listSessionPublicShares:()=>wi,listSessionsNeedingInput:()=>Xs,listSsoGroupMappings:()=>Fm,listTaskEvents:()=>vp,listTasks:()=>wp,listTemplates:()=>Wp,listTicketEvents:()=>qp,listTickets:()=>Ep,loadHttpSessionHistory:()=>Fu,markInstanceError:()=>tx,markSessionFresh:()=>nt,mergeChangeRequest:()=>mi,migrateAdminSandboxProvider:()=>bf,mkdir:()=>Ze,narrowChatEvent:()=>Xl,normalizeAppPathname:()=>lb,normalizeExternalInput:()=>ty,normalizeToolName:()=>lt,openChangeRequest:()=>gi,openEventStream:()=>Xt,openStressTestStream:()=>Cx,parseBillingError:()=>Te,parseFlagOverride:()=>nb,parseLocalhostUrl:()=>it,parseOpenCodeErrorPayload:()=>Ru,parseSubdomainUrl:()=>jc,parseWebProxyUrl:()=>Yf,patchKortixProject:()=>id,pipedreamConnect:()=>qo,pipedreamConnectConnection:()=>wo,pipedreamFinalize:()=>Go,pipedreamFinalizeConnection:()=>So,platformConfig:()=>E,pollConnectionOAuth2DeviceAuthorization:()=>bg,pollProjectProviderOAuth:()=>ro,previewGatewayRoute:()=>Ua,previewMfaRequired:()=>qm,probeEffectivePermission:()=>sf,probeEffectivePermissions:()=>of,probePreviewPort:()=>Lx,projectSessionStartSeed:()=>Cg,provisionProject:()=>xs,provisionProjectWithToken:()=>ag,proxyLocalhostUrl:()=>Ac,proxyUrlToInternal:()=>Vf,purchaseCredits:()=>ga,putConnectionOAuth2Application:()=>gg,reactivateSandbox:()=>wb,reactivateSubscription:()=>la,readBlob:()=>Ee,readFile:()=>je,readProjectFile:()=>ti,rebuildProjectSnapshot:()=>Wo,reconcileConnection:()=>ho,reconcileMemberConnection:()=>bo,reconcileServices:()=>Cd,recordPlatformLogout:()=>dx,refreshReferralCode:()=>Yg,registerService:()=>Rd,rejectProjectAccessRequest:()=>qs,relativizePath:()=>oh,reloadProjectSessionConfig:()=>qi,removeAccountAuditWebhook:()=>bc,removeAccountMember:()=>ls,removeGroupMember:()=>pm,removeKortixPty:()=>Gr,removeMarketplaceSource:()=>Tc,removeSandboxMember:()=>Cb,renameFile:()=>et,renameSandbox:()=>hb,reopenChangeRequest:()=>yi,reopenMilestone:()=>gd,replaceColumns:()=>Kp,replaceFields:()=>Hp,replaceTemplates:()=>zp,requestAccountDeletion:()=>uf,requestChangesOnChangeRequest:()=>hi,requestProjectAccess:()=>cg,requestProjectConnector:()=>Pc,requestProjectSecret:()=>xc,resendAccountInvite:()=>os,resendPendingProjectInvite:()=>Gs,resetClient:()=>Id,resetGatewayRoutingPolicy:()=>Ma,resetPublicClient:()=>Ed,resetSandboxUpdateStatus:()=>Xb,resolveApproval:()=>Qs,restartProjectSession:()=>rt,restartSandbox:()=>Pb,restoreBackup:()=>Gb,revealCredential:()=>bd,revokeAccountSession:()=>Wm,revokeAccountToken:()=>lc,revokeConnection:()=>Po,revokeGatewayKey:()=>Xa,revokePendingProjectInvite:()=>Fs,revokeProjectAccess:()=>Us,revokeProjectCliToken:()=>dc,revokeSandboxInvite:()=>Db,revokeSandboxProjectAccess:()=>qb,revokeSandboxShare:()=>ic,revokeScimToken:()=>Em,revokeSessionPublicShare:()=>vi,rewriteLocalhostUrl:()=>le,runGatewayPlayground:()=>Qa,saveGitHubInstallation:()=>Is,scheduleDowngrade:()=>ua,searchConnectorTools:()=>uo,searchProjectFiles:()=>ei,sendReferralEmails:()=>nm,serviceAction:()=>vd,sessionStartKey:()=>Ig,setActiveInstanceCookie:()=>ab,setAdminBypass:()=>Xd,setAdminProviderDistribution:()=>yf,setAdminProviderFallback:()=>Pf,setAgentScope:()=>Vi,setBootstrapAuthToken:()=>xp,setCachedAuthToken:()=>bp,setConnectionPolicies:()=>_g,setConnectorAuthorizationStrategy:()=>To,setConnectorCredential:()=>Fo,setConnectorCredentialMode:()=>Ro,setConnectorName:()=>$o,setConnectorPolicies:()=>jo,setConnectorSecretBinding:()=>Sg,setConnectorSensitive:()=>Io,setDefaultConnection:()=>ko,setEnterpriseDemo:()=>cf,setEnv:()=>Mr,setGatewayBudget:()=>Wa,setGatewayRoutingPolicy:()=>Da,setGitHubAppFromExisting:()=>jx,setGitHubAppPat:()=>Ex,setMaintenanceConfig:()=>kx,setMeetBotName:()=>$a,setMemberSuperAdmin:()=>Im,setMfaRequired:()=>Dm,setModelDefault:()=>Wi,setPersonalProjectSecret:()=>ao,setProjectModelEnablement:()=>Ag,setProjectOnboardingComplete:()=>ks,setProjectOnboardingProfile:()=>og,setProjectPolicies:()=>Ko,setProjectSecretStrategy:()=>eo,setProjectSessionModel:()=>Ui,setProjectSessionScope:()=>Mi,setProjectSessionSharing:()=>_i,setProjectTriggersActivation:()=>Bi,setupSSH:()=>Kb,shouldHideResponsePart:()=>_h,shouldShowToolPart:()=>au,sortSessions:()=>hh,splitUserParts:()=>Qy,startConnectionOAuth2Authorization:()=>yg,startConnectionOAuth2DeviceAuthorization:()=>hg,startConnectorSetupLink:()=>yx,startGitHubAppManifest:()=>Ax,startProjectProviderOAuth:()=>no,startProjectSession:()=>_e,startSessionWithToken:()=>Px,startTask:()=>Ip,stopProjectSession:()=>st,stopSandbox:()=>_b,stripAnsi:()=>uh,stripInstancePrefix:()=>ob,stripTrailingSlashes:()=>ye,submitAccessRequest:()=>px,submitDemoRequest:()=>Sx,submitOAuthConsent:()=>mx,submitReviewItem:()=>tc,submitSecretSetupLink:()=>bx,supabaseClient:()=>Yd,syncConnectors:()=>Co,syncSubscription:()=>Fg,systemReload:()=>qd,toDaemonPath:()=>he,toInstanceAwarePath:()=>cb,toInternalUrl:()=>Wl,toSandboxAbsolutePath:()=>Hr,toWorkspaceRelative:()=>Wr,toolInfo:()=>Zt,toolViewModel:()=>Pu,transcribeAudio:()=>Ya,triggerSandboxUpdate:()=>Jb,triggersRequest:()=>yl,turnHasSteps:()=>mh,unassignTicket:()=>Lp,unwrapError:()=>Y,updateAccountAuditWebhook:()=>hc,updateAccountMemberRole:()=>us,updateAccountName:()=>es,updateAgentConfig:()=>qg,updateAuditWebhook:()=>tf,updateChannelBinding:()=>Jg,updateConnectionCredential:()=>xo,updateEmailPolicy:()=>Ea,updateExperimentalFeature:()=>Ps,updateGroup:()=>im,updateKortixPty:()=>Fr,updateMilestone:()=>pd,updatePatPolicy:()=>Vm,updatePolicy:()=>ym,updateProject:()=>Dt,updateProjectAccess:()=>Ms,updateProjectAgent:()=>Qp,updateProjectDefaultAgent:()=>Xi,updateProjectGroupGrant:()=>Ns,updateProjectSandboxProvider:()=>_s,updateProjectSession:()=>ji,updateProjectTrigger:()=>Fi,updateRole:()=>Cm,updateRolePermissions:()=>Rm,updateSandboxMemberRole:()=>Rb,updateSandboxMemberScope:()=>jb,updateSandboxMemberSpendCap:()=>Tb,updateSandboxTemplate:()=>Jo,updateSessionPolicy:()=>Nm,updateTask:()=>Tp,updateTemplateWarmPool:()=>sg,updateTicket:()=>Mp,updateTicketStatus:()=>Up,uploadConnectorAttachment:()=>mo,uploadFile:()=>$e,uploadSlackChannelFile:()=>Ca,upsertCredential:()=>hd,upsertProjectGitCredential:()=>oo,upsertProjectSecret:()=>Zs,upsertSsoProvider:()=>Um,validateProjectManifest:()=>fs,validateReferralCode:()=>Zg,validateToken:()=>ds,verifyGatewayProvider:()=>Xg});var Qu={backendUrl:"",getToken:async()=>null},un=null,ft=null;function Yu(e){ft=e}function Zu(){return ft}function yt(e,t){t?.global!==!1&&(un=e)}function E(){return ft?.()??un??Qu}function ht(){return un!==null||ft?.()!==void 0}var Xc=({onRequest:e,onSseError:t,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 R=m.headers instanceof Headers?m.headers:new Headers(m.headers);x!==void 0&&R.set("Last-Event-ID",x);try{let I={redirect:"follow",...m,body:m.serializedBody,headers:R,signal:a},C=new Request(f,I);e&&(C=await e(f,I));let A=await(m.fetch??globalThis.fetch)(C);if(!A.ok)throw new Error(`SSE failed: ${A.status} ${A.statusText}`);if(!A.body)throw new Error("No body in SSE response");let S=A.body.pipeThrough(new TextDecoderStream).getReader(),L="",K=()=>{try{S.cancel()}catch{}};a.addEventListener("abort",K);try{for(;;){let{done:y,value:v}=await S.read();if(y)break;L+=v,L=L.replace(/\r\n/g,`
|
|
1
|
+
"use strict";var Kortix=(()=>{var mn=Object.defineProperty;var _p=Object.getOwnPropertyDescriptor;var Pp=Object.getOwnPropertyNames;var kp=Object.prototype.hasOwnProperty;var wp=(t,e)=>{for(var n in e)mn(t,n,{get:e[n],enumerable:!0})},Sp=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Pp(e))!kp.call(t,s)&&s!==n&&mn(t,s,{get:()=>e[s],enumerable:!(r=_p(e,s))||r.enumerable});return t};var vp=t=>Sp(mn({},"__esModule",{value:!0}),t);var E_={};wp(E_,{ACTIVE_INSTANCE_COOKIE:()=>dt,ApiError:()=>R,AuthError:()=>ye,BillingError:()=>ae,COST_MARKUP:()=>ul,DEFAULT_TRANSCRIPT_OPTIONS:()=>il,DESTRUCTIVE_PHASES:()=>ap,FEATURE_DISABLED_CODE:()=>vt,FEATURE_FLAG_KEYS:()=>Eg,FEATURE_NOT_SUPPORTED_CODE:()=>Xl,HostBoundaryError:()=>ie,INSTANCE_SCOPED_ROUTES:()=>Xu,MODEL_NOT_SERVABLE_CODE:()=>Ql,PREVIEW_PROBE_TIMEOUT_MS:()=>S_,PROVISION_IN_FLIGHT_CODE:()=>Yl,PublicSessionShareError:()=>Jt,PublicVoiceJoinError:()=>Xt,RequestTooLargeError:()=>he,RuntimeNotReadyError:()=>Tt,SANDBOX_FS_ROOTS:()=>jt,SANDBOX_PORTS:()=>re,SessionNotReadyError:()=>at,SessionStartError:()=>Nt,__getConfigResolver:()=>Tp,__setConfigResolver:()=>Rp,acceptAccountInvite:()=>ms,acceptInvite:()=>kx,actReviewItem:()=>dc,activateConnection:()=>Ti,addGroupMembers:()=>Wm,addMarketplaceSource:()=>Oc,addSandboxMember:()=>ux,allDescendantIds:()=>Lu,appendPreviewToken:()=>k_,approveProjectAccessRequest:()=>Gs,approveTask:()=>id,archiveProject:()=>Ft,assignTicket:()=>gd,attachGroupToProject:()=>Qs,authenticatedFetch:()=>q,backendApi:()=>i,bindSlackIdentity:()=>Rm,bindTeamsIdentity:()=>Tm,brokerProjectSecretRequest:()=>li,buildInstancePath:()=>Yu,buildPresentationTemplateImageUrl:()=>R_,buildPresentationTemplatePdfUrl:()=>C_,buildPreviewAuthEndpoint:()=>Pl,buildPublicTemplateUrl:()=>lp,buildRuntimePresentationConversionUrl:()=>dp,buildSandboxTemplate:()=>io,buildStaticFileHealthPreviewUrl:()=>jy,buildStaticFileLocalUrl:()=>Iy,buildStaticFilePreviewUrl:()=>Ay,buildStaticFileServicePath:()=>bu,buildTunnelEventStreamUrl:()=>hp,buildWebProxyUrl:()=>My,bulkActReviewItems:()=>gc,bulkDeletePolicies:()=>tf,bulkImportPolicies:()=>nf,callConnector:()=>_i,cancelAccountDeletion:()=>Vf,cancelAccountInvite:()=>ps,cancelSandbox:()=>ax,cancelSandboxUpdate:()=>Mx,cancelScheduledChange:()=>Pa,cancelSubscription:()=>ba,checkAccessEmail:()=>Jx,childMapByParent:()=>tb,claimComputer:()=>Gx,claimPerSeatBilling:()=>km,claimWarmProjectSession:()=>Mo,classifyPart:()=>al,classifyPreviewProbeStatus:()=>pp,classifyTurn:()=>$u,clearModelDefault:()=>ra,clearSessionFresh:()=>am,closeChangeRequest:()=>So,closeMilestone:()=>Gd,collectTurnParts:()=>Qh,commentTicket:()=>fd,commitSessionChanges:()=>Ro,computeStatusFromPart:()=>ll,configureAutoTopup:()=>va,configureKortix:()=>yt,confirmCheckoutSession:()=>ya,connectEmail:()=>La,connectSlack:()=>ja,convertPresentationToGoogleSlides:()=>iy,convertRuntimePresentation:()=>T_,copyFile:()=>Qe,costExportUrl:()=>Ra,createAccount:()=>is,createAccountAuditWebhook:()=>Rc,createAccountToken:()=>bc,createApp:()=>Gc,createAppAccessSession:()=>zc,createAppDeployment:()=>Jc,createAuditWebhook:()=>Of,createBackup:()=>vx,createCheckoutSession:()=>fa,createConnector:()=>Bi,createFile:()=>Xe,createGatewayKey:()=>ic,createGroup:()=>Bm,createHttpSessionSyncController:()=>yp,createInstance:()=>Ox,createKortix:()=>Ru,createKortixPty:()=>zr,createMarketplaceInstallSession:()=>py,createMilestone:()=>Fd,createPerSeatCheckout:()=>Pm,createPolicy:()=>Ym,createPortalSession:()=>ha,createProject:()=>Ss,createProjectAgent:()=>vd,createProjectCliToken:()=>Pc,createProjectRepo:()=>vs,createProjectResourceGrant:()=>ti,createProjectSession:()=>Me,createProjectTrigger:()=>Jo,createRole:()=>lf,createSSEStream:()=>bp,createSandbox:()=>ex,createSandboxShare:()=>fc,createSandboxTemplate:()=>no,createScimToken:()=>ff,createServiceAccountApi:()=>qf,createSessionPublicShare:()=>$o,createSsoGroupMapping:()=>vf,createTask:()=>nd,createTicket:()=>ud,createTunnelEventStream:()=>j_,declineAccountInvite:()=>fs,declineInvite:()=>wx,deleteAccountImmediately:()=>Jf,deleteApp:()=>Hc,deleteAuditWebhook:()=>Lf,deleteBackup:()=>Rx,deleteConnector:()=>Hi,deleteCredential:()=>Vd,deleteEnv:()=>Nr,deleteFile:()=>Ye,deleteGatewayBudget:()=>rc,deleteGitHubInstallation:()=>Fs,deleteGroup:()=>Hm,deleteInstance:()=>Fx,deleteKortixProject:()=>qd,deleteMilestone:()=>Kd,deletePersonalProjectSecret:()=>yi,deletePolicy:()=>ef,deleteProjectAgent:()=>Rd,deleteProjectProviderOAuth:()=>di,deleteProjectResourceGrant:()=>ni,deleteProjectSecret:()=>mi,deleteProjectSession:()=>Go,deleteProjectTrigger:()=>Qo,deleteRole:()=>df,deleteSandboxTemplate:()=>so,deleteServiceAccountApi:()=>Mf,deleteSsoGroupMapping:()=>Cf,deleteSsoProvider:()=>wf,deleteTask:()=>od,deleteTicket:()=>yd,describeAccountInvite:()=>gs,describeConnectorTool:()=>xi,detachGroupFromProject:()=>Zs,detectLocalhostUrls:()=>yu,disableServiceAccountApi:()=>Df,disconnectEmail:()=>Ga,disconnectGitHubApp:()=>x_,disconnectSlack:()=>qa,discoverConnectionOAuth2:()=>Qg,discoverConnectorAuth:()=>Ki,discoverLocalSandbox:()=>sx,downloadAccountAudit:()=>p_,dropClientForUrl:()=>rg,dropPublicClientForUrl:()=>og,ensurePmSession:()=>wd,ensurePreviewSessionCookie:()=>w_,ensureProjectConnectorConnection:()=>Vg,ensureSandbox:()=>op,ensureWarmProjectSession:()=>Do,env:()=>Bl,exportAccountAudit:()=>vc,extractGatewayErrorDetails:()=>de,extractInstanceRoute:()=>Oe,featureDisabledKey:()=>Or,featureFlags:()=>Bb,fetchAccountStateWithToken:()=>xm,fetchAccountsWithToken:()=>jg,fetchCostExportCsv:()=>Cm,fetchProjectArchive:()=>uo,fetchProjectsForAccountWithToken:()=>Gg,files:()=>Vl,finalizeAppArtifact:()=>Yt,finalizeConnectorSetupLink:()=>n_,findFiles:()=>Ve,findLastTextPart:()=>Yh,findText:()=>Je,fireProjectTrigger:()=>Zo,fixSandboxWithAgent:()=>to,formatBillingErrorForUI:()=>Lr,formatCost:()=>gb,formatDuration:()=>ub,formatOpenCodeRuntimeError:()=>rp,formatRuntimeError:()=>rp,formatTokens:()=>mb,formatTranscript:()=>Au,generateSessionId:()=>Tu,getAccount:()=>os,getAccountDeletionStatus:()=>Wf,getAccountState:()=>ca,getAccountStateMinimal:()=>la,getActiveInstanceIdFromCookie:()=>ep,getAdminProviderAnalytics:()=>ey,getAdminProviderDistribution:()=>Qf,getAdminProviderFallback:()=>ny,getAdminRole:()=>Xf,getAgentCardLabel:()=>Fu,getAgentConfig:()=>ym,getAgentPersona:()=>Td,getAllVersions:()=>$x,getAnsweredQuestionParts:()=>eb,getApp:()=>Bc,getAppAccess:()=>Nc,getAppDeployment:()=>Qc,getAppDeploymentLogs:()=>Yc,getApprovalLink:()=>uy,getAuthToken:()=>me,getAuthTokenWithRetry:()=>Mr,getAutoTopupSettings:()=>Sa,getAutoTopupSetupStatus:()=>_m,getBillingCreditBreakdown:()=>da,getBillingTierConfigurations:()=>ma,getBillingTransactionsSummary:()=>pa,getBillingUsageHistory:()=>ga,getChangeRequest:()=>xo,getChangeRequestDiff:()=>_o,getChangeRequestMergePreview:()=>Po,getChildSessionError:()=>Gh,getChildSessionId:()=>Lh,getChildSessionToolParts:()=>Bh,getClient:()=>ce,getClientForUrl:()=>te,getConnectStatus:()=>zi,getConnectionOAuth2Application:()=>Xg,getConnectionOAuth2Status:()=>tm,getConnectionPolicies:()=>nm,getConnectorCatalog:()=>Lt,getConnectorConfig:()=>Fi,getConnectorPolicies:()=>Ui,getConnectorSetupLink:()=>e_,getCostSummary:()=>vm,getCurrentInstanceIdFromPathname:()=>Zu,getCurrentInstanceIdFromWindow:()=>Nb,getCurrentProject:()=>ts,getDefaultAccountState:()=>aa,getDiagnostics:()=>Nh,getDirectory:()=>Ou,getDiscoverConnector:()=>Bt,getDiscoverIntegration:()=>im,getEmailInstallation:()=>Oa,getEmailMode:()=>Fa,getEnterpriseDemo:()=>Hf,getFileStatus:()=>ze,getFileWithDir:()=>cl,getFilename:()=>Uu,getFullChangelog:()=>cp,getGatewayBreakdown:()=>Ya,getGatewayBudgets:()=>tc,getGatewayErrors:()=>ec,getGatewayKeys:()=>sc,getGatewayLog:()=>Ja,getGatewayOverview:()=>Xa,getGatewayRoutingPolicy:()=>Ha,getGatewaySeries:()=>Qa,getGatewaySessions:()=>Za,getGitHubAppStatus:()=>f_,getGitHubInstallation:()=>Es,getGoogleAuthUrl:()=>sy,getGroup:()=>Gm,getHiddenToolParts:()=>Uh,getInvite:()=>Px,getJustavpsServerTypes:()=>Ux,getKortixProject:()=>jd,getKortixProjectBySession:()=>Ed,getKortixPtyWebSocketUrl:()=>Xr,getLatestSandboxVersion:()=>Ex,getMaintenanceConfig:()=>a_,getManagedGitStatus:()=>Ug,getMarketplaceCatalogItem:()=>Dc,getMarketplaceCatalogItemFile:()=>Mc,getMfaRequired:()=>hf,getMilestone:()=>Ud,getModelDefaults:()=>ta,getOAuthConsentRequest:()=>Yx,getOpenCodeConfigInvalidError:()=>fl,getPartText:()=>Dh,getPatPolicy:()=>jf,getPermissionForTool:()=>Wh,getProject:()=>qt,getProjectActivity:()=>Ad,getProjectCommit:()=>mo,getProjectCommitDiff:()=>fo,getProjectDetail:()=>Dt,getProjectFileHistory:()=>yo,getProjectGitToken:()=>ws,getProjectLlmCatalog:()=>Mt,getProjectLlmCatalogProviders:()=>qg,getProjectModelPicker:()=>Ut,getProjectSandboxHealth:()=>Kt,getProjectSandboxProviderTransition:()=>Og,getProjectSession:()=>Ht,getProjectSessionConfigState:()=>Bo,getProjectSessionScope:()=>No,getProrationPreview:()=>ka,getProviders:()=>Yb,getProxyBaseUrl:()=>Ey,getPublicClientForUrl:()=>ig,getPublicMarketplaceItem:()=>zx,getPublicMarketplaceItemFile:()=>Vx,getPublicSessionShare:()=>oy,getPublicSessionShareMessages:()=>ay,getPublicShareByToken:()=>i_,getPublicTemplate:()=>m_,getPublicVoiceJoin:()=>cy,getPublicVoiceTranscript:()=>ly,getQuestionForTool:()=>zh,getReferralCode:()=>qm,getReferralStats:()=>Um,getRetryInfo:()=>fb,getRetryMessage:()=>yb,getReviewItem:()=>uc,getRolePermissions:()=>of,getRoleUsage:()=>cf,getSSHConnection:()=>Ax,getSandbox:()=>Zb,getSandboxById:()=>tx,getSandboxMemberScopes:()=>fx,getSandboxPortUrl:()=>Qb,getSandboxProvisionStatus:()=>Bx,getSandboxProvisionStreamUrl:()=>Kx,getSandboxUpdateStatus:()=>jx,getSandboxUrl:()=>bl,getSecretSetupLink:()=>r_,getServerHealth:()=>Et,getServiceLogs:()=>Zd,getSessionAudit:()=>Uo,getSessionCost:()=>db,getSessionCostRecord:()=>Vt,getSessionHealth:()=>nl,getSessionPolicy:()=>Rf,getSessionPreviewCandidates:()=>jo,getSessionTranscript:()=>Oo,getShellModePart:()=>rb,getSlackChannelFile:()=>Da,getSlackInstallation:()=>Ia,getSlackManifest:()=>$a,getSlackMode:()=>Ea,getSsoProvider:()=>_f,getStaticFileHealthPath:()=>xu,getSupabaseAccessToken:()=>wt,getSupabaseAccessTokenWithRetry:()=>ee,getTask:()=>Zp,getTaskStatus:()=>td,getTemplate:()=>dy,getTicket:()=>cd,getToolInfo:()=>Kh,getTranscriptFilename:()=>Iu,getTurnCost:()=>pb,getTurnError:()=>ab,getTurnErrorDetails:()=>cb,getTurnStatus:()=>lb,getUsageRollup:()=>Ca,getUserRolesWithToken:()=>l_,getVersionDiff:()=>ho,getViewerSandboxScopes:()=>mx,getVoiceTranscript:()=>Fo,getWorkingState:()=>ib,grantSandboxProjectAccess:()=>bx,groupMessagesIntoTurns:()=>Xh,hasDiffs:()=>hb,hasLocalhostUrls:()=>Ry,hasPreviewTarget:()=>hu,heartbeatGapEvent:()=>Su,humanizeToolName:()=>rn,importSsoProviderFromMetadata:()=>kf,installTemplate:()=>gy,invalidateTokenCache:()=>Ke,inviteAccountMember:()=>ls,inviteProjectMember:()=>Ws,inviteRepoCollaborator:()=>Ps,isAdminBypassEnabled:()=>Tg,isAgentPart:()=>jh,isAppRouteUrl:()=>fu,isAttachment:()=>Du,isBillingError:()=>Fr,isCompactionPart:()=>Eh,isConfigured:()=>ht,isDestructivePhase:()=>Ix,isExternalUrl:()=>Fy,isFeatureDisabledError:()=>Ur,isFilePart:()=>qu,isInstanceDetailPath:()=>Kb,isInstanceScopedAppPath:()=>Qu,isInternalLocalhostUrl:()=>Dy,isInviteSent:()=>Hg,isLastUserMessage:()=>sb,isManagedGithubProject:()=>$g,isOpenCodeConfigInvalidError:()=>Jb,isPatchPart:()=>qh,isPreviewUrl:()=>qy,isProxiableLocalhostUrl:()=>_u,isReasoningPart:()=>on,isRuntimeReady:()=>yy,isServerReachable:()=>ns,isSessionFresh:()=>Ao,isSessionStartError:()=>um,isShellMode:()=>Gu,isSnapshotPart:()=>$h,isSubdomainPreviewUrl:()=>P_,isTextPart:()=>ge,isToolPart:()=>se,isToolPartHidden:()=>Oh,isUnderSandboxRoot:()=>Yr,isWebProxyUrl:()=>Oy,kortixPty:()=>Hl,leaveAccount:()=>bs,linkGitHubInstallation:()=>Os,linkRepository:()=>js,listAccountAudit:()=>wc,listAccountAuditWebhooks:()=>Cc,listAccountInvites:()=>us,listAccountMembers:()=>cs,listAccountSessions:()=>Af,listAccountTokens:()=>hc,listAccounts:()=>ss,listActions:()=>af,listAdminSandboxes:()=>Yf,listAgentIdentities:()=>sf,listAllConnections:()=>wi,listAppDeployments:()=>Xc,listApps:()=>Lc,listAuditEvents:()=>Gf,listAuditWebhooks:()=>Uf,listBackups:()=>Sx,listBillingTransactions:()=>ua,listChangeRequests:()=>bo,listChannelBindings:()=>jm,listColumns:()=>hd,listConnections:()=>ki,listConnectorTools:()=>tt,listConnectors:()=>Ei,listCostByProject:()=>Sm,listCredentialEvents:()=>Nd,listCredentials:()=>Hd,listDiscoverConnectors:()=>Gt,listDiscoverIntegrations:()=>sm,listEnv:()=>Kr,listFeaturedMarketplaces:()=>qc,listFields:()=>xd,listFiles:()=>We,listGatewayLogs:()=>Va,listGitHubInstallations:()=>$s,listGitHubRepositories:()=>Ds,listGitHubRepositoryBranches:()=>Ms,listGroupMembers:()=>Nm,listGroupProjectGrants:()=>zm,listGroups:()=>Lm,listKortixProjectSessions:()=>$d,listKortixProjects:()=>Id,listKortixPty:()=>Wr,listLinkableGitHubInstallations:()=>qs,listMarketplaceCatalogItems:()=>Ec,listMarketplaceSources:()=>Uc,listMarketplaces:()=>$c,listMemberGroups:()=>Jm,listMemberProjectAccess:()=>Xm,listMilestoneEvents:()=>Od,listMilestones:()=>Md,listPendingApprovals:()=>ri,listPendingProjectInvites:()=>zs,listPipedreamApps:()=>Ni,listPipedreamSections:()=>Wi,listPolicies:()=>Qm,listProjectAccess:()=>Ks,listProjectAccessRequests:()=>Ls,listProjectAgents:()=>Sd,listProjectAudit:()=>Sc,listProjectBranches:()=>po,listProjectCliTokens:()=>_c,listProjectCommits:()=>go,listProjectFiles:()=>ao,listProjectGroupGrants:()=>Xs,listProjectPolicies:()=>Xi,listProjectResourceGrants:()=>ei,listProjectSandboxTemplates:()=>Yi,listProjectSandboxes:()=>oo,listProjectSecrets:()=>oi,listProjectSessions:()=>De,listProjectSnapshots:()=>Zi,listProjectTriggers:()=>Vo,listProjects:()=>ke,listProjectsForAccount:()=>_s,listPublicMarketplaceItems:()=>Nx,listPublicMarketplaces:()=>Wx,listReferrals:()=>Om,listReviewItems:()=>lc,listRoles:()=>rf,listSandboxMembers:()=>lx,listSandboxProjectMembers:()=>hx,listSandboxShares:()=>mc,listSandboxes:()=>rx,listScimTokens:()=>mf,listServiceAccountsApi:()=>$f,listServiceTemplates:()=>Yd,listServices:()=>Qd,listSessionCosts:()=>Aa,listSessionPublicShares:()=>Eo,listSessionsNeedingInput:()=>si,listSsoGroupMappings:()=>Sf,listTaskEvents:()=>ed,listTasks:()=>Yp,listTemplates:()=>Pd,listTicketEvents:()=>ld,listTickets:()=>ad,loadHttpSessionHistory:()=>fp,markInstanceError:()=>Lx,markSessionFresh:()=>nt,mergeChangeRequest:()=>wo,migrateAdminSandboxProvider:()=>ty,mkdir:()=>Ze,narrowChatEvent:()=>vu,normalizeAppPathname:()=>Vb,normalizeExternalInput:()=>Ly,normalizeToolName:()=>lt,openChangeRequest:()=>ko,openEventStream:()=>tn,openStressTestStream:()=>d_,parseBillingError:()=>be,parseFlagOverride:()=>Gb,parseLocalhostUrl:()=>ot,parseOpenCodeErrorPayload:()=>np,parseSubdomainUrl:()=>sl,parseWebProxyUrl:()=>Uy,patchKortixProject:()=>Dd,pipedreamConnect:()=>Gi,pipedreamConnectConnection:()=>Ii,pipedreamFinalize:()=>Ji,pipedreamFinalizeConnection:()=>ji,platformConfig:()=>E,pollConnectionOAuth2DeviceAuthorization:()=>em,pollProjectProviderOAuth:()=>pi,previewGatewayRoute:()=>za,previewMfaRequired:()=>bf,probeEffectivePermission:()=>Bf,probeEffectivePermissions:()=>Kf,probePreviewPort:()=>v_,projectSessionStartSeed:()=>lm,provisionProject:()=>Cs,provisionProjectStream:()=>Mg,provisionProjectWithToken:()=>Bg,proxyLocalhostUrl:()=>rl,proxyUrlToInternal:()=>$y,purchaseCredits:()=>wa,putConnectionOAuth2Application:()=>Jg,reactivateSandbox:()=>cx,reactivateSubscription:()=>xa,readBlob:()=>Ee,readFile:()=>je,readProjectFile:()=>lo,rebuildProjectSnapshot:()=>eo,reconcileConnection:()=>Si,reconcileMemberConnection:()=>vi,reconcileServices:()=>tg,recordPlatformLogout:()=>Qx,refreshReferralCode:()=>Dm,registerAppArtifact:()=>Qt,registerService:()=>ng,rejectProjectAccessRequest:()=>Bs,relativizePath:()=>Hh,reloadProjectSessionConfig:()=>Ko,reloadProjectSessionConfigStream:()=>Ho,removeAccountAuditWebhook:()=>Ac,removeAccountMember:()=>ys,removeGroupMember:()=>Vm,removeKortixPty:()=>Jr,removeMarketplaceSource:()=>Fc,removeSandboxMember:()=>px,renameFile:()=>et,renameSandbox:()=>nx,reopenChangeRequest:()=>vo,reopenMilestone:()=>Bd,replaceColumns:()=>bd,replaceFields:()=>_d,replaceTemplates:()=>kd,requestAccountDeletion:()=>zf,requestChangesOnChangeRequest:()=>Co,requestProjectAccess:()=>Kg,requestProjectConnector:()=>jc,requestProjectSecret:()=>Ic,resendAccountInvite:()=>ds,resendPendingProjectInvite:()=>Js,resetClient:()=>sg,resetGatewayRoutingPolicy:()=>Wa,resetPublicClient:()=>ag,resetSandboxUpdateStatus:()=>Dx,resolveApproval:()=>ii,restartProjectSession:()=>rt,restartSandbox:()=>ix,restoreBackup:()=>Cx,revealCredential:()=>zd,revokeAccountSession:()=>If,revokeAccountToken:()=>xc,revokeConnection:()=>Ri,revokeGatewayKey:()=>oc,revokePendingProjectInvite:()=>Vs,revokeProjectAccess:()=>Ns,revokeProjectCliToken:()=>kc,revokeSandboxInvite:()=>_x,revokeSandboxProjectAccess:()=>xx,revokeSandboxShare:()=>yc,revokeScimToken:()=>yf,revokeSessionPublicShare:()=>qo,rewriteLocalhostUrl:()=>ue,rollbackApp:()=>tl,runGatewayPlayground:()=>ac,saveGitHubInstallation:()=>Us,scheduleDowngrade:()=>_a,searchConnectorTools:()=>bi,searchProjectFiles:()=>co,sendReferralEmails:()=>Fm,serviceAction:()=>eg,sessionStartKey:()=>dm,setActiveInstanceCookie:()=>Wb,setAdminBypass:()=>Rg,setAdminProviderDistribution:()=>Zf,setAdminProviderFallback:()=>ry,setAgentScope:()=>sa,setBootstrapAuthToken:()=>Vp,setCachedAuthToken:()=>zp,setConnectionPolicies:()=>rm,setConnectorAuthorizationStrategy:()=>Di,setConnectorCredential:()=>Vi,setConnectorCredentialMode:()=>qi,setConnectorName:()=>Li,setConnectorPolicies:()=>Oi,setConnectorSecretBinding:()=>om,setConnectorSensitive:()=>Mi,setDefaultConnection:()=>Ai,setEnterpriseDemo:()=>Nf,setEnv:()=>Hr,setGatewayBudget:()=>nc,setGatewayRoutingPolicy:()=>Na,setGitHubAppFromExisting:()=>h_,setGitHubAppPat:()=>b_,setMaintenanceConfig:()=>c_,setMeetBotName:()=>Ka,setMemberSuperAdmin:()=>gf,setMfaRequired:()=>xf,setModelDefault:()=>na,setPersonalProjectSecret:()=>fi,setProjectModelEnablement:()=>gm,setProjectOnboardingComplete:()=>Is,setProjectOnboardingProfile:()=>Lg,setProjectPolicies:()=>Qi,setProjectSecretStrategy:()=>ci,setProjectSessionModel:()=>zo,setProjectSessionScope:()=>Wo,setProjectSessionSharing:()=>Io,setProjectTriggersActivation:()=>Yo,setupSSH:()=>Tx,shellExitCode:()=>dl,shouldHideResponsePart:()=>ob,shouldShowToolPart:()=>Mu,sortSessions:()=>nb,splitUserParts:()=>Mh,startApp:()=>Zc,startConnectionOAuth2Authorization:()=>Yg,startConnectionOAuth2DeviceAuthorization:()=>Zg,startConnectorSetupLink:()=>t_,startGitHubAppManifest:()=>y_,startProjectProviderOAuth:()=>ui,startProjectSession:()=>Se,startSessionWithToken:()=>o_,startTask:()=>sd,stopApp:()=>el,stopProjectSession:()=>st,stopSandbox:()=>ox,stripAnsi:()=>Jh,stripInstancePrefix:()=>Hb,stripTrailingSlashes:()=>xe,submitAccessRequest:()=>Xx,submitDemoRequest:()=>u_,submitOAuthConsent:()=>Zx,submitReviewItem:()=>pc,submitSecretSetupLink:()=>s_,supabaseClient:()=>Ag,syncConnectors:()=>$i,syncSubscription:()=>wm,systemReload:()=>lg,toDaemonPath:()=>_e,toInstanceAwarePath:()=>zb,toInternalUrl:()=>Pu,toSandboxAbsolutePath:()=>Zr,toWorkspaceRelative:()=>es,toolInfo:()=>sn,toolViewModel:()=>Ju,transcribeAudio:()=>cc,triggerSandboxUpdate:()=>qx,triggersRequest:()=>Kl,turnHasSteps:()=>Zh,unassignTicket:()=>md,unwrapError:()=>Y,updateAccountAuditWebhook:()=>Tc,updateAccountMemberRole:()=>hs,updateAccountName:()=>as,updateAgentConfig:()=>hm,updateApp:()=>Kc,updateAppAccess:()=>Wc,updateAuditWebhook:()=>Ff,updateChannelBinding:()=>Em,updateConnectionCredential:()=>Ci,updateEmailPolicy:()=>Ba,updateExperimentalFeature:()=>Ts,updateFeatureFlag:()=>Rs,updateGroup:()=>Km,updateKortixPty:()=>Vr,updateMilestone:()=>Ld,updatePatPolicy:()=>Ef,updatePolicy:()=>Zm,updateProject:()=>Ot,updateProjectAccess:()=>Hs,updateProjectAgent:()=>Cd,updateProjectDefaultAgent:()=>oa,updateProjectGroupGrant:()=>Ys,updateProjectSandboxProvider:()=>As,updateProjectSession:()=>Lo,updateProjectTrigger:()=>Xo,updateRole:()=>uf,updateRolePermissions:()=>pf,updateSandboxMemberRole:()=>dx,updateSandboxMemberScope:()=>yx,updateSandboxMemberSpendCap:()=>gx,updateSandboxTemplate:()=>ro,updateSessionPolicy:()=>Tf,updateTask:()=>rd,updateTemplateWarmPool:()=>Fg,updateTicket:()=>pd,updateTicketStatus:()=>dd,uploadAppArtifactArchive:()=>Vc,uploadConnectorAttachment:()=>Pi,uploadFile:()=>$e,uploadSlackChannelFile:()=>Ma,upsertCredential:()=>Wd,upsertProjectGitCredential:()=>gi,upsertProjectSecret:()=>ai,upsertSsoProvider:()=>Pf,validateProjectManifest:()=>ks,validateReferralCode:()=>Mm,validateToken:()=>xs,verifyGatewayProvider:()=>$m});var Cp={backendUrl:"",getToken:async()=>null},fn=null,ft=null;function Rp(t){ft=t}function Tp(){return ft}function yt(t,e){e?.global!==!1&&(fn=t)}function E(){return ft?.()??fn??Cp}function ht(){return fn!==null||ft?.()!==void 0}var Sl=({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,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
|
-
`);let M=
|
|
3
|
+
`);let M=F.split(`
|
|
4
4
|
|
|
5
|
-
`);
|
|
6
|
-
`),J=[],Q;for(let U of V)if(U.startsWith("data:"))J.push(U.replace(/^data:\s*/,""));else if(U.startsWith("event:"))Q=U.replace(/^event:\s*/,"");else if(U.startsWith("id:"))
|
|
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:x,retry:l}),J.length&&(yield N)}}}finally{a.removeEventListener("abort",K),S.releaseLock()}break}catch(I){if(t?.(I),u!==void 0&&h>=u)break;let C=Math.min(l*2**(h-1),p??3e4);await _(C)}}}()}};var ep=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},tp=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},np=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},bt=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(g=>encodeURIComponent(g))).join(tp(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=ep(r),u=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):Se({allowReserved:e,name:n,value:p})).join(c);return r==="label"||r==="matrix"?c+u:u},Se=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},xt=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,x])=>{g=[...g,m,e?x:encodeURIComponent(x)]});let f=g.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let u=np(r),p=Object.entries(s).map(([g,f])=>Se({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var rp=/\{[^{}]+\}/g,sp=({path:e,url:t})=>{let n=t,r=t.match(rp);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,bt({explode:c,name:u,style:p,value:g}));continue}if(typeof g=="object"){n=n.replace(s,xt({explode:c,name:u,style:p,value:g,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${Se({name:u,value:g})}`);continue}let f=encodeURIComponent(p==="label"?`.${g}`:g);n=n.replace(s,f)}return n},Qc=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=sp({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function pn(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(t)return e.body}var Yc=async(e,t)=>{let n=typeof t=="function"?await t(e):t;if(n)return e.scheme==="bearer"?`Bearer ${n}`:e.scheme==="basic"?`Basic ${btoa(n)}`:n};var dn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Zc=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let p=e[c]||t;if(Array.isArray(u)){let g=bt({allowReserved:p.allowReserved,explode:!0,name:c,style:"form",value:u,...p.array});g&&s.push(g)}else if(typeof u=="object"){let g=xt({allowReserved:p.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...p.object});g&&s.push(g)}else{let g=Se({allowReserved:p.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},el=e=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>t.startsWith(n)))return"blob";if(t.startsWith("text/"))return"text"}},op=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,tl=async({security:e,...t})=>{for(let n of e){if(op(t,n.name))continue;let r=await Yc(n,t.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":t.query||(t.query={}),t.query[s]=r;break;case"cookie":t.headers.append("Cookie",`${s}=${r}`);break;default:t.headers.set(s,r);break}}},gn=e=>Qc({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Zc(e.querySerializer),url:e.url}),mn=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=Pt(e.headers,t.headers),n},ip=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},Pt=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?ip(n):Object.entries(n);for(let[s,c]of r)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},Fe=class{fns=[];clear(){this.fns=[]}eject(t){let n=this.getInterceptorIndex(t);this.fns[n]&&(this.fns[n]=null)}exists(t){let n=this.getInterceptorIndex(t);return!!this.fns[n]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,n){let r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=n,t):!1}use(t){return this.fns.push(t),this.fns.length-1}},nl=()=>({error:new Fe,request:new Fe,response:new Fe}),ap=Zc({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),cp={"Content-Type":"application/json"},Ge=(e={})=>({...dn,headers:cp,parseAs:"auto",querySerializer:ap,...e});var Be=(e={})=>{let t=mn(Ge(),e),n=()=>({...t}),r=f=>(t=mn(t,f),n()),s=nl(),c=async f=>{let m={...t,...f,fetch:f.fetch??t.fetch??globalThis.fetch,headers:Pt(t.headers,f.headers),serializedBody:void 0};m.security&&await tl({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let x=gn(m);return{opts:m,url:x}},u=async f=>{let{opts:m,url:x}=await c(f),_={redirect:"follow",...m,body:pn(m)},j=new Request(x,_);for(let k of s.request.fns)k&&(j=await k(j,m));let q=m.fetch,l;try{l=await q(j)}catch(k){let A=k;for(let S of s.error.fns)S&&(A=await S(k,void 0,j,m));if(A=A||{},m.throwOnError)throw A;return m.responseStyle==="data"?void 0:{error:A,request:j,response:void 0}}for(let k of s.response.fns)k&&(l=await k(l,j,m));let h={request:j,response:l};if(l.ok){let k=(m.parseAs==="auto"?el(l.headers.get("Content-Type")):m.parseAs)??"json";if(l.status===204||l.headers.get("Content-Length")==="0"){let S;switch(k){case"arrayBuffer":case"blob":case"text":S=await l[k]();break;case"formData":S=new FormData;break;case"stream":S=l.body;break;default:S={};break}return m.responseStyle==="data"?S:{data:S,...h}}let A;switch(k){case"arrayBuffer":case"blob":case"formData":case"text":A=await l[k]();break;case"json":{let S=await l.text();A=S?JSON.parse(S):{};break}case"stream":return m.responseStyle==="data"?l.body:{data:l.body,...h}}return k==="json"&&(m.responseValidator&&await m.responseValidator(A),m.responseTransformer&&(A=await m.responseTransformer(A))),m.responseStyle==="data"?A:{data:A,...h}}let a=await l.text(),R;try{R=JSON.parse(a)}catch{}let I=R??a,C=I;for(let k of s.error.fns)k&&(C=await k(I,l,j,m));if(C=C||{},m.throwOnError)throw C;return m.responseStyle==="data"?void 0:{error:C,...h}},p=f=>m=>u({...m,method:f}),g=f=>async m=>{let{opts:x,url:_}=await c(m);return Xc({...x,body:x.body,headers:x.headers,method:f,onRequest:async(j,q)=>{let l=new Request(j,q);for(let h of s.request.fns)h&&(l=await h(l,x));return l},serializedBody:pn(x),url:_})};return{buildUrl:gn,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 lp={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},up=Object.entries(lp),rl=(e,t)=>{t||(t=new Map);for(let n of e)"in"in n?n.key&&t.set(n.key,{in:n.in,map:n.map}):"key"in n?t.set(n.key,{map:n.map}):n.args&&rl(n.args,t);return t},pp=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},d=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=rl(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),g=p.map||s.key;p.in&&(n[p.in][g]=u)}else n.body=u;else for(let[p,g]of Object.entries(u??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=g}else n[f.map]=g;else{let m=up.find(([x])=>p.startsWith(x));if(m){let[x,_]=m;n[_][p.slice(x.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[x,_]of Object.entries(s.allowExtra))if(_){n[x][p]=g;break}}}}return pp(n),n};var sl=Be(Ge({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??sl}},fn=class{defaultKey="default";instances=new Map;get(t){let n=this.instances.get(t??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(t,n){this.instances.set(n??this.defaultKey,t)}},yn=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},hn=class extends b{log(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},bn=class extends b{moveSession(t,n){let r=d([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},xn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Pn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},_n=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},kn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},wn=class extends b{generateName(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Sn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},vn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new Sn({client:this.client})}},Cn=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new bn({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new xn({client:this.client})}_console;get console(){return this._console??=new Pn({client:this.client})}_session;get session(){return this._session??=new _n({client:this.client})}_resource;get resource(){return this._resource??=new kn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new wn({client:this.client})}_workspace;get workspace(){return this._workspace??=new vn({client:this.client})}},Rn=class extends b{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=d([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Tn=class extends b{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=d([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new Rn({client:this.client})}},In=class extends b{subscribe(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},An=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},jn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},En=class extends b{remove(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},$n=class extends b{text(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},qn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},Dn=class extends b{dispose(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},Mn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},Un=class extends b{raw(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},On=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new Un({client:this.client})}},Ln=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},Fn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Gn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Bn=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Kn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Bn({client:this.client})}},Nn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},Hn=class extends b{shells(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},Wn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},zn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Vn=class extends b{authorize(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Jn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new Vn({client:this.client})}},Xn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},Qn=class extends b{delete(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Yn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Zn=class extends b{start(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=d([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new Yn({client:this.client})}},er=class extends b{next(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},tr=class extends b{appendPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new er({client:this.client})}},nr=class extends b{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},rr=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},sr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},or=class extends b{stage(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},ir=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ar=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},cr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new or({client:this.client})}_permission;get permission(){return this._permission??=new ir({client:this.client})}_question;get question(){return this._question??=new ar({client:this.client})}},lr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},ur=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},pr=class extends b{key(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},dr=class extends b{cancel(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},gr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new pr({client:this.client})}_attempt;get attempt(){return this._attempt??=new dr({client:this.client})}},mr=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},fr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},yr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},hr=class extends b{_request;get request(){return this._request??=new fr({client:this.client})}_saved;get saved(){return this._saved??=new yr({client:this.client})}},br=class extends b{read(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},xr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Pr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},_r=class extends b{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},kr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},wr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Sr=class extends b{_request;get request(){return this._request??=new wr({client:this.client})}},vr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Cr=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},Rr=class extends b{_health;get health(){return this._health??=new nr({client:this.client})}_location;get location(){return this._location??=new rr({client:this.client})}_agent;get agent(){return this._agent??=new sr({client:this.client})}_session;get session(){return this._session??=new cr({client:this.client})}_model;get model(){return this._model??=new lr({client:this.client})}_provider;get provider(){return this._provider??=new ur({client:this.client})}_integration;get integration(){return this._integration??=new gr({client:this.client})}_credential;get credential(){return this._credential??=new mr({client:this.client})}_permission;get permission(){return this._permission??=new hr({client:this.client})}_fs;get fs(){return this._fs??=new br({client:this.client})}_command;get command(){return this._command??=new xr({client:this.client})}_skill;get skill(){return this._skill??=new Pr({client:this.client})}_event;get event(){return this._event??=new _r({client:this.client})}_pty;get pty(){return this._pty??=new kr({client:this.client})}_question;get question(){return this._question??=new Sr({client:this.client})}_reference;get reference(){return this._reference??=new vr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Cr({client:this.client})}},_t=class e extends b{static __registry=new fn;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new yn({client:this.client})}_app;get app(){return this._app??=new hn({client:this.client})}_experimental;get experimental(){return this._experimental??=new Cn({client:this.client})}_global;get global(){return this._global??=new Tn({client:this.client})}_event;get event(){return this._event??=new In({client:this.client})}_config;get config(){return this._config??=new An({client:this.client})}_tool;get tool(){return this._tool??=new jn({client:this.client})}_worktree;get worktree(){return this._worktree??=new En({client:this.client})}_find;get find(){return this._find??=new $n({client:this.client})}_file;get file(){return this._file??=new qn({client:this.client})}_instance;get instance(){return this._instance??=new Dn({client:this.client})}_path;get path(){return this._path??=new Mn({client:this.client})}_vcs;get vcs(){return this._vcs??=new On({client:this.client})}_command;get command(){return this._command??=new Ln({client:this.client})}_lsp;get lsp(){return this._lsp??=new Fn({client:this.client})}_formatter;get formatter(){return this._formatter??=new Gn({client:this.client})}_mcp;get mcp(){return this._mcp??=new Kn({client:this.client})}_project;get project(){return this._project??=new Nn({client:this.client})}_pty;get pty(){return this._pty??=new Hn({client:this.client})}_question;get question(){return this._question??=new Wn({client:this.client})}_permission;get permission(){return this._permission??=new zn({client:this.client})}_provider;get provider(){return this._provider??=new Jn({client:this.client})}_session;get session(){return this._session??=new Xn({client:this.client})}_part;get part(){return this._part??=new Qn({client:this.client})}_sync;get sync(){return this._sync??=new Zn({client:this.client})}_tui;get tui(){return this._tui??=new tr({client:this.client})}_v2;get v2(){return this._v2??=new Rr({client:this.client})}};function il(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let c=e,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||ol(n,t);return new Error(u,{cause:{body:e,status:t?.status}})}if(typeof e=="string"&&e.length>0)return new Error(e,{cause:{body:e,status:t?.status}});let s=t?"(empty response body)":"network error (no response)";return new Error(`opencode server ${ol(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function ol(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function dp(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function gp(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=dp(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,p);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function Tr(e){e?.fetch||(e={...e,fetch:r=>(r.timeout=!1,fetch(r))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)}),e?.experimental_workspaceID&&(e.headers={...e.headers,"x-opencode-workspace":e.experimental_workspaceID});let t=Be(e);return t.interceptors.request.use(n=>gp(n,{directory:e?.directory,workspace:e?.experimental_workspaceID})),t.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),t.interceptors.error.use(il),new _t({client:t})}var mp=new Set(["api","cli","mobile","web"]);function Ir(e){let t=e?.trim().toLowerCase();return t&&mp.has(t)?t:null}function fp(e){return new Promise(t=>setTimeout(t,e))}async function al(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(c&&n?.(),s>0&&await fp(s)),u=await e(),u)return u;return u}var yp=3e4;function hp(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function Ar(e,t,n=yp){let r=e instanceof Request?e.signal:t?.signal;if(hp(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function jr(e,t,n,r){let s=new Headers(e instanceof Request?e.headers:void 0);t?.headers&&new Headers(t.headers).forEach((u,p)=>{s.set(p,u)}),n&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${n}`);let c=Ir(r);return c&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",c),s}function cl(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function kt(){return E().getToken()}async function oe(e){return al(()=>E().getToken(),e,Ke)}function Ke(){}function bp(e){}function xp(e){}async function ge(){return kt()}async function Er(e){return oe(e)}function ll(e,t,n,r){let s=E().fetch??fetch;if(e instanceof Request){let c=new Request(e,{headers:n,...r?{signal:r}:{}});return s(c)}return s(e,{...t,headers:n,...r?{signal:r}:{}})}async function $(e,t,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},c=await Er();if(!c)return cl();let u=E().clientSource,p=jr(e,t,c,u),g=s===void 0?Ar(e,t):Ar(e,t,s),f=await ll(e,t,p,g);if(f.status===401&&r&&c){Ke();let m=await Er({attempts:2,baseDelayMs:200});if(m&&m!==c){let x=jr(e,t,m,u);return ll(e,t,x,g)}}return f}var ve={url:null,sandboxId:null,dbSandboxId:null,version:0},Pp=new Set;function ul(e,t=null,n=null){if(!(ve.url===e&&ve.sandboxId===t&&ve.dbSandboxId===n)){ve={url:e,sandboxId:t,dbSandboxId:n,version:ve.version+1};for(let r of Pp)r()}}function pl(){return ve.url}function _p(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function me(){return _p(E().backendUrl||"http://localhost:8008/v1")}function dl(){let e=E().sandboxId;return e?`${me()}/p/${e}/8000`:""}function kp(e){return`${me()}/p/${e}/8000`}function wt(e){return kp(e)}function F(){let e=pl();return e||(E().billingEnabled??!1?"":dl())}var T=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},Ce=class extends T{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},fe=class e extends Error{status;detail;constructor(t,n,r){super(r||n.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=n,Object.setPrototypeOf(this,e.prototype)}},Re=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function Te(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new fe(t,{message:r?.message||e.message||"Billing error",...r})}function gl(e){return e instanceof fe}function ml(e){if(!(e instanceof fe))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function $r(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function qr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Dr(e){let t=qr(e),n=await $(`${t}/env`);if(!n.ok)throw new Error(await $r(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Mr(e,t,n){let r=qr(e),s=await $(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await $r(s,"Failed to save secret"))}async function Ur(e,t){let n=qr(e),r=await $(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await $r(r,"Failed to delete secret"))}var fl={list:Dr,set:Mr,delete:Ur};async function yl(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await $(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function ye(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function St(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Ne(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ye(e)}async function Or(e){let t=Ne(e),n=await $(`${t}/kortix/pty`);if(!n.ok)throw new Error(await St(n,"Failed to list terminals"));return n.json()}async function Lr(e,t){let n=Ne(e),r=await $(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await St(r,"Failed to create terminal"));return r.json()}async function Fr(e,t,n){let r=Ne(e),s=await $(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await St(s,"Failed to update terminal"));return s.json()}async function Gr(e,t){let n=Ne(e),r=await $(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await St(r,"Failed to remove terminal"))}async function Br(e,t){let n=Ne(t),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),ye(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await ge();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var hl={list:Or,create:Lr,update:Fr,remove:Gr,webSocketUrl:Br};async function w(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await $(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!c.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${c.status}`);return p}async function wp(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return w(e,`/kortix/tasks${r}`)}async function Sp(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function vp(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function Cp(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function Rp(e,t){return w(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function Tp(e,t,n){return w(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Ip(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Ap(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function jp(e,t){return w(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Ep(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return w(e,`/kortix/tickets${n}`)}async function $p(e,t){return w(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function qp(e,t){return w(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Dp(e,t){return w(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Mp(e,t,n){return w(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Up(e,t,n){return w(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Op(e,t,n){return w(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Lp(e,t,n){return w(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Fp(e,t,n){return w(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Gp(e,t){return w(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Bp(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Kp(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Np(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Hp(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Wp(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function zp(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Vp(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Jp(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Xp(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Qp(e,t,n,r){return w(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Yp(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Zp(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function ed(e,t,n=200){return w(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function td(e){return w(e,"/kortix/projects")}async function nd(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function rd(e,t){return w(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function sd(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function od(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function id(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function ad(e,t,n="all"){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function cd(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function ld(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function ud(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function pd(e,t,n,r){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function dd(e,t,n,r){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function gd(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function md(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function fd(e,t){return w(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function yd(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function hd(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function bd(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function xd(e,t,n){return w(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var Pd=1e4,_d={retryOnAuthError:!1};function Ie(e,t,n){return w(e,t,{signal:AbortSignal.timeout(Pd),...n},_d)}async function kd(e,t=!1){return(await Ie(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function wd(e){return(await Ie(e,"/kortix/services/templates")).templates??[]}async function Sd(e,t){return(await Ie(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function vd(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return Ie(e,s,{method:r?"DELETE":"POST"})}async function Cd(e,t){return Ie(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function Rd(e,t){return Ie(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var vt=new Map,Ct=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function ie(){let e=F();if(!e)throw new Ct;return ee(e)}function ee(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=vt.get(e);if(t)return t;if(!ht())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Tr({baseUrl:e,fetch:$});return vt.set(e,n),n}function Td(e){vt.delete(e)}function Id(){vt.clear()}var Rt=new Map;function Ad(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Rt.get(e);if(t)return t;let n=Tr({baseUrl:e,fetch});return Rt.set(e,n),n}function jd(e){Rt.delete(e)}function Ed(){Rt.clear()}async function $d(e){let t=await e.text().catch(()=>"");try{let n=JSON.parse(t);return n?.error||n?.message||t||e.statusText||`HTTP ${e.status}`}catch{return t||e.statusText||`HTTP ${e.status}`}}async function qd(e){let t=F();if(!t)throw new T("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=e==="full"?"/kortix/refresh":"/global/dispose",r=await $(`${t}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",c=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new T(`System reload failed (${r.status}): ${await $d(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!c)throw new T(`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 T(`System reload returned malformed JSON from ${n}: ${g instanceof Error?g.message:String(g)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode:e,steps:p?[e==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:p?[]:[`the sandbox did not confirm the reload (${n})`]}}function xl(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new T(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Ae(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function Tt(e,t=F()){let n=await $(`${t}${e}`);if(!n.ok)throw new T(await Ae(n),{status:n.status,response:n});return n.json()}var It=["/workspace","/tmp","/home","/opt"],Dd=It.filter(e=>e!=="/workspace");function Nr(e){return It.some(t=>e===t||e.startsWith(`${t}/`))}function Hr(e){return Nr(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function he(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(Dd.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Wr=he;async function We(e,t=F()){let n=he(e)||".";return(await Tt(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function je(e,t=F()){let n=he(e),r=await $(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new T(await Ae(r),{status:r.status,response:r});return r.json()}async function Md(e,t,n=F()){let r=he(e),s=await $(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new T(await Ae(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new T("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function Ee(e,t=F()){try{return await Md(e,void 0,t)}catch{}let n=await je(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function ze(e=F()){return Tt("/file/status",e)}async function Ve(e,t,n=F()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),Tt(`/find/file?${r.toString()}`,n)}async function Je(e,t=F()){return(await Tt(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var He=[400,1200],Ud=e=>e===408||e===429||e===502||e===503||e===504,bl=e=>new Promise(t=>setTimeout(t,e));function Od(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Kr=3e4,Ld=15*6e4,Fd=256;function Gd(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Kr;let t=Kr+e/Fd;return Math.min(Ld,Math.max(Kr,Math.round(t)))}async function Bd(e){let t=await e.text().catch(()=>""),n=null;try{n=t?JSON.parse(t):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(e.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(t)?e.status===502||/bad gateway/i.test(t)?"Bad gateway while reaching the sandbox upload service. Please retry.":e.statusText||`HTTP ${e.status}`:t.replace(/\s+/g," ").trim().slice(0,500)||e.statusText||`HTTP ${e.status}`}async function Pl(e,t){let n;for(let s=0;s<=He.length;s++){let c;try{c=await t(e())}catch(p){if(n=p,Od(p)||s===He.length)break;await bl(He[s]);continue}if(c.ok)return c.json();let u=await Bd(c);if(n=new T(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!Ud(c.status)||s===He.length)throw n;await bl(He[s])}if(n instanceof T)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new T(`Upload failed: ${r}`)}function $e(e,t,n,r=F()){let s=Gd(e.size);return Pl(()=>{let c=new FormData,u=(t??"").trim();return u&&c.append("path",u.startsWith("/")?u:`/${u}`),n?c.append("file",e,n):c.append("file",e),c},c=>$(`${r}/file/upload`,{method:"POST",body:c},{timeoutMs:s}))}function Kd(e,t,n=F()){return Pl(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await ge();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function Xe(e,t=F()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return $e(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function Qe(e,t,n=F()){return Kd(t,await Ee(e,n),n)}async function Ye(e,t=F()){let n=await $(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new T(`Delete failed (${n.status}): ${await Ae(n)}`,{status:n.status,response:n});return n.json()}async function Ze(e,t=F()){let n=await $(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new T(`Mkdir failed (${n.status}): ${await Ae(n)}`,{status:n.status,response:n});return n.json()}async function et(e,t,n=F()){let r=await $(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new T(`Rename failed (${r.status}): ${await Ae(r)}`,{status:r.status,response:r});return r.json()}async function zr(){return xl(await ie().project.current())}async function At(){return xl(await ie().global.health())}async function Vr(){try{return(await At()).healthy===!0}catch{return!1}}var _l={list:We,read:je,readBlob:Ee,status:ze,findFiles:Ve,findText:Je,upload:$e,create:Xe,copy:Qe,remove:Ye,mkdir:Ze,rename:et,currentProject:zr,health:At,isReachable:Vr,toDaemonPath:he,toSandboxAbsolutePath:Hr,toWorkspaceRelative:Wr};var ae=()=>E().backendUrl||"",wl="feature_not_supported",Sl="model_not_servable",vl="provision_in_flight",Hd=e=>new Promise(t=>setTimeout(t,e)),Wd=new Set([502,503,504]),zd=e=>Wd.has(e),Vd=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Jd=2,kl=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),Jr=!1;function Xd(e){Jr=e}function Qd(){return Jr}async function be(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,p=null,g=!1,f=!1;try{p=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,f=!0,u.abort())},s);let m=await oe(),x=c.body instanceof FormData,_={};x||(_["Content-Type"]="application/json"),Object.assign(_,c.headers);let j=Ir(E().clientSource),q=Object.keys(_).some(C=>C.toLowerCase()==="x-kortix-client");if(j&&!q&&(_["X-Kortix-Client"]=j),Jr&&(_["x-kortix-admin-bypass"]="1"),m)_.Authorization=`Bearer ${m}`;else return{error:new Ce,success:!1};let l=Vd(c.method),h=l?Jd+1:1,a;for(let C=0;C<h;C++){C>0&&await Hd(250*2**(C-1));let k=C===0?u:new AbortController;C>0&&(p=setTimeout(()=>{f=!0,k.abort()},s));try{a=await(E().fetch??fetch)(e,{...c,headers:_,signal:k.signal,credentials:c.credentials??"omit"})}catch(S){if(p&&(clearTimeout(p),p=null),kl(S)||C===h-1)throw S;continue}if(p&&(clearTimeout(p),p=null),!(l&&zd(a.status)&&C<h-1))break;try{await a.arrayBuffer()}catch{}}if(!a.ok){let C=`HTTP ${a.status}: ${a.statusText}`,k=null;try{k=await a.json(),typeof k.reason=="string"?C=k.reason:typeof k.message=="string"?C=k.message:k.error&&typeof k.error=="string"?C=k.error:typeof k.detail=="string"?C=k.detail:typeof k.detail?.message=="string"&&(C=k.detail.message)}catch{}let A=new T(C,{status:a.status,response:a,details:k||void 0,data:k,detail:k?.detail,code:k?.code||k?.error_code||k?.detail?.error_code||a.status.toString()});if(a.status===402&&(A=Te(A)),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&&(A=new Re(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 S=a.status===501&&k?.code===wl,L=a.status===409&&k?.code===Sl,K=a.status===409&&k?.code===vl;return n&&!S&&!L&&!K&&E().onError?.(A,r),{error:A,success:!1}}let R,I=a.headers.get("content-type");return I?.includes("application/json")?R=await a.json():I?.includes("text/")?R=await a.text():R=await a.blob(),{data:R,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let x=kl(m);x&&(g=!0);let _;if(x){if(!f)return{error:new T("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let j=e.replace(ae(),"")||e;_=new T(`Request timed out after ${Math.round(s/1e3)}s: ${j}`,{code:"TIMEOUT",url:e,endpoint:j,timeout:s}),n&&E().onError?.(_,r)}else m instanceof Error?(_=new T(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&E().onError?.(_,r)):(_=new T(String(m)),n&&E().onError?.(_,r));return{error:_,success:!1}}}var Yd={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new T(r.message||"Database error",{code:r.code,details:r});return E().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new T(n.message,{name:n.name||"ApiError",stack:n.stack}):new T(String(n));return E().onError?.(r,t),{error:r,success:!1}}}},o={get:(e,t)=>be(`${ae()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>be(`${ae()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>be(`${ae()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>be(`${ae()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>be(`${ae()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],be(`${ae()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],be(`${ae()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function i(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Xr(e){return e.replace(/\/v1\/?$/,"")}async function qe(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Xr(e.backendUrl);try{let r=await fetch(`${n}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function Qr(){return i(await o.get("/accounts"))}async function Yr(e){return i(await o.post("/accounts",e))}async function Zr(e){return i(await o.get(`/accounts/${e}`))}async function es(e,t){return i(await o.patch(`/accounts/${e}`,{name:t}))}async function ts(e){return i(await o.get(`/accounts/${e}/members`))}async function ns(e,t){return i(await o.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function rs(e){return i(await o.get(`/accounts/${e}/invites`))}async function ss(e,t){return i(await o.delete(`/accounts/${e}/invites/${t}`))}async function os(e,t){return i(await o.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function is(e){return i(await o.get(`/account-invites/${e}`,{showErrors:!1}))}async function as(e){return i(await o.post(`/account-invites/${e}/accept`,{}))}async function cs(e){return i(await o.post(`/account-invites/${e}/decline`,{}))}async function ls(e,t){return i(await o.delete(`/accounts/${e}/members/${t}`))}async function us(e,t,n){return i(await o.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function ps(e){return i(await o.post(`/accounts/${e}/leave`,{}))}async function Zd(e){return qe(e,"/v1/accounts")}async function ds(){let e=await o.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function xe(){return i(await o.get("/projects"))}async function gs(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return i(await o.get(`/projects${t}`))}async function jt(e,t){return i(await o.get(`/projects/${e}`,t))}async function ms(e,t,n="write"){return i(await o.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function fs(e,t){return i(await o.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function ys(e){return i(await o.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function eg(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function Et(e,t){let n=i(await o.get(`/projects/${e}/detail`,{showErrors:!1,...t}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function $t(e,t){return i(await o.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function qt(e,t){return i(await o.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function tg(e,t){return i(await o.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function hs(e){return i(await o.post("/projects",e))}async function bs(e){return i(await o.post("/projects/create-repo",e))}async function xs(e,t={}){return i(await o.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function ng(){try{return i(await o.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Dt(e,t){return i(await o.patch(`/projects/${e}`,t))}async function Ps(e,t,n){return i(await o.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function _s(e,t){return i(await o.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function rg(e,t){return i(await o.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function sg(e,t){return i(await o.patch(`/projects/${e}/warm-pool`,t))}async function ks(e,t){return i(await o.patch(`/projects/${e}/onboarding`,{completed:t}))}async function og(e,t){return i(await o.patch(`/projects/${e}/onboarding`,{profile:t}))}async function Mt(e){return i(await o.delete(`/projects/${e}`))}async function ig(e,t){return qe(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function ag(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Xr(e.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...t}),signal:AbortSignal.timeout(e.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function ws(e){return i(await o.post("/projects/link-repository",e,{showErrors:!1}))}async function Ss(e){return i(await o.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function vs(e){return i(await o.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Cs(e){return i(await o.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Rs(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),i(await o.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function Ts(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return i(await o.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Is(e){return i(await o.post("/projects/github/installation",e,{showErrors:!1}))}async function As(e){return i(await o.post("/projects/github/installations/link",e,{showErrors:!1}))}async function js(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),i(await o.delete(`/projects/github/installation?${n.toString()}`))}async function cg(e,t){return i(await o.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Es(e,t){return i(await o.get(`/projects/${e}/access-requests`,t))}async function $s(e,t,n="member"){return i(await o.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function qs(e,t){return i(await o.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Ds(e){return i(await o.get(`/projects/${e}/access`))}async function Ms(e,t,n){return i(await o.put(`/projects/${e}/access/${t}`,{role:n}))}async function Us(e,t){return i(await o.delete(`/projects/${e}/access/${t}`))}function lg(e){return"status"in e&&e.status==="invited"}async function Os(e,t,n,r){return i(await o.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Ls(e){return i(await o.get(`/projects/${e}/access/pending-invites`))}async function Fs(e,t){return i(await o.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Gs(e,t){return i(await o.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Bs(e){return i(await o.get(`/projects/${e}/group-grants`))}async function Ks(e,t,n,r){return i(await o.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function Ns(e,t,n,r){return i(await o.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Hs(e,t){return i(await o.delete(`/projects/${e}/group-grants/${t}`))}async function Ws(e){return i(await o.get(`/projects/${e}/resource-grants`))}async function zs(e,t){return i(await o.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function Vs(e,t){return i(await o.delete(`/projects/${e}/resource-grants/${t}`))}async function Js(e,t){return i(await o.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Xs(e,t){return i(await o.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Qs(e,t,n){return i(await o.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Ys(e){return i(await o.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Zs(e,t){return i(await o.post(`/projects/${e}/secrets`,t))}async function eo(e,t,n,r={}){return i(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function to(e,t,n){return i(await o.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function no(e,t,n){return i(await o.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function ro(e,t,n){return i(await o.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function so(e,t){return i(await o.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}async function oo(e,t){return i(await o.put(`/projects/${e}/git-credential`,t))}async function io(e,t){return i(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function ao(e,t,n){return i(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function co(e,t){return i(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}function lo(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function Ut(e){return i(await o.get(lo(e,"catalog"))).connectors??[]}async function tt(e){let t=[];for(let n of await Ut(e))for(let r of n.actions)t.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return t}async function uo(e,t="",n={}){let r=t.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),c=[],u=[];for(let p of await tt(e)){let g=`${p.tool} ${p.description}`.toLowerCase();!r||g.includes(r)?c.push(p):s.every(f=>g.includes(f))&&u.push(p)}return[...c,...u].slice(0,n.limit??20)}async function po(e,t){return(await tt(e)).find(n=>n.tool===t)??null}function ug(e){let t=e.indexOf("."),n=t<0?"":e.slice(0,t).trim(),r=t<0?"":e.slice(t+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}async function go(e,t,n={}){let{connector:r,action:s}=ug(t);return i(await o.post(lo(e,"call"),{connector:r,action:s,args:n}))}function pg(e,t){if(e&&typeof e=="object"){let n=e;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${t}`}async function mo(e,t,n){let r=n.filename.trim(),s=n.contentType.trim();if(!r)throw new Error("filename is required");if(!s)throw new Error("contentType is required");let c={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(c["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let u=E().backendUrl.replace(/\/+$/,""),p=lo(e,"attachments"),g=await $(`${u}${p}`,{method:"POST",headers:c,body:t},{timeoutMs:6e4}),f=await g.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!g.ok)throw new T(pg(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 fo(e){return i(await o.get(`/projects/${e}/connections`))}async function yo(e){return i(await o.get(`/projects/${e}/connections/all`))}async function ho(e,t){return i(await o.post(`/projects/${e}/connections`,t))}async function bo(e,t){return i(await o.post(`/projects/${e}/connections/me`,t))}async function xo(e,t,n){return i(await o.put(`/projects/${e}/connections/${t}/credential`,n))}function Pe(e,t,n){return`/projects/${e}/connections/${t}/oauth2/${n}`}async function dg(e,t){return i(await o.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function gg(e,t,n){return i(await o.put(Pe(e,t,"application"),n))}async function mg(e,t){return i(await o.get(Pe(e,t,"application")))}async function fg(e,t,n){return i(await o.post(Pe(e,t,"discover"),n))}async function yg(e,t,n){return i(await o.post(Pe(e,t,"authorize"),n))}async function hg(e,t,n){return i(await o.post(Pe(e,t,"device"),n))}async function bg(e,t,n){return i(await o.post(Pe(e,t,`device/${encodeURIComponent(n)}`),{}))}async function xg(e,t){return i(await o.get(Pe(e,t,"status")))}async function Po(e,t){return i(await o.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function _o(e,t){return i(await o.put(`/projects/${e}/connections/${t}/activate`,{}))}async function ko(e,t){return i(await o.put(`/projects/${e}/connections/${t}/default`,{}))}async function wo(e,t,n={}){return i(await o.post(`/projects/${e}/connections/${t}/connect`,n))}async function So(e,t){return i(await o.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function vo(e){return i(await o.get(`/connectors/projects/${e}/connectors`,{showErrors:!1}))}async function Co(e){return i(await o.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function Ro(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function To(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function Io(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function Ao(e,t){return i(await o.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function jo(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function Pg(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function _g(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function Eo(e,t){return i(await o.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function $o(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function qo(e,t){return i(await o.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Do(e,t){return i(await o.post(`/connectors/projects/${e}/connectors`,t))}async function Mo(e,t){return i(await o.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function Uo(e,t){return i(await o.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Oo(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return i(await o.get(`/connectors/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Ot(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return i(await o.get(`/connectors/projects/${e}/discover/connectors${s?`?${s}`:""}`))}async function Lt(e,t){let n=new URLSearchParams({id:t});return i(await o.get(`/connectors/projects/${e}/discover/connectors/detail?${n.toString()}`))}var kg=Ot,wg=Lt;async function Lo(){return i(await o.get("/connectors/connect-status"))}async function Fo(e,t,n){let r=typeof n=="string"?{value:n}:n;return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function Sg(e,t,n){return i(await o.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function Go(e,t){return i(await o.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function Bo(e){return i(await o.get(`/connectors/projects/${e}/policies`))}async function Ko(e,t,n){return i(await o.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function No(e){return i(await o.get(`/projects/${e}/sandboxes`))}async function Ho(e){return i(await o.get(`/projects/${e}/snapshots`))}async function Ft(e){return i(await o.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Wo(e,t){return i(await o.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function zo(e){return i(await o.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Vo(e,t){return i(await o.post(`/projects/${e}/sandbox-templates`,t))}async function Jo(e,t,n){return i(await o.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Xo(e,t){return i(await o.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Qo(e,t){return i(await o.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Yo(e){return i(await o.get(`/projects/${e}/sandboxes`))}async function Zo(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return i(await o.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function ei(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),i(await o.get(`/projects/${e}/files/search?${r.toString()}`))}async function ti(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),i(await o.get(`/projects/${e}/files/content?${r.toString()}`,{showErrors:!1}))}async function ni(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",c=await oe(),u=`${E().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!p.ok){let g=await p.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function ri(e){return i(await o.get(`/projects/${e}/branches`))}async function si(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return i(await o.get(`/projects/${e}/commits${r}`))}async function oi(e,t){return i(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function ii(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return i(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function ai(e,t,n){let r=new URLSearchParams({path:t});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),i(await o.get(`/projects/${e}/files/history?${r.toString()}`))}async function ci(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return i(await o.get(`/projects/${e}/version-diff?${n.toString()}`))}async function li(e,t){let n=t?`?status=${t}`:"";return i(await o.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function ui(e,t){return i(await o.get(`/projects/${e}/change-requests/${t}`))}async function pi(e,t){return i(await o.get(`/projects/${e}/change-requests/${t}/diff`))}async function di(e,t){return i(await o.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function gi(e,t){return i(await o.post(`/projects/${e}/change-requests`,t))}async function mi(e,t,n){return i(await o.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function fi(e,t){return i(await o.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function yi(e,t){return i(await o.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function hi(e,t,n){return i(await o.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function bi(e,t,n){return i(await o.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var xi=new Set;function nt(e){e&&xi.add(e)}function Pi(e){return!!e&&xi.has(e)}function vg(e){e&&xi.delete(e)}async function De(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope);let r=n.size>0?`?${n}`:"";return i(await o.get(`/projects/${e}/sessions${r}`))}async function _i(e,t,n){return i(await o.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function ki(e,t){return i(await o.get(`/projects/${e}/sessions/${t}/previews`))}async function wi(e,t){return i(await o.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Si(e,t,n){return i(await o.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function vi(e,t,n){return i(await o.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function Me(e,t){let n=i(await o.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||nt(n?.session_id),n}async function Ci(e){let t=i(await o.post(`/projects/${e}/sessions/warm`,{}));return nt(t.session.session_id),t}async function Ri(e,t){let n=i(await o.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return nt(n.session_id),n}async function Gt(e,t,n){return i(await o.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function Ti(e,t,n,r){let s=n?`?limit=${n}`:"";return i(await o.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function Ii(e,t,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return i(await o.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Ai(e,t,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return i(await o.get(`/projects/${e}/sessions/${t}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function ji(e,t,n){return i(await o.patch(`/projects/${e}/sessions/${t}`,n))}async function Ei(e,t){return i(await o.delete(`/projects/${e}/sessions/${t}`))}async function rt(e,t){return i(await o.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function st(e,t){return i(await o.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function $i(e,t){return i(await o.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}async function qi(e,t,n={}){return i(await o.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function Di(e,t){return i(await o.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function Mi(e,t,n){return i(await o.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function Ui(e,t,n){return i(await o.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function Oi(e){return i(await o.get(`/projects/${e}/triggers`))}async function Li(e,t){return i(await o.post(`/projects/${e}/triggers`,t))}async function Fi(e,t,n){return i(await o.patch(`/projects/${e}/triggers/${t}`,n))}async function Gi(e,t){return i(await o.delete(`/projects/${e}/triggers/${t}`))}async function Bi(e,t){return i(await o.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Ki(e,t){return i(await o.post(`/projects/${e}/triggers/${t}/fire`,{}))}var ce=new Map;function Ni(e,t){return`${e}::${t}`}function Cl(e,t){ce.delete(e),ce.set(e,t)}function Rl(e,t){let n=Ni(e,t),r=ce.get(n);return r&&Cl(n,r),r}function Tl(e,t,n){let r=Ni(e,t);if(!ce.has(r)&&ce.size>=512){let s=ce.keys().next().value;s!==void 0&&ce.delete(s)}Cl(r,n)}function Il(e,t){ce.delete(Ni(e,t))}function Cg(e){if(e.status!=="running"||!e.sandbox_id||!e.sandbox_provider||!e.sandbox_url||!e.opencode_session_id)return null;let t=e.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return t?{stage:"ready",agent_name:e.agent_name??"default",retriable:!0,sandbox:{sandbox_id:e.sandbox_id,session_id:e.session_id,project_id:e.project_id,account_id:e.account_id,provider:e.sandbox_provider,external_id:t,base_url:e.sandbox_url,status:"active",config:{},metadata:e.metadata,last_used_at:e.updated_at,created_at:e.created_at,updated_at:e.updated_at},opencode_session_id:e.opencode_session_id,runtime_url:e.sandbox_url}:null}var Bt=class extends Error{status;code;terminal;constructor(t,n){super(t),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function Rg(e){return e instanceof Error&&e.name==="SessionStartError"}function Tg(e){let t=e,n=t?.status,r=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Bt(s,{status:n,code:r,terminal:!0}):null}async function _e(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await o.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=Tg(s.error);if(p&&!(p.status===404&&Pi(t)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&Tl(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:wt(u),sandboxId:u}),c}function Ig(e,t){return["session-start",e,t]}async function Hi(e){return i(await o.get(`/projects/${e}/model-defaults`))}async function Wi(e,t){return i(await o.put(`/projects/${e}/model-defaults`,t))}async function zi(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return i(await o.delete(`/projects/${e}/model-defaults?${n}`))}async function Ag(e,t){return i(await o.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function Vi(e,t,n){let r=Eg(n);return i(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function Al(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function jg(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Eg(e){let t=e.connectors_required?Al(e.connectors_required):void 0,n=e.connectors_personal?Al(e.connectors_personal):void 0;if(t&&n&&!jg(t,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...e};return delete r.connectors_personal,(t!==void 0||n!==void 0)&&(r.connectors_required=t??n),r}async function $g(e,t){let n=i(await o.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?Ji(n.block):null}}async function qg(e,t,n){let r=Ji(n),s=i(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?Ji(s.block):null}}function jl(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Dg(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Ji(e){let t=e.connectors_required?jl(e.connectors_required):void 0,n=e.connectors_personal?jl(e.connectors_personal):void 0;if(t&&n&&!Dg(t,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...e};return delete r.connectors_personal,(t!==void 0||n!==void 0)&&(r.connectors_required=t??n),r}async function Xi(e,t){return i(await o.put(`/projects/${e}/default-agent`,{agent:t}))}function Qi(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function Yi(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Qi():s.data}async function Zi(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Qi():s.data}async function ea(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return i(await o.get(`/billing/transactions${n?`?${n}`:""}`))}async function ta(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return i(await o.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function na(){return i(await o.get("/billing/credit-breakdown"))}async function ra(e){let t=e!=null?`?days=${e}`:"";return i(await o.get(`/billing/usage-history${t}`))}async function sa(){return i(await o.get("/billing/tier-configurations"))}async function Mg(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return qe(e,`/v1/billing/account-state${t}`)}async function oa(e){return i(await o.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function ia(e,t){return i(await o.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function aa(e,t){return i(await o.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function ca(e,t){return i(await o.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function la(e){return i(await o.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function ua(e,t,n){return i(await o.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function pa(e){return i(await o.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function da(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),i(await o.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function ga(e){return i(await o.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function ma(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return i(await o.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function fa(e){return i(await o.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function Ug(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return i(await o.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Og(e){return i(await o.post("/billing/create-per-seat-checkout",{account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl,locale:e.locale}),"Failed to create per-seat checkout")}async function Lg(e){return i(await o.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function Fg(e){return i(await o.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function ya(e={}){let t=new URLSearchParams;e.start&&t.set("start",e.start),e.end&&t.set("end",e.end),(e.groupBy==="model"||e.groupBy==="provider"||e.groupBy==="day")&&t.set("group_by",e.groupBy),e.accountId&&t.set("account_id",e.accountId);let n=t.toString();return i(await o.get(`/usage${n?`?${n}`:""}`))}function ba(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function Kt(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function Nt(e){return e.size>0?`?${e}`:""}async function xa(e={}){let t=new URLSearchParams;return ba(t,e),e.ownerId&&t.set("owner_id",e.ownerId),Kt(t,e),e.sort&&t.set("sort",e.sort),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset)),i(await o.get(`/usage/session-costs${Nt(t)}`))}async function Ht(e,t={}){let n=new URLSearchParams;return ba(n,t),i(await o.get(`/usage/session-costs/${encodeURIComponent(e)}${Nt(n)}`))}async function Gg(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),Kt(t,e),e.sort&&t.set("sort",e.sort),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset)),i(await o.get(`/usage/cost-by-project${Nt(t)}`))}async function Bg(e={}){let t=new URLSearchParams;return ba(t,e),e.sessionId&&t.set("session_id",e.sessionId),Kt(t,e),i(await o.get(`/usage/cost-summary${Nt(t)}`))}function ha(e,t={}){let n=new URLSearchParams;if(t.accountId&&n.set("account_id",t.accountId),e==="sessions"){let s=t;s.projectId&&n.set("project_id",s.projectId),s.ownerId&&n.set("owner_id",s.ownerId)}Kt(n,t),t.sort&&n.set("sort",t.sort),n.set("format","csv");let r=e==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${E().backendUrl||""}${r}?${n}`}async function Kg(e,t={}){let n=ha(e==="projects"?"projects":"sessions",t),r=await oe(),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 El(e,t){return i(await o.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function Ng(e){return El("slack",e)}function Hg(e){return El("teams",e)}async function Pa(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function _a(e,t){return i(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Wg={oauth_available:!1,install_url:null};async function ka(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Wg:t.data}async function wa(e){return i(await o.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Sa(e){let t=await o.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function va(e,t){return i(await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Ca(e,t){return i(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Ra(e){let t=e.connectionId??e.connection_id??null,n=e.connectorSlug??e.connector_slug??e.connectionSlug??e.connection_slug??"kortix_email";return{...e,connectionId:t,connectorSlug:n}}var zg={provider:"agentmail",managed_available:!1};async function Ta(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Ra(r.data):null}async function Ia(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?zg:t.data}async function Aa(e,t){let n=i(await o.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Ra(n)}async function ja(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function Ea(e,t,n){let r=i(await o.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Ra(r)}async function $a(e,t){return i(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function Vg(e){return i(await o.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Jg(e,t,n){return i(await o.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function qa(e){return i(await o.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Da(e,t){return i(await o.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Ma(e){return i(await o.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Ua(e,t){return i(await o.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Oa(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return i(await o.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function La(e,t){return i(await o.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Fa(e,t){return i(await o.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ga(e,t){return i(await o.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ba(e,t){return i(await o.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ka(e,t){return i(await o.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Na(e,t){return i(await o.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ha(e){return i(await o.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Wa(e,t){return i(await o.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function za(e,t){return i(await o.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Va(e){return i(await o.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Ja(e,t){return i(await o.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Xa(e,t){return i(await o.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Qa(e,t,n,r,s){return i(await o.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function Xg(e,t){return i(await o.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Ya(e){let t=new FormData;t.append("audio_file",e);let n=await o.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function Qg(){return i(await o.get("/referrals/code"),"GET_CODE_FAILED")}async function Yg(){return i(await o.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function Zg(e){return i(await o.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function em(){return i(await o.get("/referrals/stats"),"GET_STATS_FAILED")}async function tm(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return i(await o.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function nm(e){return i(await o.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function P(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function O(e){return o.get(e,{showErrors:!1})}async function rm(e){return P(await O(`/accounts/${e}/iam/groups`)).groups}async function sm(e,t){return P(await O(`/accounts/${e}/iam/groups/${t}`))}async function om(e,t){return P(await o.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function im(e,t,n){return P(await o.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function am(e,t){return P(await o.delete(`/accounts/${e}/iam/groups/${t}`))}async function cm(e,t){return P(await O(`/accounts/${e}/iam/groups/${t}/members`)).members}async function lm(e,t,n){return P(await o.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function um(e,t){return P(await O(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function pm(e,t,n){return P(await o.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function dm(e,t){return P(await O(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function gm(e,t){return P(await O(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function mm(e,t={}){let n=new URLSearchParams;t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.scopeType&&n.set("scopeType",t.scopeType),t.scopeId!==void 0&&n.set("scopeId",t.scopeId===null?"null":t.scopeId);let r=n.toString();return P(await O(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function fm(e,t){return P(await o.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function ym(e,t,n){return P(await o.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function hm(e,t){return P(await o.delete(`/accounts/${e}/iam/policies/${t}`))}async function bm(e,t){return P(await o.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function xm(e,t){return P(await o.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function Pm(e){return P(await O(`/accounts/${e}/iam/roles`)).roles}async function _m(e){return P(await O(`/accounts/${e}/iam/agent-identities`)).agents}async function km(e,t){return P(await O(`/accounts/${e}/iam/roles/${t}/permissions`))}async function wm(e){return P(await O(`/accounts/${e}/iam/actions`)).actions}async function Sm(e,t){return P(await O(`/accounts/${e}/iam/roles/${t}/usage`))}async function vm(e,t){return P(await o.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function Cm(e,t,n){return P(await o.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function Rm(e,t,n){return P(await o.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function Tm(e,t){return P(await o.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function Im(e,t,n){return P(await o.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function Am(e){return P(await O(`/accounts/${e}/iam/scim/tokens`)).tokens}async function jm(e,t){return P(await o.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function Em(e,t){return P(await o.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function $m(e){return P(await O(`/accounts/${e}/iam/mfa-required`))}async function qm(e){return P(await O(`/accounts/${e}/iam/mfa-required/preview`))}async function Dm(e,t){return P(await o.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function Mm(e){return P(await O(`/accounts/${e}/iam/sso/provider`)).provider}async function Um(e,t){return P(await o.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Om(e,t){return P(await o.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function Lm(e){return P(await o.delete(`/accounts/${e}/iam/sso/provider`))}async function Fm(e){return P(await O(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Gm(e,t){return P(await o.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function Bm(e,t){return P(await o.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Km(e){return P(await O(`/accounts/${e}/iam/session-policy`))}async function Nm(e,t){return P(await o.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Hm(e){return P(await O(`/accounts/${e}/iam/sessions`)).sessions}async function Wm(e,t){return P(await o.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function zm(e){return P(await O(`/accounts/${e}/iam/pat-policy`))}async function Vm(e,t){return P(await o.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Jm(e){return P(await O(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function Xm(e,t){return P(await o.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Qm(e,t){return P(await o.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Ym(e,t){return P(await o.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Zm(e){return P(await O(`/accounts/${e}/audit/webhooks`)).webhooks}async function ef(e,t){return P(await o.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function tf(e,t,n){return P(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function nf(e,t){return P(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function rf(e,t={}){let n=new URLSearchParams;t.action&&n.set("action",t.action),t.actor&&n.set("actor",t.actor),t.project_id&&n.set("project_id",t.project_id),t.session_id&&n.set("session_id",t.session_id),t.actor_type&&n.set("actor_type",t.actor_type),t.source&&n.set("source",t.source),t.outcome&&n.set("outcome",t.outcome),t.request_id&&n.set("request_id",t.request_id),t.correlation_id&&n.set("correlation_id",t.correlation_id),t.resource_type&&n.set("resource_type",t.resource_type),t.since&&n.set("since",t.since),t.until&&n.set("until",t.until),t.q&&n.set("q",t.q),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString();return P(await O(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function sf(e,t,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),P(await O(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function of(e,t,n){return n.length===0?[]:P(await o.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function af(e){return P(await O(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function cf(e,t){return P(await o.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function lf(){let e=await o.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:i(e,"Failed to load account deletion status")}async function uf(e="User requested deletion"){return i(await o.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function pf(){return i(await o.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function df(){return i(await o.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function gf(){return(await o.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function mf(){return o.get("/admin/api/provider-distribution").then(e=>i(e))}function ff(e=300){return o.get(`/admin/api/sandboxes?limit=${e}`).then(t=>i(t))}function yf(e){return o.put("/admin/api/provider-distribution",e).then(t=>i(t))}function hf(e){return o.get(`/admin/api/provider-analytics?days=${e}`).then(t=>i(t))}function bf(e,t){return o.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>i(n))}function xf(){return o.get("/admin/api/provider-fallback").then(e=>i(e))}function Pf(e){return o.put("/admin/api/provider-fallback",{enabled:e}).then(t=>i(t))}async function _f(e){return i(await o.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function kf(e,t){return i(await o.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:e,sandbox_url:t},{timeout:18e4}),"Failed to upload to Google Slides")}async function Za(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return i(await o.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function ec(e,t){return i(await o.get(`/projects/${e}/review/items/${t}`))}async function tc(e,t){return i(await o.post(`/projects/${e}/review/items`,t))}async function nc(e,t,n){return i(await o.post(`/projects/${e}/review/items/${t}/act`,n))}async function rc(e,t){return i(await o.post(`/projects/${e}/review/bulk`,t))}async function sc(e){return i(await o.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function oc(e){return i(await o.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function ic(e,t){let n=await o.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Wt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function $l(e,t=""){return`${me()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function ql(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Wt(s,t.status)}return r}async function wf(e){return ql($l(e))}async function Sf(e){return ql($l(e,"/messages"))}var zt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function Dl(e){return`${me()}/public/voice-join/${encodeURIComponent(e)}`}async function Ml(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new zt(s,t.status)}return r}async function vf(e){return Ml(Dl(e))}async function Cf(e,t=0){let n=`${Dl(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return Ml(n)}async function ac(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return i(await o.get(`/accounts/tokens${t}`))}async function cc(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return i(await o.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function lc(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return i(await o.delete(`/accounts/tokens/${e}${n}`))}async function uc(e){return i(await o.get(`/projects/${e}/cli-token`))}async function pc(e,t){return i(await o.post(`/projects/${e}/cli-token`,t??{}))}async function dc(e,t){return i(await o.delete(`/projects/${e}/cli-token/${t}`))}async function gc(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return i(await o.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function mc(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q);let r=n.toString();return i(await o.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function fc(e){return i(await o.get(`/accounts/${e}/audit/webhooks`))}async function yc(e,t){return i(await o.post(`/accounts/${e}/audit/webhooks`,t))}async function hc(e,t,n){return i(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function bc(e,t){return i(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function xc(e,t){return i(await o.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function Pc(e,t){return i(await o.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function Rf(e){return i(await o.get(`/approval-links/${e}`),"Failed to load approval")}async function _c(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString()?`?${t.toString()}`:"";return i(await o.get(`/marketplace/items${n}`))}async function kc(){return i(await o.get("/marketplace/marketplaces"))}async function wc(){return i(await o.get("/marketplace/marketplaces/featured"))}async function Sc(e){return i(await o.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function vc(e,t){return i(await o.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function Cc(){return i(await o.get("/marketplace/sources"))}async function Rc(e){return i(await o.post("/marketplace/sources",e),"Failed to add marketplace source")}async function Tc(e){return i(await o.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function Tf(e,t){return i(await o.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function If(e){return i(await o.get(`/templates/${encodeURIComponent(e)}`))}async function Af(e,t){return i(await o.post(`/templates/${encodeURIComponent(e)}/install`,t))}function jf(e){return e?e.runtimeReady!==void 0?e.runtimeReady===!0:e.opencode!==void 0?e.opencode==="ok"||e.opencode===!0:e.status!=="starting"&&e.status!=="down"&&e.status!=="error":!1}async function Ic(e,t){let n=(e===void 0?F():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await $(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var te={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var Ul=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Ol=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Ll=new Set([22,4096,parseInt(te.KORTIX_MASTER,10)]);function Ef(e){return Ol.test(e)}function Vt(e){if(!e)return"/";let t=e,n=t.indexOf("](");n!==-1&&(t=t.slice(0,n));let r=t.toLowerCase().indexOf("%5d(");return r!==-1&&(t=t.slice(0,r)),t?t.startsWith("/")?t:`/${t}`:"/"}function $f(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var qf=new Set(["'",'"',"`","<","(","["]),Df=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Mf(e){let t=0,n=e.length;for(;t<n&&(e[t]===" "||e[t]===" ");)t++;for(;n>t&&(e[n-1]===" "||e[n-1]===" ");)n--;for(;t<n&&qf.has(e[t]);)t++;for(;n>t&&Df.has(e[n-1]);)n--;return e.slice(t,n)}function Uf(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Of=/^\/proxy\/(\d{1,5})(\/.*)?$/,Lf=/^\/(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 Fl(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Lf.test(t.pathname)}catch{return!1}}function it(e){if(!e)return null;let t=Mf($f(e.trim())),n=jc(t);if(n){let r=Vt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(te.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(Of);if(g){let f=parseInt(g[1],10);if(f>=1&&f<=65535)return s=f,c=Vt(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let p=Vt(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Uf(e);return r&&r!==e?it(r):null}}function Ff(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let c=r.index,u=c+r[0].length;t.some(([g,f])=>c>=g&&u<=f)||t.push([c,u])}return t}function Gf(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Gl(e){let t=[],n=new Set,r=Ff(e);Ul.lastIndex=0;let s;for(;(s=Ul.exec(e))!==null;){let c=it(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||Ll.has(p)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:p,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Gf(s.index,r)}))}return t}function Bf(e){return Gl(e).length>0}function Kf(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Bl(e){return e.sandboxId.trim().length>0}function le(e,t,n){let r=Vt(t);if(!Bl(n))return Wl(e,r);if(!Kf(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${e}${r}`}return`http://p${e}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function Nf(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return le(3211,`/open?path=/workspace/${r}`,t)}function Kl(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Hf(e){return`http://localhost:3211${Kl(e)}`}function Nl(){return"/health"}function Wf(e){return le(3211,Nl(),e)}function zf(e,t){return le(e,"/",t)}function Hl(e){let t=it(e);return!(!t||Ll.has(t.port)||Fl(e))}function Ac(e,t){if(!e)return e;let n=it(e);return n?Hl(n.originalUrl)?le(n.port,n.path,t):n.originalUrl:e}function Wl(e,t="/"){return`http://localhost:${e}${t}`}var zl=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function jc(e){let t=e.match(Ol);if(t)return{port:parseInt(t[1],10),sandboxId:t[2],backendPort:t[3]?parseInt(t[3],10):80,path:t[4]||"/"};let n=e.match(zl);if(n)try{let r=new URL(e);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function Vf(e){try{let t=jc(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function Jf(e){return Ef(e)||zl.test(e)}function Xf(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var ot="/web-proxy/";function Qf(e,t){try{let n=new URL(e);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(te.KORTIX_MASTER,10);return`${le(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Yf(e){try{let t=new URL(e),n=t.pathname.indexOf(ot);if(n===-1)return null;let s=t.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}${t.search}${t.hash}`}catch{return null}}function Zf(e){try{return new URL(e).pathname.includes(ot)}catch{return e.includes(ot)}}function ey(e){if(!e)return!1;let t=e.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(t)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t))}function ty(e){let t=e.trim();return t?/^https?:\/\//i.test(t)?t:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t)?`https://${t}`:null:null}var Vl="frontend";function Jt(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Vl}] ${t}`,...n?[n]:[]);try{ie().app.log({service:Vl,level:e,message:t,extra:n})}catch{}}var ue={debug:(e,t)=>Jt("debug",e,t),info:(e,t)=>Jt("info",e,t),warn:(e,t)=>Jt("warn",e,t),error:(e,t)=>Jt("error",e,t)};function Jl(e){return{type:"heartbeat-gap",gapMs:e}}function Xl(e){switch(e.type){case"message.updated":return{type:"message.updated",sessionID:e.properties.sessionID,message:e.properties.info};case"message.removed":return{type:"message.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:e.properties.sessionID,part:e.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID,partID:e.properties.partID};case"session.status":return{type:"session.status",sessionID:e.properties.sessionID,status:e.properties.status};case"session.idle":return{type:"session.idle",sessionID:e.properties.sessionID};case"session.error":return{type:"session.error",sessionID:e.properties.sessionID,error:e.properties.error};case"question.asked":return{type:"question.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,questions:e.properties.questions,tool:e.properties.tool};case"question.replied":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"replied",answers:e.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,permission:e.properties.permission,patterns:e.properties.patterns,tool:e.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:e.properties.sessionID,requestID:e.properties.requestID,reply:e.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:e.properties.sessionID,todos:e.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var ny={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},ry=16,sy=8,oy=6e4,iy=5e3,ay=250,cy=1e3,ly=3e4,uy=5,py=3e3,dy=3e4,gy=2e4,my=2e3,fy=8;function yy(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Ql(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function Xt(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??ny,p=e.connectTimeoutMs??gy,g=e.heartbeatTimeoutMs??oy,f=e.maxConsecutiveHardFailures??fy,m=new AbortController,x=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",x,{once:!0}));let _=u.now(),j=[],q,l=0,h=new Map,a=()=>{if(q&&u.clearTimeout(q),q=void 0,j.length===0)return;let I=j;j=[],h.clear(),l=u.now(),_=u.now();for(let C of I)if(C)try{n(C.event)}catch(k){console.warn("[opencode-events] event handler threw, skipping",k)}},R=()=>{if(q)return;let I=u.now()-l;q=u.setTimeout(a,Math.max(0,ry-I))};return(async()=>{let I=0,C=0;for(;!m.signal.aborted;){let k=!1,A=!1,S,L,K=null,y=u.now(),v=new AbortController,M=Ql(m.signal);M.promise.then(()=>v.abort());try{let D=await new Promise((an,Le)=>{let X=!1;L=u.setTimeout(()=>{X||(X=!0,ue.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),v.abort(),Le(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:v.signal,sseDefaultRetryDelay:py,sseMaxRetryDelay:dy,sseMaxRetryAttempts:1}).then(Z=>{X||(X=!0,u.clearTimeout(L),an(Z))},Z=>{X||(X=!0,u.clearTimeout(L),Le(Z))})}),{stream:U}=D;_=u.now();let H=()=>{u.clearTimeout(S),S=u.setTimeout(()=>{ue.warn("SSE heartbeat timeout, forcing reconnect"),v.abort()},g)};H();let we=u.now(),Nu=U[Symbol.asyncIterator]();for(;!v.signal.aborted;){let an=Nu.next().then(se=>({kind:"next",result:se}),se=>({kind:"error",error:se})),Le=Ql(v.signal),X=await Promise.race([an,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,mt=Z&&typeof Z=="object"&&"payload"in Z?Z.payload:Z;if(!mt?.type)continue;let cn=yy(mt);if(cn){let se=h.get(cn);se!==void 0&&(j[se]=void 0),h.set(cn,j.length)}j.push({type:mt.type,event:mt}),R(),!(u.now()-we<sy)&&(we=u.now(),await new Promise(se=>u.setTimeout(se,0)))}A=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(ue.error("SSE event stream error",{error:U,retryCount:I,isAuthError:H}),H)try{Ke(),await kt(),ue.info("SSE: refreshed auth token after auth error")}catch(we){ue.error("SSE: failed to refresh auth token",{error:String(we)})}}finally{u.clearTimeout(S),u.clearTimeout(L),v.abort(),M.cleanup(),a()}if(m.signal.aborted)break;let z=u.now()-y,V=K?.cause?.status;if(C=!k&&(typeof V=="number"&&V>=400||z<my)?C+1:0,C>=f){ue.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:C,lastError:String(K)});try{s?.({consecutiveFailures:C,lastError:K})}catch(D){console.warn("[opencode-events] onParked handler threw",D)}break}let Q=u.now()-_;Q>iy&&r?.(Q),A?I=0:(I++,I>1&&ue.warn("SSE event stream reconnecting",{retryCount:I}));let N=A?ay:Math.min(cy*2**Math.min(I-1,uy),ly);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",x),q&&u.clearTimeout(q)}}}function hy(){return ie()}var Qt=new Map,at=class extends Error{constructor(t){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${t}\`.`),this.name="SessionNotReadyError"}};function Yl(e,t){yt(e,t);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new T(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let h=E().backendUrl??e.backendUrl,a=80,R=n(h);return R&&(a=R.port?Number(R.port):R.protocol==="https:"?443:80),{sandboxId:l,backendPort:a,apiBaseUrl:h}}let s={list:Qr,get:Zr,create:Yr,updateName:es,leave:ps,members:ts,invite:ns,removeMember:ls,updateMemberRole:us,invites:rs,cancelInvite:ss,resendInvite:os,tokens:{list:ac,create:cc,revoke:lc},audit:{log:gc,export:mc,webhooks:{list:fc,create:yc,update:hc,remove:bc}}},c={accountState:Yi,accountStateMinimal:Zi,transactions:ea,transactionsSummary:ta,creditBreakdown:na,usageHistory:ra,usageRollup:ya,sessionCosts:{list:xa,get:Ht},tierConfigurations:sa,checkout:{createSession:l=>oa(l),confirmSession:(l,h)=>ia(l,h)},subscription:{createPortalSession:(l,h)=>aa(l,h),cancel:(l,h)=>ca(l,h),reactivate:l=>la(l),scheduleDowngrade:(l,h,a)=>ua(l,h,a),cancelScheduledChange:l=>pa(l),prorationPreview:(l,h)=>da(l,h)},credits:{purchase:l=>ga(l),autoTopupSettings:l=>ma(l),configureAutoTopup:l=>fa(l)}},u={describe:is,accept:as,decline:cs},p={list:xe,listForAccount:gs,get:jt,detail:Et,create:hs,createRepo:bs,provision:xs,update:Dt,archive:Mt,llmCatalog:$t,modelPicker:qt,sandboxHealth:Ft,sandboxTemplates:No,sessions:De,createSession:Me},g={linkRepository:ws,getInstallation:Ss,listInstallations:vs,listLinkableInstallations:Cs,listRepositories:Rs,listRepositoryBranches:Ts,linkInstallation:As,saveInstallation:Is,deleteInstallation:js},f={list:sc,create:oc,revoke:ic},m=Lo,x={items:l=>_c(l),item:l=>Sc(l),itemFile:(l,h)=>vc(l,h),marketplaces:()=>kc(),featured:()=>wc(),sources:{list:()=>Cc(),add:l=>Rc(l),remove:l=>Tc(l)}};function _(l){return{catalog:()=>Ut(l),tools:()=>tt(l),search:(...h)=>uo(l,...h),describe:(...h)=>po(l,...h),call:(...h)=>go(l,...h),uploadAttachment:(...h)=>mo(l,...h)}}function j(l){let h={list:()=>fo(l),listAll:()=>yo(l),reconcile:(...a)=>ho(l,...a),reconcileMember:(...a)=>bo(l,...a),updateCredential:(...a)=>xo(l,...a),revoke:(...a)=>Po(l,...a),activate:(...a)=>_o(l,...a),setDefault:(...a)=>ko(l,...a),pipedreamConnect:(...a)=>wo(l,...a),pipedreamFinalize:(...a)=>So(l,...a)};return{get:a=>jt(l,a),detail:()=>Et(l),update:a=>Dt(l,a),archive:()=>Mt(l),llmCatalog:()=>$t(l),modelPicker:()=>qt(l),sandboxHealth:()=>Ft(l),onboardingComplete:(...a)=>ks(l,...a),tokens:{list:()=>uc(l),create:a=>pc(l,a),revoke:a=>dc(l,a)},setupLinks:{requestSecret:a=>xc(l,a),requestConnector:a=>Pc(l,a)},validateManifest:a=>fs(l,a),gitToken:()=>ys(l),secrets:{list:()=>Ys(l),upsert:a=>Zs(l,a),setStrategy:(...a)=>eo(l,...a),broker:(...a)=>to(l,...a),remove:a=>io(l,a),setPersonal:(...a)=>ao(l,...a),removePersonal:a=>co(l,a),setGitCredential:a=>oo(l,a),startProviderOAuth:(...a)=>no(l,...a),pollProviderOAuth:(...a)=>ro(l,...a),removeProviderOAuth:a=>so(l,a)},access:{list:()=>Ds(l),invite:(...a)=>Os(l,...a),update:(...a)=>Ms(l,...a),revoke:a=>Us(l,a),pendingInvites:()=>Ls(l),resendInvite:(...a)=>Gs(l,...a),revokeInvite:(...a)=>Fs(l,...a),requests:()=>Es(l),approveRequest:(...a)=>$s(l,...a),rejectRequest:(...a)=>qs(l,...a),groupGrants:()=>Bs(l),attachGroupGrant:(...a)=>Ks(l,...a),updateGroupGrant:(...a)=>Ns(l,...a),detachGroupGrant:a=>Hs(l,a),resourceGrants:{list:()=>Ws(l),create:a=>zs(l,a),remove:a=>Vs(l,a)}},connectors:{..._(l),list:()=>vo(l),config:(...a)=>Eo(l,...a),create:(...a)=>Do(l,...a),remove:(...a)=>Uo(l,...a),sync:()=>Co(l),auth:{discover:(...a)=>Mo(l,...a)},setName:(...a)=>$o(l,...a),setCredentialMode:(...a)=>Ro(l,...a),setAuthorizationStrategy:(...a)=>To(l,...a),setCredential:(...a)=>Fo(l,...a),setSensitive:(...a)=>Io(l,...a),connections:h,policies:{get:(...a)=>Ao(l,...a),set:(...a)=>jo(l,...a)},pipedream:{listApps:(...a)=>Oo(l,...a),connect:(...a)=>qo(l,...a),finalize:(...a)=>Go(l,...a)},discover:{list:(...a)=>Ot(l,...a),detail:(...a)=>Lt(l,...a)}},policies:{list:()=>Bo(l),set:(...a)=>Ko(l,...a)},triggers:{list:()=>Oi(l),create:(...a)=>Li(l,...a),update:(...a)=>Fi(l,...a),remove:(...a)=>Gi(l,...a),fire:(...a)=>Ki(l,...a),setActivation:(...a)=>Bi(l,...a)},files:{list:a=>Zo(l,a),read:(a,R)=>ti(l,a,R),search:(...a)=>ei(l,...a),archive:(...a)=>ni(l,...a),history:(...a)=>ai(l,...a)},git:{commits:()=>si(l),commit:a=>oi(l,a),commitDiff:a=>ii(l,a),branches:()=>ri(l),versionDiff:(...a)=>ci(l,...a),inviteCollaborator:(...a)=>ms(l,...a)},changeRequests:{list:()=>li(l),get:a=>ui(l,a),diff:a=>pi(l,a),mergePreview:a=>di(l,a),open:(...a)=>gi(l,...a),merge:(...a)=>mi(l,...a),close:(...a)=>fi(l,...a),reopen:(...a)=>yi(l,...a),requestChanges:(...a)=>hi(l,...a)},sessions:{list:a=>De(l,a),create:a=>Me(l,a),ensureWarm:()=>Ci(l),claimWarm:a=>Ri(l,a)},review:{list:a=>Za(l,a),get:a=>ec(l,a),submit:a=>tc(l,a),act:(...a)=>nc(l,...a),bulkAct:a=>rc(l,a)},approvals:{list:a=>Js(l,a),resolve:(...a)=>Qs(l,...a),sessionsNeedingInput:a=>Xs(l,a)},gateway:{logs:a=>Oa(l,a),log:a=>La(l,a),overview:a=>Fa(l,a),series:a=>Ga(l,a),breakdown:a=>Ba(l,a),sessions:a=>Ka(l,a),errors:a=>Na(l,a),budgets:()=>Ha(l),setBudget:a=>Wa(l,a),deleteBudget:a=>za(l,a),keys:()=>Va(l),createKey:a=>Ja(l,a),revokeKey:a=>Xa(l,a),routing:{get:()=>qa(l),set:a=>Da(l,a),reset:()=>Ma(l),preview:a=>Ua(l,a)},playground:(a,R,I)=>Qa(l,a,R,I)},channels:{slack:{installation:()=>Pa(l),connect:a=>_a(l,a),mode:()=>ka(l),manifest:()=>wa(l),disconnect:()=>Sa(l),getFile:a=>va(l,a),uploadFile:a=>Ca(l,a)},email:{installation:a=>Ta(l,a),mode:()=>Ia(l),connect:a=>Aa(l,a),disconnect:a=>ja(l,a),updatePolicy:(...a)=>Ea(l,...a)},voice:{setBotName:a=>$a(l,a)}},updateExperimentalFeature:(...a)=>Ps(l,...a),modelDefaults:{get:()=>Hi(l),set:a=>Wi(l,a),clear:a=>zi(l,a)},setDefaultAgent:a=>Xi(l,a),sandbox:{list:()=>Yo(l),snapshots:()=>Ho(l),rebuildSnapshot:a=>Wo(l,a),fixWithAgent:()=>zo(l),createTemplate:a=>Vo(l,a),updateTemplate:(...a)=>Jo(l,...a),removeTemplate:a=>Xo(l,a),buildTemplate:a=>Qo(l,a),setProvider:a=>_s(l,a)},setAgentScope:(...a)=>Vi(l,...a),session:a=>q(l,a)}}function q(l,h){let a=null,R,I,C=null;async function k(){C||(C=Gt(l,h,{showErrors:!1}).then(y=>{let v=typeof y.metadata?.opencode_model=="string"?y.metadata.opencode_model.trim():"",M=v.indexOf("/"),z=M>0&&M<v.length-1?{providerID:v.slice(0,M),modelID:v.slice(M+1)}:void 0,V=y.agent_name?.trim()||void 0;return{model:z,agent:V}}));try{return await C}catch(y){throw C=null,y}}function A(){if(a)return a;let y=Rl(l,h);return y&&(a=y),a}async function S(y){let v=A();if(v)return v;let M=y?.readyTimeoutMs??18e4,z=`${l}
|
|
8
|
-
|
|
5
|
+
`);F=M.pop()??"";for(let z of M){let V=z.split(`
|
|
6
|
+
`),J=[],Q;for(let U of V)if(U.startsWith("data:"))J.push(U.replace(/^data:\s*/,""));else if(U.startsWith("event:"))Q=U.replace(/^event:\s*/,"");else if(U.startsWith("id:"))_=U.replace(/^id:\s*/,"");else if(U.startsWith("retry:")){let N=Number.parseInt(U.replace(/^retry:\s*/,""),10);Number.isNaN(N)||(l=N)}let H,D=!1;if(J.length){let U=J.join(`
|
|
7
|
+
`);try{H=JSON.parse(U),D=!0}catch{H=U}}D&&(s&&await s(H),r&&(H=await r(H))),n?.({data:H,event:Q,id:_,retry:l}),J.length&&(yield H)}}}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 Ap=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ip=t=>{switch(t){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},jp=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},bt=({allowReserved:t,explode:e,name:n,style:r,value:s})=>{if(!e){let p=(t?s:s.map(g=>encodeURIComponent(g))).join(Ip(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=Ap(r),u=s.map(p=>r==="label"||r==="simple"?t?p:encodeURIComponent(p):Re({allowReserved:t,name:n,value:p})).join(c);return r==="label"||r==="matrix"?c+u:u},Re=({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)}`},xt=({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=jp(r),p=Object.entries(s).map(([g,f])=>Re({allowReserved:t,name:r==="deepObject"?`${n}[${g}]`:g,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var Ep=/\{[^{}]+\}/g,$p=({path:t,url:e})=>{let n=e,r=e.match(Ep);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,bt({explode:c,name:u,style:p,value:g}));continue}if(typeof g=="object"){n=n.replace(s,xt({explode:c,name:u,style:p,value:g,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${Re({name:u,value:g})}`);continue}let f=encodeURIComponent(p==="label"?`.${g}`:g);n=n.replace(s,f)}return n},vl=({baseUrl:t,path:e,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(t??"")+c;e&&(u=$p({path:e,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function yn(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 Cl=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 hn={bodySerializer:t=>JSON.stringify(t,(e,n)=>typeof n=="bigint"?n.toString():n)};var Rl=({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=bt({allowReserved:p.allowReserved,explode:!0,name:c,style:"form",value:u,...p.array});g&&s.push(g)}else if(typeof u=="object"){let g=xt({allowReserved:p.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...p.object});g&&s.push(g)}else{let g=Re({allowReserved:p.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},Tl=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"}},qp=(t,e)=>e?!!(t.headers.has(e)||t.query?.[e]||t.headers.get("Cookie")?.includes(`${e}=`)):!1,Al=async({security:t,...e})=>{for(let n of t){if(qp(e,n.name))continue;let r=await Cl(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}}},bn=t=>vl({baseUrl:t.baseUrl,path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:Rl(t.querySerializer),url:t.url}),xn=(t,e)=>{let n={...t,...e};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=_t(t.headers,e.headers),n},Dp=t=>{let e=[];return t.forEach((n,r)=>{e.push([r,n])}),e},_t=(...t)=>{let e=new Headers;for(let n of t){if(!n)continue;let r=n instanceof Headers?Dp(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},Le=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}},Il=()=>({error:new Le,request:new Le,response:new Le}),Mp=Rl({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Up={"Content-Type":"application/json"},Ge=(t={})=>({...hn,headers:Up,parseAs:"auto",querySerializer:Mp,...t});var Be=(t={})=>{let e=xn(Ge(),t),n=()=>({...e}),r=f=>(e=xn(e,f),n()),s=Il(),c=async f=>{let m={...e,...f,fetch:f.fetch??e.fetch??globalThis.fetch,headers:_t(e.headers,f.headers),serializedBody:void 0};m.security&&await Al({...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 _=bn(m);return{opts:m,url:_}},u=async f=>{let{opts:m,url:_}=await c(f),x={redirect:"follow",...m,body:yn(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"?Tl(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 Sl({..._,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:yn(_),url:x})};return{buildUrl:bn,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 Op={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Fp=Object.entries(Op),jl=(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&&jl(n.args,e);return e},Lp=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=jl(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=Fp.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 Lp(n),n};var El=Be(Ge({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(e){this.client=e?.client??El}},_n=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)}},Pn=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}})}},kn=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})}},wn=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}})}},Sn=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})}},vn=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}})}},Cn=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})}},Rn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},Tn=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}})}},An=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},In=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 An({client:this.client})}},jn=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new wn({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Sn({client:this.client})}_console;get console(){return this._console??=new vn({client:this.client})}_session;get session(){return this._session??=new Cn({client:this.client})}_resource;get resource(){return this._resource??=new Rn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Tn({client:this.client})}_workspace;get workspace(){return this._workspace??=new In({client:this.client})}},En=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}})}},$n=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 En({client:this.client})}},qn=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})}},Dn=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})}},Mn=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})}},Un=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}})}},On=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})}},Fn=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})}},Ln=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})}},Gn=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})}},Bn=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})}},Kn=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 Bn({client:this.client})}},Hn=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})}},Nn=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})}},Wn=class extends b{status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},zn=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})}},Vn=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 zn({client:this.client})}},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:"/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})}},Xn=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})}},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:"/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})}},Yn=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}})}},Zn=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}})}},er=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 Zn({client:this.client})}},tr=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})}},nr=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}})}},rr=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}})}},sr=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 rr({client:this.client})}},ir=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}})}},or=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 ir({client:this.client})}},ar=class extends b{get(e){return(e?.client??this.client).get({url:"/api/health",...e})}},cr=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})}},lr=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})}},ur=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})}},pr=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}})}},dr=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})}},gr=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 ur({client:this.client})}_permission;get permission(){return this._permission??=new pr({client:this.client})}_question;get question(){return this._question??=new dr({client:this.client})}},mr=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})}},fr=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})}},yr=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}})}},hr=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}})}},br=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 yr({client:this.client})}_attempt;get attempt(){return this._attempt??=new hr({client:this.client})}},xr=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}})}},_r=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})}},Pr=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})}},kr=class extends b{_request;get request(){return this._request??=new _r({client:this.client})}_saved;get saved(){return this._saved??=new Pr({client:this.client})}},wr=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})}},Sr=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})}},vr=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})}},Cr=class extends b{subscribe(e){return(e?.client??this.client).sse.get({url:"/api/event",...e})}},Rr=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})}},Tr=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})}},Ar=class extends b{_request;get request(){return this._request??=new Tr({client:this.client})}},Ir=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},jr=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})}},Er=class extends b{_health;get health(){return this._health??=new ar({client:this.client})}_location;get location(){return this._location??=new cr({client:this.client})}_agent;get agent(){return this._agent??=new lr({client:this.client})}_session;get session(){return this._session??=new gr({client:this.client})}_model;get model(){return this._model??=new mr({client:this.client})}_provider;get provider(){return this._provider??=new fr({client:this.client})}_integration;get integration(){return this._integration??=new br({client:this.client})}_credential;get credential(){return this._credential??=new xr({client:this.client})}_permission;get permission(){return this._permission??=new kr({client:this.client})}_fs;get fs(){return this._fs??=new wr({client:this.client})}_command;get command(){return this._command??=new Sr({client:this.client})}_skill;get skill(){return this._skill??=new vr({client:this.client})}_event;get event(){return this._event??=new Cr({client:this.client})}_pty;get pty(){return this._pty??=new Rr({client:this.client})}_question;get question(){return this._question??=new Ar({client:this.client})}_reference;get reference(){return this._reference??=new Ir({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new jr({client:this.client})}},Pt=class t extends b{static __registry=new _n;constructor(e){super(e),t.__registry.set(this,e?.key)}_auth;get auth(){return this._auth??=new Pn({client:this.client})}_app;get app(){return this._app??=new kn({client:this.client})}_experimental;get experimental(){return this._experimental??=new jn({client:this.client})}_global;get global(){return this._global??=new $n({client:this.client})}_event;get event(){return this._event??=new qn({client:this.client})}_config;get config(){return this._config??=new Dn({client:this.client})}_tool;get tool(){return this._tool??=new Mn({client:this.client})}_worktree;get worktree(){return this._worktree??=new Un({client:this.client})}_find;get find(){return this._find??=new On({client:this.client})}_file;get file(){return this._file??=new Fn({client:this.client})}_instance;get instance(){return this._instance??=new Ln({client:this.client})}_path;get path(){return this._path??=new Gn({client:this.client})}_vcs;get vcs(){return this._vcs??=new Kn({client:this.client})}_command;get command(){return this._command??=new Hn({client:this.client})}_lsp;get lsp(){return this._lsp??=new Nn({client:this.client})}_formatter;get formatter(){return this._formatter??=new Wn({client:this.client})}_mcp;get mcp(){return this._mcp??=new Vn({client:this.client})}_project;get project(){return this._project??=new Jn({client:this.client})}_pty;get pty(){return this._pty??=new Xn({client:this.client})}_question;get question(){return this._question??=new Qn({client:this.client})}_permission;get permission(){return this._permission??=new Yn({client:this.client})}_provider;get provider(){return this._provider??=new er({client:this.client})}_session;get session(){return this._session??=new tr({client:this.client})}_part;get part(){return this._part??=new nr({client:this.client})}_sync;get sync(){return this._sync??=new sr({client:this.client})}_tui;get tui(){return this._tui??=new or({client:this.client})}_v2;get v2(){return this._v2??=new Er({client:this.client})}};function ql(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||$l(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 ${$l(n,e)}: ${s}`,{cause:{body:t,status:e?.status}})}function $l(t,e){let n=t?.method??"?",r=t?.url??"?",s=e?.status,c=e?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function Gp(t,e,n){if(t)return e&&(t===e||n&&t===n(e))?e:t}function Bp(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=Gp(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 $r(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=Be(t);return e.interceptors.request.use(n=>Bp(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(ql),new Pt({client:e})}var Kp=new Set(["api","cli","mobile","web"]);function kt(t){let e=t?.trim().toLowerCase();return e&&Kp.has(e)?e:null}function Hp(t){return new Promise(e=>setTimeout(e,t))}async function Dl(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 Hp(s)),u=await t(),u)return u;return u}var Np=3e4;function Wp(t){return(t instanceof Request?t.url:String(t)).includes("/global/event")}function qr(t,e,n=Np){let r=t instanceof Request?t.signal:e?.signal;if(Wp(t))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function Dr(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=kt(r);return c&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",c),s}function Ml(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function wt(){return E().getToken()}async function ee(t){return Dl(()=>E().getToken(),t,Ke)}function Ke(){}function zp(t){}function Vp(t){}async function me(){return wt()}async function Mr(t){return ee(t)}function Ul(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 Mr();if(!c)return Ml();let u=E().clientSource,p=Dr(t,e,c,u),g=s===void 0?qr(t,e):qr(t,e,s),f=await Ul(t,e,p,g);if(f.status===401&&r&&c){Ke();let m=await Mr({attempts:2,baseDelayMs:200});if(m&&m!==c){let _=Dr(t,e,m,u);return Ul(t,e,_,g)}}return f}var Te={url:null,sandboxId:null,dbSandboxId:null,version:0},Jp=new Set;function Ol(t,e=null,n=null){if(!(Te.url===t&&Te.sandboxId===e&&Te.dbSandboxId===n)){Te={url:t,sandboxId:e,dbSandboxId:n,version:Te.version+1};for(let r of Jp)r()}}function Fl(){return Te.url}function Xp(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function fe(){return Xp(E().backendUrl||"http://localhost:8008/v1")}function Ll(){let t=E().sandboxId;return t?`${fe()}/p/${t}/8000`:""}function Qp(t){return`${fe()}/p/${t}/8000`}function St(t){return Qp(t)}function L(){let t=Fl();return t||(E().billingEnabled??!1?"":Ll())}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"}},ae=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)}},vt="feature_disabled";function Gl(t){if(!(t instanceof R)||t.status!==403||t.code!==vt)return null;let e=t.details??t.data;return e&&typeof e=="object"?e:{}}function Ur(t){let e=Gl(t);return e?(typeof e.feature=="string"&&!t.feature&&(t.feature=e.feature),!0):!1}function Or(t){let e=Gl(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 ae(e,{message:r?.message||t.message||"Billing error",...r})}function Fr(t){return t instanceof ae}function Lr(t){if(!(t instanceof ae))return null;let e=t.detail?.message?.toLowerCase()||"";return e.includes("credit")||e.includes("balance")||e.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:t.detail?.message||"Please upgrade to continue."}}async function Gr(t,e){return(await t.json().catch(()=>({})))?.error||t.statusText||e}function Br(t){if(!t)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return t}async function Kr(t){let e=Br(t),n=await q(`${e}/env`);if(!n.ok)throw new Error(await Gr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Hr(t,e,n){let r=Br(t),s=await q(`${r}/env/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await Gr(s,"Failed to save secret"))}async function Nr(t,e){let n=Br(t),r=await q(`${n}/env/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Gr(r,"Failed to delete secret"))}var Bl={list:Kr,set:Hr,delete:Nr};async function Kl(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 Ct(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 Wr(t){let e=He(t),n=await q(`${e}/kortix/pty`);if(!n.ok)throw new Error(await Ct(n,"Failed to list terminals"));return n.json()}async function zr(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 Ct(r,"Failed to create terminal"));return r.json()}async function Vr(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 Ct(s,"Failed to update terminal"));return s.json()}async function Jr(t,e){let n=He(t),r=await q(`${n}/kortix/pty/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Ct(r,"Failed to remove terminal"))}async function Xr(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 Hl={list:Wr,create:zr,update:Vr,remove:Jr,webSocketUrl:Xr};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 Yp(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 Zp(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`)}async function ed(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/events`)}async function td(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/status`)}async function nd(t,e){return S(t,"/kortix/tasks",{method:"POST",body:JSON.stringify(e)})}async function rd(t,e,n){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function sd(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/start`,{method:"POST"})}async function id(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/approve`,{method:"POST"})}async function od(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"DELETE"})}async function ad(t,e){let n=e?`?project_id=${encodeURIComponent(e)}`:"";return S(t,`/kortix/tickets${n}`)}async function cd(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`)}async function ld(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/events`)}async function ud(t,e){return S(t,"/kortix/tickets",{method:"POST",body:JSON.stringify(e)})}async function pd(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function dd(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/status`,{method:"POST",body:JSON.stringify(n)})}async function gd(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function md(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function fd(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function yd(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"DELETE"})}async function hd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/columns`)}async function bd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function xd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/fields`)}async function _d(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Pd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/templates`)}async function kd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function wd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/pm-session`,{method:"POST"})}async function Sd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents`)}async function vd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Cd(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Rd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Td(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}/persona`)}async function Ad(t,e,n=200){return S(t,`/kortix/projects/${encodeURIComponent(e)}/activity?limit=${n}`)}async function Id(t){return S(t,"/kortix/projects")}async function jd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}`)}async function Ed(t,e){return S(t,`/kortix/projects/by-session/${encodeURIComponent(e)}`)}async function $d(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/sessions`)}async function qd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Dd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Md(t,e,n="all"){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones?status=${n}`)}async function Ud(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`)}async function Od(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/events`)}async function Fd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function Ld(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Gd(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function Bd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function Kd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Hd(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`)}async function Nd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}/events`)}async function Wd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function zd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`)}async function Vd(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var Jd=1e4,Xd={retryOnAuthError:!1};function Ae(t,e,n){return S(t,e,{signal:AbortSignal.timeout(Jd),...n},Xd)}async function Qd(t,e=!1){return(await Ae(t,`/kortix/services${e?"?all=true":""}`)).services??[]}async function Yd(t){return(await Ae(t,"/kortix/services/templates")).templates??[]}async function Zd(t,e){return(await Ae(t,`/kortix/services/${encodeURIComponent(e)}/logs`)).logs??[]}async function eg(t,e,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(e)}`:`/kortix/services/${encodeURIComponent(e)}/${n}`;return Ae(t,s,{method:r?"DELETE":"POST"})}async function tg(t,e){return Ae(t,`/kortix/services/reconcile${e?"?reload=true":""}`,{method:"POST"})}async function ng(t,e){return Ae(t,"/kortix/services/register",{method:"POST",body:JSON.stringify(e)})}var Rt=new Map,Tt=class extends Error{constructor(e="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(e),this.name="RuntimeNotReadyError"}};function ce(){let t=L();if(!t)throw new Tt;return te(t)}function te(t){if(!t)throw new Error("[opencode-sdk] getClientForUrl called without a url");let e=Rt.get(t);if(e)return e;if(!ht())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=$r({baseUrl:t,fetch:q});return Rt.set(t,n),n}function rg(t){Rt.delete(t)}function sg(){Rt.clear()}var At=new Map;function ig(t){if(!t)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let e=At.get(t);if(e)return e;let n=$r({baseUrl:t,fetch});return At.set(t,n),n}function og(t){At.delete(t)}function ag(){At.clear()}async function cg(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 lg(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 cg(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 Wl(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 Ie(t){let e=await t.text().catch(()=>""),n=null;try{n=JSON.parse(e)}catch{}return n?.error||e||t.statusText||`HTTP ${t.status}`}async function It(t,e=L()){let n=await q(`${e}${t}`);if(!n.ok)throw new R(await Ie(n),{status:n.status,response:n});return n.json()}var jt=["/workspace","/tmp","/home","/opt"],ug=jt.filter(t=>t!=="/workspace");function Yr(t){return jt.some(e=>t===e||t.startsWith(`${e}/`))}function Zr(t){return Yr(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(ug.some(n=>e===n||e.startsWith(`${n}/`)))return e;for(;e.startsWith("/");)e=e.slice(1);return e}var es=_e;async function We(t,e=L()){let n=_e(t)||".";return(await It(`/file?path=${encodeURIComponent(n)}`,e)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function je(t,e=L()){let n=_e(t),r=await q(`${e}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new R(await Ie(r),{status:r.status,response:r});return r.json()}async function pg(t,e,n=L()){let r=_e(t),s=await q(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new R(await Ie(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 Ee(t,e=L()){try{return await pg(t,void 0,e)}catch{}let n=await je(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 ze(t=L()){return It("/file/status",t)}async function Ve(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)),It(`/find/file?${r.toString()}`,n)}async function Je(t,e=L()){return(await It(`/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 Ne=[400,1200],dg=t=>t===408||t===429||t===502||t===503||t===504,Nl=t=>new Promise(e=>setTimeout(e,t));function gg(t){let e=t?.name;return e==="TimeoutError"||e==="AbortError"}var Qr=3e4,mg=15*6e4,fg=256;function yg(t){if(typeof t!="number"||!Number.isFinite(t)||t<=0)return Qr;let e=Qr+t/fg;return Math.min(mg,Math.max(Qr,Math.round(e)))}async function hg(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 zl(t,e){let n;for(let s=0;s<=Ne.length;s++){let c;try{c=await e(t())}catch(p){if(n=p,gg(p)||s===Ne.length)break;await Nl(Ne[s]);continue}if(c.ok)return c.json();let u=await hg(c);if(n=new R(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!dg(c.status)||s===Ne.length)throw n;await Nl(Ne[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 $e(t,e,n,r=L()){let s=yg(t.size);return zl(()=>{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 bg(t,e,n=L()){return zl(()=>{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 Xe(t,e=L()){let n=t.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return $e(new File([" "],c,{type:"application/octet-stream"}),u,void 0,e)}async function Qe(t,e,n=L()){return bg(e,await Ee(t,n),n)}async function Ye(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 Ie(n)}`,{status:n.status,response:n});return n.json()}async function Ze(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 Ie(n)}`,{status:n.status,response:n});return n.json()}async function et(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 Ie(r)}`,{status:r.status,response:r});return r.json()}async function ts(){return Wl(await ce().project.current())}async function Et(){return Wl(await ce().global.health())}async function ns(){try{return(await Et()).healthy===!0}catch{return!1}}var Vl={list:We,read:je,readBlob:Ee,status:ze,findFiles:Ve,findText:Je,upload:$e,create:Xe,copy:Qe,remove:Ye,mkdir:Ze,rename:et,currentProject:ts,health:Et,isReachable:ns,toDaemonPath:_e,toSandboxAbsolutePath:Zr,toWorkspaceRelative:es};var ne=()=>E().backendUrl||"",Xl="feature_not_supported",Ql="model_not_servable",Yl="provision_in_flight",Zl="request_deadline",_g=/^Request exceeded the \d+s server processing deadline$/,Pg=(t,e,n)=>t!==503?!1:(typeof e=="object"&&e!==null&&"code"in e?e.code:void 0)===Zl||_g.test(n),kg=t=>new Promise(e=>setTimeout(e,t)),wg=new Set([502,503,504]),Sg=t=>wg.has(t),vg=t=>{let e=(t??"GET").toUpperCase();return e==="GET"||e==="HEAD"},Cg=2,Jl=t=>t?.name==="AbortError"||t?.name==="AbortSignal"||t instanceof Error&&t.message.includes("aborted"),$t=!1;function Rg(t){$t=t}function Tg(){return $t}async function Pe(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=kt(E().clientSource),T=Object.keys(x).some(v=>v.toLowerCase()==="x-kortix-client");if(I&&!T&&(x["X-Kortix-Client"]=I),$t&&(x["x-kortix-admin-bypass"]="1"),m)x.Authorization=`Bearer ${m}`;else return{error:new ye,success:!1};let l=vg(c.method),h=l?Cg+1:1,a;for(let v=0;v<h;v++){v>0&&await kg(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),Jl(w)||v===h-1)throw w;continue}if(p&&(clearTimeout(p),p=null),!(l&&Sg(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 $=Pg(a.status,k,v),w=new R(v,{status:a.status,response:a,details:k||void 0,data:k,detail:k?.detail,code:$?Zl: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===Xl,K=a.status===409&&k?.code===Ql,y=a.status===409&&k?.code===Yl;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 _=Jl(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 Ag={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 Ig(t,e,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,c=await ee(),u={Accept:"text/event-stream","Content-Type":"application/json"},p=kt(E().clientSource);p&&(u["X-Kortix-Client"]=p),$t&&(u["x-kortix-admin-bypass"]="1"),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)=>Pe(`${ne()}${t}`,{...e,method:"GET"}),post:(t,e,n)=>Pe(`${ne()}${t}`,{...n,method:"POST",body:e?JSON.stringify(e):void 0}),put:(t,e,n)=>Pe(`${ne()}${t}`,{...n,method:"PUT",body:e?JSON.stringify(e):void 0}),patch:(t,e,n)=>Pe(`${ne()}${t}`,{...n,method:"PATCH",body:e?JSON.stringify(e):void 0}),delete:(t,e)=>Pe(`${ne()}${t}`,{...e,method:"DELETE"}),upload:(t,e,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],Pe(`${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"],Pe(`${ne()}${t}`,{...s,method:"PUT",body:e,headers:c})},postStream:Ig};function o(t,e="Project request failed"){if(!t.success||t.data===void 0)throw t.error??new Error(e);return t.data}function rs(t){return t.replace(/\/v1\/?$/,"")}async function qe(t,e){if(!t.backendUrl||!t.accessToken)return null;let n=rs(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 ss(){return o(await i.get("/accounts"))}async function is(t){return o(await i.post("/accounts",t))}async function os(t){return o(await i.get(`/accounts/${t}`))}async function as(t,e){return o(await i.patch(`/accounts/${t}`,{name:e}))}async function cs(t){return o(await i.get(`/accounts/${t}/members`))}async function ls(t,e){return o(await i.post(`/accounts/${t}/members`,e,{showErrors:!1}))}async function us(t){return o(await i.get(`/accounts/${t}/invites`))}async function ps(t,e){return o(await i.delete(`/accounts/${t}/invites/${e}`))}async function ds(t,e){return o(await i.post(`/accounts/${t}/invites/${e}/resend`,{}))}async function gs(t){return o(await i.get(`/account-invites/${t}`,{showErrors:!1}))}async function ms(t){return o(await i.post(`/account-invites/${t}/accept`,{}))}async function fs(t){return o(await i.post(`/account-invites/${t}/decline`,{}))}async function ys(t,e){return o(await i.delete(`/accounts/${t}/members/${e}`))}async function hs(t,e,n){return o(await i.patch(`/accounts/${t}/members/${e}`,{role:n}))}async function bs(t){return o(await i.post(`/accounts/${t}/leave`,{}))}async function jg(t){return qe(t,"/v1/accounts")}async function xs(){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 Eg=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","voice","llm_gateway","review_center","meta_agent","apps"];async function ke(){return o(await i.get("/projects"))}async function _s(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/projects${e}`))}async function qt(t,e){return o(await i.get(`/projects/${t}`,e))}async function Ps(t,e,n="write"){return o(await i.post(`/projects/${t}/git/collaborators`,{github_username:e,permission:n}))}async function ks(t,e){return o(await i.post(`/projects/${t}/manifest/validate`,{raw:e}),"Failed to validate manifest")}async function ws(t){return o(await i.post(`/projects/${t}/git-token`,{}),"Failed to mint git token")}function $g(t){let e=t.metadata?.git;return e?.provider==="github"&&e?.managed===!0}async function Dt(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 Mt(t,e){return o(await i.get(`/projects/${t}/llm-catalog`,{showErrors:!1,...e}))}async function Ut(t,e){return o(await i.get(`/projects/${t}/model-picker`,{showErrors:!1,...e}))}async function qg(t,e){return o(await i.get(`/projects/${t}/llm-catalog/providers`,{showErrors:!1,...e}))}async function Ss(t){return o(await i.post("/projects",t))}async function vs(t){return o(await i.post("/projects/create-repo",t))}async function Cs(t,e={}){return o(await i.post("/projects/provision",{seed_starter:!0,...t},{timeout:12e4,...e}))}var eu=200;function Dg(t){let e=t.split(`
|
|
8
|
+
`).filter(r=>r.startsWith("data:")).map(r=>r.slice(5).replace(/^ /,""));if(e.length===0)return null;let n=e.join(`
|
|
9
|
+
`);try{return JSON.parse(n)}catch(r){let s=n.length>eu?`${n.slice(0,eu)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function Mg(t,e,n={}){let r=await i.postStream("/projects/provision-stream",{seed_starter:!0,...t},n);if(!r.ok){let g=await r.json().catch(()=>null);throw new R(g?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:g?.code})}let s=r.body?.getReader();if(!s)throw new Error("Provision stream is unavailable on this runtime (no response body)");let c=new TextDecoder,u="",p=null;try{for(;;){let{done:g,value:f}=await s.read();if(g)break;u+=c.decode(f,{stream:!0});let m=u.indexOf(`
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
`);for(;m!==-1;){let _=u.slice(0,m);u=u.slice(m+2),m=u.indexOf(`
|
|
12
|
+
|
|
13
|
+
`);let x=Dg(_);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 Ug(){try{return o(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Ot(t,e){return o(await i.patch(`/projects/${t}`,e))}async function Rs(t,e,n){return o(await i.patch(`/projects/${t}/features`,{feature:e,enabled:n}))}async function Ts(t,e,n){return o(await i.patch(`/projects/${t}/experimental`,{feature:e,enabled:n}))}async function As(t,e){return o(await i.patch(`/projects/${t}/sandbox-provider`,{provider:e}))}async function Og(t,e){return o(await i.get(`/projects/${t}/sandbox-provider/transition`,{showErrors:!1,...e}))}async function Fg(t,e){return o(await i.patch(`/projects/${t}/warm-pool`,e))}async function Is(t,e){return o(await i.patch(`/projects/${t}/onboarding`,{completed:e}))}async function Lg(t,e){return o(await i.patch(`/projects/${t}/onboarding`,{profile:e}))}async function Ft(t){return o(await i.delete(`/projects/${t}`))}async function Gg(t,e){return qe(t,`/v1/projects?account_id=${encodeURIComponent(e)}`)}async function Bg(t,e){if(!t.backendUrl||!t.accessToken)return{ok:!1,limitReached:!1};let n=rs(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 js(t){return o(await i.post("/projects/link-repository",t,{showErrors:!1}))}async function Es(t){return o(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function $s(t){return o(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function qs(t){return o(await i.post("/projects/github/installations/linkable",t,{showErrors:!1}))}async function Ds(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 Ms(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 Us(t){return o(await i.post("/projects/github/installation",t,{showErrors:!1}))}async function Os(t){return o(await i.post("/projects/github/installations/link",t,{showErrors:!1}))}async function Fs(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 Kg(t,e){return o(await i.post(`/projects/${t}/access-requests`,{message:e?.trim()||void 0},{showErrors:!1}))}async function Ls(t,e){return o(await i.get(`/projects/${t}/access-requests`,e))}async function Gs(t,e,n="member"){return o(await i.post(`/projects/${t}/access-requests/${e}/approve`,{role:n}))}async function Bs(t,e){return o(await i.post(`/projects/${t}/access-requests/${e}/reject`,{}))}async function Ks(t){return o(await i.get(`/projects/${t}/access`))}async function Hs(t,e,n){return o(await i.put(`/projects/${t}/access/${e}`,{role:n}))}async function Ns(t,e){return o(await i.delete(`/projects/${t}/access/${e}`))}function Hg(t){return"status"in t&&t.status==="invited"}async function Ws(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 zs(t){return o(await i.get(`/projects/${t}/access/pending-invites`))}async function Vs(t,e){return o(await i.delete(`/projects/${t}/access/pending-invites/${e}`))}async function Js(t,e){return o(await i.post(`/projects/${t}/access/pending-invites/${e}/resend`))}async function Xs(t){return o(await i.get(`/projects/${t}/group-grants`))}async function Qs(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 Ys(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 Zs(t,e){return o(await i.delete(`/projects/${t}/group-grants/${e}`))}async function ei(t){return o(await i.get(`/projects/${t}/resource-grants`))}async function ti(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 ni(t,e){return o(await i.delete(`/projects/${t}/resource-grants/${e}`))}async function ri(t,e){return o(await i.get(`/projects/${t}/approvals`,{showErrors:e?.showErrors}))}async function si(t,e){return o(await i.get(`/projects/${t}/approvals/needs-input`,{showErrors:e?.showErrors}))}async function ii(t,e,n){return o(await i.post(`/projects/${t}/approvals/${e}`,{decision:n}))}async function oi(t){return o(await i.get(`/projects/${t}/secrets`,{showErrors:!1}))}async function ai(t,e){return o(await i.post(`/projects/${t}/secrets`,e))}async function ci(t,e,n,r={}){return o(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/strategy`,{strategy:n,...r}))}async function li(t,e,n){return o(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/broker`,n))}async function ui(t,e,n){return o(await i.post(`/projects/${t}/oauth/${e}/start`,{sharing:n?.sharing}))}async function pi(t,e,n){return o(await i.post(`/projects/${t}/oauth/${e}/poll`,{flow_id:n}))}async function di(t,e){return o(await i.delete(`/projects/${t}/oauth/${encodeURIComponent(e)}`))}async function gi(t,e){return o(await i.put(`/projects/${t}/git-credential`,e))}async function mi(t,e){return o(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}`))}async function fi(t,e,n){return o(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`,n))}async function yi(t,e){return o(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`))}function hi(t,e){return t?`/connectors/projects/${encodeURIComponent(t)}/${e}`:`/connectors/${e}`}async function Lt(t){return o(await i.get(hi(t,"catalog"))).connectors??[]}async function tt(t){let e=[];for(let n of await Lt(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 bi(t,e="",n={}){let r=e.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),c=[],u=[];for(let p of await tt(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 xi(t,e){return(await tt(t)).find(n=>n.tool===e)??null}function Ng(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 _i(t,e,n={}){let{connector:r,action:s}=Ng(e);return o(await i.post(hi(t,"call"),{connector:r,action:s,args:n}))}function Wg(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 zg(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 Pi(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=zg(E().backendUrl),p=hi(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(Wg(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 ki(t){return o(await i.get(`/projects/${t}/connections`))}async function wi(t){return o(await i.get(`/projects/${t}/connections/all`))}async function Si(t,e){return o(await i.post(`/projects/${t}/connections`,e))}async function vi(t,e){return o(await i.post(`/projects/${t}/connections/me`,e))}async function Ci(t,e,n){return o(await i.put(`/projects/${t}/connections/${e}/credential`,n))}function we(t,e,n){return`/projects/${t}/connections/${e}/oauth2/${n}`}async function Vg(t,e){return o(await i.post(`/projects/${t}/connectors/${encodeURIComponent(e)}/oauth2/connection`,{}))}async function Jg(t,e,n){return o(await i.put(we(t,e,"application"),n))}async function Xg(t,e){return o(await i.get(we(t,e,"application")))}async function Qg(t,e,n){return o(await i.post(we(t,e,"discover"),n))}async function Yg(t,e,n){return o(await i.post(we(t,e,"authorize"),n))}async function Zg(t,e,n){return o(await i.post(we(t,e,"device"),n))}async function em(t,e,n){return o(await i.post(we(t,e,`device/${encodeURIComponent(n)}`),{}))}async function tm(t,e){return o(await i.get(we(t,e,"status")))}async function Ri(t,e){return o(await i.put(`/projects/${t}/connections/${e}/revoke`,{}))}async function Ti(t,e){return o(await i.put(`/projects/${t}/connections/${e}/activate`,{}))}async function Ai(t,e){return o(await i.put(`/projects/${t}/connections/${e}/default`,{}))}async function Ii(t,e,n={}){return o(await i.post(`/projects/${t}/connections/${e}/connect`,n))}async function ji(t,e){return o(await i.post(`/projects/${t}/connections/${e}/connect/finalize`,{}))}async function Ei(t){return o(await i.get(`/connectors/projects/${t}/connectors`,{showErrors:!1}))}async function $i(t){return o(await i.post(`/connectors/projects/${t}/connectors/sync`,{}))}async function qi(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential-mode`,{mode:n}))}async function Di(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/authorization-strategy`,{authorization_strategy:n}))}async function Mi(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/sensitive`,{sensitive:n}))}async function Ui(t,e){return o(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`))}async function Oi(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`,{policies:n}))}async function nm(t,e){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function rm(t,e,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function Fi(t,e){return o(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/config`))}async function Li(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/name`,{name:n}))}async function Gi(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect`,{}))}async function Bi(t,e){return o(await i.post(`/connectors/projects/${t}/connectors`,e))}async function Ki(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/auth-discovery`,e))}async function Hi(t,e){return o(await i.delete(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}`))}async function Ni(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 Wi(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 Gt(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 Bt(t,e){let n=new URLSearchParams({id:e});return o(await i.get(`/connectors/projects/${t}/discover/connectors/detail?${n.toString()}`))}var sm=Gt,im=Bt;async function zi(){return o(await i.get("/connectors/connect-status"))}async function Vi(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 om(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/secret-binding`,{secret_identifier:n}))}async function Ji(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect/finalize`,{}))}async function Xi(t){return o(await i.get(`/connectors/projects/${t}/policies`))}async function Qi(t,e,n){return o(await i.put(`/connectors/projects/${t}/policies`,{policies:e,defaultMode:n}))}async function Yi(t){return o(await i.get(`/projects/${t}/sandboxes`))}async function Zi(t){return o(await i.get(`/projects/${t}/snapshots`))}async function Kt(t){return o(await i.get(`/projects/${t}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function eo(t,e){return o(await i.post(`/projects/${t}/snapshots/rebuild`,e?{slug:e}:{}))}async function to(t){return o(await i.post(`/projects/${t}/snapshots/fix-with-agent`,{}))}async function no(t,e){return o(await i.post(`/projects/${t}/sandbox-templates`,e))}async function ro(t,e,n){return o(await i.patch(`/projects/${t}/sandbox-templates/${e}`,n))}async function so(t,e){return o(await i.delete(`/projects/${t}/sandbox-templates/${e}`))}async function io(t,e){return o(await i.post(`/projects/${t}/sandbox-templates/${e}/build`,{}))}async function oo(t){return o(await i.get(`/projects/${t}/sandboxes`))}async function ao(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 co(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 lo(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 uo(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 po(t){return o(await i.get(`/projects/${t}/branches`))}async function go(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 mo(t,e){return o(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}`))}async function fo(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 yo(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 ho(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 bo(t,e){let n=e?`?status=${e}`:"";return o(await i.get(`/projects/${t}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function xo(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}`))}async function _o(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}/diff`))}async function Po(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}/merge-preview`))}async function ko(t,e){return o(await i.post(`/projects/${t}/change-requests`,e))}async function wo(t,e,n){return o(await i.post(`/projects/${t}/change-requests/${e}/merge`,n??{},{showErrors:!1}))}async function So(t,e){return o(await i.post(`/projects/${t}/change-requests/${e}/close`,{}))}async function vo(t,e){return o(await i.post(`/projects/${t}/change-requests/${e}/reopen`,{}))}async function Co(t,e,n){return o(await i.post(`/projects/${t}/change-requests/${e}/request-changes`,{feedback:n}))}async function Ro(t,e,n){return o(await i.post(`/projects/${t}/sessions/${e}/commit-push`,n??{}))}var To=new Set;function nt(t){t&&To.add(t)}function Ao(t){return!!t&&To.has(t)}function am(t){t&&To.delete(t)}async function De(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 Io(t,e,n){return o(await i.put(`/projects/${t}/sessions/${e}/sharing`,n))}async function jo(t,e){return o(await i.get(`/projects/${t}/sessions/${e}/previews`))}async function Eo(t,e){return o(await i.get(`/projects/${t}/sessions/${e}/public-shares`,{showErrors:!1}))}async function $o(t,e,n){return o(await i.post(`/projects/${t}/sessions/${e}/public-shares`,n))}async function qo(t,e,n){return o(await i.delete(`/projects/${t}/sessions/${e}/public-shares/${n}`))}async function Me(t,e){let n=o(await i.post(`/projects/${t}/sessions`,e??{}));return e?.initial_prompt||nt(n?.session_id),n}async function Do(t){let e=o(await i.post(`/projects/${t}/sessions/warm`,{}));return nt(e.session.session_id),e}async function Mo(t,e){let n=o(await i.post(`/projects/${t}/sessions/warm/claim`,e,{showErrors:!1}));return nt(n.session_id),n}async function Ht(t,e,n){return o(await i.get(`/projects/${t}/sessions/${e}`,{showErrors:n?.showErrors}))}async function Uo(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 Oo(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 Fo(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 Lo(t,e,n){return o(await i.patch(`/projects/${t}/sessions/${e}`,n))}async function Go(t,e){return o(await i.delete(`/projects/${t}/sessions/${e}`))}async function rt(t,e){return o(await i.post(`/projects/${t}/sessions/${e}/restart`,{}))}async function st(t,e){return o(await i.post(`/projects/${t}/sessions/${e}/stop`,{}))}async function Bo(t,e){return o(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/config`,{showErrors:!1}))}function cm(t){let e=t.split(`
|
|
14
|
+
`).filter(n=>n.startsWith("data:")).map(n=>n.slice(5).replace(/^ /,""));if(e.length===0)return null;try{return JSON.parse(e.join(`
|
|
15
|
+
`))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function Ko(t,e,n={}){return o(await i.post(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload`,n,{showErrors:!1}))}async function Ho(t,e,n,r,s={}){let c=await i.postStream(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload-stream`,n,s);if(!c.ok){let m=await c.json().catch(()=>null);throw new R(m?.error||`Reload failed: HTTP ${c.status}`,{status:c.status,code:m?.code,data:m})}let u=c.body?.getReader();if(!u)throw new Error("Reload stream is unavailable on this runtime (no response body)");let p=new TextDecoder,g="",f=null;try{for(;;){let{done:m,value:_}=await u.read();if(m)break;g+=p.decode(_,{stream:!0});let x=g.indexOf(`
|
|
16
|
+
|
|
17
|
+
`);for(;x!==-1;){let I=g.slice(0,x);g=g.slice(x+2),x=g.indexOf(`
|
|
18
|
+
|
|
19
|
+
`);let T=cm(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 No(t,e){return o(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`))}async function Wo(t,e,n){return o(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`,n))}async function zo(t,e,n){return o(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/model`,{opencode_model:n}))}async function Vo(t){return o(await i.get(`/projects/${t}/triggers`))}async function Jo(t,e){return o(await i.post(`/projects/${t}/triggers`,e))}async function Xo(t,e,n){return o(await i.patch(`/projects/${t}/triggers/${e}`,n))}async function Qo(t,e){return o(await i.delete(`/projects/${t}/triggers/${e}`))}async function Yo(t,e){return o(await i.patch(`/projects/${t}/triggers/activation`,{paused:e}))}async function Zo(t,e){return o(await i.post(`/projects/${t}/triggers/${e}/fire`,{}))}var le=new Map;function ea(t,e){return`${t}::${e}`}function tu(t,e){le.delete(t),le.set(t,e)}function nu(t,e){let n=ea(t,e),r=le.get(n);return r&&tu(n,r),r}function ru(t,e,n){let r=ea(t,e);if(!le.has(r)&&le.size>=512){let s=le.keys().next().value;s!==void 0&&le.delete(s)}tu(r,n)}function su(t,e){le.delete(ea(t,e))}function lm(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 Nt=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 um(t){return t instanceof Error&&t.name==="SessionStartError"}function pm(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 Nt(s,{status:n,code:r,terminal:!0}):null}async function Se(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=pm(s.error);if(p&&!(p.status===404&&Ao(e)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&ru(t,e,{opencodeSessionId:c.opencode_session_id,runtimeUrl:St(u),sandboxId:u}),c}function dm(t,e){return["session-start",t,e]}async function ta(t){return o(await i.get(`/projects/${t}/model-defaults`))}async function na(t,e){return o(await i.put(`/projects/${t}/model-defaults`,e))}async function ra(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 gm(t,e){return o(await i.put(`/projects/${t}/model-enablement`,{modelOverrides:e}))}async function sa(t,e,n){let r=fm(n);return o(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/scope`,r))}function iu(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function mm(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function fm(t){let e=t.connectors_required?iu(t.connectors_required):void 0,n=t.connectors_personal?iu(t.connectors_personal):void 0;if(e&&n&&!mm(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 ym(t,e){let n=o(await i.get(`/projects/${t}/agents/${encodeURIComponent(e)}/config`));return{...n,block:n.block?ia(n.block):null}}async function hm(t,e,n){let r=ia(n),s=o(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/config`,r));return{...s,block:s.block?ia(s.block):null}}function ou(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function bm(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function ia(t){let e=t.connectors_required?ou(t.connectors_required):void 0,n=t.connectors_personal?ou(t.connectors_personal):void 0;if(e&&n&&!bm(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 oa(t,e){return o(await i.put(`/projects/${t}/default-agent`,{agent:e}))}function aa(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function ca(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?aa():s.data}async function la(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?aa():s.data}async function ua(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 pa(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 da(){return o(await i.get("/billing/credit-breakdown"))}async function ga(t){let e=t!=null?`?days=${t}`:"";return o(await i.get(`/billing/usage-history${e}`))}async function ma(){return o(await i.get("/billing/tier-configurations"))}async function xm(t){let e=t.accountId?`?account_id=${encodeURIComponent(t.accountId)}`:"";return qe(t,`/v1/billing/account-state${e}`)}async function fa(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 ya(t,e){return o(await i.post("/billing/confirm-checkout-session",{account_id:e,session_id:t}),"Failed to confirm checkout session")}async function ha(t,e){return o(await i.post("/billing/create-portal-session",{account_id:e,return_url:t}),"Failed to create portal session")}async function ba(t,e){return o(await i.post("/billing/cancel-subscription",{account_id:e,feedback:t}),"Failed to cancel subscription")}async function xa(t){return o(await i.post("/billing/reactivate-subscription",{account_id:t}),"Failed to reactivate subscription")}async function _a(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 Pa(t){return o(await i.post("/billing/cancel-scheduled-change",{account_id:t}),"Failed to cancel scheduled change")}async function ka(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 wa(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 Sa(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 va(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 _m(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 Pm(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 km(t){return o(await i.post("/billing/claim-per-seat",{account_id:t}),"Failed to switch to per-seat billing")}async function wm(t){return o(await i.post("/billing/sync-subscription",{account_id:t}),"Failed to sync subscription")}async function Ca(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 Ta(t,e){e.accountId&&t.set("account_id",e.accountId),e.projectId&&t.set("project_id",e.projectId)}function Wt(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 Aa(t={}){let e=new URLSearchParams;return Ta(e,t),t.ownerId&&e.set("owner_id",t.ownerId),Wt(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${zt(e)}`))}async function Vt(t,e={}){let n=new URLSearchParams;return Ta(n,e),o(await i.get(`/usage/session-costs/${encodeURIComponent(t)}${zt(n)}`))}async function Sm(t={}){let e=new URLSearchParams;return t.accountId&&e.set("account_id",t.accountId),Wt(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${zt(e)}`))}async function vm(t={}){let e=new URLSearchParams;return Ta(e,t),t.sessionId&&e.set("session_id",t.sessionId),Wt(e,t),o(await i.get(`/usage/cost-summary${zt(e)}`))}function Ra(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)}Wt(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 Cm(t,e={}){let n=Ra(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 au(t,e){return o(await i.post(`/channels/${t}/identity/bind`,{token:e}),"Failed to connect your account")}function Rm(t){return au("slack",t)}function Tm(t){return au("teams",t)}async function Ia(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});return e.success?e.data??null:null}async function ja(t,e){return o(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/connect`,e,{showErrors:!1}),"Failed to connect")}var Am={oauth_available:!1,install_url:null};async function Ea(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/mode`,{showErrors:!1});return!e.success||!e.data?Am:e.data}async function $a(t){return o(await i.get(`/webhooks/slack/${encodeURIComponent(t)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function qa(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 Da(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 Ma(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 Ua(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 Im={provider:"agentmail",managed_available:!1};async function Oa(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?Ua(r.data):null}async function Fa(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/mode`,{showErrors:!1});return!e.success||!e.data?Im:e.data}async function La(t,e){let n=o(await i.post(`/projects/${encodeURIComponent(t)}/channels/email/connect`,e,{showErrors:!1}),"Failed to connect email");return Ua(n)}async function Ga(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 Ba(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 Ua(r)}async function Ka(t,e){return o(await i.put(`/projects/${encodeURIComponent(t)}/channels/meet/name`,{name:e},{showErrors:!1}),"Failed to save name")}async function jm(t){return o(await i.get(`/projects/${encodeURIComponent(t)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Em(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 Ha(t){return o(await i.get(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Na(t,e){return o(await i.put(`/projects/${t}/gateway/routing-policy`,e),"Gateway routing policy request failed")}async function Wa(t){return o(await i.delete(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function za(t,e){return o(await i.post(`/projects/${t}/gateway/routing-policy/preview`,e),"Gateway route preview failed")}async function Va(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 Ja(t,e){return o(await i.get(`/projects/${t}/gateway/logs/${e}`),"Gateway request failed")}async function Xa(t,e){return o(await i.get(`/projects/${t}/gateway/overview${e?`?days=${e}`:""}`),"Gateway request failed")}async function Qa(t,e){return o(await i.get(`/projects/${t}/gateway/series${e?`?days=${e}`:""}`),"Gateway request failed")}async function Ya(t,e){return o(await i.get(`/projects/${t}/gateway/breakdown${e?`?days=${e}`:""}`),"Gateway request failed")}async function Za(t,e){return o(await i.get(`/projects/${t}/gateway/sessions${e?`?days=${e}`:""}`),"Gateway request failed")}async function ec(t,e){return o(await i.get(`/projects/${t}/gateway/errors${e?`?days=${e}`:""}`),"Gateway request failed")}async function tc(t){return o(await i.get(`/projects/${t}/gateway/budgets`),"Gateway request failed")}async function nc(t,e){return o(await i.put(`/projects/${t}/gateway/budgets`,e),"Gateway request failed")}async function rc(t,e){return o(await i.delete(`/projects/${t}/gateway/budgets/${e}`),"Gateway request failed")}async function sc(t){return o(await i.get(`/projects/${t}/gateway/keys`),"Gateway request failed")}async function ic(t,e){return o(await i.post(`/projects/${t}/gateway/keys`,{name:e}),"Gateway request failed")}async function oc(t,e){return o(await i.delete(`/projects/${t}/gateway/keys/${e}`),"Gateway request failed")}async function ac(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 $m(t,e){return o(await i.post(`/projects/${t}/gateway/providers/${encodeURIComponent(e)}/verify`,{}),"Gateway provider verification failed")}async function cc(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 qm(){return o(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function Dm(){return o(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function Mm(t){return o(await i.post("/referrals/validate",{referral_code:t}),"VALIDATE_CODE_FAILED")}async function Um(){return o(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function Om(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 Fm(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 Lm(t){return P(await O(`/accounts/${t}/iam/groups`)).groups}async function Gm(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}`))}async function Bm(t,e){return P(await i.post(`/accounts/${t}/iam/groups`,e,{showErrors:!1}))}async function Km(t,e,n){return P(await i.patch(`/accounts/${t}/iam/groups/${e}`,n))}async function Hm(t,e){return P(await i.delete(`/accounts/${t}/iam/groups/${e}`))}async function Nm(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/members`)).members}async function Wm(t,e,n){return P(await i.post(`/accounts/${t}/iam/groups/${e}/members`,{userIds:n}))}async function zm(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/project-grants`)).grants}async function Vm(t,e,n){return P(await i.delete(`/accounts/${t}/iam/groups/${e}/members/${n}`))}async function Jm(t,e){return P(await O(`/accounts/${t}/iam/members/${e}/groups`)).groups}async function Xm(t,e){return P(await O(`/accounts/${t}/iam/members/${e}/project-access`)).projects}async function Qm(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 Ym(t,e){return P(await i.post(`/accounts/${t}/iam/policies`,e,{showErrors:!1}))}async function Zm(t,e,n){return P(await i.patch(`/accounts/${t}/iam/policies/${e}`,n,{showErrors:!1}))}async function ef(t,e){return P(await i.delete(`/accounts/${t}/iam/policies/${e}`))}async function tf(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-delete`,{policy_ids:e},{showErrors:!1}))}async function nf(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-import`,{policies:e},{showErrors:!1}))}async function rf(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 of(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/permissions`))}async function af(t){return P(await O(`/accounts/${t}/iam/actions`)).actions}async function cf(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/usage`))}async function lf(t,e){return P(await i.post(`/accounts/${t}/iam/roles`,e,{showErrors:!1}))}async function uf(t,e,n){return P(await i.patch(`/accounts/${t}/iam/roles/${e}`,n,{showErrors:!1}))}async function pf(t,e,n){return P(await i.put(`/accounts/${t}/iam/roles/${e}/permissions`,{actions:n},{showErrors:!1}))}async function df(t,e){return P(await i.delete(`/accounts/${t}/iam/roles/${e}`,{showErrors:!1}))}async function gf(t,e,n){return P(await i.patch(`/accounts/${t}/iam/members/${e}/super-admin`,{isSuperAdmin:n}))}async function mf(t){return P(await O(`/accounts/${t}/iam/scim/tokens`)).tokens}async function ff(t,e){return P(await i.post(`/accounts/${t}/iam/scim/tokens`,e,{showErrors:!1}))}async function yf(t,e){return P(await i.delete(`/accounts/${t}/iam/scim/tokens/${e}`))}async function hf(t){return P(await O(`/accounts/${t}/iam/mfa-required`))}async function bf(t){return P(await O(`/accounts/${t}/iam/mfa-required/preview`))}async function xf(t,e){return P(await i.patch(`/accounts/${t}/iam/mfa-required`,{enabled:e},{showErrors:!1}))}async function _f(t){return P(await O(`/accounts/${t}/iam/sso/provider`)).provider}async function Pf(t,e){return P(await i.put(`/accounts/${t}/iam/sso/provider`,e,{showErrors:!1})).provider}async function kf(t,e){return P(await i.post(`/accounts/${t}/iam/sso/provider/from-metadata`,e,{showErrors:!1})).provider}async function wf(t){return P(await i.delete(`/accounts/${t}/iam/sso/provider`))}async function Sf(t){return P(await O(`/accounts/${t}/iam/sso/mappings`)).mappings}async function vf(t,e){return P(await i.post(`/accounts/${t}/iam/sso/mappings`,e,{showErrors:!1}))}async function Cf(t,e){return P(await i.delete(`/accounts/${t}/iam/sso/mappings/${e}`))}async function Rf(t){return P(await O(`/accounts/${t}/iam/session-policy`))}async function Tf(t,e){return P(await i.patch(`/accounts/${t}/iam/session-policy`,e,{showErrors:!1}))}async function Af(t){return P(await O(`/accounts/${t}/iam/sessions`)).sessions}async function If(t,e){return P(await i.post(`/accounts/${t}/iam/sessions/${e}/revoke`,{},{showErrors:!1}))}async function jf(t){return P(await O(`/accounts/${t}/iam/pat-policy`))}async function Ef(t,e){return P(await i.patch(`/accounts/${t}/iam/pat-policy`,e,{showErrors:!1}))}async function $f(t){return P(await O(`/accounts/${t}/iam/service-accounts`)).service_accounts}async function qf(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts`,e,{showErrors:!1}))}async function Df(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts/${e}/disable`,{},{showErrors:!1}))}async function Mf(t,e){return P(await i.delete(`/accounts/${t}/iam/service-accounts/${e}`))}async function Uf(t){return P(await O(`/accounts/${t}/audit/webhooks`)).webhooks}async function Of(t,e){return P(await i.post(`/accounts/${t}/audit/webhooks`,e,{showErrors:!1}))}async function Ff(t,e,n){return P(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function Lf(t,e){return P(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function Gf(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 Bf(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 Kf(t,e,n){return n.length===0?[]:P(await i.post(`/accounts/${t}/iam/members/${e}/effective:batch`,{probes:n})).results}async function Hf(t){return P(await O(`/accounts/${t}/iam/enterprise-demo`)).enabled}async function Nf(t,e){return P(await i.put(`/accounts/${t}/iam/enterprise-demo`,{enabled:e})).enabled}async function Wf(){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 zf(t="User requested deletion"){return o(await i.post("/account/request-deletion",{reason:t},{showErrors:!1}),"Failed to request account deletion")}async function Vf(){return o(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function Jf(){return o(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function Xf(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Qf(){return i.get("/admin/api/provider-distribution").then(t=>o(t))}function Yf(t=300){return i.get(`/admin/api/sandboxes?limit=${t}`).then(e=>o(e))}function Zf(t){return i.put("/admin/api/provider-distribution",t).then(e=>o(e))}function ey(t){return i.get(`/admin/api/provider-analytics?days=${t}`).then(e=>o(e))}function ty(t,e){return i.post(`/admin/api/sandboxes/${encodeURIComponent(t)}/migrate`,{targetProvider:e}).then(n=>o(n))}function ny(){return i.get("/admin/api/provider-fallback").then(t=>o(t))}function ry(t){return i.put("/admin/api/provider-fallback",{enabled:t}).then(e=>o(e))}async function sy(t){return o(await i.get(`/google/auth-url?return_url=${encodeURIComponent(t)}`),"Failed to get Google auth URL")}async function iy(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 lc(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 uc(t,e){return o(await i.get(`/projects/${t}/review/items/${e}`))}async function pc(t,e){return o(await i.post(`/projects/${t}/review/items`,e))}async function dc(t,e,n){return o(await i.post(`/projects/${t}/review/items/${e}/act`,n))}async function gc(t,e){return o(await i.post(`/projects/${t}/review/bulk`,e))}async function mc(t){return o(await i.get(`/p/share?sandbox_id=${encodeURIComponent(t)}`),"Failed to load public links").shares??[]}async function fc(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 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 Jt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function cu(t,e=""){return`${fe()}/public/session-shares/${encodeURIComponent(t)}${e}`}async function lu(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 Jt(s,e.status)}return r}async function oy(t){return lu(cu(t))}async function ay(t){return lu(cu(t,"/messages"))}var Xt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function uu(t){return`${fe()}/public/voice-join/${encodeURIComponent(t)}`}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 Xt(s,e.status)}return r}async function cy(t){return pu(uu(t))}async function ly(t,e=0){let n=`${uu(t)}/transcript?cursor=${encodeURIComponent(String(e))}`;return pu(n)}async function hc(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/accounts/tokens${e}`))}async function bc(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 xc(t,e){let n=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.delete(`/accounts/tokens/${t}${n}`))}async function _c(t){return o(await i.get(`/projects/${t}/cli-token`))}async function Pc(t,e){return o(await i.post(`/projects/${t}/cli-token`,e??{}))}async function kc(t,e){return o(await i.delete(`/projects/${t}/cli-token/${e}`))}async function wc(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 Sc(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 vc(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 Cc(t){return o(await i.get(`/accounts/${t}/audit/webhooks`))}async function Rc(t,e){return o(await i.post(`/accounts/${t}/audit/webhooks`,e))}async function Tc(t,e,n){return o(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function Ac(t,e){return o(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function Ic(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 jc(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 uy(t){return o(await i.get(`/approval-links/${t}`),"Failed to load approval")}async function Ec(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 $c(){return o(await i.get("/marketplace/marketplaces"))}async function qc(){return o(await i.get("/marketplace/marketplaces/featured"))}async function Dc(t){return o(await i.get(`/marketplace/items/${encodeURIComponent(t)}`),"Item not found")}async function Mc(t,e){return o(await i.get(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`),"File not found")}async function Uc(){return o(await i.get("/marketplace/sources"))}async function Oc(t){return o(await i.post("/marketplace/sources",t),"Failed to add marketplace source")}async function Fc(t){return o(await i.delete(`/marketplace/sources/${encodeURIComponent(t)}`),"Failed to remove marketplace source")}async function py(t,e){return o(await i.post(`/projects/${encodeURIComponent(t)}/marketplace/install-session`,{id:e}),"Failed to start marketplace install session")}async function dy(t){return o(await i.get(`/templates/${encodeURIComponent(t)}`))}async function gy(t,e){return o(await i.post(`/templates/${encodeURIComponent(t)}/install`,e))}async function Lc(t){return o(await i.get(`/projects/${t}/apps`),"Failed to list Apps").apps}async function Gc(t,e){return o(await i.post(`/projects/${t}/apps`,e),"Failed to create App")}async function Bc(t,e){return o(await i.get(`/projects/${t}/apps/${e}`),"Failed to load App")}async function Kc(t,e,n){return o(await i.patch(`/projects/${t}/apps/${e}`,n),"Failed to update App")}async function Hc(t,e){return o(await i.delete(`/projects/${t}/apps/${e}`),"Failed to delete App")}async function Nc(t,e){return o(await i.get(`/projects/${t}/apps/${e}/access`),"Failed to load App access policy")}async function Wc(t,e,n){return o(await i.patch(`/projects/${t}/apps/${e}/access`,n),"Failed to update App access policy")}async function zc(t,e){return o(await i.post(`/projects/${t}/apps/${e}/access-session`,{}),"Failed to create App access session")}async function Qt(t,e){return o(await i.post(`/projects/${t}/apps/artifacts`,e),"Failed to register App artifact")}async function Yt(t,e,n){return o(await i.post(`/projects/${t}/apps/artifacts/${e}/finalize`,n),"Failed to finalize App artifact")}async function my(t){return t instanceof Uint8Array?t:new Uint8Array(await t.arrayBuffer())}async function fy(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 Vc(t,e,n={}){let r=await my(e),s=n.mediaType??"application/gzip",c=await Qt(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),Yt(t,c.artifact.artifact_id,{sha256:await fy(r),size_bytes:r.byteLength})}async function Jc(t,e,n){return o(await i.post(`/projects/${t}/apps/${e}/deployments`,n),"Failed to create App deployment")}async function Xc(t,e){return o(await i.get(`/projects/${t}/apps/${e}/deployments`),"Failed to list App deployments").deployments}async function Qc(t,e,n){return o(await i.get(`/projects/${t}/apps/${e}/deployments/${n}`),"Failed to load App deployment")}async function Yc(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 Zc(t,e){return o(await i.post(`/projects/${t}/apps/${e}/start`,{}),"Failed to start App")}async function el(t,e){return o(await i.post(`/projects/${t}/apps/${e}/stop`,{}),"Failed to stop App")}async function tl(t,e,n){return o(await i.post(`/projects/${t}/apps/${e}/rollback`,{deployment_id:n}),"Failed to roll back App")}function yy(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 nl(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 du=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,gu=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,mu=new Set([22,4096,parseInt(re.KORTIX_MASTER,10)]);function hy(t){return gu.test(t)}function Zt(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 by(t){let e=t.indexOf("](");return e===-1?t:t.slice(0,e)}var xy=new Set(["'",'"',"`","<","(","["]),_y=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Py(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&&xy.has(t[e]);)e++;for(;n>e&&_y.has(t[n-1]);)n--;return t.slice(e,n)}function ky(t){return t.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var wy=/^\/proxy\/(\d{1,5})(\/.*)?$/,Sy=/^\/(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 fu(t){if(!t)return!1;try{let e=new URL(t);return e.hostname!=="localhost"&&e.hostname!=="127.0.0.1"?!1:Sy.test(e.pathname)}catch{return!1}}function ot(t){if(!t)return null;let e=Py(by(t.trim())),n=sl(e);if(n){let r=Zt(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(wy);if(g){let f=parseInt(g[1],10);if(f>=1&&f<=65535)return s=f,c=Zt(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let p=Zt(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=ky(t);return r&&r!==t?ot(r):null}}function vy(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 Cy(t,e){return e.some(([n,r])=>t>=n&&t<r)}function yu(t){let e=[],n=new Set,r=vy(t);du.lastIndex=0;let s;for(;(s=du.exec(t))!==null;){let c=ot(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||mu.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:Cy(s.index,r)}))}return e}function Ry(t){return yu(t).length>0}function Ty(t){try{let{hostname:e}=new URL(t);return e==="localhost"||e==="127.0.0.1"}catch{return!1}}function hu(t){return t.sandboxId.trim().length>0}function ue(t,e,n){let r=Zt(e);if(!hu(n))return Pu(t,r);if(!Ty(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 Ay(t,e){if(!t)return;let r=t.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return ue(3211,`/open?path=/workspace/${r}`,e)}function bu(t){return`/open?path=/${(t.startsWith("/workspace")?t:`/workspace/${t.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Iy(t){return`http://localhost:3211${bu(t)}`}function xu(){return"/health"}function jy(t){return ue(3211,xu(),t)}function Ey(t,e){return ue(t,"/",e)}function _u(t){let e=ot(t);return!(!e||mu.has(e.port)||fu(t))}function rl(t,e){if(!t)return t;let n=ot(t);return n?_u(n.originalUrl)?ue(n.port,n.path,e):n.originalUrl:t}function Pu(t,e="/"){return`http://localhost:${t}${e}`}var ku=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function sl(t){let e=t.match(gu);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(ku);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 $y(t){try{let e=sl(t);return e?`http://localhost:${e.port}${e.path}`:null}catch{return null}}function qy(t){return hy(t)||ku.test(t)}function Dy(t){try{let{hostname:e,port:n}=new URL(t);return(e==="localhost"||e==="127.0.0.1")&&n!==""}catch{return!1}}var it="/web-proxy/";function My(t,e){try{let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${it}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(re.KORTIX_MASTER,10);return`${ue(c,"/",e).replace(/\/$/,"")}${s}`}catch{return null}}function Uy(t){try{let e=new URL(t),n=e.pathname.indexOf(it);if(n===-1)return null;let s=e.pathname.slice(n+it.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 Oy(t){try{return new URL(t).pathname.includes(it)}catch{return t.includes(it)}}function Fy(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 Ly(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 wu="frontend";function en(t,e,n){(t==="error"?console.error:t==="warn"?console.warn:t==="debug"?console.debug:console.log)(`[${wu}] ${e}`,...n?[n]:[]);try{ce().app.log({service:wu,level:t,message:e,extra:n})}catch{}}var pe={debug:(t,e)=>en("debug",t,e),info:(t,e)=>en("info",t,e),warn:(t,e)=>en("warn",t,e),error:(t,e)=>en("error",t,e)};function Su(t){return{type:"heartbeat-gap",gapMs:t}}function vu(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 Gy={now:()=>Date.now(),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},By=16,Ky=8,Hy=6e4,Ny=5e3,Wy=250,zy=1e3,Vy=3e4,Jy=5,Xy=3e3,Qy=3e4,Yy=2e4,Zy=2e3,eh=8;function th(t){if(t.type==="session.status")return`session.status:${t.properties.sessionID}`;if(t.type==="lsp.updated")return"lsp.updated"}function Cu(t){if(t.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let e=()=>{};return{promise:new Promise(r=>{e=()=>r(),t.addEventListener("abort",e,{once:!0})}),cleanup:()=>t.removeEventListener("abort",e)}}function tn(t){let{client:e,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=t,u=t.timers??Gy,p=t.connectTimeoutMs??Yy,g=t.heartbeatTimeoutMs??Hy,f=t.maxConsecutiveHardFailures??eh,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,By-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=Cu(m.signal);M.promise.then(()=>C.abort());try{let D=await new Promise((dn,Fe)=>{let X=!1;F=u.setTimeout(()=>{X||(X=!0,pe.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),C.abort(),Fe(new Error(`SSE connect timed out after ${p}ms`)))},p),e.global.event({signal:C.signal,sseDefaultRetryDelay:Xy,sseMaxRetryDelay:Qy,sseMaxRetryAttempts:1}).then(Z=>{X||(X=!0,u.clearTimeout(F),dn(Z))},Z=>{X||(X=!0,u.clearTimeout(F),Fe(Z))})}),{stream:U}=D;x=u.now();let N=()=>{u.clearTimeout(w),w=u.setTimeout(()=>{pe.warn("SSE heartbeat timeout, forcing reconnect"),C.abort()},g)};N();let Ce=u.now(),xp=U[Symbol.asyncIterator]();for(;!C.signal.aborted;){let dn=xp.next().then(oe=>({kind:"next",result:oe}),oe=>({kind:"error",error:oe})),Fe=Cu(C.signal),X=await Promise.race([dn,Fe.promise.then(()=>({kind:"aborted"}))]);if(Fe.cleanup(),X.kind==="aborted")break;if(X.kind==="error")throw X.error;if(X.result.done)break;k=!0,N();let Z=X.result.value,mt=Z&&typeof Z=="object"&&"payload"in Z?Z.payload:Z;if(!mt?.type)continue;let gn=th(mt);if(gn){let oe=h.get(gn);oe!==void 0&&(I[oe]=void 0),h.set(gn,I.length)}I.push({type:mt.type,event:mt}),A(),!(u.now()-Ce<Ky)&&(Ce=u.now(),await new Promise(oe=>u.setTimeout(oe,0)))}$=k}catch(D){if(m.signal.aborted)break;K=D;let U=String(D),N=U.includes("401")||U.includes("403")||U.includes("Unauthorized")||U.includes("Token refresh failed");if(pe.error("SSE event stream error",{error:U,retryCount:j,isAuthError:N}),N)try{Ke(),await wt(),pe.info("SSE: refreshed auth token after auth error")}catch(Ce){pe.error("SSE: failed to refresh auth token",{error:String(Ce)})}}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<Zy)?v+1:0,v>=f){pe.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>Ny&&r?.(Q),$?j=0:(j++,j>1&&pe.warn("SSE event stream reconnecting",{retryCount:j}));let H=$?Wy:Math.min(zy*2**Math.min(j-1,Jy),Vy);await new Promise(D=>{let U=u.setTimeout(D,H),N=()=>{u.clearTimeout(U),D()};m.signal.addEventListener("abort",N,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",_),T&&u.clearTimeout(T)}}}function nh(){return ce()}var nn=new Map,at=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 Ru(t,e){yt(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:ss,get:os,create:is,updateName:as,leave:bs,members:cs,invite:ls,removeMember:ys,updateMemberRole:hs,invites:us,cancelInvite:ps,resendInvite:ds,tokens:{list:hc,create:bc,revoke:xc},audit:{log:wc,export:vc,webhooks:{list:Cc,create:Rc,update:Tc,remove:Ac}}},c={accountState:ca,accountStateMinimal:la,transactions:ua,transactionsSummary:pa,creditBreakdown:da,usageHistory:ga,usageRollup:Ca,sessionCosts:{list:Aa,get:Vt},tierConfigurations:ma,checkout:{createSession:l=>fa(l),confirmSession:(l,h)=>ya(l,h)},subscription:{createPortalSession:(l,h)=>ha(l,h),cancel:(l,h)=>ba(l,h),reactivate:l=>xa(l),scheduleDowngrade:(l,h,a)=>_a(l,h,a),cancelScheduledChange:l=>Pa(l),prorationPreview:(l,h)=>ka(l,h)},credits:{purchase:l=>wa(l),autoTopupSettings:l=>Sa(l),configureAutoTopup:l=>va(l)}},u={describe:gs,accept:ms,decline:fs},p={list:ke,listForAccount:_s,get:qt,detail:Dt,create:Ss,createRepo:vs,provision:Cs,update:Ot,archive:Ft,llmCatalog:Mt,modelPicker:Ut,sandboxHealth:Kt,sandboxTemplates:Yi,sessions:De,createSession:Me},g={linkRepository:js,getInstallation:Es,listInstallations:$s,listLinkableInstallations:qs,listRepositories:Ds,listRepositoryBranches:Ms,linkInstallation:Os,saveInstallation:Us,deleteInstallation:Fs},f={list:mc,create:fc,revoke:yc},m=zi,_={items:l=>Ec(l),item:l=>Dc(l),itemFile:(l,h)=>Mc(l,h),marketplaces:()=>$c(),featured:()=>qc(),sources:{list:()=>Uc(),add:l=>Oc(l),remove:l=>Fc(l)}};function x(l){return{catalog:()=>Lt(l),tools:()=>tt(l),search:(...h)=>bi(l,...h),describe:(...h)=>xi(l,...h),call:(...h)=>_i(l,...h),uploadAttachment:(...h)=>Pi(l,...h)}}function I(l){let h={list:()=>ki(l),listAll:()=>wi(l),reconcile:(...a)=>Si(l,...a),reconcileMember:(...a)=>vi(l,...a),updateCredential:(...a)=>Ci(l,...a),revoke:(...a)=>Ri(l,...a),activate:(...a)=>Ti(l,...a),setDefault:(...a)=>Ai(l,...a),pipedreamConnect:(...a)=>Ii(l,...a),pipedreamFinalize:(...a)=>ji(l,...a)};return{get:a=>qt(l,a),detail:()=>Dt(l),audit:a=>Sc(l,a),update:a=>Ot(l,a),archive:()=>Ft(l),llmCatalog:()=>Mt(l),modelPicker:()=>Ut(l),sandboxHealth:()=>Kt(l),onboardingComplete:(...a)=>Is(l,...a),apps:{list:()=>Lc(l),create:a=>Gc(l,a),get:a=>Bc(l,a),update:(...a)=>Kc(l,...a),access:{get:(...a)=>Nc(l,...a),update:(...a)=>Wc(l,...a),session:(...a)=>zc(l,...a)},remove:a=>Hc(l,a),artifacts:{register:a=>Qt(l,a),uploadArchive:(...a)=>Vc(l,...a),finalize:(...a)=>Yt(l,...a)},deployments:{create:(...a)=>Jc(l,...a),list:a=>Xc(l,a),get:(...a)=>Qc(l,...a),logs:(...a)=>Yc(l,...a)},start:a=>Zc(l,a),stop:a=>el(l,a),rollback:(...a)=>tl(l,...a)},tokens:{list:()=>_c(l),create:a=>Pc(l,a),revoke:a=>kc(l,a)},setupLinks:{requestSecret:a=>Ic(l,a),requestConnector:a=>jc(l,a)},validateManifest:a=>ks(l,a),gitToken:()=>ws(l),secrets:{list:()=>oi(l),upsert:a=>ai(l,a),setStrategy:(...a)=>ci(l,...a),broker:(...a)=>li(l,...a),remove:a=>mi(l,a),setPersonal:(...a)=>fi(l,...a),removePersonal:a=>yi(l,a),setGitCredential:a=>gi(l,a),startProviderOAuth:(...a)=>ui(l,...a),pollProviderOAuth:(...a)=>pi(l,...a),removeProviderOAuth:a=>di(l,a)},access:{list:()=>Ks(l),invite:(...a)=>Ws(l,...a),update:(...a)=>Hs(l,...a),revoke:a=>Ns(l,a),pendingInvites:()=>zs(l),resendInvite:(...a)=>Js(l,...a),revokeInvite:(...a)=>Vs(l,...a),requests:()=>Ls(l),approveRequest:(...a)=>Gs(l,...a),rejectRequest:(...a)=>Bs(l,...a),groupGrants:()=>Xs(l),attachGroupGrant:(...a)=>Qs(l,...a),updateGroupGrant:(...a)=>Ys(l,...a),detachGroupGrant:a=>Zs(l,a),resourceGrants:{list:()=>ei(l),create:a=>ti(l,a),remove:a=>ni(l,a)}},connectors:{...x(l),list:()=>Ei(l),config:(...a)=>Fi(l,...a),create:(...a)=>Bi(l,...a),remove:(...a)=>Hi(l,...a),sync:()=>$i(l),auth:{discover:(...a)=>Ki(l,...a)},setName:(...a)=>Li(l,...a),setCredentialMode:(...a)=>qi(l,...a),setAuthorizationStrategy:(...a)=>Di(l,...a),setCredential:(...a)=>Vi(l,...a),setSensitive:(...a)=>Mi(l,...a),connections:h,policies:{get:(...a)=>Ui(l,...a),set:(...a)=>Oi(l,...a)},pipedream:{listApps:(...a)=>Ni(l,...a),listSections:(...a)=>Wi(l,...a),connect:(...a)=>Gi(l,...a),finalize:(...a)=>Ji(l,...a)},discover:{list:(...a)=>Gt(l,...a),detail:(...a)=>Bt(l,...a)}},policies:{list:()=>Xi(l),set:(...a)=>Qi(l,...a)},triggers:{list:()=>Vo(l),create:(...a)=>Jo(l,...a),update:(...a)=>Xo(l,...a),remove:(...a)=>Qo(l,...a),fire:(...a)=>Zo(l,...a),setActivation:(...a)=>Yo(l,...a)},files:{list:a=>ao(l,a),read:(a,A)=>lo(l,a,A),search:(...a)=>co(l,...a),archive:(...a)=>uo(l,...a),history:(...a)=>yo(l,...a)},git:{commits:()=>go(l),commit:a=>mo(l,a),commitDiff:a=>fo(l,a),branches:()=>po(l),versionDiff:(...a)=>ho(l,...a),inviteCollaborator:(...a)=>Ps(l,...a)},changeRequests:{list:()=>bo(l),get:a=>xo(l,a),diff:a=>_o(l,a),mergePreview:a=>Po(l,a),open:(...a)=>ko(l,...a),merge:(...a)=>wo(l,...a),close:(...a)=>So(l,...a),reopen:(...a)=>vo(l,...a),requestChanges:(...a)=>Co(l,...a)},sessions:{list:a=>De(l,a),create:a=>Me(l,a),ensureWarm:()=>Do(l),claimWarm:a=>Mo(l,a)},review:{list:a=>lc(l,a),get:a=>uc(l,a),submit:a=>pc(l,a),act:(...a)=>dc(l,...a),bulkAct:a=>gc(l,a)},approvals:{list:a=>ri(l,a),resolve:(...a)=>ii(l,...a),sessionsNeedingInput:a=>si(l,a)},gateway:{logs:a=>Va(l,a),log:a=>Ja(l,a),overview:a=>Xa(l,a),series:a=>Qa(l,a),breakdown:a=>Ya(l,a),sessions:a=>Za(l,a),errors:a=>ec(l,a),budgets:()=>tc(l),setBudget:a=>nc(l,a),deleteBudget:a=>rc(l,a),keys:()=>sc(l),createKey:a=>ic(l,a),revokeKey:a=>oc(l,a),routing:{get:()=>Ha(l),set:a=>Na(l,a),reset:()=>Wa(l),preview:a=>za(l,a)},playground:(a,A,j)=>ac(l,a,A,j)},channels:{slack:{installation:()=>Ia(l),connect:a=>ja(l,a),mode:()=>Ea(l),manifest:()=>$a(l),disconnect:()=>qa(l),getFile:a=>Da(l,a),uploadFile:a=>Ma(l,a)},email:{installation:a=>Oa(l,a),mode:()=>Fa(l),connect:a=>La(l,a),disconnect:a=>Ga(l,a),updatePolicy:(...a)=>Ba(l,...a)},voice:{setBotName:a=>Ka(l,a)}},updateFeatureFlag:(...a)=>Rs(l,...a),updateExperimentalFeature:(...a)=>Ts(l,...a),modelDefaults:{get:()=>ta(l),set:a=>na(l,a),clear:a=>ra(l,a)},setDefaultAgent:a=>oa(l,a),sandbox:{list:()=>oo(l),snapshots:()=>Zi(l),rebuildSnapshot:a=>eo(l,a),fixWithAgent:()=>to(l),createTemplate:a=>no(l,a),updateTemplate:(...a)=>ro(l,...a),removeTemplate:a=>so(l,a),buildTemplate:a=>io(l,a),setProvider:a=>As(l,a)},setAgentScope:(...a)=>sa(l,...a),session:a=>T(l,a)}}function T(l,h){let a=null,A,j,v=null;async function k(){v||(v=Ht(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=nu(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
|
+
${h}`,V=nn.get(z);if(V)return a=await V,a;let J=(async()=>{let Q=Date.now()+M,H=()=>Math.max(0,Q-Date.now()),D=await Se(l,h,Math.min(3e4,H()));for(;Date.now()<Q&&(D==null||(D.stage==="provisioning"||D.stage==="starting")&&D.retriable);)await new Promise(Ce=>setTimeout(Ce,Math.min(1e3,H()))),D=await Se(l,h,Math.min(3e4,H()));if(!D||D.stage!=="ready"||!D.sandbox||!D.opencode_session_id)throw new R(`Session runtime not ready (stage: ${D?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let U=D.sandbox.external_id;if(!U)throw new R("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let N=St(U);return Ol(N,U),{opencodeSessionId:D.opencode_session_id,runtimeUrl:N,sandboxId:U}})();nn.set(z,J);try{return a=await J,a}finally{nn.get(z)===J&&nn.delete(z)}}function F(y){let C=$();if(!C)throw new at(y);return C}function K(){a=null,su(l,h)}return{get:y=>Ht(l,h,y),cost:()=>Vt(h,{projectId:l}),update:y=>Lo(l,h,y),delete:()=>(K(),Go(l,h)),start:(...y)=>Se(l,h,...y),restart:()=>(K(),rt(l,h)),stop:()=>(K(),st(l,h)),configState:()=>Bo(l,h),reloadConfig:y=>(K(),Ko(l,h,y)),reloadConfigStream:(...y)=>(K(),Ho(l,h,...y)),setSharing:y=>Io(l,h,y),previews:()=>jo(l,h),commit:y=>Ro(l,h,y),publicShares:{list:()=>Eo(l,h),create:(...y)=>$o(l,h,...y),revoke:(...y)=>qo(l,h,...y)},audit:(y,C)=>Uo(l,h,y,C),transcript:y=>Oo(l,h,y),voiceTranscript:y=>Fo(l,h,y),ensureReady:w,health:y=>nl($()?.runtimeUrl??null,y),previewUrl:(y,C="/")=>ue(y,C,r(F("previewUrl").sandboxId)),proxyUrl:y=>rl(y,r(F("proxyUrl").sandboxId)),setModel:y=>{A=y},changeModel:async y=>{let C=await zo(l,h,y);return v=null,C},scope:()=>No(l,h),rescope:y=>Wo(l,h,y),setAgent:y=>{j=y},send:async(y,C)=>{let{opencodeSessionId:M,runtimeUrl:z}=await w(),V=C?.model??A,J=C?.agent??j,Q=V&&J?{}:await k(),H=V??Q.model,D=J??Q.agent;return te(z).session.prompt({sessionID:M,parts:[{type:"text",text:y}],...H?{model:H}:{},...D?{agent:D}:{}})},abort:async()=>{let{opencodeSessionId:y,runtimeUrl:C}=await w();return te(C).session.abort({sessionID:y})},rewind:async y=>{let{opencodeSessionId:C,runtimeUrl:M}=await w();return te(M).session.revert({sessionID:C,messageID:y})},restoreRewind:async()=>{let{opencodeSessionId:y,runtimeUrl:C}=await w();return te(C).session.unrevert({sessionID:y})},stream:async y=>{let{runtimeUrl:C}=await w();return tn({client:te(C),onEvent:y.onEvent,onGapRehydrate:y.onGapRehydrate,signal:y.signal})},get runtime(){return te(F("runtime").runtimeUrl)},files:{list:async y=>We(y,(await w()).runtimeUrl),read:async y=>je(y,(await w()).runtimeUrl),readBlob:async y=>Ee(y,(await w()).runtimeUrl),status:async()=>ze((await w()).runtimeUrl),findFiles:async(y,C)=>Ve(y,C,(await w()).runtimeUrl),findText:async y=>Je(y,(await w()).runtimeUrl),upload:async(y,C,M)=>$e(y,C,M,(await w()).runtimeUrl),create:async y=>Xe(y,(await w()).runtimeUrl),copy:async(y,C)=>Qe(y,C,(await w()).runtimeUrl),remove:async y=>Ye(y,(await w()).runtimeUrl),mkdir:async y=>Ze(y,(await w()).runtimeUrl),rename:async(y,C)=>et(y,C,(await w()).runtimeUrl)}}}return{config:t,accounts:s,accountInvites:u,projects:p,connectors:x(),project:I,session:T,github:g,billing:c,sandboxShares:f,transcribe:cc,connectStatus:m,marketplace:_,validateToken:xs,runtime:nh}}function Tu(){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 il={thinking:!1,toolDetails:!0,assistantMetadata:!0};function rh(t){return t&&t.charAt(0).toUpperCase()+t.slice(1)}function sh(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 ih(t,e){if(t.type==="text"&&!t.synthetic)return`${t.text??""}
|
|
21
|
+
|
|
22
|
+
`;if(t.type==="reasoning")return e.thinking?`> _Thinking:_
|
|
11
23
|
>
|
|
12
|
-
> ${(
|
|
24
|
+
> ${(t.text??"").replace(/\n/g,`
|
|
13
25
|
> `)}
|
|
14
26
|
|
|
15
|
-
`:"";if(
|
|
16
|
-
`;if(
|
|
27
|
+
`:"";if(t.type==="tool"){let n=`**Tool: ${t.tool??"unknown"}**
|
|
28
|
+
`;if(e.toolDetails&&t.state?.input)try{let r=typeof t.state.input=="string"?t.state.input:JSON.stringify(t.state.input,null,2);n+=`
|
|
17
29
|
<details>
|
|
18
30
|
<summary>Input</summary>
|
|
19
31
|
|
|
@@ -22,7 +34,7 @@ ${r}
|
|
|
22
34
|
\`\`\`
|
|
23
35
|
|
|
24
36
|
</details>
|
|
25
|
-
`}catch{}if(
|
|
37
|
+
`}catch{}if(e.toolDetails&&t.state?.status==="completed"&&t.state.output){let r=t.state.output,s=r.length>2e3?r.slice(0,2e3)+`
|
|
26
38
|
... (truncated)`:r;n+=`
|
|
27
39
|
<details>
|
|
28
40
|
<summary>Output</summary>
|
|
@@ -32,36 +44,36 @@ ${s}
|
|
|
32
44
|
\`\`\`
|
|
33
45
|
|
|
34
46
|
</details>
|
|
35
|
-
`}return
|
|
47
|
+
`}return e.toolDetails&&t.state?.status==="error"&&t.state.error&&(n+=`
|
|
36
48
|
**Error:**
|
|
37
49
|
\`\`\`
|
|
38
|
-
${
|
|
50
|
+
${t.state.error}
|
|
39
51
|
\`\`\`
|
|
40
52
|
`),n+=`
|
|
41
|
-
`,n}return""}function
|
|
53
|
+
`,n}return""}function oh(t,e){if(!e)return`## Assistant
|
|
42
54
|
|
|
43
|
-
`;let n=
|
|
55
|
+
`;let n=t.agent?rh(t.agent):"Assistant",r=t.modelID||"",s="";t.time?.completed&&t.time?.created&&(s=sh(t.time.completed-t.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
|
|
44
56
|
|
|
45
57
|
`:`## ${n}
|
|
46
58
|
|
|
47
|
-
`}function
|
|
59
|
+
`}function ah(t,e,n){let r="";t.role==="user"?r+=`## User
|
|
48
60
|
|
|
49
|
-
`:r+=
|
|
61
|
+
`:r+=oh(t,n.assistantMetadata);for(let s of e)r+=ih(s,n);return r}function Au(t,e,n=il){let r=`# ${t.title||"Untitled Session"}
|
|
50
62
|
|
|
51
|
-
`;r+=`**Session ID:** \`${
|
|
52
|
-
`,r+=`**Created:** ${new Date(
|
|
53
|
-
`,r+=`**Updated:** ${new Date(
|
|
63
|
+
`;r+=`**Session ID:** \`${t.id}\`
|
|
64
|
+
`,r+=`**Created:** ${new Date(t.time.created).toLocaleString()}
|
|
65
|
+
`,r+=`**Updated:** ${new Date(t.time.updated).toLocaleString()}
|
|
54
66
|
|
|
55
67
|
`,r+=`---
|
|
56
68
|
|
|
57
|
-
`;for(let s of
|
|
58
|
-
|
|
59
|
-
`;return r}function tu(e,t){return`session-${e}.md`}function Y(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return ct(r)||t}catch{return t}}return ct(n)||t}catch{return wy(t)??t}}return typeof e=="object"?ct(e)||"An error occurred":String(e)}function ru(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function wy(e){let t=ru(e);if(t)try{return ct(JSON.parse(t))}catch{return}}function ct(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let n=t.data;if(typeof n?.message=="string")return n.message;let r=t.error;if(typeof r?.message=="string")return r.message}function $c(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function nu(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||ct(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function pe(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,p=$c(u)??$c(ru(u));return p!==void 0?pe(p):void 0}if(typeof e!="object")return;let t=e,n=nu(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=nu(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=$c(s.responseBody);if(u!==void 0){let p=pe(u);if(p)return p}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let p=pe(u);if(p)return p}}}var Sy={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"}},vy=[{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 Cy(e){return e.replace(/^oc[-_]/,"")}function lt(e){return Cy(e).replace(/-/g,"_")}function Yt(e){return lt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Zt(e){let t=lt(e),n=Sy[t];if(n)return n;for(let{prefix:r,category:s}of vy)if(t.startsWith(r))return{label:Yt(e),category:s};return{label:Yt(e),category:"other"}}var Ry=256*1024;function Ty(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Iy(e){if(e===void 0)return{};if(e.length>Ry)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Ay(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Y(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function jy(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=Iy(r),u=Ty(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let g=Ay(s);g&&(u="error",p=g)}return{name:e,title:n||Zt(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:p}}function Ey(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function $y(e){return{kind:"reasoning",id:e.id,text:e.text}}function qy(e){return{kind:"tool",id:e.id,tool:jy(e.tool,e.state)}}function Dy(e){let t=e.mime;return{kind:"file",id:e.id,filename:e.filename,mime:t,url:e.url,isImage:t.startsWith("image/"),isPdf:t==="application/pdf"}}function My(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Uy(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Oy(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Ly(e){return{kind:"agent",id:e.id,name:e.name}}function Fy(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Y(e.error),createdAt:e.time.created}}function Gy(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function By(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function Ky(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function qc(e){switch(e.type){case"text":return Ey(e);case"reasoning":return $y(e);case"tool":return qy(e);case"file":return Dy(e);case"subtask":return My(e);case"patch":return Uy(e);case"snapshot":return Oy(e);case"agent":return Ly(e);case"retry":return Fy(e);case"compaction":return Gy(e);case"step-start":return By(e);case"step-finish":return Ky(e);default:return{kind:"unknown",raw:e}}}function Ny(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=pe(e);return{name:t,message:n?.message||Y(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function Hy(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function su(e){let t=e.parts.map(qc),n=e.info.role==="assistant"?e.info.error:void 0,r=Ny(n),s=!r&&!t.some(Hy);return{parts:t,error:r,isEmpty:s}}function de(e){return e.type==="text"}function en(e){return e.type==="reasoning"}function ne(e){return e.type==="tool"}function ou(e){return e.type==="file"}function Wy(e){return e.type==="agent"}function zy(e){return e.type==="compaction"}function Vy(e){return e.type==="snapshot"}function Jy(e){return e.type==="patch"}function Xy(e){if(de(e)||en(e))return e.text}function iu(e){if(!ou(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function Qy(e){let t=[],n=[];for(let r of e)iu(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Yy(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Zy(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var eh=new Set(["todoread","context_info"]);function au(e){return!eh.has(e.tool)}function th(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=e.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function nh(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return Y(n.error)}}function rh(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ne(r)&&au(r)&&t.push(r);return t}function sh(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:cu(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:lu(t.path)};case"glob":return{icon:"search",title:"Glob",subtitle:t.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:t.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:t.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:t.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:t.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:t.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:t.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:t.prompt?.slice?.(0,40)};case"presentation-gen":{let n=t.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:t.slide_title||t.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:t.title||t.description};case"task":return{icon:"square-kanban",title:`Agent (${t.subagent_type||"task"})`,subtitle:uu(t)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${t.agent||"KortixWorker"})`,subtitle:t.description||t.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:t.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:Dc(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Dc(t.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:t.files?.length?`${t.files.length} file${t.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:t.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:t.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${t.mode||"summary"})`,subtitle:t.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:t.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:t.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:t.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:t.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:t.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:t.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:t.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:t.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:t.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:t.name||t.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:t.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:t.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:t.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:t.name||t.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:t.name||t.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:t.name||t.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:t.name||t.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:t.name||t.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:t.name||t.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${t.agent_type||"worker"})`,subtitle:t.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:t.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:t.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:t.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:t.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:t.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:t.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:t.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:t.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:t.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:t.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:t.title||t.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:t.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:t.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:t.id};default:return{icon:"cpu",title:e}}}function cu(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Dc(e){if(!e)return;let t=e.split("/"),n=t[t.length-1]||e;if(t.length<=1)return n;let r=t[t.length-2];return r?`${n} /${r}`:n}function lu(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function oh(e,t){if(!t)return e;if(e.startsWith(t)){let n=e.slice(t.length);return n.startsWith("/")?n.slice(1):n}return e}function ut(e,t=120){if(typeof e!="string")return"";let n=e.split(`
|
|
60
|
-
`).map(r=>r.trim()).find(Boolean);return n?n.length>
|
|
61
|
-
\u2026`:
|
|
62
|
-
`),r=
|
|
63
|
-
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let c=n.length,u=r.length;for(;c>s&&u>s&&n[c-1]===r[u-1];)c--,u--;let p=[];for(let g=0;g<s;g++)p.push({type:"unchanged",text:n[g]});for(let g=s;g<c;g++)p.push({type:"removed",text:n[g]});for(let g=s;g<u;g++)p.push({type:"added",text:r[g]});for(let g=c;g<n.length;g++)p.push({type:"unchanged",text:n[g]});return p}function
|
|
64
|
-
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Xh(e){let t=G(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=xu.test(e.output.trim())?Vh(e.output):Jh(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Qh(e){let t=G(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=G(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function Oc(e){let t=Ue(e)??{};return{content:G(t.content)??"",status:G(t.status)??"pending",priority:G(t.priority)}}function Yh(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Oc)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Oc)};let n=Ue(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Oc)}:{kind:"todo",items:[]}}function Zh(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Ue(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=Ue(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 eb(e){let n=e.input&&Object.keys(e.input).length>0?hu(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?pt(e.outputParsed):hu(e.outputParsed):e.outputText!==void 0?r=pt(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Pu(e){switch(lt(e.name)){case"web_search":case"websearch":case"image_search":return qh(e);case"bash":return Gh(e);case"read":return Bh(e);case"write":return Kh(e);case"edit":case"morph_edit":return Wh(e);case"grep":case"glob":return Xh(e);case"task":return Qh(e);case"todowrite":return Yh(e);case"question":case"ask":return Zh(e);default:return eb(e)}}function tn(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function tb(e,t){if(e==null)return t;let n=e.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:t}function nb(e){if(e==null)return;let t=e.trim().toLowerCase();if(["1","true","yes","y","on"].includes(t))return!0;if(["0","false","no","n","off"].includes(t))return!1}function Fc(e,t,n){return e!==void 0?e:tb(tn(t),n)}var rb={get disableMobileAdvertising(){return Fc(E().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Fc(E().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Fc(E().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var dt="kortix-active-instance",_u=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function ku(e){return _u.some(t=>e===t||e.startsWith(`${t}/`))}function Oe(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let n=decodeURIComponent(t[1]),r=t[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function sb(e){let t=Oe(e);return!!t&&t.innerPath===""}function ob(e){let t=Oe(e);return!t||!t.innerPath?e:t.innerPath}function wu(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=Oe(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return ku(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function Su(e){return e?Oe(e)?.instanceId??null:null}function ib(){return typeof window>"u"?null:Su(window.location.pathname)||vu()}function vu(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${dt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function ab(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${dt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${dt}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${dt}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function cb(e,t){return t?wu(t,e):e}function lb(e){let t=Oe(e);return t?t.innerPath||"/dashboard":e}function Cu(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e&&typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e??"")}function Ru(e){let t=Cu(e).trim();if(!t)return null;let n=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],r=t.indexOf("{");r>=0&&n.push(t.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function Gc(e){let t=Ru(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function ub(e){return Gc(e)!==null}function Tu(e){let t=Gc(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),p=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:Cu(e)||"The sandbox is running, but OpenCode returned an error."}}function W(){let e=tn("BACKEND_URL")||E().backendUrl;return e||"http://localhost:8008/v1"}function gt(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let n=gt(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return gt(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var Iu=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Au(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function pb(e){return e==="running"||e==="active"?"active":e==="queued"||e==="branching"||e==="provisioning"?"provisioning":e==="failed"||e==="error"?"error":e==="stopped"||e==="completed"||e==="archived"?"stopped":e||"unknown"}function Bc(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${W()}/p/${n.external_id}/${te.KORTIX_MASTER}`:""),status:pb(n?.status||t.status),metadata:{...t.metadata??{},project_id:e.project_id,session_id:t.session_id,project_name:e.name,runtime_status:n?.status,error:t.error},created_at:n?.created_at||t.created_at,updated_at:n?.updated_at||t.updated_at}}async function Kc(){let e=await xe(),t=[];for(let n of e){let r=await De(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Bc(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return c!==0?c:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function ke(e){let t=await Kc();return e?t.find(n=>n.sandbox.sandbox_id===e||n.sandbox.external_id===e||n.session.session_id===e||n.runtime?.external_id===e)??null:t[0]??null}async function nn(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await $(`${W()}${e}`,{...t,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new T(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=Te(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function Nc(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${W()}/p/${e.external_id}/${te.KORTIX_MASTER}`}function db(e,t){return e.external_id?`${W()}/p/${e.external_id}/${t}`:null}async function gb(){let e=await o.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function ju(e){let t=await ke();if(t)return{sandbox:t.sandbox,created:!1};let r=(await xe())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Me(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await _e(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Bc(r,s,c),created:!0}}async function mb(){return(await ke().catch(()=>null))?.sandbox??null}async function fb(e){return{sandbox:(await ju(e)).sandbox}}async function yb(e){let t=gt(e);return t?(await ke(t).catch(()=>null))?.sandbox??null:null}async function hb(e,t){throw await ke(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function bb(e){let t=gt(e);return(await Kc().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function xb(){if(typeof window>"u")return null;let e=W(),t=Array.from(new Set([e,...Iu]));for(let n of t)try{let r=await fetch(Au(n),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!r.ok)continue;let s=await r.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function Pb(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await ke(e);if(!t)throw new Error("Project session sandbox not found");await rt(t.project.project_id,t.session.session_id)}async function _b(e){if(!e)throw new Error("No sandbox selected to stop");let t=await ke(e);if(!t)throw new Error("Project session sandbox not found");await st(t.project.project_id,t.session.session_id)}async function kb(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function wb(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Sb(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function vb(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function Cb(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function Rb(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function Tb(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function Ib(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Ab(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function jb(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Hc(e,t,n){let r=Nc(e),s=await $(`${ye(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function Eb(e,t){return Hc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function $b(e,t,n,r="member"){await Hc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function qb(e,t,n){await Hc(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Db(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Mb(e){let t=await nn(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function Ub(e){let t=await nn(`/platform/invites/${encodeURIComponent(e)}/accept`,{method:"POST"});if(!t.success||!t.data)throw new Error(t.error||"Failed to accept invite");return t.data}async function Ob(e){let t=await nn(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function Lb(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Fb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Gb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Bb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Kb(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Nb(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Eu=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Hb(e){return Eu.includes(e)}async function Wb(e){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:e?.version??null,error:null,startedAt:null,updatedAt:null}}async function zb(e){let t=e?`?channel=${e}`:"",n=await fetch(`${W()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await $u(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function $u(e){let t=e?`?channel=${e}`:"",n=await fetch(`${W()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function Vb(){let e=await fetch(`${W()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function Jb(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Xb(e){}async function Qb(e){}async function Yb(e){return{serverTypes:[],location:e||"hel1"}}async function Zb(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function ex(e){let t=await o.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function tx(e,t){await o.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function nx(){let e=await o.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function rx(e){let t=await o.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function sx(e,t){return`${W()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var re=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function rn(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Wc(e,t){let n=new Headers(e.headers);return n.set("Accept","application/json"),t&&n.set("Content-Type","application/json"),e.accessToken&&n.set("Authorization",`Bearer ${e.accessToken}`),n}async function sn(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function on(e,t){if(t&&typeof t=="object"){let n=t;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof t=="string"&&t?t:e.statusText||`HTTP ${e.status}`}async function B(e,t,n){let r=n?.body!==void 0,s=await fetch(`${rn(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Wc(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),c=await sn(s);if(!s.ok)throw new re(on(s,c),s.status,c);return c}function ox(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString();return n?`?${n}`:""}function ix(e,t){return B(`/marketplace/items${ox(t)}`,e)}function ax(e){return B("/marketplace/marketplaces",e)}function cx(e,t){return B(`/marketplace/items/${encodeURIComponent(e)}`,t)}function lx(e,t,n){return B(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function ux(e,t){return B("/access/check-email",t,{method:"POST",body:{email:e}})}function px(e,t){return B("/access/request-access",t,{method:"POST",body:e})}function dx(e){return B("/auth/logout",e,{method:"POST",body:{}})}function gx(e,t){return B(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function mx(e,t){return B("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function fx(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function yx(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function hx(e,t){return B(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function bx(e,t,n){return B(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function xx(e,t){return B(`/p/public-share/${encodeURIComponent(e)}`,t)}function Px(e,t,n){return B(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function _x(e){return B("/system/maintenance",e)}function kx(e,t){return B("/system/maintenance",t,{method:"PUT",body:e})}function wx(e){return B("/user-roles",e)}function Sx(e,t){return B("/system/demo-request",t,{method:"POST",body:e})}async function vx(e,t,n){let r=new URLSearchParams({format:t.format});t.action&&r.set("action",t.action),t.actor&&r.set("actor",t.actor),t.project_id&&r.set("project_id",t.project_id),t.session_id&&r.set("session_id",t.session_id),t.actor_type&&r.set("actor_type",t.actor_type),t.source&&r.set("source",t.source),t.outcome&&r.set("outcome",t.outcome),t.request_id&&r.set("request_id",t.request_id),t.correlation_id&&r.set("correlation_id",t.correlation_id),t.resource_type&&r.set("resource_type",t.resource_type),t.since&&r.set("since",t.since),t.until&&r.set("until",t.until),t.q&&r.set("q",t.q);let s=await fetch(`${rn(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Wc(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let c=await sn(s);throw new re(on(s,c),s.status,c)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count")}}async function Cx(e,t){let n=await fetch(`${rn(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Wc(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await sn(n);throw new re(on(n,r),n.status,r)}if(!n.body)throw new re("No response body",n.status,null);return n.body}var Rx=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function qu(e,t){return Rx.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${rn(e)}/`):null}async function Tx(e,t,n){let r=qu(e,t);if(!r)throw new re("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),c=await sn(s);if(!s.ok)throw new re(on(s,c),s.status,c);return c}async function Ix(){let e=await o.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function Ax(e={}){let t=await o.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function jx(e){let t=await o.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function Ex(e){let t=await o.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function $x(){let e=await o.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function Du(e){try{let t=new URL(e);if(/^\/proxy\/\d+(?:\/|$)/.test(t.pathname))return`${t.origin}/v1/p/auth`;let n=t.pathname.indexOf("/p/");return n!==-1?`${t.origin}${t.pathname.slice(0,n)}/p/auth`:`${t.origin}/v1/p/auth`}catch{return null}}function qx(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let c=new Set;if(t)try{c.add(new URL(t).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(n.origin)}catch{return!1}}function zc(e,t){return qx(e,t)?(t?Du(t):null)??Du(e):null}function Dx(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function Mx(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function Ux(e,t={}){let n=zc(e,t.serverUrl);if(!n)return!1;let r=await ge();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 Ox=3e3;function Mu(e){return!Number.isFinite(e)||e<100||e>599?"unknown":e===502||e===503||e===504?"unreachable":e===401||e===403?"unknown":"reachable"}async function Lx(e,t){if(!e||t?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();t?.signal?.addEventListener("abort",r);let s=setTimeout(r,t?.timeoutMs??3e3);try{let c=await fetch(e,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return Mu(c.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function Vc(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Fx(e,t){return`${Vc(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function Gx(e,t){return`${Vc(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function Uu(e,t){return`${Vc(e)}/presentation/convert-to-${t}`}async function Bx(e,t,n,r){let s=Uu(t,e),c=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),g=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let q=await f.blob();if(q.size===0)throw new Error("Downloaded file is empty");return q}if(f.status===202){if(g||(g=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((q,l)=>{let h=setTimeout(q,c);r?.signal?.addEventListener("abort",()=>{clearTimeout(h),l(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let _=await f.text().catch(()=>""),j=f.statusText;try{let q=JSON.parse(_);j=String(q.error||q.detail||q.message||j)}catch{_&&(j=_)}throw new Error(`Failed to download ${e.toUpperCase()}: ${j} (HTTP ${f.status})`)}}function Lu(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let c=new URLSearchParams({limit:String(r)});s&&c.set("before",s);let u=await e.getToken?.(),p=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function Fu(e){return Kx(Lu(e))}function Gu(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=Lu(e),s=async c=>{let u=await e.getToken?.(),p=await t(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new Jc({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function Kx(e){let t=new Map,n=new Set,r;do{let s=await e({limit:50,...r?{before:r}:{}});for(let c of s.messages)t.set(c.info.id,c);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...t.values()].sort((s,c)=>s.info.id.localeCompare(c.info.id))}var Nx={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Ou=500,Jc=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??Nx,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0}),this.setBusy(!0)}observePromptStatus(t){if(this.promptObservationPhase!=="idle"){if(t.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.setBusy(!1)}setBusy(t){if(!t){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t),r=await this.loadCompleteTurn(n,"tail",t);if(this.destroyed)return;this.containsNewPromptReply(r.messages)&&this.observePromptActivity(),this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t)}async loadCompleteTurn(t,n,r,s){let c=[...t.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),g=t.nextCursor;for(let f of t.messages)f.info.role==="user"&&u.add(f.info.id);for(;g&&c.some(f=>f.info.role==="assistant"&&!!f.info.parentID&&!u.has(f.info.parentID));){if(p.has(g))throw new Error(`Session history cursor repeated: ${g}`);p.add(g);let f=await this.loadPage(n,r,g);c.unshift(...f.messages);for(let m of f.messages)m.info.role==="user"&&u.add(m.info.id);g=f.nextCursor}return{messages:c,nextCursor:g}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.reconcile("poll"),await this.reconcileStatus(),this.lastActivityAt=this.scheduler.now())}containsNewPromptReply(t){if(this.promptObservationPhase==="idle")return!1;let n=new Set(t.filter(r=>r.info.role==="user"&&!this.knownUserMessageIds.has(r.info.id)).map(r=>r.info.id));return n.size===0?!1:t.some(r=>r.info.role==="assistant"&&!!r.info.parentID&&n.has(r.info.parentID))}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let t=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.stopLivenessTimer())};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(t,Ou):setTimeout(t,Ou)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder&&n.isPromptObservedBusy===this.snapshot.isPromptObservedBusy)){this.snapshot=n;for(let r of this.listeners)r()}}};function Bu(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Ku(e){let{url:t,token:n,method:r="GET",body:s,onEvent:c,onOpen:u,onError:p,signal:g}=e,f=new Map,m=null,x=!1;function _(a,R){c?.(a,R);let I=f.get(a);if(I)for(let C of I)try{C(R)}catch{}}async function j(){if(x)return;m=new AbortController;let a=g?AbortSignal.any([m.signal,g]):m.signal;try{let R={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(R["Content-Type"]="application/json");let I=await fetch(t,{method:r,headers:R,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:a,credentials:"include"});if(!I.ok)throw new Error(`SSE connection failed: ${I.status} ${I.statusText}`);if(!I.body)throw new Error("SSE response has no body");u?.();let C=I.body.getReader(),k=new TextDecoder,A="",S="message",L="";for(;!x;){let{done:K,value:y}=await C.read();if(K)break;A+=k.decode(y,{stream:!0});let v=A.split(`
|
|
65
|
-
`)
|
|
66
|
-
`:"")+M.slice(6):M.startsWith("data:")&&(
|
|
67
|
-
`:"")+M.slice(5))}}catch(
|
|
69
|
+
`;for(let s of e)r+=ah(s.info,s.parts,n),r+=`---
|
|
70
|
+
|
|
71
|
+
`;return r}function Iu(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 ct(r)||e}catch{return e}}return ct(n)||e}catch{return ch(e)??e}}return typeof t=="object"?ct(t)||"An error occurred":String(t)}function Eu(t){let e=t.indexOf("{"),n=t.lastIndexOf("}");if(!(e===-1||n===-1||n<=e))return t.slice(e,n+1)}function ch(t){let e=Eu(t);if(e)try{return ct(JSON.parse(e))}catch{return}}function ct(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 ol(t){if(!(typeof t!="string"||!t))try{return JSON.parse(t)}catch{return}}function ju(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;return!e&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof t.message=="string"&&t.message||ct(t)||"",provider:e,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function de(t){if(t==null)return;if(typeof t=="string"){let u=t.startsWith("Error: ")?t.slice(7):t,p=ol(u)??ol(Eu(u));return p!==void 0?de(p):void 0}if(typeof t!="object")return;let e=t,n=ju(e);if(n)return n;let r=e.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=ju(r);if(u)return u}let s=e.data;if(s&&typeof s.responseBody=="string"){let u=ol(s.responseBody);if(u!==void 0){let p=de(u);if(p)return p}}let c=e.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let p=de(u);if(p)return p}}}var lh={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"}},uh=[{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 ph(t){return t.replace(/^oc[-_]/,"")}function lt(t){return ph(t).replace(/-/g,"_")}function rn(t){return lt(t).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function sn(t){let e=lt(t),n=lh[e];if(n)return n;for(let{prefix:r,category:s}of uh)if(e.startsWith(r))return{label:rn(t),category:s};return{label:rn(t),category:"other"}}var dh=256*1024;function gh(t){switch(t.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return t}}function mh(t){if(t===void 0)return{};if(t.length>dh)return{outputText:t};try{return{outputParsed:JSON.parse(t),outputText:t}}catch{return{outputText:t}}}function fh(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 yh(t,e){let n="title"in e?e.title:void 0,r=e.status==="completed"?e.output:void 0,{outputParsed:s,outputText:c}=mh(r),u=gh(e),p=e.status==="error"?e.error:void 0;if(u==="done"){let g=fh(s);g&&(u="error",p=g)}return{name:t,title:n||sn(t).label,status:u,input:e.input,output:r,outputParsed:s,outputText:c,error:p}}function hh(t){return{kind:"text",id:t.id,text:t.text,synthetic:!!t.synthetic}}function bh(t){return{kind:"reasoning",id:t.id,text:t.text}}function xh(t){return{kind:"tool",id:t.id,tool:yh(t.tool,t.state)}}function _h(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 Ph(t){return{kind:"subtask",id:t.id,description:t.description,agent:t.agent,prompt:t.prompt,model:t.model}}function kh(t){return{kind:"patch",id:t.id,hash:t.hash,files:t.files,fileCount:t.files.length}}function wh(t){return{kind:"snapshot",id:t.id,snapshot:t.snapshot}}function Sh(t){return{kind:"agent",id:t.id,name:t.name}}function vh(t){return{kind:"retry",id:t.id,attempt:t.attempt,message:Y(t.error),createdAt:t.time.created}}function Ch(t){return{kind:"compaction",id:t.id,auto:t.auto,overflow:!!t.overflow,tailStartId:t.tail_start_id}}function Rh(t){return{kind:"step",id:t.id,phase:"start",snapshot:t.snapshot}}function Th(t){return{kind:"step",id:t.id,phase:"finish",snapshot:t.snapshot,reason:t.reason,cost:t.cost,tokens:t.tokens}}function al(t){switch(t.type){case"text":return hh(t);case"reasoning":return bh(t);case"tool":return xh(t);case"file":return _h(t);case"subtask":return Ph(t);case"patch":return kh(t);case"snapshot":return wh(t);case"agent":return Sh(t);case"retry":return vh(t);case"compaction":return Ch(t);case"step-start":return Rh(t);case"step-finish":return Th(t);default:return{kind:"unknown",raw:t}}}function Ah(t){if(!t)return;let e=typeof t=="object"&&"name"in t&&typeof t.name=="string"?t.name:"Error",n=de(t);return{name:e,message:n?.message||Y(t),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function Ih(t){switch(t.kind){case"text":case"reasoning":return t.text.trim().length>0;case"step":return!1;default:return!0}}function $u(t){let e=t.parts.map(al),n=t.info.role==="assistant"?t.info.error:void 0,r=Ah(n),s=!r&&!e.some(Ih);return{parts:e,error:r,isEmpty:s}}function ge(t){return t.type==="text"}function on(t){return t.type==="reasoning"}function se(t){return t.type==="tool"}function qu(t){return t.type==="file"}function jh(t){return t.type==="agent"}function Eh(t){return t.type==="compaction"}function $h(t){return t.type==="snapshot"}function qh(t){return t.type==="patch"}function Dh(t){if(ge(t)||on(t))return t.text}function Du(t){if(!qu(t))return!1;let e=t.mime;return e.startsWith("image/")||e==="application/pdf"}function Mh(t){let e=[],n=[];for(let r of t)Du(r)?e.push(r):n.push(r);return{attachments:e,stickyParts:n}}function Uh(t,e){let n=[];return t?.tool&&n.push(t.tool),e?.tool&&n.push(e.tool),n}function Oh(t,e,n){return n.some(r=>r.messageID===e&&r.callID===t.callID)}var Fh=new Set(["todoread","context_info"]);function Mu(t){return!Fh.has(t.tool)}function Lh(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 Gh(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 Bh(t){let e=[];for(let n of t)if(n.info.role==="assistant")for(let r of n.parts)se(r)&&Mu(r)&&e.push(r);return e}function Kh(t,e={}){switch(t){case"read":return{icon:"glasses",title:"Read",subtitle:Uu(e.filePath)};case"list":return{icon:"list",title:"List",subtitle:Ou(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:Fu(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:cl(e.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:cl(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 Uu(t){if(!t)return;let e=t.split("/");return e[e.length-1]||t}function cl(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 Ou(t){if(!t)return;let e=t.lastIndexOf("/");if(!(e<0))return t.slice(0,e)||"/"}function Hh(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 ut(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 Fu(t){let e=ut(t.description);if(e)return e;let n=ut(t.title,80);if(n)return n;let r=ut(t.message);if(r)return r;let s=ut(t.prompt);if(s)return s;let c=ut(t.agent_id,40);return c?`Agent ${c}`:"Worker task"}function Nh(t,e){return!t||!e?[]:(t[e]??[]).filter(r=>r.severity===1).slice(0,3)}function Wh(t,e){return t.find(n=>n.tool?.callID===e)}function zh(t,e){return t.find(n=>n.tool?.callID===e)}var Vh=/\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 Jh(t){return t?t.replace(Vh,""):""}function Xh(t){let e=[],n=new Map;for(let s of t)if(s.info.role==="user"){if(n.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};e.push(c),n.set(s.info.id,c)}let r=null;for(let s of t){if(s.info.role==="user"){r=n.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let c=s.info;if(c.parentID){let p=n.get(c.parentID);if(p){p.assistantMessages.push(s);continue}}if(r){r.assistantMessages.push(s);continue}if(e.length>0){e[0].assistantMessages.unshift(s);continue}let u={userMessage:s,assistantMessages:[]};e.push(u)}return e}function Qh(t){let e=[];for(let n of t.assistantMessages)for(let r of n.parts)e.push({part:r,message:n});return e}function Yh(t){for(let e=t.length-1;e>=0;e--){let n=t[e].part;if(ge(n)&&n.text?.trim())return n}}function Zh(t){return t.some(({part:e})=>e.type==="tool"||e.type==="compaction"||e.type==="snapshot"||e.type==="patch")}function eb(t,e,n){if(n)return[];let r=[];for(let s of t.assistantMessages)for(let c of s.parts){if(!se(c))continue;let u=c,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:c,message:s})}return r}function tb(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 nb(t){let e=t-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,c=r.time.updated??r.time.created,u=s>e,p=c>e;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:c-s}}function Lu(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(...Lu(t,s));return r}function Gu(t){let e=t.userMessage.parts;if(e.length===0||!e.every(c=>ge(c)&&c.synthetic)||t.assistantMessages.length!==1)return!1;let r=t.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return se(s)&&s.tool==="bash"}function rb(t){if(Gu(t))return t.assistantMessages[0].parts[0]}function sb(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 ib(t,e){return!e||!t?!1:t.type!=="idle"}function ob(t,e){return!t&&!!e}function ab(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return Y(n.error)}}function cb(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return de(n.error)}}function ll(t){if(t){if(se(t))switch(t.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${t.tool}...`}if(on(t)){let e=t.text?.trimStart();if(e){let n=e.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(ge(t))return"Gathering thoughts..."}}function lb(t,e){for(let n=t.length-1;n>=0;n--){let r=t[n].part,s=se(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&e&&e.length>0){for(let u=e.length-1;u>=0;u--){let p=e[u];if(p.info.role==="assistant")for(let g=p.parts.length-1;g>=0;g--){let f=ll(p.parts[g]);if(f)return f}}return"Delegating to agent..."}let c=ll(r);if(c)return c}return"Considering next steps..."}function ub(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 ul=1.2;function Bu(t,e){if(!t)return 0;let n=t.input??0,r=(t.output??0)+(t.reasoning??0),s=t.cache?.read??0,c=t.cache?.write??0,u=Math.max(0,n-s-c),g=[...e.tiers??[],...e.contextOver200k?[e.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,_)=>_.contextThreshold-m.contextThreshold)[0]??e,f=u/1e6*g.inputPer1M;return f+=r/1e6*g.outputPer1M,s>0&&(f+=s/1e6*(g.cacheReadPer1M??g.inputPer1M)),c>0&&(f+=c/1e6*(g.cacheWritePer1M??g.inputPer1M)),f}function Ku(t,e,n,r){let s=t.cost||0;if(s>0)return s;if(!r||!e||!n)return 0;let c=r(e,n);return c?Bu(t.tokens,c):0}function Hu(t){if(t.role!=="assistant")return{};let e=t;return{providerID:e.providerID,modelID:e.modelID}}function pb(t,e){let n=0,r=0,s=0,c=0,u=0,p=0,g=!1;for(let{part:f,message:m}of t)if(f.type==="step-finish"){g=!0;let _=f,{providerID:x,modelID:I}=Hu(m.info);n+=Ku(_,x,I,e),r+=_.tokens?.input||0,s+=_.tokens?.output||0,c+=_.tokens?.reasoning||0,u+=_.tokens?.cache?.read||0,p+=_.tokens?.cache?.write||0}if(!g)for(let{message:f}of t){if(f.info.role!=="assistant")continue;let m=f.info,_=Nu(m,e);if(_<=0)continue;g=!0,n+=_;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,c+=x.reasoning??0,u+=x.cache?.read??0,p+=x.cache?.write??0)}if(g)return{cost:n*ul,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:p}}}function Nu(t,e){if(!e||!t.providerID||!t.modelID||!t.tokens)return 0;let n=e(t.providerID,t.modelID);return n?Bu({input:t.tokens.input,output:t.tokens.output,reasoning:t.tokens.reasoning,cache:t.tokens.cache},n):0}function db(t,e){let n=0;for(let r of t){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=Hu(s),p=0,g=!1;for(let f of r.parts)f.type==="step-finish"&&(g=!0,p+=Ku(f,c,u,e));g||(p+=Nu(s,e)),n+=p}return n*ul}function gb(t){return t===0?"$0.00":t<.001?`$${t.toFixed(4)}`:t<.01?`$${t.toFixed(3)}`:`$${t.toFixed(2)}`}function mb(t){return t<1e3?String(t):t<1e4?`${(t/1e3).toFixed(1)}k`:`${Math.round(t/1e3)}k`}function fb(t){if(!t||t.type!=="retry")return;let e=t;return{attempt:e.attempt,message:e.message.length>60?`${e.message.slice(0,60)}...`:e.message,next:e.next}}function yb(t){if(!(!t||t.type!=="retry"))return Y(t.message)}function hb(t){return(t.info.summary?.diffs?.length??0)>0}var bb=4e3;function pt(t,e=bb){return t.length>e?`${t.slice(0,e)}
|
|
73
|
+
\u2026`:t}function Wu(t){if(t!==void 0)try{return pt(JSON.stringify(t,null,2))}catch{return}}function G(...t){for(let e of t)if(typeof e=="string"&&e.length>0)return e}function Ue(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:void 0}function xb(t){let e=G(t.input?.query)??"";if(t.status==="error")return{kind:"web-search",query:e,error:t.error??"Search failed"};let n=Ue(t.outputParsed);if(!n)return{kind:"web-search",query:e};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(c=>{let u=Ue(c)??{};return{title:G(u.title)??"",url:G(u.url,u.link)??"",snippet:G(u.snippet,u.description,u.source)}});return{kind:"web-search",query:G(n.query)??e,results:s.length>0?s:void 0,answer:G(n.answer)}}var _b=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function dl(t){let e=t.match(_b);return e?Number(e[1]):void 0}function Pb(t,e,n){let r="",s=0;for(;;){let c=t.indexOf(e,s);if(c===-1)return r+t.slice(s);let u=t.indexOf(n,c+e.length);if(u===-1)return r+t.slice(s);r+=t.slice(s,c),s=u+n.length}}var kb=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function wb(t){let e=-1;for(let n of kb){let r=t.indexOf(n);r!==-1&&(e===-1||r<e)&&(e=r)}return e===-1?t:t.slice(0,e)}var Sb=/\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 vb(t){return t.replace(Sb,"")}function Cb(t){let e=G(t.input?.command)??"",n=t.output??"",r=dl(n),c=vb(wb(Pb(n,"<bash_metadata>","</bash_metadata>"))).trim()||(t.status==="error"?t.error:void 0);return{kind:"shell",command:e,stdout:c||void 0,exitCode:r}}function gl(t){return G(t.input?.filePath,t.input?.file_path,t.input?.path)??""}function Rb(t){let e=t.status==="error"?t.error:t.output&&pt(t.output)||void 0;return{kind:"file-read",path:gl(t),preview:e}}function Tb(t){let e=G(t.input?.content),n=t.status==="error"?t.error:pt(e??t.output??"")||void 0;return{kind:"file-write",path:gl(t),preview:n}}var Ab=256*1024;function Ib(t,e){if(t.length+e.length>Ab)return;let n=t.split(`
|
|
74
|
+
`),r=e.split(`
|
|
75
|
+
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let c=n.length,u=r.length;for(;c>s&&u>s&&n[c-1]===r[u-1];)c--,u--;let p=[];for(let g=0;g<s;g++)p.push({type:"unchanged",text:n[g]});for(let g=s;g<c;g++)p.push({type:"removed",text:n[g]});for(let g=s;g<u;g++)p.push({type:"added",text:r[g]});for(let g=c;g<n.length;g++)p.push({type:"unchanged",text:n[g]});return p}function jb(t){let e=G(t.input?.oldString),n=G(t.input?.newString),r=e!==void 0&&n!==void 0?Ib(e,n):void 0;return{kind:"file-edit",path:gl(t),diff:r}}var Vu=/^Found\s+(\d+)\s+match/i,Eb=/^(\/[^:]+?):\s*/,zu=/Line\s+(\d+):/g;function $b(t){let e=t.trim(),n=e.match(Vu),r=n?e.slice(n[0].length).trim():e;if(!r)return[];let s=[];for(let c of r.split(/\n\n+/)){let u=c.trim();if(!u)continue;let p=u.match(Eb);if(!p)continue;let g=p[1],f=u.slice(p[0].length),m=[],_;for(zu.lastIndex=0;(_=zu.exec(f))!==null;)m.push({line:Number(_[1]),contentStart:_.index+_[0].length,headerStart:_.index});for(let x=0;x<m.length;x++){let I=x+1<m.length?m[x+1].headerStart:f.length,T=f.slice(m[x].contentStart,I).trim();s.push({path:g,line:m[x].line,content:T.endsWith(";")?T.slice(0,-1):T})}}return s}function qb(t){return t.trim().split(`
|
|
76
|
+
`).map(e=>e.trim()).filter(e=>e.startsWith("/")||e.startsWith("./")||e.startsWith("~")).map(e=>({path:e}))}function Db(t){let e=G(t.input?.pattern,t.input?.query)??"";if(t.status==="error"||!t.output)return{kind:"search",pattern:e};let n=Vu.test(t.output.trim())?$b(t.output):qb(t.output);return{kind:"search",pattern:e,matches:n.length>0?n.slice(0,200):void 0}}function Mb(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 pl(t){let e=Ue(t)??{};return{content:G(e.content)??"",status:G(e.status)??"pending",priority:G(e.priority)}}function Ub(t){let e=t.input?.todos;if(Array.isArray(e))return{kind:"todo",items:e.map(pl)};if(Array.isArray(t.outputParsed))return{kind:"todo",items:t.outputParsed.map(pl)};let n=Ue(t.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(pl)}:{kind:"todo",items:[]}}function Ob(t){return{kind:"question",questions:(Array.isArray(t.input?.questions)?t.input.questions:[]).map(r=>{let s=Ue(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=Ue(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 Fb(t){let n=t.input&&Object.keys(t.input).length>0?Wu(t.input):void 0,r;return t.outputParsed!==void 0?r=typeof t.outputParsed=="string"?pt(t.outputParsed):Wu(t.outputParsed):t.outputText!==void 0?r=pt(t.outputText):r=t.error,{kind:"generic",label:t.title,inputPretty:n,outputPretty:r}}function Ju(t){switch(lt(t.name)){case"web_search":case"websearch":case"image_search":return xb(t);case"bash":return Cb(t);case"read":return Rb(t);case"write":return Tb(t);case"edit":case"morph_edit":return jb(t);case"grep":case"glob":return Db(t);case"task":return Mb(t);case"todowrite":return Ub(t);case"question":case"ask":return Ob(t);default:return Fb(t)}}function an(t){try{return typeof process<"u"?process.env?.[t]:void 0}catch{return}}function Lb(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 Gb(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 ml(t,e,n){return t!==void 0?t:Lb(an(e),n)}var Bb={get disableMobileAdvertising(){return ml(E().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return ml(E().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return ml(E().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var dt="kortix-active-instance",Xu=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Qu(t){return Xu.some(e=>t===e||t.startsWith(`${e}/`))}function Oe(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 Kb(t){let e=Oe(t);return!!e&&e.innerPath===""}function Hb(t){let e=Oe(t);return!e||!e.innerPath?t:e.innerPath}function Yu(t,e){if(!t)return e;if(e.startsWith("/")||(e=`/${e}`),e.startsWith("/instances/")){let n=Oe(e);return n?`/instances/${encodeURIComponent(t)}${n.innerPath}`:e}return Qu(e)?`/instances/${encodeURIComponent(t)}${e}`:e}function Zu(t){return t?Oe(t)?.instanceId??null:null}function Nb(){return typeof window>"u"?null:Zu(window.location.pathname)||ep()}function ep(){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp(`(?:^|; )${dt}=([^;]+)`));return t?decodeURIComponent(t[1]):null}function Wb(t){if(typeof document>"u")return;let e=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){e(`${dt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!t){e(`${dt}=; Max-Age=0; Path=/; SameSite=Lax`);return}e(`${dt}=${encodeURIComponent(t)}; Path=/; SameSite=Lax`)}function zb(t,e){return e?Yu(e,t):t}function Vb(t){let e=Oe(t);return e?e.innerPath||"/dashboard":t}function tp(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 np(t){let e=tp(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 fl(t){let e=np(t);if(!e||typeof e!="object")return null;let n=e;return n.name==="ConfigInvalidError"?n:null}function Jb(t){return fl(t)!==null}function rp(t){let e=fl(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=tp(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=an("BACKEND_URL")||E().backendUrl;return t||"http://localhost:8008/v1"}function gt(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=gt(e);if(n)return n}return}if(t&&typeof t=="object"){let e=t;return gt(e.sandboxId??e.id??e.slug??Object.values(e)[0])}}var sp=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function ip(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return`${t.slice(0,e)}/platform/local-bridge/status`}function Xb(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 yl(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:Xb(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 hl(){let t=await ke(),e=[];for(let n of t){let r=await De(n.project_id).catch(()=>[]);for(let s of r)e.push({project:n,session:s,runtime:null,sandbox:yl(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 ve(t){let e=await hl();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 cn(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 bl(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 Qb(t,e){return t.external_id?`${W()}/p/${t.external_id}/${e}`:null}async function Yb(){let t=await i.get("/setup/sandbox-providers");if(t.error)throw t.error;return t.data}async function op(t){let e=await ve();if(e)return{sandbox:e.sandbox,created:!1};let r=(await ke())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Me(r.project_id,{...t?.provider?{provider:t.provider}:{}}),c=(await Se(r.project_id,s.session_id))?.sandbox??null;return{sandbox:yl(r,s,c),created:!0}}async function Zb(){return(await ve().catch(()=>null))?.sandbox??null}async function ex(t){return{sandbox:(await op(t)).sandbox}}async function tx(t){let e=gt(t);return e?(await ve(e).catch(()=>null))?.sandbox??null:null}async function nx(t,e){throw await ve(t)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function rx(t){let e=gt(t);return(await hl().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,...sp]));for(let n of e)try{let r=await fetch(ip(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 ix(t){if(!t)throw new Error("No sandbox selected for workload restart");let e=await ve(t);if(!e)throw new Error("Project session sandbox not found");await rt(e.project.project_id,e.session.session_id)}async function ox(t){if(!t)throw new Error("No sandbox selected to stop");let e=await ve(t);if(!e)throw new Error("Project session sandbox not found");await st(e.project.project_id,e.session.session_id)}async function ax(t){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function cx(t){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function lx(t){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function ux(t,e,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function px(t,e){throw new Error("Sandbox members moved to project access; update project access instead")}async function dx(t,e,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function gx(t,e,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function mx(t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function fx(t,e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function yx(t,e,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function xl(t,e,n){let r=bl(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 hx(t,e){return xl(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"GET"})}async function bx(t,e,n,r="member"){await xl(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function xx(t,e,n){await xl(t,`/kortix/projects/${encodeURIComponent(e)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function _x(t,e){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Px(t){let e=await cn(`/platform/invites/${encodeURIComponent(t)}`,{method:"GET"});if(!e.success||!e.data)throw new Error(e.error||"Invite not found");return e.data}async function kx(t){let e=await cn(`/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 wx(t){let e=await cn(`/platform/invites/${encodeURIComponent(t)}/decline`,{method:"POST"});if(!e.success)throw new Error(e.error||"Failed to decline invite")}async function Sx(t){throw new Error("Backups are not exposed for project-session sandboxes")}async function vx(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Cx(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Rx(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Tx(t){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Ax(t){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var ap=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Ix(t){return ap.includes(t)}async function jx(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 Ex(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 cp(t||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function cp(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 $x(){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 qx(t,e){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Dx(t){}async function Mx(t){}async function Ux(t){return{serverTypes:[],location:t||"hel1"}}async function Ox(t){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function Fx(t){let e=await i.delete(`/platform/sandbox?sandbox_id=${t}`);if(e.error)throw e.error;return e.data}async function Lx(t,e){await i.post("/platform/sandbox/mark-error",{sandbox_id:t,error_message:e},{showErrors:!1,timeout:1e4})}async function Gx(){let t=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(t.error)throw t.error;return t.data}async function Bx(t){let e=await i.get(`/platform/sandbox/${t}/status`,{showErrors:!1,timeout:1e4});return e.success?e.data??null:null}function Kx(t,e){return`${W()}/platform/sandbox/${t}/provision-stream?token=${encodeURIComponent(e)}`}var ie=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function ln(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return/\/v1$/.test(e)?e:`${e}/v1`}function _l(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 un(t){let e=await t.text().catch(()=>"");if(!e)return null;try{return JSON.parse(e)}catch{return e}}function pn(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(`${ln(e.backendUrl)}${t}`,{method:n?.method??"GET",headers:_l(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 un(s);if(!s.ok)throw new ie(pn(s,c),s.status,c);return c}function Hx(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 Nx(t,e){return B(`/marketplace/items${Hx(e)}`,t)}function Wx(t){return B("/marketplace/marketplaces",t)}function zx(t,e){return B(`/marketplace/items/${encodeURIComponent(t)}`,e)}function Vx(t,e,n){return B(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`,n)}function Jx(t,e){return B("/access/check-email",e,{method:"POST",body:{email:t}})}function Xx(t,e){return B("/access/request-access",e,{method:"POST",body:t})}function Qx(t){return B("/auth/logout",t,{method:"POST",body:{}})}function Yx(t,e){return B(`/oauth/authorize/consent/${encodeURIComponent(t)}`,e)}function Zx(t,e){return B("/oauth/authorize/consent",e,{method:"POST",body:{request_id:t.requestId,approved:t.approved}})}function e_(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}`,e)}function t_(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}/start`,e,{method:"POST",body:{}})}function n_(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}/finalize`,e,{method:"POST",body:{}})}function r_(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 i_(t,e){return B(`/p/public-share/${encodeURIComponent(t)}`,e)}function o_(t,e,n){return B(`/projects/${encodeURIComponent(t)}/sessions/${encodeURIComponent(e)}/start`,n,{method:"POST",body:{}})}function a_(t){return B("/system/maintenance",t)}function c_(t,e){return B("/system/maintenance",e,{method:"PUT",body:t})}function l_(t){return B("/user-roles",t)}function u_(t,e){return B("/system/demo-request",e,{method:"POST",body:t})}async function p_(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(`${ln(n.backendUrl)}/accounts/${encodeURIComponent(t)}/audit/export?${r}`,{headers:_l(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let c=await un(s);throw new ie(pn(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 d_(t,e){let n=await fetch(`${ln(e.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:_l(e,!0),body:JSON.stringify(t),...e.signal?{signal:e.signal}:{}});if(!n.ok){let r=await un(n);throw new ie(pn(n,r),n.status,r)}if(!n.body)throw new ie("No response body",n.status,null);return n.body}var g_=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function lp(t,e){return g_.test(e)?new URL(`templates/public/${e.toLowerCase()}`,`${ln(t)}/`):null}async function m_(t,e,n){let r=lp(t,e);if(!r)throw new ie("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),c=await un(s);if(!s.ok)throw new ie(pn(s,c),s.status,c);return c}async function f_(){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 y_(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 h_(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 b_(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 x_(){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 up(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 __(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 Pl(t,e){return __(t,e)?(e?up(e):null)??up(t):null}function P_(t){try{return/^p\d+-[^.]+\./.test(new URL(t).hostname)}catch{return!1}}function k_(t,e){try{let n=new URL(t);return n.searchParams.set("token",e),n.toString()}catch{return t}}async function w_(t,e={}){let n=Pl(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 S_=3e3;function pp(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 v_(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 pp(c.status)}catch{return"unknown"}finally{clearTimeout(s),e?.signal?.removeEventListener("abort",r)}}function kl(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return e}function C_(t,e){return`${kl(t)}/presentation-templates/${encodeURIComponent(e)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function R_(t,e){return`${kl(t)}/presentation-templates/${encodeURIComponent(e)}/image.png`}function dp(t,e){return`${kl(t)}/presentation/convert-to-${e}`}async function T_(t,e,n,r){let s=dp(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 mp(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 fp(t){return A_(mp(t))}function yp(t){let e=t.fetch??globalThis.fetch,n=t.baseUrl.replace(/\/$/,""),r=mp(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 wl({...t,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[t.sessionId]??{type:"idle"}})}async function A_(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 I_={now:Date.now,setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},gp=500,wl=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??I_,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,gp):setTimeout(e,gp)}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 hp(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return`${e}/tunnel/permission-requests/stream`}function bp(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
|
+
`);$=C.pop()||"";for(let M of C)M===""?F&&(x(w,F.trimEnd()),w="message",F=""):M.startsWith("event: ")?w=M.slice(7).trim():M.startsWith("data: ")?F+=(F?`
|
|
78
|
+
`:"")+M.slice(6):M.startsWith("data:")&&(F+=(F?`
|
|
79
|
+
`:"")+M.slice(5))}}catch(A){if(_||A instanceof DOMException&&A.name==="AbortError")return;p?.(A instanceof Error?A:new Error(String(A)))}}function T(){_=!0,m?.abort(),m=null,f.clear()}function l(a,A){let j=f.get(a)??new Set;j.add(A),f.set(a,j)}function h(a,A){f.get(a)?.delete(A)}return{connect:I,close:T,addEventListener:l,removeEventListener:h}}function j_(t,e){return bp({...e,url:hp(t)})}return vp(E_);})();
|