@kortix/sdk 0.13.11 → 0.13.12

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.
Files changed (41) hide show
  1. package/dist/core/auth/session.d.ts +10 -0
  2. package/dist/core/auth/session.d.ts.map +1 -1
  3. package/dist/core/auth/session.js +24 -1
  4. package/dist/core/auth/session.js.map +1 -1
  5. package/dist/core/client/kortix.d.ts +2 -2
  6. package/dist/core/client/kortix.d.ts.map +1 -1
  7. package/dist/core/client/kortix.js +4 -1
  8. package/dist/core/client/kortix.js.map +1 -1
  9. package/dist/core/files/client.d.ts +10 -1
  10. package/dist/core/files/client.d.ts.map +1 -1
  11. package/dist/core/files/client.js +80 -23
  12. package/dist/core/files/client.js.map +1 -1
  13. package/dist/core/rest/platform-client/auth.d.ts +53 -0
  14. package/dist/core/rest/platform-client/auth.d.ts.map +1 -1
  15. package/dist/core/rest/platform-client/auth.js +35 -0
  16. package/dist/core/rest/platform-client/auth.js.map +1 -1
  17. package/dist/core/rest/projects-client/sessions.d.ts +10 -0
  18. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  19. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  20. package/dist/core/turns/parts.d.ts +1 -1
  21. package/dist/core/turns/parts.js +5 -5
  22. package/dist/core/turns/parts.js.map +1 -1
  23. package/dist/index.d.ts +2 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +1 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/kortix.esm.min.js +25 -25
  28. package/dist/kortix.global.js +25 -25
  29. package/dist/node/app-guard.d.ts +71 -0
  30. package/dist/node/app-guard.d.ts.map +1 -0
  31. package/dist/node/app-guard.js +156 -0
  32. package/dist/node/app-guard.js.map +1 -0
  33. package/dist/node/auth.d.ts +18 -0
  34. package/dist/node/auth.d.ts.map +1 -1
  35. package/dist/node/auth.js +4 -1
  36. package/dist/node/auth.js.map +1 -1
  37. package/dist/node/server.d.ts +2 -0
  38. package/dist/node/server.d.ts.map +1 -1
  39. package/dist/node/server.js +1 -0
  40. package/dist/node/server.js.map +1 -1
  41. package/package.json +2 -2
@@ -1,23 +1,23 @@
1
- "use strict";var Kortix=(()=>{var Bn=Object.defineProperty;var kg=Object.getOwnPropertyDescriptor;var wg=Object.getOwnPropertyNames;var Sg=Object.prototype.hasOwnProperty;var vg=(e,t)=>{for(var n in t)Bn(e,n,{get:t[n],enumerable:!0})},Ag=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of wg(t))!Sg.call(e,s)&&s!==n&&Bn(e,s,{get:()=>t[s],enumerable:!(r=kg(t,s))||r.enumerable});return e};var Cg=e=>Ag(Bn({},"__esModule",{value:!0}),e);var bw={};vg(bw,{ABORT_REASONS:()=>zd,ABORT_REASONS_NOT_YET_EMITTED:()=>tP,ACTIVE_INSTANCE_COOKIE:()=>Pt,ATTACHMENT_PART_REF_PREFIX:()=>ag,ApiError:()=>A,AuthError:()=>_e,BillingError:()=>ge,COST_MARKUP:()=>Au,DEFAULT_TRANSCRIPT_OPTIONS:()=>Pu,DESTRUCTIVE_PHASES:()=>sg,FEATURE_DISABLED_CODE:()=>qt,FEATURE_FLAG_KEYS:()=>Bf,FEATURE_NOT_SUPPORTED_CODE:()=>hp,HeadlessAuthError:()=>He,HostBoundaryError:()=>pe,IMPERSONATION_HEADER:()=>pp,INBOX_OBSERVATION_MAX_MS:()=>Bk,INSTANCE_SCOPED_ROUTES:()=>Vd,MODEL_NOT_SERVABLE_CODE:()=>bp,OPTIMISTIC_ABORT_MAX_MS:()=>Kk,OPTIMISTIC_COMPACTION_MAX_MS:()=>Jk,OPTIMISTIC_RECEIPT_MAX_MS:()=>Fk,PREVIEW_PROBE_TIMEOUT_MS:()=>jk,PROVISION_IN_FLIGHT_CODE:()=>xp,PublicSessionShareError:()=>pn,RequestTooLargeError:()=>Pe,RuntimeNotReadyError:()=>qe,SANDBOX_FS_ROOTS:()=>Ht,SANDBOX_PORTS:()=>le,SERVER_COMPACTION_REVALIDATE_MS:()=>gg,SERVER_OBSERVATION_MAX_MS:()=>Lk,STREAM_OBSERVATION_MAX_MS:()=>Gk,SandboxNotReadyError:()=>kt,SessionNotReadyError:()=>ht,SessionStartError:()=>on,TURN_END_LEDGER_LAG_MS:()=>Nk,WAKE_ESCALATION_COOLDOWN_MS:()=>tw,WAKE_MAX_RESTARTS:()=>ew,WAKE_NO_PROGRESS_MS:()=>Zk,__getConfigResolver:()=>Ig,__setConfigResolver:()=>Tg,abortErrorReason:()=>nP,acceptAccountInvite:()=>Ys,acceptInvite:()=>EP,actReviewItem:()=>Cl,activateConnection:()=>go,addGroupMembers:()=>nl,addMarketplaceSource:()=>Zl,advanceWakeEscalation:()=>sw,allDescendantIds:()=>qd,appendPreviewToken:()=>Gu,approveProjectAccessRequest:()=>vi,approveTask:()=>km,archiveProject:()=>Zt,assignTicket:()=>Im,attachGroupToProject:()=>qi,authUser:()=>kn,authenticatedFetch:()=>M,authorizePreviewUrl:()=>Ek,backendApi:()=>i,bindSlackIdentity:()=>Hy,bindTeamsIdentity:()=>Wy,brokerProjectSecretRequest:()=>zi,buildInstancePath:()=>Xd,buildPresentationTemplateImageUrl:()=>qk,buildPresentationTemplatePdfUrl:()=>Mk,buildPreviewAuthEndpoint:()=>Fu,buildPublicTemplateUrl:()=>og,buildRuntimePresentationConversionUrl:()=>dg,buildSandboxTemplate:()=>Ko,buildStaticFileHealthPreviewUrl:()=>Mb,buildStaticFileLocalUrl:()=>$b,buildStaticFilePreviewUrl:()=>jb,buildStaticFileServicePath:()=>Zp,buildTunnelEventStreamUrl:()=>bg,buildWebProxyUrl:()=>Fb,bulkActReviewItems:()=>Rl,bulkDeletePolicies:()=>dh,bulkImportPolicies:()=>gh,callConnector:()=>so,cancelAccountDeletion:()=>Jh,cancelAccountInvite:()=>Js,cancelSandbox:()=>vP,cancelSandboxUpdate:()=>HP,cancelScheduledChange:()=>uc,cancelSubscription:()=>ac,checkAccessEmail:()=>sk,childMapByParent:()=>p_,claimComputer:()=>XP,claimNext:()=>dd,claimPerSeatBilling:()=>Ly,claimWarmProjectSession:()=>_a,classifyPart:()=>wu,classifyPreviewProbeStatus:()=>pg,classifyTurn:()=>vd,clearImpersonationSession:()=>bs,clearKortixAppViewerCache:()=>_g,clearModelDefault:()=>za,clearSessionFresh:()=>Py,closeChangeRequest:()=>ca,closeMilestone:()=>sf,collectTurnParts:()=>a_,commentTicket:()=>jm,commitSessionChanges:()=>pa,compactionExpiryAtMs:()=>Qk,compareMessagesForDisplay:()=>Md,completeInFlight:()=>gd,computeStatusFromPart:()=>vu,configureAutoTopup:()=>mc,configureKortix:()=>At,confirmCheckoutSession:()=>ic,connectEmail:()=>Tc,connectSlack:()=>_c,connectionIsFaulted:()=>Uk,connectorConnect:()=>jp,connectorFinalize:()=>$p,convertPresentationToGoogleSlides:()=>ob,convertRuntimePresentation:()=>Dk,copyFile:()=>ut,costExportUrl:()=>yc,countLiveInboxPrompts:()=>Wk,createAccount:()=>Us,createAccountAuditWebhook:()=>Bl,createAccountToken:()=>$l,createApp:()=>nu,createAppAccessSession:()=>cu,createAppDeployment:()=>uu,createAssignment:()=>Pl,createAuditWebhook:()=>Lh,createBackup:()=>MP,createCheckoutSession:()=>sc,createConnector:()=>Co,createFile:()=>lt,createGatewayKey:()=>zc,createGroup:()=>Yc,createHttpSessionSyncController:()=>hg,createInstance:()=>zP,createKortix:()=>cd,createKortixPty:()=>Cs,createKortixSession:()=>Sn,createMarketplaceInstallSession:()=>ub,createMilestone:()=>nf,createOAuthClient:()=>yl,createPerSeatCheckout:()=>Fy,createPolicy:()=>lh,createPortalSession:()=>oc,createProject:()=>ci,createProjectAgent:()=>Bm,createProjectCliToken:()=>Dl,createProjectRepo:()=>li,createProjectResourceGrant:()=>Fi,createProjectSession:()=>Ke,createProjectTrigger:()=>Fa,createRole:()=>cl,createSSEStream:()=>xg,createSandbox:()=>bP,createSandboxShare:()=>Il,createSandboxTemplate:()=>Go,createScimToken:()=>hh,createServiceAccountApi:()=>Dh,createSessionPrompt:()=>va,createSessionPublicShare:()=>ha,createSessionQueue:()=>ud,createSsoGroupMapping:()=>Ch,createTask:()=>xm,createTicket:()=>Cm,createTunnelEventStream:()=>fw,declineAccountInvite:()=>Zs,declineInvite:()=>jP,deleteAccountImmediately:()=>Xh,deleteApp:()=>iu,deleteAuditWebhook:()=>Bh,deleteBackup:()=>DP,deleteConnector:()=>To,deleteCredential:()=>df,deleteEnv:()=>vs,deleteFile:()=>ve,deleteGatewayBudget:()=>Hc,deleteGitHubInstallation:()=>wi,deleteGroup:()=>el,deleteInstance:()=>VP,deleteKortixProject:()=>Qm,deleteMilestone:()=>af,deleteOAuthClient:()=>xl,deletePersonalProjectSecret:()=>eo,deletePolicy:()=>ph,deleteProjectAgent:()=>Km,deleteProjectProviderOAuth:()=>Xi,deleteProjectResourceGrant:()=>Li,deleteProjectSecret:()=>Yi,deleteProjectSession:()=>Ea,deleteProjectTrigger:()=>Ga,deleteRole:()=>pl,deleteSandboxTemplate:()=>No,deleteServiceAccountApi:()=>Uh,deleteSessionPrompt:()=>Ca,deleteSsoGroupMapping:()=>Rh,deleteSsoProvider:()=>vh,deleteTask:()=>wm,deleteTicket:()=>$m,describeAccountInvite:()=>Qs,describeConnectorTool:()=>ro,detachGroupFromProject:()=>Oi,detectLocalhostUrls:()=>Jp,disableServiceAccountApi:()=>Oh,disconnectEmail:()=>Ic,disconnectGitHubApp:()=>Rk,disconnectSlack:()=>wc,discoverConnectionOAuth2:()=>ay,discoverConnectionOAuth2Resource:()=>cy,discoverConnectorAuth:()=>Ro,discoverLocalSandbox:()=>kP,downloadAccountAudit:()=>_k,dropClientForUrl:()=>Pf,dropPublicClientForUrl:()=>Sf,editQueued:()=>hd,enqueue:()=>pd,ensurePmSession:()=>Lm,ensurePreviewSessionCookie:()=>ug,ensureProjectConnectorConnection:()=>sy,ensureSandbox:()=>rg,ensureWarmProjectSession:()=>xa,env:()=>Sp,exchangeCode:()=>xn,exportAccountAudit:()=>Ll,extractGatewayErrorDetails:()=>ne,extractInstanceRoute:()=>Xe,failInFlight:()=>md,featureDisabledKey:()=>ds,featureFlags:()=>iP,fetchAccountStateWithToken:()=>Oy,fetchAccountsWithToken:()=>Gf,fetchAttachmentPart:()=>Tk,fetchCostExportCsv:()=>Ky,fetchKortixAppViewer:()=>Wu,fetchProjectArchive:()=>Jo,fetchProjectsForAccountWithToken:()=>Qf,files:()=>Ip,finalizeAppArtifact:()=>gn,finalizeConnectorSetupLink:()=>pk,findFiles:()=>at,findLastTextPart:()=>c_,findText:()=>ct,fireProjectTrigger:()=>Na,fixSandboxWithAgent:()=>Lo,formatBillingErrorForUI:()=>ms,formatCost:()=>S_,formatDuration:()=>P_,formatOpenCodeRuntimeError:()=>eg,formatRuntimeError:()=>eg,formatTokens:()=>v_,formatTranscript:()=>xd,generateSessionId:()=>ld,getAccount:()=>Fs,getAccountBranding:()=>Gs,getAccountDeletionStatus:()=>zh,getAccountState:()=>Qa,getAccountStateMinimal:()=>Ya,getActiveInstanceIdFromCookie:()=>Yd,getAdminProviderAnalytics:()=>tb,getAdminProviderDistribution:()=>Yh,getAdminProviderFallback:()=>rb,getAdminRole:()=>Qh,getAgentCardLabel:()=>Ed,getAgentConfig:()=>Ey,getAgentPersona:()=>Hm,getAllVersions:()=>BP,getAnsweredQuestionParts:()=>u_,getApp:()=>ru,getAppAccess:()=>ou,getAppDeployment:()=>du,getAppDeploymentLogs:()=>gu,getApprovalLink:()=>lb,getAuthToken:()=>je,getAuthTokenWithRetry:()=>us,getAutoTopupSettings:()=>gc,getAutoTopupSetupStatus:()=>Uy,getBillingCreditBreakdown:()=>tc,getBillingTierConfigurations:()=>rc,getBillingTransactionsSummary:()=>ec,getBillingUsageHistory:()=>nc,getChangeRequest:()=>ra,getChangeRequestDiff:()=>sa,getChangeRequestMergePreview:()=>ia,getChildSessionError:()=>Xx,getChildSessionId:()=>Jx,getChildSessionToolParts:()=>Qx,getClient:()=>me,getClientForUrl:()=>ae,getConnectStatus:()=>jo,getConnectionOAuth2Application:()=>oy,getConnectionOAuth2Status:()=>gy,getConnectionPolicies:()=>my,getConnectorCatalog:()=>en,getConnectorConfig:()=>So,getConnectorPolicies:()=>ko,getConnectorSetupLink:()=>lk,getCostSummary:()=>Ny,getCurrentInstanceIdFromPathname:()=>Qd,getCurrentInstanceIdFromWindow:()=>cP,getCurrentProject:()=>Ms,getDefaultAccountState:()=>an,getDiagnostics:()=>e_,getDirectory:()=>Id,getDiscoverConnector:()=>nn,getDiscoverIntegration:()=>xy,getEmailInstallation:()=>Cc,getEmailMode:()=>Rc,getEnterpriseDemo:()=>Kh,getFileStatus:()=>ot,getFileWithDir:()=>Su,getFilename:()=>Td,getFullChangelog:()=>ig,getGatewayBreakdown:()=>Lc,getGatewayBudgets:()=>Nc,getGatewayErrors:()=>Bc,getGatewayKeys:()=>Wc,getGatewayLog:()=>Oc,getGatewayOverview:()=>Uc,getGatewayRoutingPolicy:()=>jc,getGatewaySeries:()=>Fc,getGatewaySessions:()=>Gc,getGitHubAppStatus:()=>Sk,getGitHubInstallation:()=>yi,getGoogleAuthUrl:()=>ib,getGroup:()=>Qc,getHiddenToolParts:()=>Wx,getImpersonationSession:()=>mp,getInvite:()=>IP,getJustavpsServerTypes:()=>WP,getKortixProject:()=>Vm,getKortixProjectBySession:()=>Jm,getKortixPtyWebSocketUrl:()=>Is,getLatestSandboxVersion:()=>GP,getMaintenanceConfig:()=>yk,getManagedGitStatus:()=>zf,getMarketplaceCatalogItem:()=>Xl,getMarketplaceCatalogItemFile:()=>Ql,getMfaRequired:()=>xh,getMilestone:()=>ef,getModelDefaults:()=>Ha,getOAuthClient:()=>fl,getOAuthConsentRequest:()=>ak,getOpenCodeConfigInvalidError:()=>$u,getPartText:()=>Kx,getPatPolicy:()=>$h,getPermissionForTool:()=>t_,getProject:()=>Vt,getProjectActivity:()=>Wm,getProjectCommit:()=>Yo,getProjectCommitDiff:()=>Zo,getProjectDetail:()=>Jt,getProjectFileHistory:()=>ea,getProjectGitToken:()=>ai,getProjectLlmCatalog:()=>Xt,getProjectLlmCatalogProviders:()=>Kf,getProjectModelPicker:()=>Qt,getProjectSandboxHealth:()=>rn,getProjectSandboxProviderTransition:()=>Vf,getProjectSession:()=>sn,getProjectSessionConfigState:()=>ja,getProjectSessionScope:()=>qa,getProrationPreview:()=>pc,getProviders:()=>yP,getProxyBaseUrl:()=>qb,getPublicClientForUrl:()=>wf,getPublicMarketplaceItem:()=>nk,getPublicMarketplaceItemFile:()=>rk,getPublicSessionShare:()=>ab,getPublicSessionShareMessages:()=>cb,getPublicShareByToken:()=>mk,getPublicTemplate:()=>wk,getQuestionForTool:()=>n_,getReferralCode:()=>Yy,getReferralStats:()=>th,getRetryInfo:()=>A_,getRetryMessage:()=>C_,getReviewItem:()=>vl,getRolePermissions:()=>ol,getRoleUsage:()=>al,getSSHConnection:()=>UP,getSandbox:()=>hP,getSandboxById:()=>xP,getSandboxPortUrl:()=>fP,getSandboxProvisionStatus:()=>QP,getSandboxProvisionStreamUrl:()=>YP,getSandboxUpdateStatus:()=>LP,getSandboxUrl:()=>Du,getSecretSetupLink:()=>dk,getServerHealth:()=>zt,getServiceLogs:()=>hf,getSessionAudit:()=>Pa,getSessionCost:()=>w_,getSessionCostRecord:()=>un,getSessionHealth:()=>bu,getSessionOpenBundle:()=>ky,getSessionPolicy:()=>Th,getSessionPreviewCandidates:()=>fa,getSessionTranscript:()=>ka,getSessionTranscriptSync:()=>wa,getSessionTurn:()=>Sa,getShellModePart:()=>m_,getSlackChannelFile:()=>Sc,getSlackInstallation:()=>xc,getSlackManifest:()=>kc,getSlackMode:()=>Pc,getSsoProvider:()=>kh,getStaticFileHealthPath:()=>ed,getSupabaseAccessToken:()=>$t,getSupabaseAccessTokenWithRetry:()=>re,getTask:()=>ym,getTaskStatus:()=>bm,getTemplate:()=>pb,getTicket:()=>vm,getToolInfo:()=>Yx,getTranscriptFilename:()=>_d,getTurnCost:()=>k_,getTurnError:()=>b_,getTurnErrorDetails:()=>x_,getTurnStatus:()=>__,getUsageRollup:()=>fc,getUserRolesWithToken:()=>bk,getVersionDiff:()=>ta,getWorkingState:()=>y_,grantSandboxProjectAccess:()=>RP,grantSecretToAgent:()=>My,groupMessagesIntoTurns:()=>o_,hasDiffs:()=>R_,hasLocalhostUrls:()=>Tb,hasPreviewTarget:()=>Yp,hasRetryingAssistantTurn:()=>g_,heartbeatGapEvent:()=>id,holdSessionPrompts:()=>Ta,humanizeToolName:()=>jn,impersonationHeaders:()=>Ot,importSsoProviderFromMetadata:()=>Sh,inboxObservationSupersedes:()=>Hk,initialWakeEscalationState:()=>Ku,installTemplate:()=>db,invalidateTokenCache:()=>et,inviteAccountMember:()=>zs,inviteProjectMember:()=>Ii,inviteRepoCollaborator:()=>ii,isAbortError:()=>Iu,isAdminBypassEnabled:()=>dm,isAgentPart:()=>Lx,isAppRouteUrl:()=>Vp,isAttachment:()=>Cd,isAttachmentPartRef:()=>cg,isBillingError:()=>gs,isCompactionPart:()=>Gx,isConfigured:()=>Ct,isDestructivePhase:()=>FP,isExternalUrl:()=>Bb,isFeatureDisabledError:()=>ps,isFilePart:()=>Ad,isImpersonationSessionLive:()=>dp,isInstanceDetailPath:()=>oP,isInstanceScopedAppPath:()=>Jd,isInternalLocalhostUrl:()=>Ub,isInviteSent:()=>ey,isLastUserMessage:()=>f_,isManagedGithubProject:()=>Nf,isOpenCodeConfigInvalidError:()=>dP,isPatchPart:()=>Nx,isPreviewUrl:()=>Ob,isProxiableLocalhostUrl:()=>td,isReasoningPart:()=>Mn,isRetryableTurnError:()=>Dd,isRuntimeReady:()=>bb,isSandboxNotReadyError:()=>wt,isServerReachable:()=>qs,isSessionFresh:()=>ga,isSessionStartError:()=>vy,isShellMode:()=>Od,isSnapshotPart:()=>Bx,isSubdomainPreviewUrl:()=>Lu,isTextPart:()=>xe,isToolPart:()=>ue,isToolPartHidden:()=>zx,isUnderSandboxRoot:()=>js,isWebProxyUrl:()=>Gb,kortixAppViewerToken:()=>Pg,kortixPty:()=>Ap,leaveAccount:()=>ni,linkGitHubInstallation:()=>ki,linkRepository:()=>fi,listAccountAudit:()=>Ul,listAccountAuditWebhooks:()=>Gl,listAccountInvites:()=>Vs,listAccountMembers:()=>Ws,listAccountResourceGrants:()=>ah,listAccountSessions:()=>Eh,listAccountTokens:()=>jl,listAccounts:()=>Os,listActions:()=>mh,listAdminSandboxes:()=>Zh,listAgentIdentities:()=>il,listAllConnections:()=>ao,listAppDeployments:()=>pu,listApps:()=>tu,listAssignments:()=>_l,listAuditEvents:()=>Nh,listAuditWebhooks:()=>Fh,listBackups:()=>$P,listBillingTransactions:()=>Za,listChangeRequests:()=>na,listChannelBindings:()=>Jy,listColumns:()=>Mm,listConnectToolkits:()=>hy,listConnections:()=>oo,listConnectorTools:()=>pt,listConnectors:()=>ho,listCostByProject:()=>By,listCredentialEvents:()=>lf,listCredentials:()=>cf,listDiscoverConnectors:()=>tn,listDiscoverIntegrations:()=>by,listEnv:()=>ws,listFeaturedMarketplaces:()=>Jl,listFields:()=>Dm,listFiles:()=>it,listGatewayLogs:()=>Dc,listGitHubInstallations:()=>hi,listGitHubRepositories:()=>xi,listGitHubRepositoryBranches:()=>_i,listGroupMembers:()=>tl,listGroupProjectGrants:()=>sh,listGroups:()=>Xc,listKortixProjectSessions:()=>Xm,listKortixProjects:()=>zm,listKortixPty:()=>As,listLinkableGitHubInstallations:()=>bi,listMarketplaceCatalogItems:()=>zl,listMarketplaceSources:()=>Yl,listMarketplaces:()=>Vl,listMemberGroups:()=>ih,listMemberProjectAccess:()=>oh,listMilestoneEvents:()=>tf,listMilestones:()=>Zm,listOAuthClients:()=>ml,listPendingApprovals:()=>Gi,listPendingProjectInvites:()=>Ei,listPermissions:()=>wl,listPipedreamApps:()=>Io,listPipedreamSections:()=>Eo,listPolicies:()=>ch,listProjectAccess:()=>Ci,listProjectAccessRequests:()=>Si,listProjectAgents:()=>Gm,listProjectAudit:()=>Fl,listProjectBranches:()=>Xo,listProjectCliTokens:()=>ql,listProjectCommits:()=>Qo,listProjectFiles:()=>Wo,listProjectGroupGrants:()=>Mi,listProjectPolicies:()=>qo,listProjectResourceGrants:()=>Ui,listProjectSandboxTemplates:()=>Oo,listProjectSandboxes:()=>Ho,listProjectSecrets:()=>Ki,listProjectSessions:()=>Ne,listProjectSnapshots:()=>Uo,listProjectTriggers:()=>Ua,listProjects:()=>Ce,listProjectsForAccount:()=>si,listPublicMarketplaceItems:()=>ek,listPublicMarketplaces:()=>tk,listReferrals:()=>nh,listReviewItems:()=>Sl,listRoles:()=>sl,listSandboxProjectMembers:()=>CP,listSandboxShares:()=>Tl,listSandboxes:()=>PP,listScimTokens:()=>yh,listServiceAccountsApi:()=>qh,listServiceTemplates:()=>yf,listServices:()=>ff,listSessionConnectRequests:()=>yy,listSessionCosts:()=>bc,listSessionPrompts:()=>Aa,listSessionPublicShares:()=>ya,listSessionsNeedingInput:()=>Bi,listSsoGroupMappings:()=>Ah,listTaskEvents:()=>hm,listTasks:()=>fm,listTemplates:()=>Um,listTicketEvents:()=>Am,listTickets:()=>Sm,loadHttpSessionHistory:()=>yg,markInstanceError:()=>JP,markSessionFresh:()=>dt,mergeChangeRequest:()=>aa,migrateAdminSandboxProvider:()=>nb,mkdir:()=>Ge,narrowChatEvent:()=>od,normalizeAppPathname:()=>pP,normalizeExternalInput:()=>Nb,normalizeToolName:()=>bt,openChangeRequest:()=>oa,openEventStream:()=>Rn,openStressTestStream:()=>Pk,parseBillingError:()=>ke,parseFlagOverride:()=>sP,parseLocalhostUrl:()=>yt,parseOpenCodeErrorPayload:()=>Zd,parseProxyHop:()=>hu,parseSubdomainUrl:()=>_u,parseWebProxyUrl:()=>Lb,patchKortixProject:()=>Ym,pipedreamConnect:()=>Ao,pipedreamConnectConnection:()=>fo,pipedreamFinalize:()=>Mo,pipedreamFinalizeConnection:()=>yo,platformConfig:()=>I,pollConnectionOAuth2DeviceAuthorization:()=>dy,pollProjectProviderOAuth:()=>Ji,previewGatewayRoute:()=>qc,previewMfaRequired:()=>_h,probeEffectivePermission:()=>dl,probeEffectivePermissions:()=>gl,probePreviewPort:()=>$k,projectCompacting:()=>Xk,projectSessionConnection:()=>Ok,projectSessionStartSeed:()=>Sy,projectWorking:()=>zk,provisionProject:()=>ui,provisionProjectStream:()=>Wf,provisionProjectWithToken:()=>Yf,proxyLocalhostUrl:()=>xu,proxyUrlToInternal:()=>Db,purchaseCredits:()=>dc,putConnectionOAuth2Application:()=>iy,reactivateSandbox:()=>AP,reactivateSubscription:()=>cc,readBlob:()=>Ue,readFile:()=>Oe,readProjectFile:()=>Vo,rebuildProjectSnapshot:()=>Fo,reconcileConnection:()=>co,reconcileMemberConnection:()=>lo,reconcileServices:()=>xf,recordPlatformLogout:()=>ok,refreshReferralCode:()=>Zy,refreshSession:()=>We,registerAppArtifact:()=>dn,registerConnectionOAuth2Client:()=>ly,registerService:()=>_f,rejectProjectAccessRequest:()=>Ai,relativizePath:()=>Zx,reloadProjectSessionConfig:()=>$a,reloadProjectSessionConfigStream:()=>Ma,removeAccountAuditWebhook:()=>Kl,removeAccountBrandingAsset:()=>Ks,removeAccountMember:()=>ei,removeGroupMember:()=>rl,removeKortixPty:()=>Ts,removeMarketplaceSource:()=>eu,removeQueued:()=>yd,renameFile:()=>fe,renameSandbox:()=>_P,reopenChangeRequest:()=>la,reopenMilestone:()=>of,reorderQueued:()=>bd,replaceColumns:()=>qm,replaceFields:()=>Om,replaceTemplates:()=>Fm,requestAccountDeletion:()=>Vh,requestChangesOnChangeRequest:()=>ua,requestProjectAccess:()=>Zf,requestProjectConnector:()=>Wl,requestProjectSecret:()=>Hl,resendAccountInvite:()=>Xs,resendPendingProjectInvite:()=>$i,resetAccountBranding:()=>Hs,resetClient:()=>kf,resetGatewayRoutingPolicy:()=>Mc,resetPassword:()=>_n,resetPublicClient:()=>vf,resetSandboxUpdateStatus:()=>KP,resolveApproval:()=>Ni,resolvedPlan:()=>Dy,restartProjectSession:()=>gt,restartSandbox:()=>wP,restoreBackup:()=>qP,retryFailed:()=>fd,retrySessionPrompt:()=>Ra,revealCredential:()=>pf,revokeAccountSession:()=>jh,revokeAccountToken:()=>Ml,revokeAssignment:()=>kl,revokeConnection:()=>po,revokeGatewayKey:()=>Vc,revokePendingProjectInvite:()=>ji,revokeProjectAccess:()=>Ti,revokeProjectCliToken:()=>Ol,revokeSandboxProjectAccess:()=>TP,revokeSandboxShare:()=>El,revokeScimToken:()=>bh,revokeSessionPublicShare:()=>ba,rewriteLocalhostUrl:()=>he,rollbackApp:()=>yu,rotateOAuthClientSecret:()=>bl,runGatewayPlayground:()=>Jc,saveGitHubInstallation:()=>Pi,scheduleDowngrade:()=>lc,searchConnectorTools:()=>no,searchProjectFiles:()=>zo,sendMagicLink:()=>yn,sendReferralEmails:()=>rh,serverCompactionRevalidateAtMs:()=>Yk,serviceAction:()=>bf,sessionStartKey:()=>Cy,setActiveInstanceCookie:()=>lP,setAdminBypass:()=>pm,setAdminProviderDistribution:()=>eb,setAdminProviderFallback:()=>sb,setAgentScope:()=>Va,setBootstrapAuthToken:()=>Xg,setCachedAuthToken:()=>Jg,setConnectionPolicies:()=>fy,setConnectorAuthorizationStrategy:()=>_o,setConnectorCredential:()=>$o,setConnectorCredentialMode:()=>xo,setConnectorName:()=>vo,setConnectorPolicies:()=>wo,setConnectorSecretBinding:()=>_y,setConnectorSensitive:()=>Po,setDefaultConnection:()=>mo,setEnterpriseDemo:()=>Hh,setEnv:()=>Ss,setGatewayBudget:()=>Kc,setGatewayRoutingPolicy:()=>$c,setGitHubAppFromExisting:()=>Ak,setGitHubAppPat:()=>Ck,setImpersonationSession:()=>tm,setMaintenanceConfig:()=>hk,setMemberSuperAdmin:()=>fh,setMfaRequired:()=>Ph,setModelDefault:()=>Wa,setPersonalProjectSecret:()=>Zi,setProjectModelEnablement:()=>Ry,setProjectOnboardingComplete:()=>mi,setProjectOnboardingProfile:()=>Xf,setProjectPolicies:()=>Do,setProjectSecretStrategy:()=>Wi,setProjectSessionModel:()=>Oa,setProjectSessionScope:()=>Da,setProjectSessionSharing:()=>ma,setProjectTriggersActivation:()=>Ba,setupSSH:()=>OP,shellExitCode:()=>Ru,shouldAttachImpersonation:()=>fp,shouldHideResponsePart:()=>h_,shouldShowToolPart:()=>Rd,signInWithPassword:()=>fn,signInWithProvider:()=>bn,signOut:()=>wn,signUp:()=>mn,sortSessions:()=>d_,splitUserParts:()=>Hx,startApp:()=>mu,startConnectionOAuth2Authorization:()=>uy,startConnectionOAuth2DeviceAuthorization:()=>py,startConnectorSetupLink:()=>uk,startGitHubAppManifest:()=>vk,startProjectProviderOAuth:()=>Vi,startProjectSession:()=>Re,startSessionWithToken:()=>fk,startTask:()=>Pm,stopApp:()=>fu,stopProjectSession:()=>mt,stopSandbox:()=>SP,stripAnsi:()=>s_,stripInstancePrefix:()=>aP,stripTrailingSlashes:()=>oe,submitAccessRequest:()=>ik,submitDemoRequest:()=>xk,submitOAuthConsent:()=>ck,submitReviewItem:()=>Al,submitSecretSetupLink:()=>gk,subscribeToImpersonation:()=>nm,supabaseClient:()=>gm,syncConnectors:()=>bo,syncSubscription:()=>Gy,systemReload:()=>Cf,toDaemonPath:()=>Ae,toInstanceAwarePath:()=>uP,toInternalUrl:()=>nd,toSandboxAbsolutePath:()=>st,toWorkspaceRelative:()=>$s,toolInfo:()=>$n,toolViewModel:()=>Hd,triggerSandboxUpdate:()=>NP,triggersRequest:()=>vp,turnHasSteps:()=>l_,unassignTicket:()=>Em,unwrapError:()=>te,updateAccountAuditWebhook:()=>Nl,updateAccountBranding:()=>Bs,updateAccountMemberRole:()=>ti,updateAccountName:()=>Ls,updateAgentConfig:()=>jy,updateApp:()=>su,updateAppAccess:()=>au,updateAuditWebhook:()=>Gh,updateChannelBinding:()=>Xy,updateConnectionCredential:()=>uo,updateEmailPolicy:()=>Ec,updateExperimentalFeature:()=>di,updateFeatureFlag:()=>pi,updateGroup:()=>Zc,updateKortixPty:()=>Rs,updateMilestone:()=>rf,updateOAuthClient:()=>hl,updatePassword:()=>Pn,updatePatPolicy:()=>Mh,updatePolicy:()=>uh,updateProject:()=>Yt,updateProjectAccess:()=>Ri,updateProjectAgent:()=>Nm,updateProjectDefaultAgent:()=>Xa,updateProjectGroupGrant:()=>Di,updateProjectSandboxProvider:()=>gi,updateProjectSession:()=>Ia,updateProjectTrigger:()=>La,updateRole:()=>ll,updateRolePermissions:()=>ul,updateSandboxTemplate:()=>Bo,updateSessionPolicy:()=>Ih,updateTask:()=>_m,updateTemplateWarmPool:()=>Jf,updateTicket:()=>Rm,updateTicketStatus:()=>Tm,uploadAccountBrandingAsset:()=>Ns,uploadAppArtifactArchive:()=>lu,uploadConnectorAttachment:()=>io,uploadFile:()=>Fe,uploadSlackChannelFile:()=>vc,uploadTimeoutMsForBytes:()=>Wt,upsertCredential:()=>uf,upsertProjectGitCredential:()=>Qi,upsertProjectSecret:()=>Hi,upsertSsoProvider:()=>wh,validateProjectManifest:()=>oi,validateReferralCode:()=>eh,validateToken:()=>ri,verifyGatewayProvider:()=>Qy,verifyOtp:()=>hn,wakeEscalationAttemptSummary:()=>cw,wakeEscalationNote:()=>ow,wakeProgressFingerprint:()=>nw,workingExpiryAtMs:()=>Vk,writeFile:()=>Le});var Rg={backendUrl:"",getToken:async()=>null},Nn=null,vt=null;function Tg(e){vt=e}function Ig(){return vt}function At(e,t){t?.global!==!1&&(Nn=e)}function I(){return vt?.()??Nn??Rg}function Ct(){return Nn!==null||vt?.()!==void 0}var zu=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:o,sseMaxRetryAttempts:l,sseMaxRetryDelay:p,sseSleepFn:d,url:f,...m})=>{let h,x=d??(E=>new Promise(j=>setTimeout(j,E)));return{stream:async function*(){let E=o??3e3,j=0,u=m.signal??new AbortController().signal;for(;!u.aborted;){j++;let b=m.headers instanceof Headers?m.headers:new Headers(m.headers);h!==void 0&&b.set("Last-Event-ID",h);try{let c={redirect:"follow",...m,body:m.serializedBody,headers:b,signal:u},S=new Request(f,c);e&&(S=await e(f,c));let R=await(m.fetch??globalThis.fetch)(S);if(!R.ok)throw new Error(`SSE failed: ${R.status} ${R.statusText}`);if(!R.body)throw new Error("No body in SSE response");let $=R.body.pipeThrough(new TextDecoderStream).getReader(),D="",q=()=>{try{$.cancel()}catch{}};u.addEventListener("abort",q);try{for(;;){let{done:X,value:W}=await $.read();if(X)break;D+=W,D=D.replace(/\r\n/g,`
1
+ "use strict";var Kortix=(()=>{var Wn=Object.defineProperty;var Cg=Object.getOwnPropertyDescriptor;var Rg=Object.getOwnPropertyNames;var Tg=Object.prototype.hasOwnProperty;var Ig=(e,t)=>{for(var n in t)Wn(e,n,{get:t[n],enumerable:!0})},Eg=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Rg(t))!Tg.call(e,s)&&s!==n&&Wn(e,s,{get:()=>t[s],enumerable:!(r=Cg(t,s))||r.enumerable});return e};var jg=e=>Eg(Wn({},"__esModule",{value:!0}),e);var vw={};Ig(vw,{ABORT_REASONS:()=>Yd,ABORT_REASONS_NOT_YET_EMITTED:()=>cP,ACTIVE_INSTANCE_COOKIE:()=>kt,ATTACHMENT_PART_REF_PREFIX:()=>dg,ApiError:()=>A,AuthError:()=>Pe,BillingError:()=>ge,COST_MARKUP:()=>ju,DEFAULT_TRANSCRIPT_OPTIONS:()=>Au,DESTRUCTIVE_PHASES:()=>lg,FEATURE_DISABLED_CODE:()=>qt,FEATURE_FLAG_KEYS:()=>Vf,FEATURE_NOT_SUPPORTED_CODE:()=>wp,HeadlessAuthError:()=>We,HostBoundaryError:()=>pe,IMPERSONATION_HEADER:()=>hp,INBOX_OBSERVATION_MAX_MS:()=>Jk,INSTANCE_SCOPED_ROUTES:()=>Zd,MODEL_NOT_SERVABLE_CODE:()=>Sp,OPTIMISTIC_ABORT_MAX_MS:()=>Qk,OPTIMISTIC_COMPACTION_MAX_MS:()=>nw,OPTIMISTIC_RECEIPT_MAX_MS:()=>Wk,PREVIEW_PROBE_TIMEOUT_MS:()=>Fk,PROVISION_IN_FLIGHT_CODE:()=>vp,PublicSessionShareError:()=>dn,RequestTooLargeError:()=>ke,RuntimeNotReadyError:()=>De,SANDBOX_FS_ROOTS:()=>zt,SANDBOX_PORTS:()=>le,SERVER_COMPACTION_REVALIDATE_MS:()=>bg,SERVER_OBSERVATION_MAX_MS:()=>zk,STREAM_OBSERVATION_MAX_MS:()=>Vk,SandboxNotReadyError:()=>wt,SessionNotReadyError:()=>bt,SessionStartError:()=>an,TURN_END_LEDGER_LAG_MS:()=>Xk,WAKE_ESCALATION_COOLDOWN_MS:()=>cw,WAKE_MAX_RESTARTS:()=>aw,WAKE_NO_PROGRESS_MS:()=>ow,__getConfigResolver:()=>Dg,__setConfigResolver:()=>Mg,abortErrorReason:()=>lP,acceptAccountInvite:()=>ri,acceptInvite:()=>UP,actReviewItem:()=>jl,activateConnection:()=>bo,addGroupMembers:()=>al,addMarketplaceSource:()=>su,advanceWakeEscalation:()=>pw,allDescendantIds:()=>Ld,appendPreviewToken:()=>zu,approveProjectAccessRequest:()=>Ii,approveTask:()=>Cm,archiveProject:()=>en,assignTicket:()=>Dm,attachGroupToProject:()=>Li,authMfa:()=>An,authUser:()=>wn,authenticatedFetch:()=>M,authorizePreviewUrl:()=>Uk,backendApi:()=>i,bindSlackIdentity:()=>Qy,bindTeamsIdentity:()=>Yy,brokerProjectSecretRequest:()=>Yi,buildInstancePath:()=>tg,buildPresentationTemplateImageUrl:()=>Bk,buildPresentationTemplatePdfUrl:()=>Gk,buildPreviewAuthEndpoint:()=>Hu,buildPublicTemplateUrl:()=>pg,buildRuntimePresentationConversionUrl:()=>hg,buildSandboxTemplate:()=>Jo,buildStaticFileHealthPreviewUrl:()=>Lb,buildStaticFileLocalUrl:()=>Fb,buildStaticFilePreviewUrl:()=>Ub,buildStaticFileServicePath:()=>od,buildTunnelEventStreamUrl:()=>wg,buildWebProxyUrl:()=>Hb,bulkActReviewItems:()=>$l,bulkDeletePolicies:()=>bh,bulkImportPolicies:()=>xh,callConnector:()=>lo,cancelAccountDeletion:()=>tb,cancelAccountInvite:()=>ei,cancelSandbox:()=>jP,cancelSandboxUpdate:()=>YP,cancelScheduledChange:()=>fc,cancelSubscription:()=>dc,checkAccessEmail:()=>pk,childMapByParent:()=>b_,claimComputer:()=>rk,claimNext:()=>xd,claimPerSeatBilling:()=>Wy,claimWarmProjectSession:()=>va,classifyPart:()=>Ru,classifyPreviewProbeStatus:()=>yg,classifyTurn:()=>jd,clearImpersonationSession:()=>ks,clearKortixAppViewerCache:()=>vg,clearModelDefault:()=>Ya,clearSessionFresh:()=>Cy,closeChangeRequest:()=>ga,closeMilestone:()=>uf,collectTurnParts:()=>m_,commentTicket:()=>Om,commitSessionChanges:()=>ya,compactionExpiryAtMs:()=>sw,compareMessagesForDisplay:()=>Fd,completeInFlight:()=>_d,computeStatusFromPart:()=>Eu,configureAutoTopup:()=>xc,configureKortix:()=>Ct,confirmCheckoutSession:()=>uc,connectEmail:()=>Mc,connectSlack:()=>vc,connectionIsFaulted:()=>Hk,connectorConnect:()=>Fp,connectorFinalize:()=>Lp,convertPresentationToGoogleSlides:()=>db,convertRuntimePresentation:()=>Nk,copyFile:()=>pt,costExportUrl:()=>Pc,countLiveInboxPrompts:()=>Zk,createAccount:()=>Ns,createAccountAuditWebhook:()=>zl,createAccountToken:()=>Ul,createApp:()=>au,createAppAccessSession:()=>gu,createAppDeployment:()=>fu,createAssignment:()=>Al,createAuditWebhook:()=>Wh,createBackup:()=>GP,createCheckoutSession:()=>lc,createConnector:()=>jo,createFile:()=>ut,createGatewayKey:()=>Yc,createGroup:()=>rl,createHttpSessionSyncController:()=>kg,createInstance:()=>ek,createKortix:()=>fd,createKortixPty:()=>Es,createKortixSession:()=>Rn,createMarketplaceInstallSession:()=>yb,createMilestone:()=>cf,createOAuthClient:()=>Pl,createPerSeatCheckout:()=>Hy,createPolicy:()=>fh,createPortalSession:()=>pc,createProject:()=>gi,createProjectAgent:()=>zm,createProjectCliToken:()=>Gl,createProjectRepo:()=>mi,createProjectResourceGrant:()=>Ki,createProjectSession:()=>He,createProjectTrigger:()=>Ka,createRole:()=>gl,createSSEStream:()=>Sg,createSandbox:()=>vP,createSandboxShare:()=>Dl,createSandboxTemplate:()=>Wo,createScimToken:()=>wh,createServiceAccountApi:()=>Bh,createSessionPrompt:()=>Ia,createSessionPublicShare:()=>ka,createSessionQueue:()=>hd,createSsoGroupMapping:()=>$h,createTask:()=>Sm,createTicket:()=>jm,createTunnelEventStream:()=>kw,declineAccountInvite:()=>si,declineInvite:()=>FP,deleteAccountImmediately:()=>nb,deleteApp:()=>uu,deleteAuditWebhook:()=>Vh,deleteBackup:()=>NP,deleteConnector:()=>Mo,deleteCredential:()=>hf,deleteEnv:()=>Ts,deleteFile:()=>ye,deleteGatewayBudget:()=>Xc,deleteGitHubInstallation:()=>Ri,deleteGroup:()=>il,deleteInstance:()=>tk,deleteKortixProject:()=>nf,deleteMilestone:()=>df,deleteOAuthClient:()=>Sl,deletePersonalProjectSecret:()=>io,deletePolicy:()=>hh,deleteProjectAgent:()=>Jm,deleteProjectProviderOAuth:()=>to,deleteProjectResourceGrant:()=>Hi,deleteProjectSecret:()=>ro,deleteProjectSession:()=>qa,deleteProjectTrigger:()=>Wa,deleteRole:()=>yl,deleteSandboxTemplate:()=>Vo,deleteServiceAccountApi:()=>Kh,deleteSessionPrompt:()=>ja,deleteSsoGroupMapping:()=>Mh,deleteSsoProvider:()=>Eh,deleteTask:()=>Rm,deleteTicket:()=>Um,describeAccountInvite:()=>ni,describeConnectorTool:()=>co,detachGroupFromProject:()=>Bi,detectLocalhostUrls:()=>nd,disableServiceAccountApi:()=>Nh,disconnectEmail:()=>Dc,disconnectGitHubApp:()=>Dk,disconnectSlack:()=>Rc,discoverConnectionOAuth2:()=>gy,discoverConnectionOAuth2Resource:()=>my,discoverConnectorAuth:()=>$o,discoverLocalSandbox:()=>TP,downloadAccountAudit:()=>Ck,dropClientForUrl:()=>Af,dropPublicClientForUrl:()=>Tf,editQueued:()=>Sd,enqueue:()=>bd,ensurePmSession:()=>Hm,ensurePreviewSessionCookie:()=>fg,ensureProjectConnectorConnection:()=>uy,ensureSandbox:()=>cg,ensureWarmProjectSession:()=>Sa,env:()=>Ip,exchangeCode:()=>_n,exportAccountAudit:()=>Hl,extractGatewayErrorDetails:()=>ne,extractInstanceRoute:()=>Qe,failInFlight:()=>Pd,featureDisabledKey:()=>ys,featureFlags:()=>dP,fetchAccountStateWithToken:()=>Ny,fetchAccountsWithToken:()=>zf,fetchAttachmentPart:()=>qk,fetchCostExportCsv:()=>Xy,fetchKortixAppViewer:()=>Yu,fetchProjectArchive:()=>ea,fetchProjectsForAccountWithToken:()=>ry,files:()=>Op,finalizeAppArtifact:()=>mn,finalizeConnectorSetupLink:()=>bk,findFiles:()=>ct,findLastTextPart:()=>f_,findText:()=>lt,fireProjectTrigger:()=>Va,fixSandboxWithAgent:()=>Ho,formatBillingErrorForUI:()=>bs,formatCost:()=>E_,formatDuration:()=>R_,formatOpenCodeRuntimeError:()=>ig,formatRuntimeError:()=>ig,formatTokens:()=>j_,formatTranscript:()=>Ad,generateSessionId:()=>yd,getAccount:()=>Ks,getAccountBranding:()=>Ws,getAccountDeletionStatus:()=>Zh,getAccountState:()=>nc,getAccountStateMinimal:()=>rc,getActiveInstanceIdFromCookie:()=>rg,getAdminProviderAnalytics:()=>ab,getAdminProviderDistribution:()=>sb,getAdminProviderFallback:()=>lb,getAdminRole:()=>rb,getAgentCardLabel:()=>qd,getAgentConfig:()=>Oy,getAgentPersona:()=>Xm,getAllVersions:()=>JP,getAnsweredQuestionParts:()=>h_,getApp:()=>cu,getAppAccess:()=>pu,getAppDeployment:()=>hu,getAppDeploymentLogs:()=>bu,getApprovalLink:()=>fb,getAuthToken:()=>je,getAuthTokenWithRetry:()=>ms,getAutoTopupSettings:()=>bc,getAutoTopupSetupStatus:()=>Ky,getBillingCreditBreakdown:()=>oc,getBillingTierConfigurations:()=>cc,getBillingTransactionsSummary:()=>ic,getBillingUsageHistory:()=>ac,getChangeRequest:()=>ca,getChangeRequestDiff:()=>la,getChangeRequestMergePreview:()=>ua,getChildSessionError:()=>r_,getChildSessionId:()=>n_,getChildSessionToolParts:()=>s_,getClient:()=>me,getClientForUrl:()=>ae,getConnectStatus:()=>Oo,getConnectionOAuth2Application:()=>dy,getConnectionOAuth2Status:()=>xy,getConnectionPolicies:()=>_y,getConnectorCatalog:()=>tn,getConnectorConfig:()=>To,getConnectorPolicies:()=>Co,getConnectorSetupLink:()=>yk,getCostSummary:()=>Jy,getCurrentInstanceIdFromPathname:()=>ng,getCurrentInstanceIdFromWindow:()=>fP,getCurrentProject:()=>Fs,getDefaultAccountState:()=>cn,getDiagnostics:()=>a_,getDirectory:()=>Dd,getDiscoverConnector:()=>rn,getDiscoverIntegration:()=>vy,getEmailInstallation:()=>jc,getEmailMode:()=>$c,getEnterpriseDemo:()=>Xh,getFileStatus:()=>at,getFileWithDir:()=>Tu,getFilename:()=>Md,getFullChangelog:()=>ug,getGatewayBreakdown:()=>Hc,getGatewayBudgets:()=>Vc,getGatewayErrors:()=>zc,getGatewayKeys:()=>Qc,getGatewayLog:()=>Bc,getGatewayOverview:()=>Nc,getGatewayRoutingPolicy:()=>Oc,getGatewaySeries:()=>Kc,getGatewaySessions:()=>Wc,getGitHubAppStatus:()=>Ek,getGitHubInstallation:()=>Pi,getGoogleAuthUrl:()=>pb,getGroup:()=>nl,getHiddenToolParts:()=>Zx,getImpersonationSession:()=>_p,getInvite:()=>OP,getJustavpsServerTypes:()=>ZP,getKortixProject:()=>Zm,getKortixProjectBySession:()=>ef,getKortixPtyWebSocketUrl:()=>Ms,getLatestSandboxVersion:()=>VP,getMaintenanceConfig:()=>wk,getManagedGitStatus:()=>Zf,getMarketplaceCatalogItem:()=>tu,getMarketplaceCatalogItemFile:()=>nu,getMfaRequired:()=>vh,getMilestone:()=>of,getModelDefaults:()=>Xa,getOAuthClient:()=>_l,getOAuthConsentRequest:()=>mk,getOpenCodeConfigInvalidError:()=>Fu,getPartText:()=>Xx,getPatPolicy:()=>Fh,getPermissionForTool:()=>c_,getProject:()=>Jt,getProjectActivity:()=>Qm,getProjectCommit:()=>ra,getProjectCommitDiff:()=>sa,getProjectDetail:()=>Xt,getProjectFileHistory:()=>ia,getProjectGitToken:()=>di,getProjectLlmCatalog:()=>Qt,getProjectLlmCatalogProviders:()=>Xf,getProjectModelPicker:()=>Yt,getProjectSandboxHealth:()=>sn,getProjectSandboxProviderTransition:()=>ey,getProjectSession:()=>on,getProjectSessionConfigState:()=>Oa,getProjectSessionScope:()=>La,getProrationPreview:()=>yc,getProviders:()=>wP,getProxyBaseUrl:()=>Gb,getPublicClientForUrl:()=>Rf,getPublicMarketplaceItem:()=>lk,getPublicMarketplaceItemFile:()=>uk,getPublicSessionShare:()=>gb,getPublicSessionShareMessages:()=>mb,getPublicShareByToken:()=>Pk,getPublicTemplate:()=>Ik,getQuestionForTool:()=>l_,getReferralCode:()=>sh,getReferralStats:()=>ah,getRetryInfo:()=>$_,getRetryMessage:()=>M_,getReviewItem:()=>Il,getRolePermissions:()=>pl,getRoleUsage:()=>dl,getSSHConnection:()=>HP,getSandbox:()=>SP,getSandboxById:()=>AP,getSandboxPortUrl:()=>kP,getSandboxProvisionStatus:()=>sk,getSandboxProvisionStreamUrl:()=>ik,getSandboxUpdateStatus:()=>zP,getSandboxUrl:()=>Bu,getSecretSetupLink:()=>xk,getServerHealth:()=>Vt,getServiceLogs:()=>kf,getSessionAudit:()=>Aa,getSessionCost:()=>I_,getSessionCostRecord:()=>pn,getSessionHealth:()=>wu,getSessionOpenBundle:()=>Ry,getSessionPolicy:()=>Dh,getSessionPreviewCandidates:()=>_a,getSessionTranscript:()=>Ca,getSessionTranscriptSync:()=>Ra,getSessionTurn:()=>Ta,getShellModePart:()=>P_,getSlackChannelFile:()=>Tc,getSlackInstallation:()=>Sc,getSlackManifest:()=>Cc,getSlackMode:()=>Ac,getSsoProvider:()=>Rh,getStaticFileHealthPath:()=>ad,getSupabaseAccessToken:()=>Mt,getSupabaseAccessTokenWithRetry:()=>re,getTask:()=>Pm,getTaskStatus:()=>wm,getTemplate:()=>hb,getTicket:()=>Im,getToolInfo:()=>i_,getTranscriptFilename:()=>Cd,getTurnCost:()=>T_,getTurnError:()=>v_,getTurnErrorDetails:()=>A_,getTurnStatus:()=>C_,getUsageRollup:()=>_c,getUserRolesWithToken:()=>vk,getVersionDiff:()=>oa,getWorkingState:()=>w_,grantSandboxProjectAccess:()=>DP,grantSecretToAgent:()=>Ly,groupMessagesIntoTurns:()=>g_,hasDiffs:()=>D_,hasLocalhostUrls:()=>Db,hasPreviewTarget:()=>id,hasRetryingAssistantTurn:()=>__,heartbeatGapEvent:()=>dd,holdSessionPrompts:()=>Ma,humanizeToolName:()=>qn,impersonationHeaders:()=>Ut,importSsoProviderFromMetadata:()=>Ih,inboxObservationSupersedes:()=>Yk,initialWakeEscalationState:()=>Xu,installTemplate:()=>bb,invalidateTokenCache:()=>tt,inviteAccountMember:()=>Ys,inviteProjectMember:()=>Di,inviteRepoCollaborator:()=>ui,isAbortError:()=>qu,isAdminBypassEnabled:()=>hm,isAgentPart:()=>Wx,isAppRouteUrl:()=>td,isAttachment:()=>Qx,isAttachmentPartRef:()=>gg,isBillingError:()=>hs,isCompactionPart:()=>zx,isConfigured:()=>Rt,isDestructivePhase:()=>WP,isExternalUrl:()=>Vb,isFeatureDisabledError:()=>fs,isFilePart:()=>Iu,isImpersonationSessionLive:()=>bp,isInstanceDetailPath:()=>gP,isInstanceScopedAppPath:()=>eg,isInternalLocalhostUrl:()=>Kb,isInviteSent:()=>oy,isLastUserMessage:()=>k_,isManagedGithubProject:()=>Jf,isOpenCodeConfigInvalidError:()=>xP,isPatchPart:()=>Jx,isPreviewUrl:()=>Nb,isProxiableLocalhostUrl:()=>cd,isReasoningPart:()=>Un,isRetryableTurnError:()=>Gd,isRuntimeReady:()=>Sb,isSandboxNotReadyError:()=>St,isServerReachable:()=>Ls,isSessionFresh:()=>ba,isSessionStartError:()=>Ey,isShellMode:()=>Bd,isSnapshotPart:()=>Vx,isSubdomainPreviewUrl:()=>Wu,isTextPart:()=>_e,isToolPart:()=>ue,isToolPartHidden:()=>e_,isUnderSandboxRoot:()=>Os,isWebProxyUrl:()=>zb,kortixAppViewerToken:()=>Ag,kortixPty:()=>jp,leaveAccount:()=>ai,linkGitHubInstallation:()=>Ci,linkRepository:()=>_i,listAccountAudit:()=>Nl,listAccountAuditWebhooks:()=>Wl,listAccountInvites:()=>Zs,listAccountMembers:()=>Qs,listAccountResourceGrants:()=>gh,listAccountSessions:()=>Oh,listAccountTokens:()=>Ol,listAccounts:()=>Bs,listActions:()=>_h,listAdminSandboxes:()=>ib,listAgentIdentities:()=>ul,listAllConnections:()=>go,listAppDeployments:()=>yu,listApps:()=>ou,listAssignments:()=>vl,listAuditEvents:()=>Jh,listAuditWebhooks:()=>Hh,listBackups:()=>LP,listBillingTransactions:()=>sc,listChangeRequests:()=>aa,listChannelBindings:()=>th,listColumns:()=>Fm,listConnectToolkits:()=>wy,listConnections:()=>po,listConnectorTools:()=>dt,listConnectors:()=>ko,listCostByProject:()=>Vy,listCredentialEvents:()=>mf,listCredentials:()=>gf,listDiscoverConnectors:()=>nn,listDiscoverIntegrations:()=>Sy,listEnv:()=>Cs,listFeaturedMarketplaces:()=>eu,listFields:()=>Gm,listFiles:()=>ot,listGatewayLogs:()=>Gc,listGitHubInstallations:()=>ki,listGitHubRepositories:()=>Si,listGitHubRepositoryBranches:()=>vi,listGroupMembers:()=>ol,listGroupProjectGrants:()=>uh,listGroups:()=>tl,listKortixProjectSessions:()=>tf,listKortixProjects:()=>Ym,listKortixPty:()=>Is,listLinkableGitHubInstallations:()=>wi,listMarketplaceCatalogItems:()=>Yl,listMarketplaceSources:()=>ru,listMarketplaces:()=>Zl,listMemberGroups:()=>ph,listMemberProjectAccess:()=>dh,listMilestoneEvents:()=>af,listMilestones:()=>sf,listOAuthClients:()=>xl,listPendingApprovals:()=>Wi,listPendingProjectInvites:()=>qi,listPermissions:()=>Rl,listPipedreamApps:()=>Do,listPipedreamSections:()=>qo,listPolicies:()=>mh,listProjectAccess:()=>ji,listProjectAccessRequests:()=>Ti,listProjectAgents:()=>Wm,listProjectAudit:()=>Kl,listProjectBranches:()=>ta,listProjectCliTokens:()=>Ll,listProjectCommits:()=>na,listProjectFiles:()=>Qo,listProjectGroupGrants:()=>Fi,listProjectPolicies:()=>Lo,listProjectResourceGrants:()=>Ni,listProjectSandboxTemplates:()=>Bo,listProjectSandboxes:()=>Xo,listProjectSecrets:()=>Ji,listProjectSessions:()=>Ke,listProjectSnapshots:()=>No,listProjectTriggers:()=>Na,listProjects:()=>Ce,listProjectsForAccount:()=>li,listPublicMarketplaceItems:()=>ak,listPublicMarketplaces:()=>ck,listReferrals:()=>ch,listReviewItems:()=>Tl,listRoles:()=>ll,listSandboxProjectMembers:()=>MP,listSandboxShares:()=>Ml,listSandboxes:()=>RP,listScimTokens:()=>kh,listServiceAccountsApi:()=>Gh,listServiceTemplates:()=>Pf,listServices:()=>_f,listSessionConnectRequests:()=>ky,listSessionCosts:()=>wc,listSessionPrompts:()=>Ea,listSessionPublicShares:()=>Pa,listSessionsNeedingInput:()=>zi,listSsoGroupMappings:()=>jh,listTaskEvents:()=>km,listTasks:()=>_m,listTemplates:()=>Nm,listTicketEvents:()=>Em,listTickets:()=>Tm,loadHttpSessionHistory:()=>Pg,markInstanceError:()=>nk,markSessionFresh:()=>gt,mergeChangeRequest:()=>da,migrateAdminSandboxProvider:()=>cb,mkdir:()=>Be,narrowChatEvent:()=>gd,normalizeAppPathname:()=>bP,normalizeExternalInput:()=>Jb,normalizeToolName:()=>xt,openChangeRequest:()=>pa,openEventStream:()=>jn,openStressTestStream:()=>Rk,parseBillingError:()=>we,parseFlagOverride:()=>pP,parseLocalhostUrl:()=>ht,parseOpenCodeErrorPayload:()=>sg,parseProxyHop:()=>ku,parseSubdomainUrl:()=>vu,parseWebProxyUrl:()=>Wb,patchKortixProject:()=>rf,pipedreamConnect:()=>Eo,pipedreamConnectConnection:()=>_o,pipedreamFinalize:()=>Fo,pipedreamFinalizeConnection:()=>Po,platformConfig:()=>j,pollConnectionOAuth2DeviceAuthorization:()=>by,pollProjectProviderOAuth:()=>eo,previewGatewayRoute:()=>Lc,previewMfaRequired:()=>Ah,probeEffectivePermission:()=>hl,probeEffectivePermissions:()=>bl,probePreviewPort:()=>Lk,projectCompacting:()=>rw,projectSessionConnection:()=>Kk,projectSessionStartSeed:()=>Iy,projectWorking:()=>ew,provisionProject:()=>fi,provisionProjectStream:()=>Yf,provisionProjectWithToken:()=>sy,proxyLocalhostUrl:()=>Su,proxyUrlToInternal:()=>Bb,purchaseCredits:()=>hc,putConnectionOAuth2Application:()=>py,reactivateSandbox:()=>$P,reactivateSubscription:()=>gc,readBlob:()=>Fe,readFile:()=>Ue,readProjectFile:()=>Zo,rebuildProjectSnapshot:()=>Ko,reconcileConnection:()=>mo,reconcileMemberConnection:()=>fo,reconcileServices:()=>Sf,recordPlatformLogout:()=>gk,refreshReferralCode:()=>ih,refreshSession:()=>ze,registerAppArtifact:()=>gn,registerConnectionOAuth2Client:()=>fy,registerService:()=>vf,rejectProjectAccessRequest:()=>Ei,relativizePath:()=>o_,reloadProjectSessionConfig:()=>Ua,reloadProjectSessionConfigStream:()=>Fa,removeAccountAuditWebhook:()=>Jl,removeAccountBrandingAsset:()=>Js,removeAccountMember:()=>ii,removeGroupMember:()=>cl,removeKortixPty:()=>$s,removeMarketplaceSource:()=>iu,removeQueued:()=>wd,renameFile:()=>fe,renameSandbox:()=>CP,reopenChangeRequest:()=>ma,reopenMilestone:()=>pf,reorderQueued:()=>vd,replaceColumns:()=>Lm,replaceFields:()=>Bm,replaceTemplates:()=>Km,requestAccountDeletion:()=>eb,requestChangesOnChangeRequest:()=>fa,requestProjectAccess:()=>iy,requestProjectConnector:()=>Ql,requestProjectSecret:()=>Xl,resendAccountInvite:()=>ti,resendPendingProjectInvite:()=>Ui,resetAccountBranding:()=>Xs,resetClient:()=>Cf,resetGatewayRoutingPolicy:()=>Fc,resetPassword:()=>Pn,resetPublicClient:()=>If,resetSandboxUpdateStatus:()=>QP,resolveApproval:()=>Vi,resolvedPlan:()=>By,restartProjectSession:()=>mt,restartSandbox:()=>IP,restoreBackup:()=>BP,retryFailed:()=>kd,retrySessionPrompt:()=>$a,revealCredential:()=>yf,revokeAccountSession:()=>Uh,revokeAccountToken:()=>Fl,revokeAssignment:()=>Cl,revokeConnection:()=>ho,revokeGatewayKey:()=>Zc,revokePendingProjectInvite:()=>Oi,revokeProjectAccess:()=>Mi,revokeProjectCliToken:()=>Bl,revokeSandboxProjectAccess:()=>qP,revokeSandboxShare:()=>ql,revokeScimToken:()=>Sh,revokeSessionPublicShare:()=>wa,rewriteLocalhostUrl:()=>be,rollbackApp:()=>Pu,rotateOAuthClientSecret:()=>wl,runGatewayPlayground:()=>el,saveGitHubInstallation:()=>Ai,scheduleDowngrade:()=>mc,searchConnectorTools:()=>ao,searchProjectFiles:()=>Yo,sendMagicLink:()=>hn,sendReferralEmails:()=>lh,serverCompactionRevalidateAtMs:()=>iw,serviceAction:()=>wf,sessionStartKey:()=>$y,setActiveInstanceCookie:()=>yP,setAdminBypass:()=>ym,setAdminProviderDistribution:()=>ob,setAdminProviderFallback:()=>ub,setAgentScope:()=>Za,setBootstrapAuthToken:()=>tm,setCachedAuthToken:()=>em,setConnectionPolicies:()=>Py,setConnectorAuthorizationStrategy:()=>vo,setConnectorCredential:()=>Uo,setConnectorCredentialMode:()=>So,setConnectorName:()=>Io,setConnectorPolicies:()=>Ro,setConnectorSecretBinding:()=>Ay,setConnectorSensitive:()=>Ao,setDefaultConnection:()=>xo,setEnterpriseDemo:()=>Qh,setEnv:()=>Rs,setGatewayBudget:()=>Jc,setGatewayRoutingPolicy:()=>Uc,setGitHubAppFromExisting:()=>$k,setGitHubAppPat:()=>Mk,setImpersonationSession:()=>om,setMaintenanceConfig:()=>Sk,setMemberSuperAdmin:()=>Ph,setMfaRequired:()=>Ch,setModelDefault:()=>Qa,setPersonalProjectSecret:()=>so,setProjectModelEnablement:()=>My,setProjectOnboardingComplete:()=>xi,setProjectOnboardingProfile:()=>ny,setProjectPolicies:()=>Go,setProjectSecretStrategy:()=>Qi,setProjectSessionModel:()=>Ba,setProjectSessionScope:()=>Ga,setProjectSessionSharing:()=>xa,setProjectTriggersActivation:()=>za,setupSSH:()=>KP,shellExitCode:()=>Mu,shouldAttachImpersonation:()=>Pp,shouldHideResponsePart:()=>S_,shouldShowToolPart:()=>$d,signInWithPassword:()=>yn,signInWithProvider:()=>xn,signInWithSso:()=>vn,signOut:()=>Cn,signUp:()=>fn,sortSessions:()=>x_,splitUserParts:()=>Yx,startApp:()=>xu,startConnectionOAuth2Authorization:()=>yy,startConnectionOAuth2DeviceAuthorization:()=>hy,startConnectorSetupLink:()=>hk,startGitHubAppManifest:()=>jk,startProjectProviderOAuth:()=>Zi,startProjectSession:()=>Re,startSessionWithToken:()=>kk,startTask:()=>Am,stopApp:()=>_u,stopProjectSession:()=>ft,stopSandbox:()=>EP,stripAnsi:()=>p_,stripInstancePrefix:()=>mP,stripTrailingSlashes:()=>oe,submitAccessRequest:()=>dk,submitDemoRequest:()=>Ak,submitOAuthConsent:()=>fk,submitReviewItem:()=>El,submitSecretSetupLink:()=>_k,subscribeToImpersonation:()=>am,supabaseClient:()=>bm,syncConnectors:()=>wo,syncSubscription:()=>zy,systemReload:()=>jf,toDaemonPath:()=>Ae,toInstanceAwarePath:()=>hP,toInternalUrl:()=>ld,toSandboxAbsolutePath:()=>it,toWorkspaceRelative:()=>Us,toolInfo:()=>On,toolViewModel:()=>Xd,triggerSandboxUpdate:()=>XP,triggersRequest:()=>Ep,turnHasSteps:()=>y_,unassignTicket:()=>qm,unwrapError:()=>te,updateAccountAuditWebhook:()=>Vl,updateAccountBranding:()=>zs,updateAccountMemberRole:()=>oi,updateAccountName:()=>Hs,updateAgentConfig:()=>Uy,updateApp:()=>lu,updateAppAccess:()=>du,updateAuditWebhook:()=>zh,updateChannelBinding:()=>nh,updateConnectionCredential:()=>yo,updateEmailPolicy:()=>qc,updateExperimentalFeature:()=>hi,updateFeatureFlag:()=>yi,updateGroup:()=>sl,updateKortixPty:()=>js,updateMilestone:()=>lf,updateOAuthClient:()=>kl,updatePassword:()=>kn,updatePatPolicy:()=>Lh,updatePolicy:()=>yh,updateProject:()=>Zt,updateProjectAccess:()=>$i,updateProjectAgent:()=>Vm,updateProjectDefaultAgent:()=>tc,updateProjectGroupGrant:()=>Gi,updateProjectSandboxProvider:()=>bi,updateProjectSession:()=>Da,updateProjectTrigger:()=>Ha,updateRole:()=>ml,updateRolePermissions:()=>fl,updateSandboxTemplate:()=>zo,updateSessionPolicy:()=>qh,updateTask:()=>vm,updateTemplateWarmPool:()=>ty,updateTicket:()=>$m,updateTicketStatus:()=>Mm,updateUserMetadata:()=>Sn,uploadAccountBrandingAsset:()=>Vs,uploadAppArtifactArchive:()=>mu,uploadConnectorAttachment:()=>uo,uploadFile:()=>Le,uploadSlackChannelFile:()=>Ic,uploadTimeoutMsForBytes:()=>qe,upsertCredential:()=>ff,upsertProjectGitCredential:()=>no,upsertProjectSecret:()=>Xi,upsertSsoProvider:()=>Th,validateProjectManifest:()=>pi,validateReferralCode:()=>oh,validateToken:()=>ci,verifyGatewayProvider:()=>rh,verifyOtp:()=>bn,wakeEscalationAttemptSummary:()=>fw,wakeEscalationNote:()=>gw,wakeProgressFingerprint:()=>lw,workingExpiryAtMs:()=>tw,writeFile:()=>Ge});var $g={backendUrl:"",getToken:async()=>null},zn=null,At=null;function Mg(e){At=e}function Dg(){return At}function Ct(e,t){t?.global!==!1&&(zn=e)}function j(){return At?.()??zn??$g}function Rt(){return zn!==null||At?.()!==void 0}var Zu=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:o,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:d,url:f,...m})=>{let h,x=d??(R=>new Promise(E=>setTimeout(E,R)));return{stream:async function*(){let R=o??3e3,E=0,l=m.signal??new AbortController().signal;for(;!l.aborted;){E++;let b=m.headers instanceof Headers?m.headers:new Headers(m.headers);h!==void 0&&b.set("Last-Event-ID",h);try{let c={redirect:"follow",...m,body:m.serializedBody,headers:b,signal:l},v=new Request(f,c);e&&(v=await e(f,c));let T=await(m.fetch??globalThis.fetch)(v);if(!T.ok)throw new Error(`SSE failed: ${T.status} ${T.statusText}`);if(!T.body)throw new Error("No body in SSE response");let $=T.body.pipeThrough(new TextDecoderStream).getReader(),q="",D=()=>{try{$.cancel()}catch{}};l.addEventListener("abort",D);try{for(;;){let{done:Q,value:z}=await $.read();if(Q)break;q+=z,q=q.replace(/\r\n/g,`
2
2
  `).replace(/\r/g,`
3
- `);let y=D.split(`
3
+ `);let y=q.split(`
4
4
 
5
- `);D=y.pop()??"";for(let T of y){let z=T.split(`
6
- `),U=[],F;for(let N of z)if(N.startsWith("data:"))U.push(N.replace(/^data:\s*/,""));else if(N.startsWith("event:"))F=N.replace(/^event:\s*/,"");else if(N.startsWith("id:"))h=N.replace(/^id:\s*/,"");else if(N.startsWith("retry:")){let Q=Number.parseInt(N.replace(/^retry:\s*/,""),10);Number.isNaN(Q)||(E=Q)}let L,J=!1;if(U.length){let N=U.join(`
7
- `);try{L=JSON.parse(N),J=!0}catch{L=N}}J&&(s&&await s(L),r&&(L=await r(L))),n?.({data:L,event:F,id:h,retry:E}),U.length&&(yield L)}}}finally{u.removeEventListener("abort",q),$.releaseLock()}break}catch(c){if(t?.(c),l!==void 0&&j>=l)break;let S=Math.min(E*2**(j-1),p??3e4);await x(S)}}}()}};var Eg=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},jg=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},$g=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Rt=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(d=>encodeURIComponent(d))).join(jg(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=Eg(r),l=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):Ee({allowReserved:e,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+l:l},Ee=({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)}`},Tt=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let d=[];Object.entries(s).forEach(([m,h])=>{d=[...d,m,e?h:encodeURIComponent(h)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let l=$g(r),p=Object.entries(s).map(([d,f])=>Ee({allowReserved:e,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(l);return r==="label"||r==="matrix"?l+p:p};var Mg=/\{[^{}]+\}/g,qg=({path:e,url:t})=>{let n=t,r=t.match(Mg);if(r)for(let s of r){let o=!1,l=s.substring(1,s.length-1),p="simple";l.endsWith("*")&&(o=!0,l=l.substring(0,l.length-1)),l.startsWith(".")?(l=l.substring(1),p="label"):l.startsWith(";")&&(l=l.substring(1),p="matrix");let d=e[l];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,Rt({explode:o,name:l,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,Tt({explode:o,name:l,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${Ee({name:l,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},Vu=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,l=(e??"")+o;t&&(l=qg({path:t,url:l}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(l+=`?${p}`),l};function Kn(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 Ju=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 Hn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Xu=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let l=r[o];if(l==null)continue;let p=e[o]||t;if(Array.isArray(l)){let d=Rt({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:l,...p.array});d&&s.push(d)}else if(typeof l=="object"){let d=Tt({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:l,...p.object});d&&s.push(d)}else{let d=Ee({allowReserved:p.allowReserved,name:o,value:l});d&&s.push(d)}}return s.join("&")},Qu=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"}},Dg=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,Yu=async({security:e,...t})=>{for(let n of e){if(Dg(t,n.name))continue;let r=await Ju(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}}},Wn=e=>Vu({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Xu(e.querySerializer),url:e.url}),zn=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=It(e.headers,t.headers),n},Og=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},It=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?Og(n):Object.entries(n);for(let[s,o]of r)if(o===null)t.delete(s);else if(Array.isArray(o))for(let l of o)t.append(s,l);else o!==void 0&&t.set(s,typeof o=="object"?JSON.stringify(o):o)}return t},Qe=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}},Zu=()=>({error:new Qe,request:new Qe,response:new Qe}),Ug=Xu({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Fg={"Content-Type":"application/json"},Ye=(e={})=>({...Hn,headers:Fg,parseAs:"auto",querySerializer:Ug,...e});var Ze=(e={})=>{let t=zn(Ye(),e),n=()=>({...t}),r=f=>(t=zn(t,f),n()),s=Zu(),o=async f=>{let m={...t,...f,fetch:f.fetch??t.fetch??globalThis.fetch,headers:It(t.headers,f.headers),serializedBody:void 0};m.security&&await Yu({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let h=Wn(m);return{opts:m,url:h}},l=async f=>{let{opts:m,url:h}=await o(f),x={redirect:"follow",...m,body:Kn(m)},P=new Request(h,x);for(let w of s.request.fns)w&&(P=await w(P,m));let C=m.fetch,E;try{E=await C(P)}catch(w){let R=w;for(let $ of s.error.fns)$&&(R=await $(w,void 0,P,m));if(R=R||{},m.throwOnError)throw R;return m.responseStyle==="data"?void 0:{error:R,request:P,response:void 0}}for(let w of s.response.fns)w&&(E=await w(E,P,m));let j={request:P,response:E};if(E.ok){let w=(m.parseAs==="auto"?Qu(E.headers.get("Content-Type")):m.parseAs)??"json";if(E.status===204||E.headers.get("Content-Length")==="0"){let $;switch(w){case"arrayBuffer":case"blob":case"text":$=await E[w]();break;case"formData":$=new FormData;break;case"stream":$=E.body;break;default:$={};break}return m.responseStyle==="data"?$:{data:$,...j}}let R;switch(w){case"arrayBuffer":case"blob":case"formData":case"text":R=await E[w]();break;case"json":{let $=await E.text();R=$?JSON.parse($):{};break}case"stream":return m.responseStyle==="data"?E.body:{data:E.body,...j}}return w==="json"&&(m.responseValidator&&await m.responseValidator(R),m.responseTransformer&&(R=await m.responseTransformer(R))),m.responseStyle==="data"?R:{data:R,...j}}let u=await E.text(),b;try{b=JSON.parse(u)}catch{}let c=b??u,S=c;for(let w of s.error.fns)w&&(S=await w(c,E,P,m));if(S=S||{},m.throwOnError)throw S;return m.responseStyle==="data"?void 0:{error:S,...j}},p=f=>m=>l({...m,method:f}),d=f=>async m=>{let{opts:h,url:x}=await o(m);return zu({...h,body:h.body,headers:h.headers,method:f,onRequest:async(P,C)=>{let E=new Request(P,C);for(let j of s.request.fns)j&&(E=await j(E,h));return E},serializedBody:Kn(h),url:x})};return{buildUrl:Wn,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:l,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var Lg={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Gg=Object.entries(Lg),ep=(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&&ep(n.args,t);return t},Bg=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},g=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=ep(t),s;for(let[o,l]of e.entries())if(t[o]&&(s=t[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=l)}else n.body=l;else for(let[p,d]of Object.entries(l??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=Gg.find(([h])=>p.startsWith(h));if(m){let[h,x]=m;n[x][p.slice(h.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[h,x]of Object.entries(s.allowExtra))if(x){n[h][p]=d;break}}}}return Bg(n),n};var tp=Ze(Ye({baseUrl:"http://localhost:4096"}));var _=class{client;constructor(t){this.client=t?.client??tp}},Vn=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)}},Jn=class extends _{remove(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Xn=class extends _{log(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Qn=class extends _{moveSession(t,n){let r=g([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Yn=class extends _{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Zn=class extends _{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},er=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},tr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},nr=class extends _{generateName(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},sr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new rr({client:this.client})}},ir=class extends _{_controlPlane;get controlPlane(){return this._controlPlane??=new Qn({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Yn({client:this.client})}_console;get console(){return this._console??=new Zn({client:this.client})}_session;get session(){return this._session??=new er({client:this.client})}_resource;get resource(){return this._resource??=new tr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new nr({client:this.client})}_workspace;get workspace(){return this._workspace??=new sr({client:this.client})}},or=class extends _{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=g([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ar=class extends _{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=g([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new or({client:this.client})}},cr=class extends _{subscribe(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},lr=class extends _{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},ur=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},pr=class extends _{remove(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},dr=class extends _{text(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},gr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},mr=class extends _{dispose(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},fr=class extends _{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},yr=class extends _{raw(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},hr=class extends _{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new yr({client:this.client})}},br=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},xr=class extends _{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},_r=class extends _{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Pr=class extends _{remove(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},kr=class extends _{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Pr({client:this.client})}},wr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},Sr=class extends _{shells(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},vr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},Ar=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Cr=class extends _{authorize(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Rr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new Cr({client:this.client})}},Tr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},Ir=class extends _{delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Er=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},jr=class extends _{start(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=g([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new Er({client:this.client})}},$r=class extends _{next(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Mr=class extends _{appendPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new $r({client:this.client})}},qr=class extends _{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Dr=class extends _{get(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},Or=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},Ur=class extends _{stage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},Fr=class extends _{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"action"},{in:"body",key:"resources"},{in:"body",key:"save"},{in:"body",key:"metadata"},{in:"body",key:"source"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission/{requestID}",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Lr=class extends _{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},Gr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}active(t){return(t?.client??this.client).get({url:"/api/session/active",...t})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}history(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"after"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/history",...n,...r})}events(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"after"}]}]);return(n?.client??this.client).sse.get({url:"/api/session/{sessionID}/event",...n,...r})}interrupt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/interrupt",...n,...r})}message(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message/{messageID}",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new Ur({client:this.client})}_permission;get permission(){return this._permission??=new Fr({client:this.client})}_question;get question(){return this._question??=new Lr({client:this.client})}},Br=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Nr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Kr=class extends _{key(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Hr=class extends _{cancel(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Wr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new Kr({client:this.client})}_attempt;get attempt(){return this._attempt??=new Hr({client:this.client})}},zr=class extends _{remove(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Vr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Jr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Xr=class extends _{_request;get request(){return this._request??=new Vr({client:this.client})}_saved;get saved(){return this._saved??=new Jr({client:this.client})}},Qr=class extends _{read(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},Yr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Zr=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},es=class extends _{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},ts=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},ns=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},rs=class extends _{_request;get request(){return this._request??=new ns({client:this.client})}},ss=class extends _{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},is=class extends _{remove(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},os=class extends _{_health;get health(){return this._health??=new qr({client:this.client})}_location;get location(){return this._location??=new Dr({client:this.client})}_agent;get agent(){return this._agent??=new Or({client:this.client})}_session;get session(){return this._session??=new Gr({client:this.client})}_model;get model(){return this._model??=new Br({client:this.client})}_provider;get provider(){return this._provider??=new Nr({client:this.client})}_integration;get integration(){return this._integration??=new Wr({client:this.client})}_credential;get credential(){return this._credential??=new zr({client:this.client})}_permission;get permission(){return this._permission??=new Xr({client:this.client})}_fs;get fs(){return this._fs??=new Qr({client:this.client})}_command;get command(){return this._command??=new Yr({client:this.client})}_skill;get skill(){return this._skill??=new Zr({client:this.client})}_event;get event(){return this._event??=new es({client:this.client})}_pty;get pty(){return this._pty??=new ts({client:this.client})}_question;get question(){return this._question??=new rs({client:this.client})}_reference;get reference(){return this._reference??=new ss({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new is({client:this.client})}},Et=class e extends _{static __registry=new Vn;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Jn({client:this.client})}_app;get app(){return this._app??=new Xn({client:this.client})}_experimental;get experimental(){return this._experimental??=new ir({client:this.client})}_global;get global(){return this._global??=new ar({client:this.client})}_event;get event(){return this._event??=new cr({client:this.client})}_config;get config(){return this._config??=new lr({client:this.client})}_tool;get tool(){return this._tool??=new ur({client:this.client})}_worktree;get worktree(){return this._worktree??=new pr({client:this.client})}_find;get find(){return this._find??=new dr({client:this.client})}_file;get file(){return this._file??=new gr({client:this.client})}_instance;get instance(){return this._instance??=new mr({client:this.client})}_path;get path(){return this._path??=new fr({client:this.client})}_vcs;get vcs(){return this._vcs??=new hr({client:this.client})}_command;get command(){return this._command??=new br({client:this.client})}_lsp;get lsp(){return this._lsp??=new xr({client:this.client})}_formatter;get formatter(){return this._formatter??=new _r({client:this.client})}_mcp;get mcp(){return this._mcp??=new kr({client:this.client})}_project;get project(){return this._project??=new wr({client:this.client})}_pty;get pty(){return this._pty??=new Sr({client:this.client})}_question;get question(){return this._question??=new vr({client:this.client})}_permission;get permission(){return this._permission??=new Ar({client:this.client})}_provider;get provider(){return this._provider??=new Rr({client:this.client})}_session;get session(){return this._session??=new Tr({client:this.client})}_part;get part(){return this._part??=new Ir({client:this.client})}_sync;get sync(){return this._sync??=new jr({client:this.client})}_tui;get tui(){return this._tui??=new Mr({client:this.client})}_v2;get v2(){return this._v2??=new os({client:this.client})}};function rp(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let o=e,l=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||np(n,t);return new Error(l,{cause:{body:e,status:t?.status}})}if(typeof e=="string"&&e.length>0)return new Error(e,{cause:{body:e,status:t?.status}});let s=t?"(empty response body)":"network error (no response)";return new Error(`opencode server ${np(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function np(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,o=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function Ng(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function Kg(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[o,l]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=Ng(e.headers.get(o),l==="directory"?t.directory:t.workspace,l==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[l,`location[${l}]`]:[l])n.searchParams.has(d)||n.searchParams.set(d,p);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function as(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=Ze(e);return t.interceptors.request.use(n=>Kg(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(rp),new Et({client:t})}var Hg=new Set(["api","cli","mobile","web"]);function jt(e){let t=e?.trim().toLowerCase();return t&&Hg.has(t)?t:null}function Wg(e){return new Promise(t=>setTimeout(t,e))}async function sp(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,o=t?.invalidateBetweenAttempts??!1,l=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await Wg(s)),l=await e(),l)return l;return l}var zg=12e4;function Vg(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function cs(e,t,n=zg){let r=e instanceof Request?e.signal:t?.signal;if(Vg(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function ls(e,t,n,r){let s=new Headers(e instanceof Request?e.headers:void 0);t?.headers&&new Headers(t.headers).forEach((l,p)=>{s.set(p,l)}),n&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${n}`);let o=jt(r);return o&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",o),s}function ip(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function $t(){return I().getToken()}async function re(e){return sp(()=>I().getToken(),e,et)}function et(){}function Jg(e){}function Xg(e){}async function je(){return $t()}async function us(e){return re(e)}function op(e,t,n,r){let s=I().fetch??fetch;if(e instanceof Request){let o=new Request(e,{headers:n,...r?{signal:r}:{}});return s(o)}return s(e,{...t,headers:n,...r?{signal:r}:{}})}async function M(e,t,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},o=await us();if(!o)return ip();let l=I().clientSource,p=ls(e,t,o,l),d=s===void 0?cs(e,t):cs(e,t,s),f=await op(e,t,p,d);if(f.status===401&&r&&o){et();let m=await us({attempts:2,baseDelayMs:200});if(m&&m!==o){let h=ls(e,t,m,l);return op(e,t,h,d)}}return f}var $e={url:null,sandboxId:null,dbSandboxId:null,version:0},Qg=new Set;function ap(e,t=null,n=null){if(!($e.url===e&&$e.sandboxId===t&&$e.dbSandboxId===n)){$e={url:e,sandboxId:t,dbSandboxId:n,version:$e.version+1};for(let r of Qg)r()}}function cp(){return $e.url}function Yg(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function tt(){return Yg(I().backendUrl||"http://localhost:8008/v1")}function lp(){let e=I().sandboxId;return e?`${tt()}/p/${e}/8000`:""}function Zg(e){return`${tt()}/p/${e}/8000`}function Mt(e){return Zg(e)}var A=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let l=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:l,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},_e=class extends A{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},ge=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)}},Pe=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",o="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||o},Object.setPrototypeOf(this,e.prototype)}},qt="feature_disabled";function up(e){if(!(e instanceof A)||e.status!==403||e.code!==qt)return null;let t=e.details??e.data;return t&&typeof t=="object"?t:{}}function ps(e){let t=up(e);return t?(typeof t.feature=="string"&&!e.feature&&(e.feature=t.feature),!0):!1}function ds(e){let t=up(e);if(!t)return null;let n=e.feature;return typeof n=="string"?n:typeof t.feature=="string"?t.feature:null}function ke(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 ge(t,{message:r?.message||e.message||"Billing error",...r})}function gs(e){return e instanceof ge}function ms(e){if(!(e instanceof ge))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."}}var pp="X-Kortix-Impersonate",ys="kortix.impersonation",we=null,Dt=!1,fs=new Set;function hs(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function dp(e,t=Date.now()){if(!e||!e.grantId||!e.accountId)return!1;let n=Date.parse(e.expiresAt);return Number.isFinite(n)&&n>t}function em(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t?.grantId!="string"||typeof t?.accountId!="string"?null:{grantId:t.grantId,accountId:t.accountId,accountName:typeof t.accountName=="string"?t.accountName:null,expiresAt:typeof t.expiresAt=="string"?t.expiresAt:""}}catch{return null}}function gp(){for(let e of fs)try{e()}catch{}}function mp(){return Dt||(Dt=!0,we=em(hs()?.getItem(ys)??null)),we&&!dp(we)?(bs(),null):we}function tm(e){if(Dt=!0,!e){bs();return}we=e;try{hs()?.setItem(ys,JSON.stringify(e))}catch{}gp()}function bs(){Dt=!0;let e=we!==null;we=null;try{hs()?.removeItem(ys)}catch{}e&&gp()}function nm(e){return fs.add(e),()=>{fs.delete(e)}}var rm=/(^|\/)admin\/(api|analytics)(\/|$)/;function fp(e){let t=e;if(/^https?:\/\//.test(e))try{t=new URL(e).pathname}catch{t=e}return!rm.test(t)}function Ot(e){if(e!==void 0&&!fp(e))return{};let t=mp();return t?{[pp]:t.grantId}:{}}var se=()=>I().backendUrl||"",hp="feature_not_supported",bp="model_not_servable",xp="provision_in_flight",_p="request_deadline",sm=/^Request exceeded the \d+s server processing deadline$/,im=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===_p||sm.test(n),om=e=>new Promise(t=>setTimeout(t,e)),am=new Set([502,503,504]),cm=e=>am.has(e),lm=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},um=2,yp=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),Ut=!1;function pm(e){Ut=e}function dm(){return Ut}async function Se(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=t,l=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!l.signal.aborted&&(d=!0,f=!0,l.abort())},s);let m=await re(),h=o.body instanceof FormData,x={};h||(x["Content-Type"]="application/json"),Object.assign(x,o.headers);let P=jt(I().clientSource),C=Object.keys(x).some(S=>S.toLowerCase()==="x-kortix-client");if(P&&!C&&(x["X-Kortix-Client"]=P),Ut&&(x["x-kortix-admin-bypass"]="1"),Object.assign(x,Ot(e)),m)x.Authorization=`Bearer ${m}`;else return{error:new _e,success:!1};let E=lm(o.method),j=E?um+1:1,u;for(let S=0;S<j;S++){S>0&&await om(250*2**(S-1));let w=S===0?l:new AbortController;S>0&&(p=setTimeout(()=>{f=!0,w.abort()},s));try{u=await(I().fetch??fetch)(e,{...o,headers:x,signal:w.signal,credentials:o.credentials??"omit"})}catch($){if(p&&(clearTimeout(p),p=null),yp($)||S===j-1)throw $;continue}if(p&&(clearTimeout(p),p=null),!(E&&cm(u.status)&&S<j-1))break;try{await u.arrayBuffer()}catch{}}if(!u.ok){let S=`HTTP ${u.status}: ${u.statusText}`,w=null;try{w=await u.json(),typeof w.message=="string"?S=w.message:w.error&&typeof w.error=="string"?S=w.error:typeof w.detail=="string"?S=w.detail:typeof w.detail?.message=="string"?S=w.detail.message:typeof w.reason=="string"&&(S=w.reason)}catch{}let R=im(u.status,w,S),$=new A(S,{status:u.status,response:u,details:w||void 0,data:w,detail:w?.detail,code:R?_p:w?.code||w?.error_code||w?.detail?.error_code||u.status.toString()});if(u.status===402&&($=ke($)),u.status===403&&w?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}u.status===431&&($=new Pe(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 D=u.status===501&&w?.code===hp,q=u.status===409&&w?.code===bp,X=u.status===409&&w?.code===xp;return n&&!D&&!q&&!X&&!R&&I().onError?.($,r),{error:$,success:!1}}let b,c=u.headers.get("content-type");return c?.includes("application/json")?b=await u.json():c?.includes("text/")?b=await u.text():b=await u.blob(),{data:b,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let h=yp(m);h&&(d=!0);let x;if(h){if(!f)return{error:new A("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let P=e.replace(se(),"")||e;x=new A(`Request timed out after ${Math.round(s/1e3)}s: ${P}`,{code:"TIMEOUT",url:e,endpoint:P,timeout:s})}else m instanceof Error?(x=new A(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&I().onError?.(x,r)):(x=new A(String(m)),n&&I().onError?.(x,r));return{error:x,success:!1}}}var gm={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new A(r.message||"Database error",{code:r.code,details:r});return I().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new A(n.message,{name:n.name||"ApiError",stack:n.stack}):new A(String(n));return I().onError?.(r,t),{error:r,success:!1}}}};async function mm(e,t,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,o=await re(),l={Accept:"text/event-stream","Content-Type":"application/json"},p=jt(I().clientSource);p&&(l["X-Kortix-Client"]=p),Ut&&(l["x-kortix-admin-bypass"]="1"),Object.assign(l,Ot(e)),o&&(l.Authorization=`Bearer ${o}`);let d=new AbortController,f=setTimeout(()=>d.abort(),r);try{return await s(`${se()}${e}`,{method:"POST",headers:l,body:JSON.stringify(t),signal:d.signal,credentials:"omit"})}finally{clearTimeout(f)}}var i={get:(e,t)=>Se(`${se()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>Se(`${se()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>Se(`${se()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>Se(`${se()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>Se(`${se()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],Se(`${se()}${e}`,{...s,method:"POST",body:t,headers:o})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],Se(`${se()}${e}`,{...s,method:"PUT",body:t,headers:o})},postStream:mm};var Ft=new Map,xs=new Map;function _s(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Pp(e){return Ft.get(_s(e))??null}function kp(e){return Ft.has(_s(e))}async function Lt(e){let t=_s(e),n=Ft.get(t);if(n!==void 0)return n;let r=xs.get(t);if(r)return r;let s=(async()=>{try{let o=await i.get("/p/config",{showErrors:!1,errorContext:{operation:"load preview config",silent:!0}});if(!o.success)return null;let l=typeof o.data?.preview_url_template=="string"?o.data.preview_url_template:null;return Ft.set(t,l),l}catch{return null}finally{xs.delete(t)}})();return xs.set(t,s),s}function wp(e){let{apiBaseUrl:t}=e;return kp(t)||Lt(t).catch(()=>{}),{sandboxId:e.sandboxId,backendPort:e.backendPort,apiBaseUrl:t,previewUrlTemplate:Pp(t)}}function ie(){let e=cp();return e||(I().billingEnabled??!1?"":lp())}async function Ps(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function ks(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function ws(e){let t=ks(e),n=await M(`${t}/env`);if(!n.ok)throw new Error(await Ps(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Ss(e,t,n){let r=ks(e),s=await M(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await Ps(s,"Failed to save secret"))}async function vs(e,t){let n=ks(e),r=await M(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Ps(r,"Failed to delete secret"))}var Sp={list:ws,set:Ss,delete:vs};async function vp(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await M(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}function oe(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 Gt(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function nt(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return oe(e)}async function As(e){let t=nt(e),n=await M(`${t}/kortix/pty`);if(!n.ok)throw new Error(await Gt(n,"Failed to list terminals"));return n.json()}async function Cs(e,t){let n=nt(e),r=await M(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await Gt(r,"Failed to create terminal"));return r.json()}async function Rs(e,t,n){let r=nt(e),s=await M(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await Gt(s,"Failed to update terminal"));return s.json()}async function Ts(e,t){let n=nt(e),r=await M(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Gt(r,"Failed to remove terminal"))}async function Is(e,t,n){let r=nt(t),o=`${(()=>{try{let f=new URL(r);return f.protocol==="https:"?f.protocol="wss:":f.protocol==="http:"&&(f.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&f.protocol==="ws:"&&(f.protocol="wss:"),oe(f.toString())}catch{return r.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,l=new URLSearchParams,p=await je();p&&l.set("token",p),n?.wake&&l.set("wake","1");let d=l.toString();return d?`${o}${o.includes("?")?"&":"?"}${d}`:o}var Ap={list:As,create:Cs,update:Rs,remove:Ts,webSocketUrl:Is};async function v(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await M(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),l=await o.text(),p={};try{p=l?JSON.parse(l):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||l.slice(0,200)||`Request failed with ${o.status}`);return p}async function fm(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 v(e,`/kortix/tasks${r}`)}async function ym(e,t){return v(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function hm(e,t){return v(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function bm(e,t){return v(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function xm(e,t){return v(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function _m(e,t,n){return v(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Pm(e,t){return v(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function km(e,t){return v(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function wm(e,t){return v(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Sm(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return v(e,`/kortix/tickets${n}`)}async function vm(e,t){return v(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Am(e,t){return v(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Cm(e,t){return v(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Rm(e,t,n){return v(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Tm(e,t,n){return v(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Im(e,t,n){return v(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Em(e,t,n){return v(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function jm(e,t,n){return v(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function $m(e,t){return v(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Mm(e,t){return v(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function qm(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Dm(e,t){return v(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Om(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Um(e,t){return v(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Fm(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Lm(e,t){return v(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Gm(e,t){return v(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Bm(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Nm(e,t,n,r){return v(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Km(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Hm(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Wm(e,t,n=200){return v(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function zm(e){return v(e,"/kortix/projects")}async function Vm(e,t){return v(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Jm(e,t){return v(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Xm(e,t){return v(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Qm(e,t){return v(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Ym(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Zm(e,t,n="all"){return v(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function ef(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function tf(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function nf(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function rf(e,t,n,r){return v(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function sf(e,t,n,r){return v(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function of(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function af(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function cf(e,t){return v(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function lf(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function uf(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function pf(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function df(e,t,n){return v(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var gf=1e4,mf={retryOnAuthError:!1};function Me(e,t,n){return v(e,t,{signal:AbortSignal.timeout(gf),...n},mf)}async function ff(e,t=!1){return(await Me(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function yf(e){return(await Me(e,"/kortix/services/templates")).templates??[]}async function hf(e,t){return(await Me(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function bf(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return Me(e,s,{method:r?"DELETE":"POST"})}async function xf(e,t){return Me(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function _f(e,t){return Me(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var Bt=new Map,qe=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function me(){let e=ie();if(!e)throw new qe;return ae(e)}function ae(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=Bt.get(e);if(t)return t;if(!Ct())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=as({baseUrl:e,fetch:M});return Bt.set(e,n),n}function Pf(e){Bt.delete(e)}function kf(){Bt.clear()}var Nt=new Map;function wf(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Nt.get(e);if(t)return t;let n=as({baseUrl:e,fetch});return Nt.set(e,n),n}function Sf(e){Nt.delete(e)}function vf(){Nt.clear()}async function Af(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 Cf(e){let t=ie();if(!t)throw new A("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=e==="full"?"/kortix/refresh":"/global/dispose",r=await M(`${t}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",o=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new A(`System reload failed (${r.status}): ${await Af(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new A(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let l;try{l=await r.json()}catch(d){throw new A(`System reload returned malformed JSON from ${n}: ${d instanceof Error?d.message:String(d)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=l===!0||typeof l=="object"&&l!==null&&l.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 Rp(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 A(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function De(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}function V(e){let t=(e??ie()).trim();if(!t)throw new qe;return t}async function Kt(e,t){let n=await M(`${V(t)}${e}`);if(!n.ok)throw new A(await De(n),{status:n.status,response:n});return n.json()}var Ht=["/workspace","/tmp","/home","/opt"],Rf=Ht.filter(e=>e!=="/workspace");function js(e){return Ht.some(t=>e===t||e.startsWith(`${t}/`))}function st(e){return js(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function Ae(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(Rf.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var $s=Ae;async function it(e,t){let n=V(t),r=Ae(e)||".";return(await Kt(`/file?path=${encodeURIComponent(r)}`,n)).map(o=>({...o,path:o.absolute||`/workspace/${o.path}`}))}async function Oe(e,t){let n=V(t),r=Ae(e),s=await M(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new A(await De(s),{status:s.status,response:s});return s.json()}async function Tf(e,t,n){let r=V(n),s=Ae(e),o=await M(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new A(await De(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new A("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let l=await o.blob();return t&&(!l.type||l.type==="application/octet-stream")?new Blob([l],{type:t}):l}async function Ue(e,t){let n=V(t);try{return await Tf(e,void 0,n)}catch{}let r=await Oe(e,n);if(r.encoding==="base64"&&r.content){let s=Uint8Array.from(atob(r.content),o=>o.charCodeAt(0));return new Blob([s],{type:r.mimeType||"application/octet-stream"})}return new Blob([r.content??""],{type:r.mimeType||"text/plain;charset=utf-8"})}async function ot(e){return Kt("/file/status",V(e))}async function at(e,t,n){let r=V(n),s=new URLSearchParams({query:e});return t?.type&&s.set("type",t.type),t?.limit&&s.set("limit",String(t.limit)),Kt(`/find/file?${s.toString()}`,r)}async function ct(e,t){let n=V(t);return(await Kt(`/find?pattern=${encodeURIComponent(e)}`,n)).map(s=>({path:typeof s.path=="string"?s.path:s.path?.text??"",lines:typeof s.lines=="string"?s.lines:s.lines?.text??"",line_number:s.line_number,absolute_offset:s.absolute_offset,submatches:(s.submatches??[]).map(o=>({start:o.start,end:o.end}))}))}var rt=[400,1200],If=e=>e===408||e===429||e===502||e===503||e===504,Cp=e=>new Promise(t=>setTimeout(t,e));function Ef(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Es=3e4,jf=15*6e4,$f=256;function Wt(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Es;let t=Es+e/$f;return Math.min(jf,Math.max(Es,Math.round(t)))}async function Mf(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 Tp(e,t){let n;for(let s=0;s<=rt.length;s++){let o;try{o=await t(e())}catch(p){if(n=p,Ef(p)||s===rt.length)break;await Cp(rt[s]);continue}if(o.ok)return o.json();let l=await Mf(o);if(n=new A(`Upload failed (${o.status}): ${l}`,{status:o.status,response:o}),!If(o.status)||s===rt.length)throw n;await Cp(rt[s])}if(n instanceof A)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new A(`Upload failed: ${r}`)}async function Fe(e,t,n,r){let s=V(r),o=Wt(e.size),l=n||(e instanceof File?e.name:"")||"";return Tp(()=>{let p=new FormData,d=(t??"").trim();return d&&p.append("path",d.startsWith("/")?d:`/${d}`),l&&p.append("filename",l),l?p.append("file",e,l):p.append("file",e),p},p=>M(`${s}/file/upload`,{method:"POST",body:p},{timeoutMs:o}))}function qf(e,t,n){let r=V(n),s=Wt(t.size);return Tp(()=>{let o=new FormData;return o.append(e,t,e.split("/").pop()||"file"),o},o=>M(`${r}/file/upload`,{method:"POST",body:o},{timeoutMs:s}))}async function lt(e,t){let n=V(t),r=e.trim(),o=(r.startsWith("/")?r:`/${r}`).split("/"),l=o.pop()||"untitled",p=o.join("/")||"/workspace",d=await Le(`${p}/${l}`,new Blob([],{type:"application/octet-stream"}),n);return[{path:d.path,size:d.bytes}]}async function ut(e,t,n){let r=V(n);return qf(t,await Ue(e,r),r)}function Df(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Of(e){let t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function Uf(e){return e.slice(e.lastIndexOf("/")+1)}function Ff(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();if(e?.getRandomValues){let t=new Uint8Array(8);return e.getRandomValues(t),[...t].map(n=>n.toString(16).padStart(2,"0")).join("")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}async function Le(e,t,n){let r=V(n),s=st(Df(e.trim())),o=Uf(s);if(!o)throw new A(`writeFile needs a file path, got "${e}"`,{code:"INVALID_PATH"});let l=Of(s);await Ge(l,r).catch(()=>{});let p=Ff(),d=await Fe(t,l,`.${o}.kortix-write-${p}`,r),f=d[0]?.path;if(!f)throw new A(`Upload returned no file for ${s}`,{code:"UPLOAD_NO_RESULT"});let m=st(f),h=`${s}.kortix-write-backup-${p}`,x=!1;try{await fe(s,h,r),x=!0}catch{}try{await fe(m,s,r)}catch(C){throw x&&await fe(h,s,r).catch(()=>{}),await ve(m,r).catch(()=>{}),C}x&&await ve(h,r).catch(()=>{});let P=d[0]?.size;return{path:s,bytes:typeof P=="number"?P:t.size}}async function ve(e,t){let n=await M(`${V(t)}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new A(`Delete failed (${n.status}): ${await De(n)}`,{status:n.status,response:n});return n.json()}async function Ge(e,t){let n=await M(`${V(t)}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new A(`Mkdir failed (${n.status}): ${await De(n)}`,{status:n.status,response:n});return n.json()}async function fe(e,t,n){let r=await M(`${V(n)}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new A(`Rename failed (${r.status}): ${await De(r)}`,{status:r.status,response:r});return r.json()}async function Ms(){return Rp(await me().project.current())}async function zt(){return Rp(await me().global.health())}async function qs(){try{return(await zt()).healthy===!0}catch{return!1}}var Ip={list:it,read:Oe,readBlob:Ue,status:ot,findFiles:at,findText:ct,upload:Fe,write:Le,create:lt,copy:ut,remove:ve,mkdir:Ge,rename:fe,currentProject:Ms,health:zt,isReachable:qs,toDaemonPath:Ae,toSandboxAbsolutePath:st,toWorkspaceRelative:$s};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Ds(e){return e.replace(/\/v1\/?$/,"")}async function Be(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Ds(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 Os(){return a(await i.get("/accounts"))}async function Us(e){return a(await i.post("/accounts",e))}async function Fs(e){return a(await i.get(`/accounts/${e}`))}async function Ls(e,t){return a(await i.patch(`/accounts/${e}`,{name:t}))}async function Gs(e){return a(await i.get(`/accounts/${e}/branding`))}async function Bs(e,t){return a(await i.put(`/accounts/${e}/branding`,t))}async function Ns(e,t,n,r){let s=new FormData;return s.append("file",n,r??(n instanceof File?n.name:t)),a(await i.upload(`/accounts/${e}/branding/assets/${t}`,s))}async function Ks(e,t){return a(await i.delete(`/accounts/${e}/branding/assets/${t}`))}async function Hs(e){return a(await i.delete(`/accounts/${e}/branding`))}async function Ws(e){return a(await i.get(`/accounts/${e}/members`))}async function zs(e,t){return a(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Vs(e){return a(await i.get(`/accounts/${e}/invites`))}async function Js(e,t){return a(await i.delete(`/accounts/${e}/invites/${t}`))}async function Xs(e,t){return a(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function Qs(e){return a(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function Ys(e){return a(await i.post(`/account-invites/${e}/accept`,{}))}async function Zs(e){return a(await i.post(`/account-invites/${e}/decline`,{}))}async function ei(e,t){return a(await i.delete(`/accounts/${e}/members/${t}`))}async function ti(e,t,n){return a(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function ni(e){return a(await i.post(`/accounts/${e}/leave`,{}))}async function Gf(e){return Be(e,"/v1/accounts")}async function ri(){let e=await i.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}var Bf=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","llm_gateway","review_center","meta_agent","apps","monitors","warm_sessions","secrets_egress","pi_worker"];async function Ce(){return a(await i.get("/projects"))}async function si(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/projects${t}`))}async function Vt(e,t){return a(await i.get(`/projects/${e}`,t))}async function ii(e,t,n="write"){return a(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function oi(e,t){return a(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function ai(e){return a(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Nf(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function Jt(e,t){let n=a(await i.get(`/projects/${e}/detail`,{showErrors:!1,...t}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Xt(e,t){return a(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function Qt(e,t){return a(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Kf(e,t){return a(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function ci(e){return a(await i.post("/projects",e))}async function li(e){return a(await i.post("/projects/create-repo",e))}async function ui(e,t={}){return a(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}var Ep=200;function Hf(e){let t=e.split(`
5
+ `);q=y.pop()??"";for(let I of y){let V=I.split(`
6
+ `),U=[],F;for(let N of V)if(N.startsWith("data:"))U.push(N.replace(/^data:\s*/,""));else if(N.startsWith("event:"))F=N.replace(/^event:\s*/,"");else if(N.startsWith("id:"))h=N.replace(/^id:\s*/,"");else if(N.startsWith("retry:")){let Y=Number.parseInt(N.replace(/^retry:\s*/,""),10);Number.isNaN(Y)||(R=Y)}let L,X=!1;if(U.length){let N=U.join(`
7
+ `);try{L=JSON.parse(N),X=!0}catch{L=N}}X&&(s&&await s(L),r&&(L=await r(L))),n?.({data:L,event:F,id:h,retry:R}),U.length&&(yield L)}}}finally{l.removeEventListener("abort",D),$.releaseLock()}break}catch(c){if(t?.(c),u!==void 0&&E>=u)break;let v=Math.min(R*2**(E-1),p??3e4);await x(v)}}}()}};var qg=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Og=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Ug=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Tt=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(d=>encodeURIComponent(d))).join(Og(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=qg(r),u=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):Ee({allowReserved:e,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+u:u},Ee=({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)}`},It=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let d=[];Object.entries(s).forEach(([m,h])=>{d=[...d,m,e?h:encodeURIComponent(h)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let u=Ug(r),p=Object.entries(s).map(([d,f])=>Ee({allowReserved:e,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var Fg=/\{[^{}]+\}/g,Lg=({path:e,url:t})=>{let n=t,r=t.match(Fg);if(r)for(let s of r){let o=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(o=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let d=e[u];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,Tt({explode:o,name:u,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,It({explode:o,name:u,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${Ee({name:u,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},ep=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,u=(e??"")+o;t&&(u=Lg({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function Vn(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 tp=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 Jn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var np=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let u=r[o];if(u==null)continue;let p=e[o]||t;if(Array.isArray(u)){let d=Tt({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:u,...p.array});d&&s.push(d)}else if(typeof u=="object"){let d=It({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:u,...p.object});d&&s.push(d)}else{let d=Ee({allowReserved:p.allowReserved,name:o,value:u});d&&s.push(d)}}return s.join("&")},rp=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"}},Gg=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,sp=async({security:e,...t})=>{for(let n of e){if(Gg(t,n.name))continue;let r=await tp(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}}},Xn=e=>ep({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:np(e.querySerializer),url:e.url}),Qn=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=Et(e.headers,t.headers),n},Bg=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},Et=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?Bg(n):Object.entries(n);for(let[s,o]of r)if(o===null)t.delete(s);else if(Array.isArray(o))for(let u of o)t.append(s,u);else o!==void 0&&t.set(s,typeof o=="object"?JSON.stringify(o):o)}return t},Ye=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}},ip=()=>({error:new Ye,request:new Ye,response:new Ye}),Ng=np({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Kg={"Content-Type":"application/json"},Ze=(e={})=>({...Jn,headers:Kg,parseAs:"auto",querySerializer:Ng,...e});var et=(e={})=>{let t=Qn(Ze(),e),n=()=>({...t}),r=f=>(t=Qn(t,f),n()),s=ip(),o=async f=>{let m={...t,...f,fetch:f.fetch??t.fetch??globalThis.fetch,headers:Et(t.headers,f.headers),serializedBody:void 0};m.security&&await sp({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let h=Xn(m);return{opts:m,url:h}},u=async f=>{let{opts:m,url:h}=await o(f),x={redirect:"follow",...m,body:Vn(m)},_=new Request(h,x);for(let S of s.request.fns)S&&(_=await S(_,m));let k=m.fetch,R;try{R=await k(_)}catch(S){let T=S;for(let $ of s.error.fns)$&&(T=await $(S,void 0,_,m));if(T=T||{},m.throwOnError)throw T;return m.responseStyle==="data"?void 0:{error:T,request:_,response:void 0}}for(let S of s.response.fns)S&&(R=await S(R,_,m));let E={request:_,response:R};if(R.ok){let S=(m.parseAs==="auto"?rp(R.headers.get("Content-Type")):m.parseAs)??"json";if(R.status===204||R.headers.get("Content-Length")==="0"){let $;switch(S){case"arrayBuffer":case"blob":case"text":$=await R[S]();break;case"formData":$=new FormData;break;case"stream":$=R.body;break;default:$={};break}return m.responseStyle==="data"?$:{data:$,...E}}let T;switch(S){case"arrayBuffer":case"blob":case"formData":case"text":T=await R[S]();break;case"json":{let $=await R.text();T=$?JSON.parse($):{};break}case"stream":return m.responseStyle==="data"?R.body:{data:R.body,...E}}return S==="json"&&(m.responseValidator&&await m.responseValidator(T),m.responseTransformer&&(T=await m.responseTransformer(T))),m.responseStyle==="data"?T:{data:T,...E}}let l=await R.text(),b;try{b=JSON.parse(l)}catch{}let c=b??l,v=c;for(let S of s.error.fns)S&&(v=await S(c,R,_,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...E}},p=f=>m=>u({...m,method:f}),d=f=>async m=>{let{opts:h,url:x}=await o(m);return Zu({...h,body:h.body,headers:h.headers,method:f,onRequest:async(_,k)=>{let R=new Request(_,k);for(let E of s.request.fns)E&&(R=await E(R,h));return R},serializedBody:Vn(h),url:x})};return{buildUrl:Xn,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var Hg={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Wg=Object.entries(Hg),op=(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&&op(n.args,t);return t},zg=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},g=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=op(t),s;for(let[o,u]of e.entries())if(t[o]&&(s=t[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=u)}else n.body=u;else for(let[p,d]of Object.entries(u??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=Wg.find(([h])=>p.startsWith(h));if(m){let[h,x]=m;n[x][p.slice(h.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[h,x]of Object.entries(s.allowExtra))if(x){n[h][p]=d;break}}}}return zg(n),n};var ap=et(Ze({baseUrl:"http://localhost:4096"}));var P=class{client;constructor(t){this.client=t?.client??ap}},Yn=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)}},Zn=class extends P{remove(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},er=class extends P{log(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},tr=class extends P{moveSession(t,n){let r=g([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},nr=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},rr=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},sr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},ir=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},or=class extends P{generateName(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ar=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},cr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new ar({client:this.client})}},lr=class extends P{_controlPlane;get controlPlane(){return this._controlPlane??=new tr({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new nr({client:this.client})}_console;get console(){return this._console??=new rr({client:this.client})}_session;get session(){return this._session??=new sr({client:this.client})}_resource;get resource(){return this._resource??=new ir({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new or({client:this.client})}_workspace;get workspace(){return this._workspace??=new cr({client:this.client})}},ur=class extends P{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=g([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},pr=class extends P{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=g([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new ur({client:this.client})}},dr=class extends P{subscribe(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},gr=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},mr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},fr=class extends P{remove(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},yr=class extends P{text(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},hr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},br=class extends P{dispose(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},xr=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},_r=class extends P{raw(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Pr=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new _r({client:this.client})}},kr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},wr=class extends P{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Sr=class extends P{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},vr=class extends P{remove(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Ar=class extends P{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new vr({client:this.client})}},Cr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},Rr=class extends P{shells(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},Tr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},Ir=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Er=class extends P{authorize(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},jr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new Er({client:this.client})}},$r=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},Mr=class extends P{delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Dr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},qr=class extends P{start(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=g([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new Dr({client:this.client})}},Or=class extends P{next(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Ur=class extends P{appendPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new Or({client:this.client})}},Fr=class extends P{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Lr=class extends P{get(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},Gr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},Br=class extends P{stage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},Nr=class extends P{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"action"},{in:"body",key:"resources"},{in:"body",key:"save"},{in:"body",key:"metadata"},{in:"body",key:"source"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission/{requestID}",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Kr=class extends P{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},Hr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}active(t){return(t?.client??this.client).get({url:"/api/session/active",...t})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}history(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"after"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/history",...n,...r})}events(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"after"}]}]);return(n?.client??this.client).sse.get({url:"/api/session/{sessionID}/event",...n,...r})}interrupt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/interrupt",...n,...r})}message(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message/{messageID}",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new Br({client:this.client})}_permission;get permission(){return this._permission??=new Nr({client:this.client})}_question;get question(){return this._question??=new Kr({client:this.client})}},Wr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},zr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Vr=class extends P{key(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Jr=class extends P{cancel(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Xr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new Vr({client:this.client})}_attempt;get attempt(){return this._attempt??=new Jr({client:this.client})}},Qr=class extends P{remove(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Yr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Zr=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},es=class extends P{_request;get request(){return this._request??=new Yr({client:this.client})}_saved;get saved(){return this._saved??=new Zr({client:this.client})}},ts=class extends P{read(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},ns=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},rs=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},ss=class extends P{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},is=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},os=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},as=class extends P{_request;get request(){return this._request??=new os({client:this.client})}},cs=class extends P{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},ls=class extends P{remove(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},us=class extends P{_health;get health(){return this._health??=new Fr({client:this.client})}_location;get location(){return this._location??=new Lr({client:this.client})}_agent;get agent(){return this._agent??=new Gr({client:this.client})}_session;get session(){return this._session??=new Hr({client:this.client})}_model;get model(){return this._model??=new Wr({client:this.client})}_provider;get provider(){return this._provider??=new zr({client:this.client})}_integration;get integration(){return this._integration??=new Xr({client:this.client})}_credential;get credential(){return this._credential??=new Qr({client:this.client})}_permission;get permission(){return this._permission??=new es({client:this.client})}_fs;get fs(){return this._fs??=new ts({client:this.client})}_command;get command(){return this._command??=new ns({client:this.client})}_skill;get skill(){return this._skill??=new rs({client:this.client})}_event;get event(){return this._event??=new ss({client:this.client})}_pty;get pty(){return this._pty??=new is({client:this.client})}_question;get question(){return this._question??=new as({client:this.client})}_reference;get reference(){return this._reference??=new cs({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new ls({client:this.client})}},jt=class e extends P{static __registry=new Yn;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Zn({client:this.client})}_app;get app(){return this._app??=new er({client:this.client})}_experimental;get experimental(){return this._experimental??=new lr({client:this.client})}_global;get global(){return this._global??=new pr({client:this.client})}_event;get event(){return this._event??=new dr({client:this.client})}_config;get config(){return this._config??=new gr({client:this.client})}_tool;get tool(){return this._tool??=new mr({client:this.client})}_worktree;get worktree(){return this._worktree??=new fr({client:this.client})}_find;get find(){return this._find??=new yr({client:this.client})}_file;get file(){return this._file??=new hr({client:this.client})}_instance;get instance(){return this._instance??=new br({client:this.client})}_path;get path(){return this._path??=new xr({client:this.client})}_vcs;get vcs(){return this._vcs??=new Pr({client:this.client})}_command;get command(){return this._command??=new kr({client:this.client})}_lsp;get lsp(){return this._lsp??=new wr({client:this.client})}_formatter;get formatter(){return this._formatter??=new Sr({client:this.client})}_mcp;get mcp(){return this._mcp??=new Ar({client:this.client})}_project;get project(){return this._project??=new Cr({client:this.client})}_pty;get pty(){return this._pty??=new Rr({client:this.client})}_question;get question(){return this._question??=new Tr({client:this.client})}_permission;get permission(){return this._permission??=new Ir({client:this.client})}_provider;get provider(){return this._provider??=new jr({client:this.client})}_session;get session(){return this._session??=new $r({client:this.client})}_part;get part(){return this._part??=new Mr({client:this.client})}_sync;get sync(){return this._sync??=new qr({client:this.client})}_tui;get tui(){return this._tui??=new Ur({client:this.client})}_v2;get v2(){return this._v2??=new us({client:this.client})}};function lp(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let o=e,u=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||cp(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 ${cp(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function cp(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,o=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function Vg(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function Jg(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[o,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=Vg(e.headers.get(o),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(d)||n.searchParams.set(d,p);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function ps(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=et(e);return t.interceptors.request.use(n=>Jg(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(lp),new jt({client:t})}var Xg=new Set(["api","cli","mobile","web"]);function $t(e){let t=e?.trim().toLowerCase();return t&&Xg.has(t)?t:null}function Qg(e){return new Promise(t=>setTimeout(t,e))}async function up(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,o=t?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await Qg(s)),u=await e(),u)return u;return u}var Yg=12e4;function Zg(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function ds(e,t,n=Yg){let r=e instanceof Request?e.signal:t?.signal;if(Zg(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function gs(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 o=$t(r);return o&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",o),s}function pp(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function Mt(){return j().getToken()}async function re(e){return up(()=>j().getToken(),e,tt)}function tt(){}function em(e){}function tm(e){}async function je(){return Mt()}async function ms(e){return re(e)}function dp(e,t,n,r){let s=j().fetch??fetch;if(e instanceof Request){let o=new Request(e,{headers:n,...r?{signal:r}:{}});return s(o)}return s(e,{...t,headers:n,...r?{signal:r}:{}})}async function M(e,t,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},o=await ms();if(!o)return pp();let u=j().clientSource,p=gs(e,t,o,u),d=s===void 0?ds(e,t):ds(e,t,s),f=await dp(e,t,p,d);if(f.status===401&&r&&o){tt();let m=await ms({attempts:2,baseDelayMs:200});if(m&&m!==o){let h=gs(e,t,m,u);return dp(e,t,h,d)}}return f}var $e={url:null,sandboxId:null,dbSandboxId:null,version:0},nm=new Set;function gp(e,t=null,n=null){if(!($e.url===e&&$e.sandboxId===t&&$e.dbSandboxId===n)){$e={url:e,sandboxId:t,dbSandboxId:n,version:$e.version+1};for(let r of nm)r()}}function mp(){return $e.url}function rm(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function nt(){return rm(j().backendUrl||"http://localhost:8008/v1")}function fp(){let e=j().sandboxId;return e?`${nt()}/p/${e}/8000`:""}function sm(e){return`${nt()}/p/${e}/8000`}function Dt(e){return sm(e)}var A=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let 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)}},Pe=class extends A{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},ge=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)}},ke=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",o="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||o},Object.setPrototypeOf(this,e.prototype)}},qt="feature_disabled";function yp(e){if(!(e instanceof A)||e.status!==403||e.code!==qt)return null;let t=e.details??e.data;return t&&typeof t=="object"?t:{}}function fs(e){let t=yp(e);return t?(typeof t.feature=="string"&&!e.feature&&(e.feature=t.feature),!0):!1}function ys(e){let t=yp(e);if(!t)return null;let n=e.feature;return typeof n=="string"?n:typeof t.feature=="string"?t.feature:null}function we(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 ge(t,{message:r?.message||e.message||"Billing error",...r})}function hs(e){return e instanceof ge}function bs(e){if(!(e instanceof ge))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."}}var hp="X-Kortix-Impersonate",_s="kortix.impersonation",Se=null,Ot=!1,xs=new Set;function Ps(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function bp(e,t=Date.now()){if(!e||!e.grantId||!e.accountId)return!1;let n=Date.parse(e.expiresAt);return Number.isFinite(n)&&n>t}function im(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t?.grantId!="string"||typeof t?.accountId!="string"?null:{grantId:t.grantId,accountId:t.accountId,accountName:typeof t.accountName=="string"?t.accountName:null,expiresAt:typeof t.expiresAt=="string"?t.expiresAt:""}}catch{return null}}function xp(){for(let e of xs)try{e()}catch{}}function _p(){return Ot||(Ot=!0,Se=im(Ps()?.getItem(_s)??null)),Se&&!bp(Se)?(ks(),null):Se}function om(e){if(Ot=!0,!e){ks();return}Se=e;try{Ps()?.setItem(_s,JSON.stringify(e))}catch{}xp()}function ks(){Ot=!0;let e=Se!==null;Se=null;try{Ps()?.removeItem(_s)}catch{}e&&xp()}function am(e){return xs.add(e),()=>{xs.delete(e)}}var cm=/(^|\/)admin\/(api|analytics)(\/|$)/;function Pp(e){let t=e;if(/^https?:\/\//.test(e))try{t=new URL(e).pathname}catch{t=e}return!cm.test(t)}function Ut(e){if(e!==void 0&&!Pp(e))return{};let t=_p();return t?{[hp]:t.grantId}:{}}var se=()=>j().backendUrl||"",wp="feature_not_supported",Sp="model_not_servable",vp="provision_in_flight",Ap="request_deadline",lm=/^Request exceeded the \d+s server processing deadline$/,um=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===Ap||lm.test(n),pm=e=>new Promise(t=>setTimeout(t,e)),dm=new Set([502,503,504]),gm=e=>dm.has(e),mm=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},fm=2,kp=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),Ft=!1;function ym(e){Ft=e}function hm(){return Ft}async function ve(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=t,u=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!u.signal.aborted&&(d=!0,f=!0,u.abort())},s);let m=await re(),h=o.body instanceof FormData,x={};h||(x["Content-Type"]="application/json"),Object.assign(x,o.headers);let _=$t(j().clientSource),k=Object.keys(x).some(v=>v.toLowerCase()==="x-kortix-client");if(_&&!k&&(x["X-Kortix-Client"]=_),Ft&&(x["x-kortix-admin-bypass"]="1"),Object.assign(x,Ut(e)),m)x.Authorization=`Bearer ${m}`;else return{error:new Pe,success:!1};let R=mm(o.method),E=R?fm+1:1,l;for(let v=0;v<E;v++){v>0&&await pm(250*2**(v-1));let S=v===0?u:new AbortController;v>0&&(p=setTimeout(()=>{f=!0,S.abort()},s));try{l=await(j().fetch??fetch)(e,{...o,headers:x,signal:S.signal,credentials:o.credentials??"omit"})}catch($){if(p&&(clearTimeout(p),p=null),kp($)||v===E-1)throw $;continue}if(p&&(clearTimeout(p),p=null),!(R&&gm(l.status)&&v<E-1))break;try{await l.arrayBuffer()}catch{}}if(!l.ok){let v=`HTTP ${l.status}: ${l.statusText}`,S=null;try{S=await l.json(),typeof S.message=="string"?v=S.message:S.error&&typeof S.error=="string"?v=S.error:typeof S.detail=="string"?v=S.detail:typeof S.detail?.message=="string"?v=S.detail.message:typeof S.reason=="string"&&(v=S.reason)}catch{}let T=um(l.status,S,v),$=new A(v,{status:l.status,response:l,details:S||void 0,data:S,detail:S?.detail,code:T?Ap:S?.code||S?.error_code||S?.detail?.error_code||l.status.toString()});if(l.status===402&&($=we($)),l.status===403&&S?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}l.status===431&&($=new ke(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 q=l.status===501&&S?.code===wp,D=l.status===409&&S?.code===Sp,Q=l.status===409&&S?.code===vp;return n&&!q&&!D&&!Q&&!T&&j().onError?.($,r),{error:$,success:!1}}let b,c=l.headers.get("content-type");return c?.includes("application/json")?b=await l.json():c?.includes("text/")?b=await l.text():b=await l.blob(),{data:b,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let h=kp(m);h&&(d=!0);let x;if(h){if(!f)return{error:new A("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let _=e.replace(se(),"")||e;x=new A(`Request timed out after ${Math.round(s/1e3)}s: ${_}`,{code:"TIMEOUT",url:e,endpoint:_,timeout:s})}else m instanceof Error?(x=new A(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&j().onError?.(x,r)):(x=new A(String(m)),n&&j().onError?.(x,r));return{error:x,success:!1}}}var bm={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new A(r.message||"Database error",{code:r.code,details:r});return j().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new A(n.message,{name:n.name||"ApiError",stack:n.stack}):new A(String(n));return j().onError?.(r,t),{error:r,success:!1}}}};async function xm(e,t,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,o=await re(),u={Accept:"text/event-stream","Content-Type":"application/json"},p=$t(j().clientSource);p&&(u["X-Kortix-Client"]=p),Ft&&(u["x-kortix-admin-bypass"]="1"),Object.assign(u,Ut(e)),o&&(u.Authorization=`Bearer ${o}`);let d=new AbortController,f=setTimeout(()=>d.abort(),r);try{return await s(`${se()}${e}`,{method:"POST",headers:u,body:JSON.stringify(t),signal:d.signal,credentials:"omit"})}finally{clearTimeout(f)}}var i={get:(e,t)=>ve(`${se()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>ve(`${se()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>ve(`${se()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>ve(`${se()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ve(`${se()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],ve(`${se()}${e}`,{...s,method:"POST",body:t,headers:o})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],ve(`${se()}${e}`,{...s,method:"PUT",body:t,headers:o})},postStream:xm};var Lt=new Map,ws=new Map;function Ss(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Cp(e){return Lt.get(Ss(e))??null}function Rp(e){return Lt.has(Ss(e))}async function Gt(e){let t=Ss(e),n=Lt.get(t);if(n!==void 0)return n;let r=ws.get(t);if(r)return r;let s=(async()=>{try{let o=await i.get("/p/config",{showErrors:!1,errorContext:{operation:"load preview config",silent:!0}});if(!o.success)return null;let u=typeof o.data?.preview_url_template=="string"?o.data.preview_url_template:null;return Lt.set(t,u),u}catch{return null}finally{ws.delete(t)}})();return ws.set(t,s),s}function Tp(e){let{apiBaseUrl:t}=e;return Rp(t)||Gt(t).catch(()=>{}),{sandboxId:e.sandboxId,backendPort:e.backendPort,apiBaseUrl:t,previewUrlTemplate:Cp(t)}}function ie(){let e=mp();return e||(j().billingEnabled??!1?"":fp())}async function vs(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function As(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Cs(e){let t=As(e),n=await M(`${t}/env`);if(!n.ok)throw new Error(await vs(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Rs(e,t,n){let r=As(e),s=await M(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await vs(s,"Failed to save secret"))}async function Ts(e,t){let n=As(e),r=await M(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await vs(r,"Failed to delete secret"))}var Ip={list:Cs,set:Rs,delete:Ts};async function Ep(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await M(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}function oe(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 Bt(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function rt(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return oe(e)}async function Is(e){let t=rt(e),n=await M(`${t}/kortix/pty`);if(!n.ok)throw new Error(await Bt(n,"Failed to list terminals"));return n.json()}async function Es(e,t){let n=rt(e),r=await M(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await Bt(r,"Failed to create terminal"));return r.json()}async function js(e,t,n){let r=rt(e),s=await M(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await Bt(s,"Failed to update terminal"));return s.json()}async function $s(e,t){let n=rt(e),r=await M(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Bt(r,"Failed to remove terminal"))}async function Ms(e,t,n){let r=rt(t),o=`${(()=>{try{let f=new URL(r);return f.protocol==="https:"?f.protocol="wss:":f.protocol==="http:"&&(f.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&f.protocol==="ws:"&&(f.protocol="wss:"),oe(f.toString())}catch{return r.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,u=new URLSearchParams,p=await je();p&&u.set("token",p),n?.wake&&u.set("wake","1");let d=u.toString();return d?`${o}${o.includes("?")?"&":"?"}${d}`:o}var jp={list:Is,create:Es,update:js,remove:$s,webSocketUrl:Ms};async function C(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await M(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await o.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${o.status}`);return p}async function _m(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 C(e,`/kortix/tasks${r}`)}async function Pm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function km(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function wm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function Sm(e,t){return C(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function vm(e,t,n){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Am(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Cm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function Rm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Tm(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return C(e,`/kortix/tickets${n}`)}async function Im(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Em(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function jm(e,t){return C(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function $m(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Mm(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Dm(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function qm(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Om(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Um(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Fm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Lm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Gm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Bm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Nm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Km(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Hm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Wm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function zm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Vm(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Jm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Xm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Qm(e,t,n=200){return C(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Ym(e){return C(e,"/kortix/projects")}async function Zm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function ef(e,t){return C(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function tf(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function nf(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function rf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function sf(e,t,n="all"){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function of(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function af(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function cf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function lf(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function uf(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function pf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function df(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function gf(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function mf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function ff(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function yf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function hf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var bf=1e4,xf={retryOnAuthError:!1};function Me(e,t,n){return C(e,t,{signal:AbortSignal.timeout(bf),...n},xf)}async function _f(e,t=!1){return(await Me(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function Pf(e){return(await Me(e,"/kortix/services/templates")).templates??[]}async function kf(e,t){return(await Me(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function wf(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return Me(e,s,{method:r?"DELETE":"POST"})}async function Sf(e,t){return Me(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function vf(e,t){return Me(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var Nt=new Map,De=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function me(){let e=ie();if(!e)throw new De;return ae(e)}function ae(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=Nt.get(e);if(t)return t;if(!Rt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=ps({baseUrl:e,fetch:M});return Nt.set(e,n),n}function Af(e){Nt.delete(e)}function Cf(){Nt.clear()}var Kt=new Map;function Rf(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Kt.get(e);if(t)return t;let n=ps({baseUrl:e,fetch});return Kt.set(e,n),n}function Tf(e){Kt.delete(e)}function If(){Kt.clear()}async function Ef(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 jf(e){let t=ie();if(!t)throw new A("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=e==="full"?"/kortix/refresh":"/global/dispose",r=await M(`${t}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",o=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new A(`System reload failed (${r.status}): ${await Ef(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new A(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(d){throw new A(`System reload returned malformed JSON from ${n}: ${d instanceof Error?d.message:String(d)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode: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 qp(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 A(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Oe(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}function J(e){let t=(e??ie()).trim();if(!t)throw new De;return t}async function Wt(e,t){let n=await M(`${J(t)}${e}`);if(!n.ok)throw new A(await Oe(n),{status:n.status,response:n});return n.json()}var zt=["/workspace","/tmp","/home","/opt"],$f=zt.filter(e=>e!=="/workspace");function Os(e){return zt.some(t=>e===t||e.startsWith(`${t}/`))}function it(e){return Os(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function Ae(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if($f.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Us=Ae;async function ot(e,t){let n=J(t),r=Ae(e)||".";return(await Wt(`/file?path=${encodeURIComponent(r)}`,n)).map(o=>({...o,path:o.absolute||`/workspace/${o.path}`}))}async function Ue(e,t){let n=J(t),r=Ae(e),s=await M(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new A(await Oe(s),{status:s.status,response:s});return s.json()}async function Mf(e,t,n){let r=J(n),s=Ae(e),o=await M(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new A(await Oe(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new A("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let u=await o.blob();return t&&(!u.type||u.type==="application/octet-stream")?new Blob([u],{type:t}):u}async function Fe(e,t){let n=J(t);try{return await Mf(e,void 0,n)}catch{}let r=await Ue(e,n);if(r.encoding==="base64"&&r.content){let s=Uint8Array.from(atob(r.content),o=>o.charCodeAt(0));return new Blob([s],{type:r.mimeType||"application/octet-stream"})}return new Blob([r.content??""],{type:r.mimeType||"text/plain;charset=utf-8"})}async function at(e){return Wt("/file/status",J(e))}async function ct(e,t,n){let r=J(n),s=new URLSearchParams({query:e});return t?.type&&s.set("type",t.type),t?.limit&&s.set("limit",String(t.limit)),Wt(`/find/file?${s.toString()}`,r)}async function lt(e,t){let n=J(t);return(await Wt(`/find?pattern=${encodeURIComponent(e)}`,n)).map(s=>({path:typeof s.path=="string"?s.path:s.path?.text??"",lines:typeof s.lines=="string"?s.lines:s.lines?.text??"",line_number:s.line_number,absolute_offset:s.absolute_offset,submatches:(s.submatches??[]).map(o=>({start:o.start,end:o.end}))}))}var st=[400,1200],Df=e=>e===408||e===429||e===502||e===503||e===504,$p=e=>new Promise(t=>setTimeout(t,e));function qf(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Ds=3e4,Of=15*6e4,Uf=256;function qe(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Ds;let t=Ds+e/Uf;return Math.min(Of,Math.max(Ds,Math.round(t)))}async function Ff(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 Ht(e,t){let n;for(let s=0;s<=st.length;s++){let o;try{o=await t(e())}catch(p){if(n=p,qf(p)||s===st.length)break;await $p(st[s]);continue}if(o.ok)return o.json();let u=await Ff(o);if(n=new A(`Upload failed (${o.status}): ${u}`,{status:o.status,response:o}),!Df(o.status)||s===st.length)throw n;await $p(st[s])}if(n instanceof A)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new A(`Upload failed: ${r}`)}var qs=64*1024;function Mp(e,t){try{e?.onProgress?.(t)}catch{}}function Dp(e,t,n){let r=new FormData,s=(t??"").trim();return s&&r.append("path",s.startsWith("/")?s:`/${s}`),n&&r.append("filename",n),n?r.append("file",e,n):r.append("file",e),r}function Lf(e){let t=e.lastIndexOf("/");return t<0?{parent:"",name:e}:{parent:e.slice(0,t)||"/",name:e.slice(t+1)}}async function Le(e,t,n,r,s){let o=typeof r=="string"?r:void 0,u=typeof r=="string"?s:r,p=J(o),d=qe(e.size),f=n||(e instanceof File?e.name:"")||"";if(e.size<=qs){let _=await Ht(()=>Dp(e,t,f),k=>M(`${p}/file/upload`,{method:"POST",body:k},{timeoutMs:d}));return Mp(u,{loadedBytes:e.size,totalBytes:e.size}),_}let h=(await Ht(()=>Dp(new Blob([],{type:e.type}),t,f),_=>M(`${p}/file/upload`,{method:"POST",body:_},{timeoutMs:qe(0)})))[0]?.path;if(!h)throw new A("Upload reservation returned no file path",{code:"UPLOAD_NO_RESULT"});let x=Lf(h);if(!x.name)throw new A(`Upload reservation returned an invalid file path: ${h}`,{code:"UPLOAD_INVALID_PATH"});try{for(let _=0;_<e.size;_+=qs){let k=Math.min(e.size,_+qs),R=e.slice(_,k,e.type),E=await Ht(()=>{let l=new FormData;return x.parent&&l.append("path",x.parent),l.append("filename",x.name),l.append("first",_===0?"true":"false"),l.append("offset",String(_)),l.append("file",R,x.name),l},l=>M(`${p}/file/append`,{method:"POST",body:l},{timeoutMs:qe(R.size)}));if(E.path!==h||E.size!==k)throw new A(`Upload verification failed for ${h}: expected ${k} bytes, received ${E.size}`,{code:"UPLOAD_SIZE_MISMATCH"});Mp(u,{loadedBytes:k,totalBytes:e.size})}}catch(_){throw await ye(h,p).catch(()=>{}),_}return[{path:h,size:e.size}]}function Gf(e,t,n){let r=J(n),s=qe(t.size);return Ht(()=>{let o=new FormData;return o.append(e,t,e.split("/").pop()||"file"),o},o=>M(`${r}/file/upload`,{method:"POST",body:o},{timeoutMs:s}))}async function ut(e,t){let n=J(t),r=e.trim(),o=(r.startsWith("/")?r:`/${r}`).split("/"),u=o.pop()||"untitled",p=o.join("/")||"/workspace",d=await Ge(`${p}/${u}`,new Blob([],{type:"application/octet-stream"}),n);return[{path:d.path,size:d.bytes}]}async function pt(e,t,n){let r=J(n);return Gf(t,await Fe(e,r),r)}function Bf(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Nf(e){let t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function Kf(e){return e.slice(e.lastIndexOf("/")+1)}function Hf(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();if(e?.getRandomValues){let t=new Uint8Array(8);return e.getRandomValues(t),[...t].map(n=>n.toString(16).padStart(2,"0")).join("")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}async function Ge(e,t,n){let r=J(n),s=it(Bf(e.trim())),o=Kf(s);if(!o)throw new A(`writeFile needs a file path, got "${e}"`,{code:"INVALID_PATH"});let u=Nf(s);await Be(u,r).catch(()=>{});let p=Hf(),d=await Le(t,u,`.${o}.kortix-write-${p}`,r),f=d[0]?.path;if(!f)throw new A(`Upload returned no file for ${s}`,{code:"UPLOAD_NO_RESULT"});let m=it(f),h=`${s}.kortix-write-backup-${p}`,x=!1;try{await fe(s,h,r),x=!0}catch{}try{await fe(m,s,r)}catch(k){throw x&&await fe(h,s,r).catch(()=>{}),await ye(m,r).catch(()=>{}),k}x&&await ye(h,r).catch(()=>{});let _=d[0]?.size;return{path:s,bytes:typeof _=="number"?_:t.size}}async function ye(e,t){let n=await M(`${J(t)}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new A(`Delete failed (${n.status}): ${await Oe(n)}`,{status:n.status,response:n});return n.json()}async function Be(e,t){let n=await M(`${J(t)}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new A(`Mkdir failed (${n.status}): ${await Oe(n)}`,{status:n.status,response:n});return n.json()}async function fe(e,t,n){let r=await M(`${J(n)}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new A(`Rename failed (${r.status}): ${await Oe(r)}`,{status:r.status,response:r});return r.json()}async function Fs(){return qp(await me().project.current())}async function Vt(){return qp(await me().global.health())}async function Ls(){try{return(await Vt()).healthy===!0}catch{return!1}}var Op={list:ot,read:Ue,readBlob:Fe,status:at,findFiles:ct,findText:lt,upload:Le,write:Ge,create:ut,copy:pt,remove:ye,mkdir:Be,rename:fe,currentProject:Fs,health:Vt,isReachable:Ls,toDaemonPath:Ae,toSandboxAbsolutePath:it,toWorkspaceRelative:Us};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Gs(e){return e.replace(/\/v1\/?$/,"")}async function Ne(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Gs(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 Bs(){return a(await i.get("/accounts"))}async function Ns(e){return a(await i.post("/accounts",e))}async function Ks(e){return a(await i.get(`/accounts/${e}`))}async function Hs(e,t){return a(await i.patch(`/accounts/${e}`,{name:t}))}async function Ws(e){return a(await i.get(`/accounts/${e}/branding`))}async function zs(e,t){return a(await i.put(`/accounts/${e}/branding`,t))}async function Vs(e,t,n,r){let s=new FormData;return s.append("file",n,r??(n instanceof File?n.name:t)),a(await i.upload(`/accounts/${e}/branding/assets/${t}`,s))}async function Js(e,t){return a(await i.delete(`/accounts/${e}/branding/assets/${t}`))}async function Xs(e){return a(await i.delete(`/accounts/${e}/branding`))}async function Qs(e){return a(await i.get(`/accounts/${e}/members`))}async function Ys(e,t){return a(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Zs(e){return a(await i.get(`/accounts/${e}/invites`))}async function ei(e,t){return a(await i.delete(`/accounts/${e}/invites/${t}`))}async function ti(e,t){return a(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function ni(e){return a(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function ri(e){return a(await i.post(`/account-invites/${e}/accept`,{}))}async function si(e){return a(await i.post(`/account-invites/${e}/decline`,{}))}async function ii(e,t){return a(await i.delete(`/accounts/${e}/members/${t}`))}async function oi(e,t,n){return a(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function ai(e){return a(await i.post(`/accounts/${e}/leave`,{}))}async function zf(e){return Ne(e,"/v1/accounts")}async function ci(){let e=await i.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}var Vf=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","llm_gateway","review_center","meta_agent","apps","monitors","warm_sessions","secrets_egress","pi_worker"];async function Ce(){return a(await i.get("/projects"))}async function li(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/projects${t}`))}async function Jt(e,t){return a(await i.get(`/projects/${e}`,t))}async function ui(e,t,n="write"){return a(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function pi(e,t){return a(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function di(e){return a(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Jf(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function Xt(e,t){let n=a(await i.get(`/projects/${e}/detail`,{showErrors:!1,...t}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Qt(e,t){return a(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function Yt(e,t){return a(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Xf(e,t){return a(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function gi(e){return a(await i.post("/projects",e))}async function mi(e){return a(await i.post("/projects/create-repo",e))}async function fi(e,t={}){return a(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}var Up=200;function Qf(e){let t=e.split(`
8
8
  `).filter(r=>r.startsWith("data:")).map(r=>r.slice(5).replace(/^ /,""));if(t.length===0)return null;let n=t.join(`
9
- `);try{return JSON.parse(n)}catch(r){let s=n.length>Ep?`${n.slice(0,Ep)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function Wf(e,t,n={}){let r=await i.postStream("/projects/provision-stream",{seed_starter:!0,...e},n);if(!r.ok){let d=await r.json().catch(()=>null);throw new A(d?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:d?.code})}let s=r.body?.getReader();if(!s)throw new Error("Provision stream is unavailable on this runtime (no response body)");let o=new TextDecoder,l="",p=null;try{for(;;){let{done:d,value:f}=await s.read();if(d)break;l+=o.decode(f,{stream:!0});let m=l.indexOf(`
9
+ `);try{return JSON.parse(n)}catch(r){let s=n.length>Up?`${n.slice(0,Up)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function Yf(e,t,n={}){let r=await i.postStream("/projects/provision-stream",{seed_starter:!0,...e},n);if(!r.ok){let d=await r.json().catch(()=>null);throw new A(d?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:d?.code})}let s=r.body?.getReader();if(!s)throw new Error("Provision stream is unavailable on this runtime (no response body)");let o=new TextDecoder,u="",p=null;try{for(;;){let{done:d,value:f}=await s.read();if(d)break;u+=o.decode(f,{stream:!0});let m=u.indexOf(`
10
10
 
11
- `);for(;m!==-1;){let h=l.slice(0,m);l=l.slice(m+2),m=l.indexOf(`
11
+ `);for(;m!==-1;){let h=u.slice(0,m);u=u.slice(m+2),m=u.indexOf(`
12
12
 
13
- `);let x=Hf(h);if(x){if(t(x),x.type==="error")throw new A(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 zf(){try{return a(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Yt(e,t){return a(await i.patch(`/projects/${e}`,t))}async function pi(e,t,n){return a(await i.patch(`/projects/${e}/features`,{feature:t,enabled:n}))}async function di(e,t,n){return a(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function gi(e,t){return a(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Vf(e,t){return a(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function Jf(e,t){return a(await i.patch(`/projects/${e}/warm-pool`,t))}async function mi(e,t){return a(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function Xf(e,t){return a(await i.patch(`/projects/${e}/onboarding`,{profile:t}))}async function Zt(e){return a(await i.delete(`/projects/${e}`))}async function Qf(e,t){return Be(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Yf(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Ds(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 fi(e){return a(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function yi(e){return a(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function hi(e){return a(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function bi(e){return a(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function xi(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function _i(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return a(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Pi(e){return a(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function ki(e){return a(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function wi(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),a(await i.delete(`/projects/github/installation?${n.toString()}`))}async function Zf(e,t){return a(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Si(e,t){return a(await i.get(`/projects/${e}/access-requests`,t))}async function vi(e,t,n="member"){return a(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function Ai(e,t){return a(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Ci(e){return a(await i.get(`/projects/${e}/access`))}async function Ri(e,t,n){return a(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function Ti(e,t){return a(await i.delete(`/projects/${e}/access/${t}`))}function ey(e){return"status"in e&&e.status==="invited"}async function Ii(e,t,n,r){return a(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Ei(e){return a(await i.get(`/projects/${e}/access/pending-invites`))}async function ji(e,t){return a(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function $i(e,t){return a(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Mi(e){return a(await i.get(`/projects/${e}/group-grants`))}async function qi(e,t,n,r){return a(await i.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function Di(e,t,n,r){return a(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Oi(e,t){return a(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Ui(e){return a(await i.get(`/projects/${e}/resource-grants`))}async function Fi(e,t){return a(await i.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function Li(e,t){return a(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Gi(e,t){return a(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Bi(e,t){return a(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Ni(e,t,n){return a(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Ki(e){return a(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Hi(e,t){return a(await i.post(`/projects/${e}/secrets`,t))}async function Wi(e,t,n,r={}){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function zi(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function Vi(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function Ji(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Xi(e,t){return a(await i.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}async function Qi(e,t){return a(await i.put(`/projects/${e}/git-credential`,t))}async function Yi(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function Zi(e,t,n){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function eo(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}function to(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function en(e){return a(await i.get(to(e,"catalog"))).connectors??[]}async function pt(e){let t=[];for(let n of await en(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 no(e,t="",n={}){let r=t.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),o=[],l=[];for(let p of await pt(e)){let d=`${p.tool} ${p.description}`.toLowerCase();!r||d.includes(r)?o.push(p):s.every(f=>d.includes(f))&&l.push(p)}return[...o,...l].slice(0,n.limit??20)}async function ro(e,t){return(await pt(e)).find(n=>n.tool===t)??null}function ty(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 so(e,t,n={}){let{connector:r,action:s}=ty(t);return a(await i.post(to(e,"call"),{connector:r,action:s,args:n}))}function ny(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}`}function ry(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}async function io(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 o={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(o["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let l=ry(I().backendUrl),p=to(e,"attachments"),d=await M(`${l}${p}`,{method:"POST",headers:o,body:t},{timeoutMs:6e4}),f=await d.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!d.ok)throw new A(ny(m,d.status),{status:d.status,code:String(m&&typeof m=="object"?m.code??d.status:d.status),details:m,response:d,endpoint:p});return m}async function oo(e){return a(await i.get(`/projects/${e}/connections`))}async function ao(e){return a(await i.get(`/projects/${e}/connections/all`))}async function co(e,t){return a(await i.post(`/projects/${e}/connections`,t))}async function lo(e,t){return a(await i.post(`/projects/${e}/connections/me`,t))}async function uo(e,t,n){return a(await i.put(`/projects/${e}/connections/${t}/credential`,n))}function ce(e,t,n){return`/projects/${e}/connections/${t}/oauth2/${n}`}async function sy(e,t){return a(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function iy(e,t,n){return a(await i.put(ce(e,t,"application"),n))}async function oy(e,t){return a(await i.get(ce(e,t,"application")))}async function ay(e,t,n){return a(await i.post(ce(e,t,"discover"),n))}async function cy(e,t,n={}){return a(await i.post(ce(e,t,"discover-resource"),n))}async function ly(e,t,n){return a(await i.post(ce(e,t,"register"),n))}async function uy(e,t,n){return a(await i.post(ce(e,t,"authorize"),n))}async function py(e,t,n){return a(await i.post(ce(e,t,"device"),n))}async function dy(e,t,n){return a(await i.post(ce(e,t,`device/${encodeURIComponent(n)}`),{}))}async function gy(e,t){return a(await i.get(ce(e,t,"status")))}async function po(e,t){return a(await i.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function go(e,t){return a(await i.put(`/projects/${e}/connections/${t}/activate`,{}))}async function mo(e,t){return a(await i.put(`/projects/${e}/connections/${t}/default`,{}))}async function fo(e,t,n={}){return a(await i.post(`/projects/${e}/connections/${t}/connect`,n))}async function yo(e,t){return a(await i.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function ho(e){return a(await i.get(`/connectors/projects/${e}/connectors`,{showErrors:!1}))}async function bo(e){return a(await i.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function xo(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function _o(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function Po(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function ko(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function wo(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function my(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function fy(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function So(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function vo(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function jp(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}var Ao=jp;async function yy(e,t){return a(await i.get(`/connectors/projects/${e}/sessions/${encodeURIComponent(t)}/connect-requests`)).connectors??[]}async function Co(e,t){return a(await i.post(`/connectors/projects/${e}/connectors`,t))}async function Ro(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function To(e,t){return a(await i.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Io(e,t,n){let r=typeof t=="string"||t===void 0?{...t?{q:t}:{},...n?{cursor:n}:{}}:t,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let o=s.toString();return a(await i.get(`/connectors/projects/${e}/pipedream/apps${o?`?${o}`:""}`))}async function Eo(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${e}/pipedream/sections${r?`?${r}`:""}`))}async function hy(e,t={}){let n=new URLSearchParams;t.q&&n.set("q",t.q),t.category&&n.set("category",t.category),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString(),s=a(await i.get(`/connectors/projects/${e}/connect/toolkits${r?`?${r}`:""}`));if("toolkits"in s)return s;let o=s.cursor?.trim()||void 0;return{provider:"composio",toolkits:s.items,nextCursor:o,hasMore:!!o}}async function tn(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return a(await i.get(`/connectors/projects/${e}/discover/connectors${s?`?${s}`:""}`))}async function nn(e,t){let n=new URLSearchParams({id:t});return a(await i.get(`/connectors/projects/${e}/discover/connectors/detail?${n.toString()}`))}var by=tn,xy=nn;async function jo(){return a(await i.get("/connectors/connect-status"))}async function $o(e,t,n){let r=typeof n=="string"?{value:n}:n;return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function _y(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function $p(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}var Mo=$p;async function qo(e){return a(await i.get(`/connectors/projects/${e}/policies`))}async function Do(e,t,n){return a(await i.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function Oo(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function Uo(e){return a(await i.get(`/projects/${e}/snapshots`))}async function rn(e){return a(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Fo(e,t){return a(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Lo(e){return a(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Go(e,t){return a(await i.post(`/projects/${e}/sandbox-templates`,t))}async function Bo(e,t,n){return a(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function No(e,t){return a(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Ko(e,t){return a(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Ho(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function Wo(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function zo(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),a(await i.get(`/projects/${e}/files/search?${r.toString()}`))}async function Vo(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),a(await i.get(`/projects/${e}/files/content?${r.toString()}`,{showErrors:!1}))}async function Jo(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await re(),l=`${I().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(l,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function Xo(e){return a(await i.get(`/projects/${e}/branches`))}async function Qo(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${e}/commits${r}`))}async function Yo(e,t){return a(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Zo(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function ea(e,t,n){let r=new URLSearchParams({path:t});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),a(await i.get(`/projects/${e}/files/history?${r.toString()}`))}async function ta(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return a(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function na(e,t){let n=t?`?status=${t}`:"";return a(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function ra(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}`))}async function sa(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function ia(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function oa(e,t){return a(await i.post(`/projects/${e}/change-requests`,t))}async function aa(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function ca(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function la(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function ua(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function pa(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var da=new Set;function dt(e){e&&da.add(e)}function ga(e){return!!e&&da.has(e)}function Py(e){e&&da.delete(e)}async function Ne(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope);let r=n.size>0?`?${n}`:"";return a(await i.get(`/projects/${e}/sessions${r}`))}async function ma(e,t,n){return a(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function fa(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function ya(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function ha(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function ba(e,t,n){return a(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function Ke(e,t){let n=a(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||dt(n?.session_id),n}async function xa(e,t){let n=t?.excludeSessionId?{exclude_session_id:t.excludeSessionId}:{},r=a(await i.post(`/projects/${e}/sessions/warm`,n,{showErrors:!1}));return r.reused||dt(r.session.session_id),r}async function _a(e,t){let n=a(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return dt(n.session_id),n}async function sn(e,t,n){return a(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function Pa(e,t,n,r){let s=new URLSearchParams;n&&s.set("limit",String(n)),r?.cursor&&s.set("cursor",r.cursor),r?.includeEvents!=null&&s.set("include_events",String(r.includeEvents));let o=s.toString();return a(await i.get(`/projects/${e}/sessions/${t}/audit${o?`?${o}`:""}`,{showErrors:r?.showErrors}))}async function ka(e,t,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return a(await i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function wa(e,t,n){let r=new URLSearchParams({shape:"sync"});return n?.limit!=null&&r.set("limit",String(n.limit)),a(await i.get(`/projects/${e}/sessions/${t}/transcript?${r.toString()}`,{showErrors:!1}))}async function Sa(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/turn`))}async function ky(e,t,n){let r=new URLSearchParams;n?.transcript!=null&&r.set("transcript",String(n.transcript));let s=r.toString();return a(await i.get(`/projects/${e}/sessions/${t}/snapshot${s?`?${s}`:""}`,{signal:n?.signal,showErrors:!1}))}async function va(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts`,{client_message_id:n.clientMessageId,message_id:n.messageId,parts:n.parts,...n.overrides?{overrides:n.overrides}:{},...n.remintOnDelivery?{remint_on_delivery:!0}:{},...typeof n.clientSentAtMs=="number"?{client_sent_at_ms:Math.trunc(n.clientSentAtMs)}:{}}))}async function Aa(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/prompts`))}async function Ca(e,t,n){return a(await i.delete(`/projects/${e}/sessions/${t}/prompts/${n}`)).removed}async function Ra(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/${n}/retry`,{}))}async function Ta(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/hold`,{held:n}))}async function Ia(e,t,n){return a(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function Ea(e,t){return a(await i.delete(`/projects/${e}/sessions/${t}`))}async function gt(e,t){return a(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function mt(e,t){return a(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function ja(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}function wy(e){let t=e.split(`
13
+ `);let x=Qf(h);if(x){if(t(x),x.type==="error")throw new A(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 Zf(){try{return a(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Zt(e,t){return a(await i.patch(`/projects/${e}`,t))}async function yi(e,t,n){return a(await i.patch(`/projects/${e}/features`,{feature:t,enabled:n}))}async function hi(e,t,n){return a(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function bi(e,t){return a(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function ey(e,t){return a(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function ty(e,t){return a(await i.patch(`/projects/${e}/warm-pool`,t))}async function xi(e,t){return a(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function ny(e,t){return a(await i.patch(`/projects/${e}/onboarding`,{profile:t}))}async function en(e){return a(await i.delete(`/projects/${e}`))}async function ry(e,t){return Ne(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function sy(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Gs(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 _i(e){return a(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function Pi(e){return a(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function ki(e){return a(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function wi(e){return a(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Si(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function vi(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return a(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Ai(e){return a(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function Ci(e){return a(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Ri(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),a(await i.delete(`/projects/github/installation?${n.toString()}`))}async function iy(e,t){return a(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Ti(e,t){return a(await i.get(`/projects/${e}/access-requests`,t))}async function Ii(e,t,n="member"){return a(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function Ei(e,t){return a(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function ji(e){return a(await i.get(`/projects/${e}/access`))}async function $i(e,t,n){return a(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function Mi(e,t){return a(await i.delete(`/projects/${e}/access/${t}`))}function oy(e){return"status"in e&&e.status==="invited"}async function Di(e,t,n,r){return a(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function qi(e){return a(await i.get(`/projects/${e}/access/pending-invites`))}async function Oi(e,t){return a(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Ui(e,t){return a(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Fi(e){return a(await i.get(`/projects/${e}/group-grants`))}async function Li(e,t,n,r){return a(await i.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function Gi(e,t,n,r){return a(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Bi(e,t){return a(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Ni(e){return a(await i.get(`/projects/${e}/resource-grants`))}async function Ki(e,t){return a(await i.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function Hi(e,t){return a(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Wi(e,t){return a(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function zi(e,t){return a(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Vi(e,t,n){return a(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Ji(e){return a(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Xi(e,t){return a(await i.post(`/projects/${e}/secrets`,t))}async function Qi(e,t,n,r={}){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function Yi(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function Zi(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function eo(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function to(e,t){return a(await i.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}async function no(e,t){return a(await i.put(`/projects/${e}/git-credential`,t))}async function ro(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function so(e,t,n){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function io(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}function oo(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function tn(e){return a(await i.get(oo(e,"catalog"))).connectors??[]}async function dt(e){let t=[];for(let n of await tn(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 ao(e,t="",n={}){let r=t.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),o=[],u=[];for(let p of await dt(e)){let d=`${p.tool} ${p.description}`.toLowerCase();!r||d.includes(r)?o.push(p):s.every(f=>d.includes(f))&&u.push(p)}return[...o,...u].slice(0,n.limit??20)}async function co(e,t){return(await dt(e)).find(n=>n.tool===t)??null}function ay(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 lo(e,t,n={}){let{connector:r,action:s}=ay(t);return a(await i.post(oo(e,"call"),{connector:r,action:s,args:n}))}function cy(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}`}function ly(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}async function uo(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 o={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(o["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let u=ly(j().backendUrl),p=oo(e,"attachments"),d=await M(`${u}${p}`,{method:"POST",headers:o,body:t},{timeoutMs:6e4}),f=await d.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!d.ok)throw new A(cy(m,d.status),{status:d.status,code:String(m&&typeof m=="object"?m.code??d.status:d.status),details:m,response:d,endpoint:p});return m}async function po(e){return a(await i.get(`/projects/${e}/connections`))}async function go(e){return a(await i.get(`/projects/${e}/connections/all`))}async function mo(e,t){return a(await i.post(`/projects/${e}/connections`,t))}async function fo(e,t){return a(await i.post(`/projects/${e}/connections/me`,t))}async function yo(e,t,n){return a(await i.put(`/projects/${e}/connections/${t}/credential`,n))}function ce(e,t,n){return`/projects/${e}/connections/${t}/oauth2/${n}`}async function uy(e,t){return a(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function py(e,t,n){return a(await i.put(ce(e,t,"application"),n))}async function dy(e,t){return a(await i.get(ce(e,t,"application")))}async function gy(e,t,n){return a(await i.post(ce(e,t,"discover"),n))}async function my(e,t,n={}){return a(await i.post(ce(e,t,"discover-resource"),n))}async function fy(e,t,n){return a(await i.post(ce(e,t,"register"),n))}async function yy(e,t,n){return a(await i.post(ce(e,t,"authorize"),n))}async function hy(e,t,n){return a(await i.post(ce(e,t,"device"),n))}async function by(e,t,n){return a(await i.post(ce(e,t,`device/${encodeURIComponent(n)}`),{}))}async function xy(e,t){return a(await i.get(ce(e,t,"status")))}async function ho(e,t){return a(await i.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function bo(e,t){return a(await i.put(`/projects/${e}/connections/${t}/activate`,{}))}async function xo(e,t){return a(await i.put(`/projects/${e}/connections/${t}/default`,{}))}async function _o(e,t,n={}){return a(await i.post(`/projects/${e}/connections/${t}/connect`,n))}async function Po(e,t){return a(await i.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function ko(e){return a(await i.get(`/connectors/projects/${e}/connectors`,{showErrors:!1}))}async function wo(e){return a(await i.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function So(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function vo(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function Ao(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function Co(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Ro(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function _y(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function Py(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function To(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function Io(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function Fp(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}var Eo=Fp;async function ky(e,t){return a(await i.get(`/connectors/projects/${e}/sessions/${encodeURIComponent(t)}/connect-requests`)).connectors??[]}async function jo(e,t){return a(await i.post(`/connectors/projects/${e}/connectors`,t))}async function $o(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function Mo(e,t){return a(await i.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Do(e,t,n){let r=typeof t=="string"||t===void 0?{...t?{q:t}:{},...n?{cursor:n}:{}}:t,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let o=s.toString();return a(await i.get(`/connectors/projects/${e}/pipedream/apps${o?`?${o}`:""}`))}async function qo(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${e}/pipedream/sections${r?`?${r}`:""}`))}async function wy(e,t={}){let n=new URLSearchParams;t.q&&n.set("q",t.q),t.category&&n.set("category",t.category),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString(),s=a(await i.get(`/connectors/projects/${e}/connect/toolkits${r?`?${r}`:""}`));if("toolkits"in s)return s;let o=s.cursor?.trim()||void 0;return{provider:"composio",toolkits:s.items,nextCursor:o,hasMore:!!o}}async function nn(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return a(await i.get(`/connectors/projects/${e}/discover/connectors${s?`?${s}`:""}`))}async function rn(e,t){let n=new URLSearchParams({id:t});return a(await i.get(`/connectors/projects/${e}/discover/connectors/detail?${n.toString()}`))}var Sy=nn,vy=rn;async function Oo(){return a(await i.get("/connectors/connect-status"))}async function Uo(e,t,n){let r=typeof n=="string"?{value:n}:n;return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function Ay(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function Lp(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}var Fo=Lp;async function Lo(e){return a(await i.get(`/connectors/projects/${e}/policies`))}async function Go(e,t,n){return a(await i.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function Bo(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function No(e){return a(await i.get(`/projects/${e}/snapshots`))}async function sn(e){return a(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Ko(e,t){return a(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Ho(e){return a(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Wo(e,t){return a(await i.post(`/projects/${e}/sandbox-templates`,t))}async function zo(e,t,n){return a(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Vo(e,t){return a(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Jo(e,t){return a(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Xo(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function Qo(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Yo(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),a(await i.get(`/projects/${e}/files/search?${r.toString()}`))}async function Zo(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),a(await i.get(`/projects/${e}/files/content?${r.toString()}`,{showErrors:!1}))}async function ea(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await re(),u=`${j().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function ta(e){return a(await i.get(`/projects/${e}/branches`))}async function na(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${e}/commits${r}`))}async function ra(e,t){return a(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function sa(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function ia(e,t,n){let r=new URLSearchParams({path:t});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),a(await i.get(`/projects/${e}/files/history?${r.toString()}`))}async function oa(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return a(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function aa(e,t){let n=t?`?status=${t}`:"";return a(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function ca(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}`))}async function la(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function ua(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function pa(e,t){return a(await i.post(`/projects/${e}/change-requests`,t))}async function da(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function ga(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function ma(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function fa(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function ya(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var ha=new Set;function gt(e){e&&ha.add(e)}function ba(e){return!!e&&ha.has(e)}function Cy(e){e&&ha.delete(e)}async function Ke(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope);let r=n.size>0?`?${n}`:"";return a(await i.get(`/projects/${e}/sessions${r}`))}async function xa(e,t,n){return a(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function _a(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function Pa(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function ka(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function wa(e,t,n){return a(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function He(e,t){let n=a(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||gt(n?.session_id),n}async function Sa(e,t){let n=t?.excludeSessionId?{exclude_session_id:t.excludeSessionId}:{},r=a(await i.post(`/projects/${e}/sessions/warm`,n,{showErrors:!1}));return r.reused||gt(r.session.session_id),r}async function va(e,t){let n=a(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return gt(n.session_id),n}async function on(e,t,n){return a(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function Aa(e,t,n,r){let s=new URLSearchParams;n&&s.set("limit",String(n)),r?.cursor&&s.set("cursor",r.cursor),r?.includeEvents!=null&&s.set("include_events",String(r.includeEvents));let o=s.toString();return a(await i.get(`/projects/${e}/sessions/${t}/audit${o?`?${o}`:""}`,{showErrors:r?.showErrors}))}async function Ca(e,t,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return a(await i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Ra(e,t,n){let r=new URLSearchParams({shape:"sync"});return n?.limit!=null&&r.set("limit",String(n.limit)),a(await i.get(`/projects/${e}/sessions/${t}/transcript?${r.toString()}`,{showErrors:!1}))}async function Ta(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/turn`))}async function Ry(e,t,n){let r=new URLSearchParams;n?.transcript!=null&&r.set("transcript",String(n.transcript));let s=r.toString();return a(await i.get(`/projects/${e}/sessions/${t}/snapshot${s?`?${s}`:""}`,{signal:n?.signal,showErrors:!1}))}async function Ia(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts`,{client_message_id:n.clientMessageId,message_id:n.messageId,parts:n.parts,...n.overrides?{overrides:n.overrides}:{},...n.remintOnDelivery?{remint_on_delivery:!0}:{},...typeof n.clientSentAtMs=="number"?{client_sent_at_ms:Math.trunc(n.clientSentAtMs)}:{}}))}async function Ea(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/prompts`))}async function ja(e,t,n){return a(await i.delete(`/projects/${e}/sessions/${t}/prompts/${n}`)).removed}async function $a(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/${n}/retry`,{}))}async function Ma(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/hold`,{held:n}))}async function Da(e,t,n){return a(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function qa(e,t){return a(await i.delete(`/projects/${e}/sessions/${t}`))}async function mt(e,t){return a(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function ft(e,t){return a(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function Oa(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}function Ty(e){let t=e.split(`
14
14
  `).filter(n=>n.startsWith("data:")).map(n=>n.slice(5).replace(/^ /,""));if(t.length===0)return null;try{return JSON.parse(t.join(`
15
- `))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function $a(e,t,n={}){return a(await i.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function Ma(e,t,n,r,s={}){let o=await i.postStream(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload-stream`,n,s);if(!o.ok){let m=await o.json().catch(()=>null);throw new A(m?.error||`Reload failed: HTTP ${o.status}`,{status:o.status,code:m?.code,data:m})}let l=o.body?.getReader();if(!l)throw new Error("Reload stream is unavailable on this runtime (no response body)");let p=new TextDecoder,d="",f=null;try{for(;;){let{done:m,value:h}=await l.read();if(m)break;d+=p.decode(h,{stream:!0});let x=d.indexOf(`
15
+ `))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function Ua(e,t,n={}){return a(await i.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function Fa(e,t,n,r,s={}){let o=await i.postStream(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload-stream`,n,s);if(!o.ok){let m=await o.json().catch(()=>null);throw new A(m?.error||`Reload failed: HTTP ${o.status}`,{status:o.status,code:m?.code,data:m})}let u=o.body?.getReader();if(!u)throw new Error("Reload stream is unavailable on this runtime (no response body)");let p=new TextDecoder,d="",f=null;try{for(;;){let{done:m,value:h}=await u.read();if(m)break;d+=p.decode(h,{stream:!0});let x=d.indexOf(`
16
16
 
17
- `);for(;x!==-1;){let P=d.slice(0,x);d=d.slice(x+2),x=d.indexOf(`
17
+ `);for(;x!==-1;){let _=d.slice(0,x);d=d.slice(x+2),x=d.indexOf(`
18
18
 
19
- `);let C=wy(P);if(C){if(r(C),C.type==="error")throw new A(C.error,{status:C.status,code:C.code,data:{reason:C.reason}});C.type==="done"&&(f=C.result)}}}}finally{l.cancel().catch(()=>{})}if(!f)throw new Error("Reload stream ended without a result");return f}async function qa(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function Da(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function Oa(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function Ua(e){return a(await i.get(`/projects/${e}/triggers`))}async function Fa(e,t){return a(await i.post(`/projects/${e}/triggers`,t))}async function La(e,t,n){return a(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function Ga(e,t){return a(await i.delete(`/projects/${e}/triggers/${t}`))}async function Ba(e,t){return a(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Na(e,t){return a(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var ye=new Map;function Ka(e,t){return`${e}::${t}`}function Mp(e,t){ye.delete(e),ye.set(e,t)}function qp(e,t){let n=Ka(e,t),r=ye.get(n);return r&&Mp(n,r),r}function Dp(e,t,n){let r=Ka(e,t);if(!ye.has(r)&&ye.size>=512){let s=ye.keys().next().value;s!==void 0&&ye.delete(s)}Mp(r,n)}function Op(e,t){ye.delete(Ka(e,t))}function Sy(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 on=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 vy(e){return e instanceof Error&&e.name==="SessionStartError"}function Ay(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 on(s,{status:n,code:r,terminal:!0}):null}async function Re(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=Ay(s.error);if(p&&!(p.status===404&&ga(t)))throw p;return null}let o=s.data,l=o.sandbox?.external_id;return o.stage==="ready"&&l&&o.opencode_session_id&&Dp(e,t,{opencodeSessionId:o.opencode_session_id,runtimeUrl:Mt(l),sandboxId:l}),o}function Cy(e,t){return["session-start",e,t]}async function Ha(e){return a(await i.get(`/projects/${e}/model-defaults`))}async function Wa(e,t){return a(await i.put(`/projects/${e}/model-defaults`,t))}async function za(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function Ry(e,t){return a(await i.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function Va(e,t,n){let r=Iy(n);return a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function Up(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Ty(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Iy(e){let t=e.connectors_required?Up(e.connectors_required):void 0,n=e.connectors_personal?Up(e.connectors_personal):void 0;if(t&&n&&!Ty(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 Ey(e,t){let n=a(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?Ja(n.block):null}}async function jy(e,t,n){let r=Ja(n),s=a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?Ja(s.block):null}}function Fp(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function $y(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Ja(e){let t=e.connectors_required?Fp(e.connectors_required):void 0,n=e.connectors_personal?Fp(e.connectors_personal):void 0;if(t&&n&&!$y(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 My(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/grant`,{agent:n}))}async function Xa(e,t){return a(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function an(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}function qy(e){let t=e.trim().toLowerCase();return t===""||t==="free"||t==="none"?"free":t==="enterprise"?"enterprise":"team"}function Dy(e){let t=e?.plan;if(t)return{family:t.family,label:t.label,sublabel:t.sublabel??null,isGrandfathered:t.is_grandfathered===!0};let n=e??an(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:qy(r),label:s,sublabel:null,isGrandfathered:!1}}async function Qa(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?an():s.data}async function Ya(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?an():s.data}async function Za(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return a(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function ec(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return a(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function tc(){return a(await i.get("/billing/credit-breakdown"))}async function nc(e){let t=e!=null?`?days=${e}`:"";return a(await i.get(`/billing/usage-history${t}`))}async function rc(){return a(await i.get("/billing/tier-configurations"))}async function Oy(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Be(e,`/v1/billing/account-state${t}`)}async function sc(e){return a(await i.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function ic(e,t){return a(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function oc(e,t){return a(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function ac(e,t){return a(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function cc(e){return a(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function lc(e,t,n){return a(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function uc(e){return a(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function pc(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),a(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function dc(e){return a(await i.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function gc(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function mc(e){return a(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount},{showErrors:!1}),"Failed to configure auto-topup")}async function Uy(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Fy(e){return a(await i.post("/billing/create-per-seat-checkout",{account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl,locale:e.locale}),"Failed to create per-seat checkout")}async function Ly(e){return a(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function Gy(e){return a(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function fc(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 a(await i.get(`/usage${n?`?${n}`:""}`))}function hc(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function cn(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function ln(e){return e.size>0?`?${e}`:""}async function bc(e={}){let t=new URLSearchParams;return hc(t,e),e.ownerId&&t.set("owner_id",e.ownerId),cn(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)),a(await i.get(`/usage/session-costs${ln(t)}`))}async function un(e,t={}){let n=new URLSearchParams;return hc(n,t),a(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${ln(n)}`))}async function By(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),cn(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)),a(await i.get(`/usage/cost-by-project${ln(t)}`))}async function Ny(e={}){let t=new URLSearchParams;return hc(t,e),e.sessionId&&t.set("session_id",e.sessionId),cn(t,e),a(await i.get(`/usage/cost-summary${ln(t)}`))}function yc(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)}cn(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`${I().backendUrl||""}${r}?${n}`}async function Ky(e,t={}){let n=yc(e==="projects"?"projects":"sessions",t),r=await re(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let d=await s.text().catch(()=>"");throw new Error(d||`Failed to export CSV (HTTP ${s.status})`)}let o=s.headers.get("x-kortix-row-cap"),l=o!=null?Number(o):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(l)?l:null}}async function Lp(e,t){return a(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function Hy(e){return Lp("slack",e)}function Wy(e){return Lp("teams",e)}async function xc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function _c(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var zy={oauth_available:!1,install_url:null};async function Pc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?zy:t.data}async function kc(e){return a(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function wc(e){let t=await i.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function Sc(e,t){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function vc(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Ac(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 Vy={provider:"agentmail",managed_available:!1};async function Cc(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Ac(r.data):null}async function Rc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Vy:t.data}async function Tc(e,t){let n=a(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Ac(n)}async function Ic(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function Ec(e,t,n){let r=a(await i.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Ac(r)}async function Jy(e){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Xy(e,t,n){return a(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function jc(e){return a(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function $c(e,t){return a(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Mc(e){return a(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function qc(e,t){return a(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Dc(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return a(await i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Oc(e,t){return a(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Uc(e,t){return a(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Fc(e,t){return a(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Lc(e,t){return a(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Gc(e,t){return a(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Bc(e,t){return a(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Nc(e){return a(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Kc(e,t){return a(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Hc(e,t){return a(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Wc(e){return a(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function zc(e,t){return a(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Vc(e,t){return a(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Jc(e,t,n,r,s){return a(await i.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function Qy(e,t){return a(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Yy(){return a(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function Zy(){return a(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function eh(e){return a(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function th(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function nh(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return a(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function rh(e){return a(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function k(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function O(e){return i.get(e,{showErrors:!1})}async function Xc(e){return k(await O(`/accounts/${e}/iam/groups`)).groups}async function Qc(e,t){return k(await O(`/accounts/${e}/iam/groups/${t}`))}async function Yc(e,t){return k(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function Zc(e,t,n){return k(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function el(e,t){return k(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function tl(e,t){return k(await O(`/accounts/${e}/iam/groups/${t}/members`)).members}async function nl(e,t,n){return k(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function sh(e,t){return k(await O(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function rl(e,t,n){return k(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function ih(e,t){return k(await O(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function oh(e,t){let n=k(await O(`/accounts/${e}/iam/members/${t}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}async function ah(e,t={}){let n=new URLSearchParams;t.resourceType&&n.set("resourceType",t.resourceType),t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.projectId&&n.set("projectId",t.projectId);let r=n.toString();return k(await O(`/accounts/${e}/iam/resource-grants${r?`?${r}`:""}`)).grants}async function ch(e,t={}){let n=new URLSearchParams;t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.scopeType&&n.set("scopeType",t.scopeType),t.scopeId!==void 0&&n.set("scopeId",t.scopeId===null?"null":t.scopeId);let r=n.toString();return k(await O(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function lh(e,t){return k(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function uh(e,t,n){return k(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function ph(e,t){return k(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function dh(e,t){return k(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function gh(e,t){return k(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function sl(e){return k(await O(`/accounts/${e}/iam/roles`)).roles}async function il(e){return k(await O(`/accounts/${e}/iam/agent-identities`)).agents}async function ol(e,t){return k(await O(`/accounts/${e}/iam/roles/${t}/permissions`))}async function mh(e){return k(await O(`/accounts/${e}/iam/actions`)).actions}async function al(e,t){return k(await O(`/accounts/${e}/iam/roles/${t}/usage`))}async function cl(e,t){return k(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function ll(e,t,n){return k(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function ul(e,t,n){return k(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function pl(e,t){return k(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function fh(e,t,n){return k(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function yh(e){return k(await O(`/accounts/${e}/iam/scim/tokens`)).tokens}async function hh(e,t){return k(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function bh(e,t){return k(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function xh(e){return k(await O(`/accounts/${e}/iam/mfa-required`))}async function _h(e){return k(await O(`/accounts/${e}/iam/mfa-required/preview`))}async function Ph(e,t){return k(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function kh(e){return k(await O(`/accounts/${e}/iam/sso/provider`)).provider}async function wh(e,t){return k(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Sh(e,t){return k(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function vh(e){return k(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function Ah(e){return k(await O(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Ch(e,t){return k(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function Rh(e,t){return k(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Th(e){return k(await O(`/accounts/${e}/iam/session-policy`))}async function Ih(e,t){return k(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Eh(e){return k(await O(`/accounts/${e}/iam/sessions`)).sessions}async function jh(e,t){return k(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function $h(e){return k(await O(`/accounts/${e}/iam/pat-policy`))}async function Mh(e,t){return k(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function qh(e){return k(await O(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function Dh(e,t){return k(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Oh(e,t){return k(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Uh(e,t){return k(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Fh(e){return k(await O(`/accounts/${e}/audit/webhooks`)).webhooks}async function Lh(e,t){return k(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function Gh(e,t,n){return k(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Bh(e,t){return k(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Nh(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.phase&&n.set("phase",t.phase),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 k(await O(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function dl(e,t,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),k(await O(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function gl(e,t,n){return n.length===0?[]:k(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function Kh(e){return k(await O(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function Hh(e,t){return k(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function ml(e){return a(await i.get(`/accounts/${e}/iam/oauth-clients`,{showErrors:!1}))}async function fl(e,t){return a(await i.get(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}async function yl(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients`,t,{showErrors:!1}))}async function hl(e,t,n){return a(await i.patch(`/accounts/${e}/iam/oauth-clients/${t}`,n,{showErrors:!1}))}async function bl(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients/${t}/rotate-secret`,{},{showErrors:!1}))}async function xl(e,t){return a(await i.delete(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}function Gp(e){return i.get(e,{showErrors:!1})}function Wh(e){let t=new URLSearchParams;e?.principalType&&t.set("principal_type",e.principalType),e?.principalId&&t.set("principal_id",e.principalId),e?.scopeType&&t.set("scope_type",e.scopeType),e?.scopeId&&t.set("scope_id",e.scopeId),e?.objectType&&t.set("object_type",e.objectType),e?.objectId&&t.set("object_id",e.objectId),e?.roleId&&t.set("role_id",e.roleId),e?.includeExpired&&t.set("include_expired","true");let n=t.toString();return n?`?${n}`:""}async function _l(e,t){return a(await Gp(`/accounts/${e}/iam/assignments${Wh(t)}`)).assignments}async function Pl(e,t){let n={principal_type:t.principal.type,principal_id:t.principal.id,scope_type:t.scope.type,scope_id:t.scope.type==="project"?t.scope.id:null};return t.roleId?n.role_id=t.roleId:n.role_key=t.roleKey,t.object&&(n.object_type=t.object.type,n.object_id=t.object.id),t.expiresAt!==void 0&&(n.expires_at=t.expiresAt),a(await i.post(`/accounts/${e}/iam/assignments`,n))}async function kl(e,t){return a(await i.delete(`/accounts/${e}/iam/assignments/${t}`)).assignment}async function wl(e,t){let n=t?.scopeType?`?scope_type=${t.scopeType}`:"";return a(await Gp(`/accounts/${e}/iam/permissions${n}`)).permissions}async function zh(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:a(e,"Failed to load account deletion status")}async function Vh(e="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function Jh(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function Xh(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function Qh(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Yh(){return i.get("/admin/api/provider-distribution").then(e=>a(e))}function Zh(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>a(t))}function eb(e){return i.put("/admin/api/provider-distribution",e).then(t=>a(t))}function tb(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>a(t))}function nb(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>a(n))}function rb(){return i.get("/admin/api/provider-fallback").then(e=>a(e))}function sb(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>a(t))}async function ib(e){return a(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function ob(e,t){return a(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:e,sandbox_url:t},{timeout:18e4}),"Failed to upload to Google Slides")}async function Sl(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return a(await i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function vl(e,t){return a(await i.get(`/projects/${e}/review/items/${t}`))}async function Al(e,t){return a(await i.post(`/projects/${e}/review/items`,t))}async function Cl(e,t,n){return a(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function Rl(e,t){return a(await i.post(`/projects/${e}/review/bulk`,t))}async function Tl(e){return a(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Il(e){return a(await i.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function El(e,t){let n=await i.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var pn=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Bp(e,t=""){return`${tt()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Np(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 pn(s,t.status)}return r}async function ab(e){return Np(Bp(e))}async function cb(e){return Np(Bp(e,"/messages"))}async function jl(e,t){let n=new URLSearchParams;e&&n.set("account_id",e),t?.mine&&n.set("mine","true");let r=n.size>0?`?${n.toString()}`:"";return a(await i.get(`/accounts/tokens${r}`))}async function $l(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return a(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Ml(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.delete(`/accounts/tokens/${e}${n}`))}async function ql(e){return a(await i.get(`/projects/${e}/cli-token`))}async function Dl(e,t){return a(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Ol(e,t){return a(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Ul(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?.phase&&n.set("phase",t.phase),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 a(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Fl(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?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.phase&&n.set("phase",t.phase),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 a(await i.get(`/projects/${e}/audit${r?`?${r}`:""}`))}async function Ll(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?.phase&&n.set("phase",t.phase),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 a(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function Gl(e){return a(await i.get(`/accounts/${e}/audit/webhooks`))}async function Bl(e,t){return a(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function Nl(e,t,n){return a(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Kl(e,t){return a(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Hl(e,t){return a(await i.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function Wl(e,t){return a(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function lb(e){return a(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function zl(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 a(await i.get(`/marketplace/items${n}`))}async function Vl(){return a(await i.get("/marketplace/marketplaces"))}async function Jl(){return a(await i.get("/marketplace/marketplaces/featured"))}async function Xl(e){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function Ql(e,t){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function Yl(){return a(await i.get("/marketplace/sources"))}async function Zl(e){return a(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function eu(e){return a(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function ub(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function pb(e){return a(await i.get(`/templates/${encodeURIComponent(e)}`))}async function db(e,t){return a(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}async function tu(e){return a(await i.get(`/projects/${e}/apps`),"Failed to list Apps").apps}async function nu(e,t){return a(await i.post(`/projects/${e}/apps`,t),"Failed to create App")}async function ru(e,t){return a(await i.get(`/projects/${e}/apps/${t}`),"Failed to load App")}async function su(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}`,n),"Failed to update App")}async function iu(e,t){return a(await i.delete(`/projects/${e}/apps/${t}`),"Failed to delete App")}async function ou(e,t){return a(await i.get(`/projects/${e}/apps/${t}/access`),"Failed to load App access policy")}async function au(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}/access`,n),"Failed to update App access policy")}async function cu(e,t){return a(await i.post(`/projects/${e}/apps/${t}/access-session`,{}),"Failed to create App access session")}async function dn(e,t){return a(await i.post(`/projects/${e}/apps/artifacts`,t),"Failed to register App artifact")}async function gn(e,t,n){return a(await i.post(`/projects/${e}/apps/artifacts/${t}/finalize`,n),"Failed to finalize App artifact")}async function gb(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function mb(e){let t=Uint8Array.from(e),n=await globalThis.crypto.subtle.digest("SHA-256",t.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function lu(e,t,n={}){let r=await gb(t),s=n.mediaType??"application/gzip",o=await dn(e,{kind:"archive",media_type:s});if(!o.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>o.upload.max_bytes)throw new Error(`App artifact exceeds ${o.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let l=await fetch(o.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!l.ok){let p=await l.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${l.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),gn(e,o.artifact.artifact_id,{sha256:await mb(r),size_bytes:r.byteLength})}async function uu(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/deployments`,n),"Failed to create App deployment")}async function pu(e,t){return a(await i.get(`/projects/${e}/apps/${t}/deployments`),"Failed to list App deployments").deployments}async function du(e,t,n){return a(await i.get(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to load App deployment")}async function gu(e,t,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let o=s.size?`?${s.toString()}`:"";return a(await i.get(`/projects/${e}/apps/${t}/deployments/${n}/logs${o}`),"Failed to load App logs")}async function mu(e,t){return a(await i.post(`/projects/${e}/apps/${t}/start`,{}),"Failed to start App")}async function fu(e,t){return a(await i.post(`/projects/${e}/apps/${t}/stop`,{}),"Failed to stop App")}async function yu(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/rollback`,{deployment_id:n}),"Failed to roll back App")}var He=class extends Error{constructor(n,r,s){super(r);this.code=n;this.status=s;this.name="HeadlessAuthError"}code;status};function fb(e){let t=oe(e?.backendUrl??I().backendUrl??"");if(!t)throw new He("not_configured","backendUrl is not configured (configureKortix / createKortix first)",0);return t.endsWith("/v1")?t:`${t}/v1`}async function ee(e,t,n){let r=n?.fetch??I().fetch??((d,f)=>fetch(d,f)),s={accept:"application/json"};t.body!==void 0&&(s["content-type"]="application/json"),t.bearer&&(s.authorization=`Bearer ${t.bearer}`);let o=await r(`${fb(n)}${e}`,{method:t.method??(t.body!==void 0?"POST":"GET"),headers:s,...t.body!==void 0?{body:JSON.stringify(t.body)}:{},...n?.signal?{signal:n.signal}:{}}),l=await o.text().catch(()=>""),p=null;try{p=l?JSON.parse(l):null}catch{p=l}if(!o.ok){let d=p&&typeof p=="object"?p:{};throw new He(typeof d.error=="string"?d.error:"auth_error",typeof d.error_description=="string"&&d.error_description?d.error_description:typeof d.error=="string"?d.error:o.statusText||`HTTP ${o.status}`,o.status)}return p}function mn(e,t){return ee("/auth/signup",{body:e},t)}function fn(e,t){return ee("/auth/sign-in/password",{body:e},t)}function yn(e,t){return ee("/auth/sign-in/magic-link",{body:e},t)}function hn(e,t){return ee("/auth/verify-otp",{body:e},t)}function bn(e,t){return ee("/auth/sign-in/oauth",{body:e},t)}function xn(e,t){return ee("/auth/oauth/exchange",{body:e},t)}function We(e,t){return ee("/auth/refresh",{body:e},t)}function _n(e,t){return ee("/auth/password/reset",{body:e},t)}function Pn(e,t,n){return ee("/auth/password/update",{body:e,bearer:t},n)}function kn(e,t){return ee("/auth/user",{bearer:e},t)}function wn(e,t={},n){return ee("/auth/sign-out",{body:t,bearer:e},n)}function Sn(e={}){let t=e.refreshSkewSeconds??60,n=e.now??(()=>Date.now()),r=null,s=null,o=!e.storage,l=null,p=x=>(x.expires_at??0)*1e3,d=x=>p(x)-t*1e3<=n();async function f(){e.storage&&(r?await e.storage.set(JSON.stringify({session:r,user:s})):await e.storage.remove()),e.onChange?.(r)}async function m(){if(o)return r;o=!0;let x=await e.storage.get();if(x)try{let P=JSON.parse(x);P.session?.access_token&&P.session?.refresh_token&&(r=P.session,s=P.user??null)}catch{r=null}return r}async function h(){if(await m(),!r)return null;if(!l){let x=r.refresh_token;l=We({refresh_token:x},e.request).then(async P=>(r=P.session,P.user&&(s=P.user),await f(),r)).catch(async P=>{let C=P&&typeof P=="object"&&"status"in P?P.status:0;if(C>=400&&C<500)return r=null,s=null,await f(),null;throw P}).finally(()=>{l=null})}return l}return{current:()=>r,user:()=>s,load:m,async set(x,P){await m(),r=x,P!==void 0&&(s=P),x||(s=null),await f()},async getToken(){return await m(),r?d(r)?(await h().catch(()=>r))?.access_token??null:r.access_token:null},refresh:h,async clear(){r=null,s=null,o=!0,await f()}}}var hb=["control_plane","provider_ingress","daemon","upstream_port"];function hu(e){return typeof e=="string"&&hb.includes(e)?e:null}function bb(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 bu(e,t){let n=(e===void 0?ie():e)||null;if(!n)return{status:0,ok:!1,health:null,body:"",hop:null,upstreamStatus:null};let r=await M(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}let l=o,p=hu(r.headers.get("X-Kortix-Proxy-Hop"))??hu(o?.hop),d=Number(r.headers.get("X-Kortix-Upstream-Status")),f=o?.upstream_status,m=Number.isFinite(d)&&d>0?d:typeof f=="number"?f:null;return{status:r.status,ok:r.ok,health:l,body:s,hop:p,upstreamStatus:m}}var le={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var Kp=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Hp=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Wp=/^https?:\/\/(?:dev|staging|prod|preview)-p(\d+)-([a-z0-9-]+)\.[^/]+?(?::(\d+))?(\/.*)?$/i,zp=new Set([22,4096,parseInt(le.KORTIX_MASTER,10)]);function xb(e){return Hp.test(e)}function vn(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 _b(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Pb=new Set(["'",'"',"`","<","(","["]),kb=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function wb(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&&Pb.has(e[t]);)t++;for(;n>t&&kb.has(e[n-1]);)n--;return e.slice(t,n)}function Sb(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var vb=/^\/proxy\/(\d{1,5})(\/.*)?$/,Ab=/^\/(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 Vp(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Ab.test(t.pathname)}catch{return!1}}function yt(e){if(!e)return null;let t=wb(_b(e.trim())),n=_u(t);if(n){let r=vn(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let o=`${r.pathname||"/"}${r.search}${r.hash}`,l=parseInt(le.KORTIX_MASTER,10);if(s===l){let d=r.pathname.match(vb);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=vn(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=vn(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Sb(e);return r&&r!==e?yt(r):null}}function Cb(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let o=r.index,l=o+r[0].length;t.some(([d,f])=>o>=d&&l<=f)||t.push([o,l])}return t}function Rb(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Jp(e){let t=[],n=new Set,r=Cb(e);Kp.lastIndex=0;let s;for(;(s=Kp.exec(e))!==null;){let o=yt(s[0]);if(!o)continue;let{originalUrl:l,port:p,path:d}=o;p<1||p>65535||zp.has(p)||n.has(l)||(n.add(l),t.push({originalUrl:l,port:p,path:d,startIndex:s.index,endIndex:s.index+l.length,inCodeBlock:Rb(s.index,r)}))}return t}function Tb(e){return Jp(e).length>0}function Ib(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Xp(e){return e.trim().toLowerCase().split("_").join("-")}function Qp(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Eb(e,t,n){let r=n.previewUrlTemplate;if(!r||!r.includes("{port}")||!r.includes("{sandbox}"))return null;let s=r.split("{port}").join(String(e)).split("{sandbox}").join(Xp(n.sandboxId));return`${Qp(s)}${t}`}function Yp(e){return e.sandboxId.trim().length>0}function he(e,t,n){let r=vn(t);if(!Yp(n))return nd(e,r);let s=Eb(e,r,n);return s||(Ib(n.apiBaseUrl)?`http://p${e}-${Xp(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${Qp(n.apiBaseUrl)}/p/${n.sandboxId}/${e}${r}`)}function jb(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return he(3211,`/open?path=/workspace/${r}`,t)}function Zp(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function $b(e){return`http://localhost:3211${Zp(e)}`}function ed(){return"/health"}function Mb(e){return he(3211,ed(),e)}function qb(e,t){return he(e,"/",t)}function td(e){let t=yt(e);return!(!t||zp.has(t.port)||Vp(e))}function xu(e,t){if(!e)return e;let n=yt(e);return n?td(n.originalUrl)?he(n.port,n.path,t):n.originalUrl:e}function nd(e,t="/"){return`http://localhost:${e}${t}`}var rd=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function _u(e){let t=e.match(Hp);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(Wp);if(n){let s=443;try{let o=new URL(e);s=o.port?parseInt(o.port,10):o.protocol==="https:"?443:80}catch{return null}return{port:parseInt(n[1],10),sandboxId:n[2],backendPort:s,path:n[4]||"/"}}let r=e.match(rd);if(r)try{let s=new URL(e);return{port:parseInt(r[2],10),sandboxId:r[1],backendPort:parseInt(s.port,10)||(s.protocol==="https:"?443:80),path:r[3]||"/"}}catch{return null}return null}function Db(e){try{let t=_u(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function Ob(e){return xb(e)||Wp.test(e)||rd.test(e)}function Ub(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var ft="/web-proxy/";function Fb(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${ft}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(le.KORTIX_MASTER,10);return`${he(o,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Lb(e){try{let t=new URL(e),n=t.pathname.indexOf(ft);if(n===-1)return null;let s=t.pathname.slice(n+ft.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],l=s[2],p=s[3]||"/";return`${o}://${l}${p}${t.search}${t.hash}`}catch{return null}}function Gb(e){try{return new URL(e).pathname.includes(ft)}catch{return e.includes(ft)}}function Bb(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 Nb(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 sd="frontend";function An(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${sd}] ${t}`,...n?[n]:[]);try{me().app.log({service:sd,level:e,message:t,extra:n})}catch{}}var be={debug:(e,t)=>An("debug",e,t),info:(e,t)=>An("info",e,t),warn:(e,t)=>An("warn",e,t),error:(e,t)=>An("error",e,t)};function id(e){return{type:"heartbeat-gap",gapMs:e}}function od(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 Kb={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Hb=16,Wb=8,zb=6e4,Vb=5e3,Jb=250,Xb=1e3,Qb=3e4,Yb=5,Zb=3e3,ex=3e4,tx=2e4,nx=2e3,rx=8;function sx(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function ad(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)}}var Cn=new WeakMap;function ix(e,t,n){let r=t.timers??Kb,s=t.connectTimeoutMs??tx,o=t.heartbeatTimeoutMs??zb,l=t.maxConsecutiveHardFailures??rx,p=new AbortController;function d(j,...u){for(let b of n){let c=j(b);if(c)try{c(...u)}catch(S){console.warn("[opencode-events] subscriber handler threw, skipping",S)}}}let f=r.now(),m=[],h,x=0,P=new Map,C=()=>{if(h&&r.clearTimeout(h),h=void 0,m.length===0)return;let j=m;m=[],P.clear(),x=r.now(),f=r.now();for(let u of j)u&&d(b=>b.onEvent,u.event)},E=()=>{if(h)return;let j=r.now()-x;h=r.setTimeout(C,Math.max(0,Hb-j))};return(async()=>{let j=0,u=0;for(;!p.signal.aborted;){let b=!1,c=!1,S,w,R=null,$=r.now(),D=new AbortController,q=ad(p.signal);q.promise.then(()=>D.abort());try{let U=await new Promise((Q,K)=>{let H=!1;w=r.setTimeout(()=>{H||(H=!0,be.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),D.abort(),K(new Error(`SSE connect timed out after ${s}ms`)))},s),e.global.event({signal:D.signal,sseDefaultRetryDelay:Zb,sseMaxRetryDelay:ex,sseMaxRetryAttempts:1}).then(Z=>{H||(H=!0,r.clearTimeout(w),Q(Z))},Z=>{H||(H=!0,r.clearTimeout(w),K(Z))})}),{stream:F}=U;f=r.now();let L=()=>{r.clearTimeout(S),S=r.setTimeout(()=>{be.warn("SSE heartbeat timeout, forcing reconnect"),D.abort()},o)};L();let J=r.now(),N=F[Symbol.asyncIterator]();for(;!D.signal.aborted;){let Q=N.next().then(de=>({kind:"next",result:de}),de=>({kind:"error",error:de})),K=ad(D.signal),H=await Promise.race([Q,K.promise.then(()=>({kind:"aborted"}))]);if(K.cleanup(),H.kind==="aborted")break;if(H.kind==="error")throw H.error;if(H.result.done)break;b=!0,L();let Z=H.result.value,Ie=Z&&typeof Z=="object"&&"payload"in Z?Z.payload:Z;if(!Ie?.type)continue;let Gn=sx(Ie);if(Gn){let de=P.get(Gn);de!==void 0&&(m[de]=void 0),P.set(Gn,m.length)}m.push({type:Ie.type,event:Ie}),E(),!(r.now()-J<Wb)&&(J=r.now(),await new Promise(de=>r.setTimeout(de,0)))}c=b}catch(U){if(p.signal.aborted)break;R=U;let F=String(U),L=F.includes("401")||F.includes("403")||F.includes("Unauthorized")||F.includes("Token refresh failed");if(be.error("SSE event stream error",{error:F,retryCount:j,isAuthError:L}),L)try{et(),await $t(),be.info("SSE: refreshed auth token after auth error")}catch(J){be.error("SSE: failed to refresh auth token",{error:String(J)})}}finally{r.clearTimeout(S),r.clearTimeout(w),D.abort(),q.cleanup(),C()}if(p.signal.aborted)break;let X=r.now()-$,W=R?.cause?.status;if(u=!b&&(typeof W=="number"&&W>=400||X<nx)?u+1:0,u>=l){be.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:u,lastError:String(R)}),d(U=>U.onParked,{consecutiveFailures:u,lastError:R});break}let T=r.now()-f;T>Vb&&d(U=>U.onGapRehydrate,T),c?j=0:(j++,j>1&&be.warn("SSE event stream reconnecting",{retryCount:j}));let z=c?Jb:Math.min(Xb*2**Math.min(j-1,Yb),Qb);await new Promise(U=>{let F=r.setTimeout(U,z),L=()=>{r.clearTimeout(F),U()};p.signal.addEventListener("abort",L,{once:!0})})}})(),{subscribers:n,teardown:()=>{p.abort(),h&&r.clearTimeout(h)}}}function Rn(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=e,l={onEvent:n,onGapRehydrate:r,onParked:s},p=Cn.get(t);p?p.subscribers.add(l):(p=ix(t,e,new Set([l])),Cn.set(t,p));let d=p,f=!1,m=()=>{f||(f=!0,o&&o.removeEventListener("abort",h),d.subscribers.delete(l),d.subscribers.size===0&&(d.teardown(),Cn.get(t)===d&&Cn.delete(t)))},h=()=>m();return o&&(o.aborted?m():o.addEventListener("abort",h,{once:!0})),{close:m}}function ox(){return me()}var Tn=new Map,ht=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 cd(e,t){At(e,t);function n(u){try{return new URL(u)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(u,window.location.origin)}catch{return null}throw new A(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(u)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(u){let b=I().backendUrl??e.backendUrl,c=80,S=n(b);return S&&(c=S.port?Number(S.port):S.protocol==="https:"?443:80),wp({sandboxId:u,apiBaseUrl:b,backendPort:c})}let s={signUp:mn,signInWithPassword:fn,sendMagicLink:yn,verifyOtp:hn,signInWithProvider:bn,exchangeCode:xn,refresh:We,resetPassword:_n,updatePassword:Pn,user:kn,signOut:wn,session:Sn},o={list:Os,get:Fs,create:Us,updateName:Ls,branding:{get:Gs,update:Bs,uploadAsset:Ns,removeAsset:Ks,reset:Hs},leave:ni,members:Ws,invite:zs,removeMember:ei,updateMemberRole:ti,invites:Vs,cancelInvite:Js,resendInvite:Xs,tokens:{list:jl,create:$l,revoke:Ml},audit:{log:Ul,export:Ll,webhooks:{list:Gl,create:Bl,update:Nl,remove:Kl}}},l={assignments:{list:_l,create:Pl,revoke:kl},permissions:{list:wl,forRole:ol},roles:{list:sl,create:cl,update:ll,setPermissions:ul,remove:pl,usage:al},groups:{list:Xc,get:Qc,create:Yc,update:Zc,remove:el,members:{list:tl,add:nl,remove:rl}},agentIdentities:il,oauthClients:{list:ml,get:fl,create:yl,update:hl,rotateSecret:bl,remove:xl},can:dl,canBatch:gl},p={accountState:Qa,accountStateMinimal:Ya,transactions:Za,transactionsSummary:ec,creditBreakdown:tc,usageHistory:nc,usageRollup:fc,sessionCosts:{list:bc,get:un},tierConfigurations:rc,checkout:{createSession:u=>sc(u),confirmSession:(u,b)=>ic(u,b)},subscription:{createPortalSession:(u,b)=>oc(u,b),cancel:(u,b)=>ac(u,b),reactivate:u=>cc(u),scheduleDowngrade:(u,b,c)=>lc(u,b,c),cancelScheduledChange:u=>uc(u),prorationPreview:(u,b)=>pc(u,b)},credits:{purchase:u=>dc(u),autoTopupSettings:u=>gc(u),configureAutoTopup:u=>mc(u)}},d={describe:Qs,accept:Ys,decline:Zs},f={list:Ce,listForAccount:si,get:Vt,detail:Jt,create:ci,createRepo:li,provision:ui,update:Yt,archive:Zt,llmCatalog:Xt,modelPicker:Qt,sandboxHealth:rn,sandboxTemplates:Oo,sessions:Ne,createSession:Ke},m={linkRepository:fi,getInstallation:yi,listInstallations:hi,listLinkableInstallations:bi,listRepositories:xi,listRepositoryBranches:_i,linkInstallation:ki,saveInstallation:Pi,deleteInstallation:wi},h={list:Tl,create:Il,revoke:El},x=jo,P={items:u=>zl(u),item:u=>Xl(u),itemFile:(u,b)=>Ql(u,b),marketplaces:()=>Vl(),featured:()=>Jl(),sources:{list:()=>Yl(),add:u=>Zl(u),remove:u=>eu(u)}};function C(u){return{catalog:()=>en(u),tools:()=>pt(u),search:(...b)=>no(u,...b),describe:(...b)=>ro(u,...b),call:(...b)=>so(u,...b),uploadAttachment:(...b)=>io(u,...b)}}function E(u){let b={list:()=>oo(u),listAll:()=>ao(u),reconcile:(...c)=>co(u,...c),reconcileMember:(...c)=>lo(u,...c),updateCredential:(...c)=>uo(u,...c),revoke:(...c)=>po(u,...c),activate:(...c)=>go(u,...c),setDefault:(...c)=>mo(u,...c),pipedreamConnect:(...c)=>fo(u,...c),pipedreamFinalize:(...c)=>yo(u,...c)};return{get:c=>Vt(u,c),detail:()=>Jt(u),audit:c=>Fl(u,c),update:c=>Yt(u,c),archive:()=>Zt(u),llmCatalog:()=>Xt(u),modelPicker:()=>Qt(u),sandboxHealth:()=>rn(u),onboardingComplete:(...c)=>mi(u,...c),apps:{list:()=>tu(u),create:c=>nu(u,c),get:c=>ru(u,c),update:(...c)=>su(u,...c),access:{get:(...c)=>ou(u,...c),update:(...c)=>au(u,...c),session:(...c)=>cu(u,...c)},remove:c=>iu(u,c),artifacts:{register:c=>dn(u,c),uploadArchive:(...c)=>lu(u,...c),finalize:(...c)=>gn(u,...c)},deployments:{create:(...c)=>uu(u,...c),list:c=>pu(u,c),get:(...c)=>du(u,...c),logs:(...c)=>gu(u,...c)},start:c=>mu(u,c),stop:c=>fu(u,c),rollback:(...c)=>yu(u,...c)},tokens:{list:()=>ql(u),create:c=>Dl(u,c),revoke:c=>Ol(u,c)},setupLinks:{requestSecret:c=>Hl(u,c),requestConnector:c=>Wl(u,c)},validateManifest:c=>oi(u,c),gitToken:()=>ai(u),secrets:{list:()=>Ki(u),upsert:c=>Hi(u,c),setStrategy:(...c)=>Wi(u,...c),broker:(...c)=>zi(u,...c),remove:c=>Yi(u,c),setPersonal:(...c)=>Zi(u,...c),removePersonal:c=>eo(u,c),setGitCredential:c=>Qi(u,c),startProviderOAuth:(...c)=>Vi(u,...c),pollProviderOAuth:(...c)=>Ji(u,...c),removeProviderOAuth:c=>Xi(u,c)},access:{list:()=>Ci(u),invite:(...c)=>Ii(u,...c),update:(...c)=>Ri(u,...c),revoke:c=>Ti(u,c),pendingInvites:()=>Ei(u),resendInvite:(...c)=>$i(u,...c),revokeInvite:(...c)=>ji(u,...c),requests:()=>Si(u),approveRequest:(...c)=>vi(u,...c),rejectRequest:(...c)=>Ai(u,...c),groupGrants:()=>Mi(u),attachGroupGrant:(...c)=>qi(u,...c),updateGroupGrant:(...c)=>Di(u,...c),detachGroupGrant:c=>Oi(u,c),resourceGrants:{list:()=>Ui(u),create:c=>Fi(u,c),remove:c=>Li(u,c)}},connectors:{...C(u),list:()=>ho(u),config:(...c)=>So(u,...c),create:(...c)=>Co(u,...c),remove:(...c)=>To(u,...c),sync:()=>bo(u),auth:{discover:(...c)=>Ro(u,...c)},setName:(...c)=>vo(u,...c),setCredentialMode:(...c)=>xo(u,...c),setAuthorizationStrategy:(...c)=>_o(u,...c),setCredential:(...c)=>$o(u,...c),setSensitive:(...c)=>Po(u,...c),connections:b,policies:{get:(...c)=>ko(u,...c),set:(...c)=>wo(u,...c)},pipedream:{listApps:(...c)=>Io(u,...c),listSections:(...c)=>Eo(u,...c),connect:(...c)=>Ao(u,...c),finalize:(...c)=>Mo(u,...c)},discover:{list:(...c)=>tn(u,...c),detail:(...c)=>nn(u,...c)}},policies:{list:()=>qo(u),set:(...c)=>Do(u,...c)},triggers:{list:()=>Ua(u),create:(...c)=>Fa(u,...c),update:(...c)=>La(u,...c),remove:(...c)=>Ga(u,...c),fire:(...c)=>Na(u,...c),setActivation:(...c)=>Ba(u,...c)},files:{list:c=>Wo(u,c),read:(c,S)=>Vo(u,c,S),search:(...c)=>zo(u,...c),archive:(...c)=>Jo(u,...c),history:(...c)=>ea(u,...c)},git:{commits:()=>Qo(u),commit:c=>Yo(u,c),commitDiff:c=>Zo(u,c),branches:()=>Xo(u),versionDiff:(...c)=>ta(u,...c),inviteCollaborator:(...c)=>ii(u,...c)},changeRequests:{list:()=>na(u),get:c=>ra(u,c),diff:c=>sa(u,c),mergePreview:c=>ia(u,c),open:(...c)=>oa(u,...c),merge:(...c)=>aa(u,...c),close:(...c)=>ca(u,...c),reopen:(...c)=>la(u,...c),requestChanges:(...c)=>ua(u,...c)},sessions:{list:c=>Ne(u,c),create:c=>Ke(u,c),ensureWarm:()=>xa(u),claimWarm:c=>_a(u,c)},review:{list:c=>Sl(u,c),get:c=>vl(u,c),submit:c=>Al(u,c),act:(...c)=>Cl(u,...c),bulkAct:c=>Rl(u,c)},approvals:{list:c=>Gi(u,c),resolve:(...c)=>Ni(u,...c),sessionsNeedingInput:c=>Bi(u,c)},gateway:{logs:c=>Dc(u,c),log:c=>Oc(u,c),overview:c=>Uc(u,c),series:c=>Fc(u,c),breakdown:c=>Lc(u,c),sessions:c=>Gc(u,c),errors:c=>Bc(u,c),budgets:()=>Nc(u),setBudget:c=>Kc(u,c),deleteBudget:c=>Hc(u,c),keys:()=>Wc(u),createKey:c=>zc(u,c),revokeKey:c=>Vc(u,c),routing:{get:()=>jc(u),set:c=>$c(u,c),reset:()=>Mc(u),preview:c=>qc(u,c)},playground:(c,S,w)=>Jc(u,c,S,w)},channels:{slack:{installation:()=>xc(u),connect:c=>_c(u,c),mode:()=>Pc(u),manifest:()=>kc(u),disconnect:()=>wc(u),getFile:c=>Sc(u,c),uploadFile:c=>vc(u,c)},email:{installation:c=>Cc(u,c),mode:()=>Rc(u),connect:c=>Tc(u,c),disconnect:c=>Ic(u,c),updatePolicy:(...c)=>Ec(u,...c)}},updateFeatureFlag:(...c)=>pi(u,...c),updateExperimentalFeature:(...c)=>di(u,...c),modelDefaults:{get:()=>Ha(u),set:c=>Wa(u,c),clear:c=>za(u,c)},setDefaultAgent:c=>Xa(u,c),sandbox:{list:()=>Ho(u),snapshots:()=>Uo(u),rebuildSnapshot:c=>Fo(u,c),fixWithAgent:()=>Lo(u),createTemplate:c=>Go(u,c),updateTemplate:(...c)=>Bo(u,...c),removeTemplate:c=>No(u,c),buildTemplate:c=>Ko(u,c),setProvider:c=>gi(u,c)},setAgentScope:(...c)=>Va(u,...c),session:c=>j(u,c)}}function j(u,b){let c=null,S,w,R=null;async function $(){R||(R=sn(u,b,{showErrors:!1}).then(y=>{let T=typeof y.metadata?.opencode_model=="string"?y.metadata.opencode_model.trim():"",z=T.indexOf("/"),U=z>0&&z<T.length-1?{providerID:T.slice(0,z),modelID:T.slice(z+1)}:void 0,F=y.agent_name?.trim()||void 0;return{model:U,agent:F}}));try{return await R}catch(y){throw R=null,y}}function D(){if(c)return c;let y=qp(u,b);return y&&(c=y),c}async function q(y){let T=D();if(T)return T;let z=y?.readyTimeoutMs??18e4,U=Lt(I().backendUrl??e.backendUrl).catch(()=>null),F=`${u}
20
- ${b}`,L=Tn.get(F);if(L)return c=await L,await U,c;let J=(async()=>{let N=Date.now()+z,Q=()=>Math.max(0,N-Date.now()),K=await Re(u,b,Math.min(3e4,Q()));for(;Date.now()<N&&(K==null||(K.stage==="provisioning"||K.stage==="starting")&&K.retriable);)await new Promise(Ie=>setTimeout(Ie,Math.min(1e3,Q()))),K=await Re(u,b,Math.min(3e4,Q()));if(!K||K.stage!=="ready"||!K.sandbox||!K.opencode_session_id)throw new A(`Session runtime not ready (stage: ${K?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let H=K.sandbox.external_id;if(!H)throw new A("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let Z=Mt(H);return ap(Z,H),{opencodeSessionId:K.opencode_session_id,runtimeUrl:Z,sandboxId:H}})();Tn.set(F,J);try{return c=await J,await U,c}finally{Tn.get(F)===J&&Tn.delete(F)}}function X(y){let T=D();if(!T)throw new ht(y);return T}function W(){c=null,Op(u,b)}return{get:y=>sn(u,b,y),cost:()=>un(b,{projectId:u}),update:y=>Ia(u,b,y),delete:()=>(W(),Ea(u,b)),start:(...y)=>Re(u,b,...y),restart:()=>(W(),gt(u,b)),stop:()=>(W(),mt(u,b)),configState:()=>ja(u,b),reloadConfig:y=>(W(),$a(u,b,y)),reloadConfigStream:(...y)=>(W(),Ma(u,b,...y)),setSharing:y=>ma(u,b,y),previews:()=>fa(u,b),commit:y=>pa(u,b,y),publicShares:{list:()=>ya(u,b),create:(...y)=>ha(u,b,...y),revoke:(...y)=>ba(u,b,...y)},audit:(y,T)=>Pa(u,b,y,T),transcript:y=>ka(u,b,y),transcriptSync:y=>wa(u,b,y),turn:()=>Sa(u,b),prompts:{create:y=>va(u,b,y),list:()=>Aa(u,b),remove:y=>Ca(u,b,y),retry:y=>Ra(u,b,y),hold:y=>Ta(u,b,y)},ensureReady:q,health:y=>bu(D()?.runtimeUrl??null,y),previewUrl:(y,T="/")=>he(y,T,r(X("previewUrl").sandboxId)),proxyUrl:y=>xu(y,r(X("proxyUrl").sandboxId)),setModel:y=>{S=y},changeModel:async y=>{let T=await Oa(u,b,y);return R=null,T},scope:()=>qa(u,b),rescope:y=>Da(u,b,y),setAgent:y=>{w=y},send:async(y,T)=>{let{opencodeSessionId:z,runtimeUrl:U}=await q(),F=T?.model??S,L=T?.agent??w,J=F&&L?{}:await $(),N=F??J.model,Q=L??J.agent;return ae(U).session.prompt({sessionID:z,parts:[{type:"text",text:y}],...N?{model:N}:{},...Q?{agent:Q}:{}})},abort:async()=>{let{opencodeSessionId:y,runtimeUrl:T}=await q();return ae(T).session.abort({sessionID:y})},rewind:async y=>{let{opencodeSessionId:T,runtimeUrl:z}=await q();return ae(z).session.revert({sessionID:T,messageID:y})},restoreRewind:async()=>{let{opencodeSessionId:y,runtimeUrl:T}=await q();return ae(T).session.unrevert({sessionID:y})},stream:async y=>{let{runtimeUrl:T}=await q();return Rn({client:ae(T),onEvent:y.onEvent,onGapRehydrate:y.onGapRehydrate,signal:y.signal})},get runtime(){return ae(X("runtime").runtimeUrl)},files:{list:async y=>it(y,(await q()).runtimeUrl),read:async y=>Oe(y,(await q()).runtimeUrl),readBlob:async y=>Ue(y,(await q()).runtimeUrl),status:async()=>ot((await q()).runtimeUrl),findFiles:async(y,T)=>at(y,T,(await q()).runtimeUrl),findText:async y=>ct(y,(await q()).runtimeUrl),upload:async(y,T,z)=>Fe(y,T,z,(await q()).runtimeUrl),write:async(y,T)=>Le(y,T,(await q()).runtimeUrl),create:async y=>lt(y,(await q()).runtimeUrl),copy:async(y,T)=>ut(y,T,(await q()).runtimeUrl),remove:async y=>ve(y,(await q()).runtimeUrl),mkdir:async y=>Ge(y,(await q()).runtimeUrl),rename:async(y,T)=>fe(y,T,(await q()).runtimeUrl)}}}return{config:e,auth:s,accounts:o,iam:l,accountInvites:d,projects:f,connectors:C(),project:E,session:j,github:m,billing:p,sandboxShares:h,connectStatus:x,marketplace:P,validateToken:ri,runtime:ox}}function ld(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let r=0;r<16;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=[...t].map(r=>r.toString(16).padStart(2,"0"));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n.slice(10).join("")}`}function ud(){return{pending:[],failed:[],inFlightId:null,inFlightIds:[]}}function ze(e){return e.inFlightIds?.length?e.inFlightIds:e.inFlightId?[e.inFlightId]:[]}function pd(e,t){return{...e,pending:[...e.pending,{...t,attempts:0}]}}function dd(e){if(ze(e).length>0)return{state:e};let t=e.pending[0];if(!t)return{state:e};let n={...t,attempts:t.attempts+1};return{state:{...e,pending:[n,...e.pending.slice(1)],inFlightId:n.id,inFlightIds:[n.id]},claimed:n}}function gd(e){let t=ze(e);return t.length===0?e:{...e,pending:e.pending.filter(n=>!t.includes(n.id)),inFlightId:null,inFlightIds:[]}}function md(e,t){let n=ze(e);if(n.length===0)return e;let r=e.pending.filter(s=>n.includes(s.id));return r.length===0?{...e,inFlightId:null,inFlightIds:[]}:{pending:e.pending.filter(s=>!n.includes(s.id)),failed:[...e.failed,...r.map(s=>({...s,lastError:t}))],inFlightId:null,inFlightIds:[]}}function fd(e,t){let n=e.failed.find(o=>o.id===t);if(!n)return e;let{lastError:r,...s}=n;return{...e,pending:[...e.pending,s],failed:e.failed.filter(o=>o.id!==t)}}function yd(e,t){return ze(e).includes(t)?e:e.pending.some(n=>n.id===t)?{...e,pending:e.pending.filter(n=>n.id!==t)}:e.failed.some(n=>n.id===t)?{...e,failed:e.failed.filter(n=>n.id!==t)}:e}function hd(e,t,n){return ze(e).includes(t)||!e.pending.some(r=>r.id===t)?e:{...e,pending:e.pending.map(r=>r.id===t?{...r,text:n}:r)}}function bd(e,t,n){let r=ze(e);if(r.includes(t))return e;let s=e.pending.findIndex(f=>f.id===t);if(s===-1)return e;let o=r.length,l=Math.min(Math.max(n,o),e.pending.length-1);if(l===s)return e;let p=[...e.pending],[d]=p.splice(s,1);return p.splice(l,0,d),{...e,pending:p}}var Pu={thinking:!1,toolDetails:!0,assistantMetadata:!0};function ax(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function cx(e){let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let n=Math.floor(t/60),r=t%60;return`${n}m ${r.toFixed(0)}s`}function lx(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
19
+ `);let k=Ty(_);if(k){if(r(k),k.type==="error")throw new A(k.error,{status:k.status,code:k.code,data:{reason:k.reason}});k.type==="done"&&(f=k.result)}}}}finally{u.cancel().catch(()=>{})}if(!f)throw new Error("Reload stream ended without a result");return f}async function La(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function Ga(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function Ba(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function Na(e){return a(await i.get(`/projects/${e}/triggers`))}async function Ka(e,t){return a(await i.post(`/projects/${e}/triggers`,t))}async function Ha(e,t,n){return a(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function Wa(e,t){return a(await i.delete(`/projects/${e}/triggers/${t}`))}async function za(e,t){return a(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Va(e,t){return a(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var he=new Map;function Ja(e,t){return`${e}::${t}`}function Gp(e,t){he.delete(e),he.set(e,t)}function Bp(e,t){let n=Ja(e,t),r=he.get(n);return r&&Gp(n,r),r}function Np(e,t,n){let r=Ja(e,t);if(!he.has(r)&&he.size>=512){let s=he.keys().next().value;s!==void 0&&he.delete(s)}Gp(r,n)}function Kp(e,t){he.delete(Ja(e,t))}function Iy(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 an=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 Ey(e){return e instanceof Error&&e.name==="SessionStartError"}function jy(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 an(s,{status:n,code:r,terminal:!0}):null}async function Re(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=jy(s.error);if(p&&!(p.status===404&&ba(t)))throw p;return null}let o=s.data,u=o.sandbox?.external_id;return o.stage==="ready"&&u&&o.opencode_session_id&&Np(e,t,{opencodeSessionId:o.opencode_session_id,runtimeUrl:Dt(u),sandboxId:u}),o}function $y(e,t){return["session-start",e,t]}async function Xa(e){return a(await i.get(`/projects/${e}/model-defaults`))}async function Qa(e,t){return a(await i.put(`/projects/${e}/model-defaults`,t))}async function Ya(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function My(e,t){return a(await i.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function Za(e,t,n){let r=qy(n);return a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function Hp(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Dy(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function qy(e){let t=e.connectors_required?Hp(e.connectors_required):void 0,n=e.connectors_personal?Hp(e.connectors_personal):void 0;if(t&&n&&!Dy(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 Oy(e,t){let n=a(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?ec(n.block):null}}async function Uy(e,t,n){let r=ec(n),s=a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?ec(s.block):null}}function Wp(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Fy(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function ec(e){let t=e.connectors_required?Wp(e.connectors_required):void 0,n=e.connectors_personal?Wp(e.connectors_personal):void 0;if(t&&n&&!Fy(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 Ly(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/grant`,{agent:n}))}async function tc(e,t){return a(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function cn(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}function Gy(e){let t=e.trim().toLowerCase();return t===""||t==="free"||t==="none"?"free":t==="enterprise"?"enterprise":"team"}function By(e){let t=e?.plan;if(t)return{family:t.family,label:t.label,sublabel:t.sublabel??null,isGrandfathered:t.is_grandfathered===!0};let n=e??cn(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:Gy(r),label:s,sublabel:null,isGrandfathered:!1}}async function nc(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?cn():s.data}async function rc(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?cn():s.data}async function sc(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return a(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function ic(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return a(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function oc(){return a(await i.get("/billing/credit-breakdown"))}async function ac(e){let t=e!=null?`?days=${e}`:"";return a(await i.get(`/billing/usage-history${t}`))}async function cc(){return a(await i.get("/billing/tier-configurations"))}async function Ny(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Ne(e,`/v1/billing/account-state${t}`)}async function lc(e){return a(await i.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function uc(e,t){return a(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function pc(e,t){return a(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function dc(e,t){return a(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function gc(e){return a(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function mc(e,t,n){return a(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function fc(e){return a(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function yc(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),a(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function hc(e){return a(await i.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function bc(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function xc(e){return a(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount},{showErrors:!1}),"Failed to configure auto-topup")}async function Ky(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Hy(e){return a(await i.post("/billing/create-per-seat-checkout",{account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl,locale:e.locale}),"Failed to create per-seat checkout")}async function Wy(e){return a(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function zy(e){return a(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function _c(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 a(await i.get(`/usage${n?`?${n}`:""}`))}function kc(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function ln(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function un(e){return e.size>0?`?${e}`:""}async function wc(e={}){let t=new URLSearchParams;return kc(t,e),e.ownerId&&t.set("owner_id",e.ownerId),ln(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)),a(await i.get(`/usage/session-costs${un(t)}`))}async function pn(e,t={}){let n=new URLSearchParams;return kc(n,t),a(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${un(n)}`))}async function Vy(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),ln(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)),a(await i.get(`/usage/cost-by-project${un(t)}`))}async function Jy(e={}){let t=new URLSearchParams;return kc(t,e),e.sessionId&&t.set("session_id",e.sessionId),ln(t,e),a(await i.get(`/usage/cost-summary${un(t)}`))}function Pc(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)}ln(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`${j().backendUrl||""}${r}?${n}`}async function Xy(e,t={}){let n=Pc(e==="projects"?"projects":"sessions",t),r=await re(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let d=await s.text().catch(()=>"");throw new Error(d||`Failed to export CSV (HTTP ${s.status})`)}let o=s.headers.get("x-kortix-row-cap"),u=o!=null?Number(o):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function zp(e,t){return a(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function Qy(e){return zp("slack",e)}function Yy(e){return zp("teams",e)}async function Sc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function vc(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Zy={oauth_available:!1,install_url:null};async function Ac(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Zy:t.data}async function Cc(e){return a(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Rc(e){let t=await i.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function Tc(e,t){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Ic(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Ec(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 eh={provider:"agentmail",managed_available:!1};async function jc(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Ec(r.data):null}async function $c(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?eh:t.data}async function Mc(e,t){let n=a(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Ec(n)}async function Dc(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function qc(e,t,n){let r=a(await i.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Ec(r)}async function th(e){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function nh(e,t,n){return a(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Oc(e){return a(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Uc(e,t){return a(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Fc(e){return a(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Lc(e,t){return a(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Gc(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return a(await i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Bc(e,t){return a(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Nc(e,t){return a(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Kc(e,t){return a(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Hc(e,t){return a(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Wc(e,t){return a(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function zc(e,t){return a(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Vc(e){return a(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Jc(e,t){return a(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Xc(e,t){return a(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Qc(e){return a(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Yc(e,t){return a(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Zc(e,t){return a(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function el(e,t,n,r,s){return a(await i.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function rh(e,t){return a(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function sh(){return a(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function ih(){return a(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function oh(e){return a(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function ah(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function ch(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return a(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function lh(e){return a(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function w(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function O(e){return i.get(e,{showErrors:!1})}async function tl(e){return w(await O(`/accounts/${e}/iam/groups`)).groups}async function nl(e,t){return w(await O(`/accounts/${e}/iam/groups/${t}`))}async function rl(e,t){return w(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function sl(e,t,n){return w(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function il(e,t){return w(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function ol(e,t){return w(await O(`/accounts/${e}/iam/groups/${t}/members`)).members}async function al(e,t,n){return w(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function uh(e,t){return w(await O(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function cl(e,t,n){return w(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function ph(e,t){return w(await O(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function dh(e,t){let n=w(await O(`/accounts/${e}/iam/members/${t}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}async function gh(e,t={}){let n=new URLSearchParams;t.resourceType&&n.set("resourceType",t.resourceType),t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.projectId&&n.set("projectId",t.projectId);let r=n.toString();return w(await O(`/accounts/${e}/iam/resource-grants${r?`?${r}`:""}`)).grants}async function mh(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 w(await O(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function fh(e,t){return w(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function yh(e,t,n){return w(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function hh(e,t){return w(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function bh(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function xh(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function ll(e){return w(await O(`/accounts/${e}/iam/roles`)).roles}async function ul(e){return w(await O(`/accounts/${e}/iam/agent-identities`)).agents}async function pl(e,t){return w(await O(`/accounts/${e}/iam/roles/${t}/permissions`))}async function _h(e){return w(await O(`/accounts/${e}/iam/actions`)).actions}async function dl(e,t){return w(await O(`/accounts/${e}/iam/roles/${t}/usage`))}async function gl(e,t){return w(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function ml(e,t,n){return w(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function fl(e,t,n){return w(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function yl(e,t){return w(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function Ph(e,t,n){return w(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function kh(e){return w(await O(`/accounts/${e}/iam/scim/tokens`)).tokens}async function wh(e,t){return w(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function Sh(e,t){return w(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function vh(e){return w(await O(`/accounts/${e}/iam/mfa-required`))}async function Ah(e){return w(await O(`/accounts/${e}/iam/mfa-required/preview`))}async function Ch(e,t){return w(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function Rh(e){return w(await O(`/accounts/${e}/iam/sso/provider`)).provider}async function Th(e,t){return w(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Ih(e,t){return w(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function Eh(e){return w(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function jh(e){return w(await O(`/accounts/${e}/iam/sso/mappings`)).mappings}async function $h(e,t){return w(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function Mh(e,t){return w(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Dh(e){return w(await O(`/accounts/${e}/iam/session-policy`))}async function qh(e,t){return w(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Oh(e){return w(await O(`/accounts/${e}/iam/sessions`)).sessions}async function Uh(e,t){return w(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function Fh(e){return w(await O(`/accounts/${e}/iam/pat-policy`))}async function Lh(e,t){return w(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Gh(e){return w(await O(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function Bh(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Nh(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Kh(e,t){return w(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Hh(e){return w(await O(`/accounts/${e}/audit/webhooks`)).webhooks}async function Wh(e,t){return w(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function zh(e,t,n){return w(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Vh(e,t){return w(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Jh(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.phase&&n.set("phase",t.phase),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 w(await O(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function hl(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),w(await O(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function bl(e,t,n){return n.length===0?[]:w(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function Xh(e){return w(await O(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function Qh(e,t){return w(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function xl(e){return a(await i.get(`/accounts/${e}/iam/oauth-clients`,{showErrors:!1}))}async function _l(e,t){return a(await i.get(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}async function Pl(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients`,t,{showErrors:!1}))}async function kl(e,t,n){return a(await i.patch(`/accounts/${e}/iam/oauth-clients/${t}`,n,{showErrors:!1}))}async function wl(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients/${t}/rotate-secret`,{},{showErrors:!1}))}async function Sl(e,t){return a(await i.delete(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}function Vp(e){return i.get(e,{showErrors:!1})}function Yh(e){let t=new URLSearchParams;e?.principalType&&t.set("principal_type",e.principalType),e?.principalId&&t.set("principal_id",e.principalId),e?.scopeType&&t.set("scope_type",e.scopeType),e?.scopeId&&t.set("scope_id",e.scopeId),e?.objectType&&t.set("object_type",e.objectType),e?.objectId&&t.set("object_id",e.objectId),e?.roleId&&t.set("role_id",e.roleId),e?.includeExpired&&t.set("include_expired","true");let n=t.toString();return n?`?${n}`:""}async function vl(e,t){return a(await Vp(`/accounts/${e}/iam/assignments${Yh(t)}`)).assignments}async function Al(e,t){let n={principal_type:t.principal.type,principal_id:t.principal.id,scope_type:t.scope.type,scope_id:t.scope.type==="project"?t.scope.id:null};return t.roleId?n.role_id=t.roleId:n.role_key=t.roleKey,t.object&&(n.object_type=t.object.type,n.object_id=t.object.id),t.expiresAt!==void 0&&(n.expires_at=t.expiresAt),a(await i.post(`/accounts/${e}/iam/assignments`,n))}async function Cl(e,t){return a(await i.delete(`/accounts/${e}/iam/assignments/${t}`)).assignment}async function Rl(e,t){let n=t?.scopeType?`?scope_type=${t.scopeType}`:"";return a(await Vp(`/accounts/${e}/iam/permissions${n}`)).permissions}async function Zh(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:a(e,"Failed to load account deletion status")}async function eb(e="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function tb(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function nb(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function rb(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function sb(){return i.get("/admin/api/provider-distribution").then(e=>a(e))}function ib(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>a(t))}function ob(e){return i.put("/admin/api/provider-distribution",e).then(t=>a(t))}function ab(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>a(t))}function cb(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>a(n))}function lb(){return i.get("/admin/api/provider-fallback").then(e=>a(e))}function ub(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>a(t))}async function pb(e){return a(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function db(e,t){return a(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:e,sandbox_url:t},{timeout:18e4}),"Failed to upload to Google Slides")}async function Tl(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return a(await i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Il(e,t){return a(await i.get(`/projects/${e}/review/items/${t}`))}async function El(e,t){return a(await i.post(`/projects/${e}/review/items`,t))}async function jl(e,t,n){return a(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function $l(e,t){return a(await i.post(`/projects/${e}/review/bulk`,t))}async function Ml(e){return a(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Dl(e){return a(await i.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function ql(e,t){let n=await i.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var dn=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Jp(e,t=""){return`${nt()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Xp(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 dn(s,t.status)}return r}async function gb(e){return Xp(Jp(e))}async function mb(e){return Xp(Jp(e,"/messages"))}async function Ol(e,t){let n=new URLSearchParams;e&&n.set("account_id",e),t?.mine&&n.set("mine","true");let r=n.size>0?`?${n.toString()}`:"";return a(await i.get(`/accounts/tokens${r}`))}async function Ul(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return a(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Fl(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.delete(`/accounts/tokens/${e}${n}`))}async function Ll(e){return a(await i.get(`/projects/${e}/cli-token`))}async function Gl(e,t){return a(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Bl(e,t){return a(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Nl(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?.phase&&n.set("phase",t.phase),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 a(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Kl(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?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.phase&&n.set("phase",t.phase),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 a(await i.get(`/projects/${e}/audit${r?`?${r}`:""}`))}async function Hl(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?.phase&&n.set("phase",t.phase),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 a(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function Wl(e){return a(await i.get(`/accounts/${e}/audit/webhooks`))}async function zl(e,t){return a(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function Vl(e,t,n){return a(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Jl(e,t){return a(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Xl(e,t){return a(await i.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function Ql(e,t){return a(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function fb(e){return a(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function Yl(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 a(await i.get(`/marketplace/items${n}`))}async function Zl(){return a(await i.get("/marketplace/marketplaces"))}async function eu(){return a(await i.get("/marketplace/marketplaces/featured"))}async function tu(e){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function nu(e,t){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function ru(){return a(await i.get("/marketplace/sources"))}async function su(e){return a(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function iu(e){return a(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function yb(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function hb(e){return a(await i.get(`/templates/${encodeURIComponent(e)}`))}async function bb(e,t){return a(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}async function ou(e){return a(await i.get(`/projects/${e}/apps`),"Failed to list Apps").apps}async function au(e,t){return a(await i.post(`/projects/${e}/apps`,t),"Failed to create App")}async function cu(e,t){return a(await i.get(`/projects/${e}/apps/${t}`),"Failed to load App")}async function lu(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}`,n),"Failed to update App")}async function uu(e,t){return a(await i.delete(`/projects/${e}/apps/${t}`),"Failed to delete App")}async function pu(e,t){return a(await i.get(`/projects/${e}/apps/${t}/access`),"Failed to load App access policy")}async function du(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}/access`,n),"Failed to update App access policy")}async function gu(e,t){return a(await i.post(`/projects/${e}/apps/${t}/access-session`,{}),"Failed to create App access session")}async function gn(e,t){return a(await i.post(`/projects/${e}/apps/artifacts`,t),"Failed to register App artifact")}async function mn(e,t,n){return a(await i.post(`/projects/${e}/apps/artifacts/${t}/finalize`,n),"Failed to finalize App artifact")}async function xb(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function _b(e){let t=Uint8Array.from(e),n=await globalThis.crypto.subtle.digest("SHA-256",t.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function mu(e,t,n={}){let r=await xb(t),s=n.mediaType??"application/gzip",o=await gn(e,{kind:"archive",media_type:s});if(!o.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>o.upload.max_bytes)throw new Error(`App artifact exceeds ${o.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let u=await fetch(o.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!u.ok){let p=await u.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${u.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),mn(e,o.artifact.artifact_id,{sha256:await _b(r),size_bytes:r.byteLength})}async function fu(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/deployments`,n),"Failed to create App deployment")}async function yu(e,t){return a(await i.get(`/projects/${e}/apps/${t}/deployments`),"Failed to list App deployments").deployments}async function hu(e,t,n){return a(await i.get(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to load App deployment")}async function bu(e,t,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let o=s.size?`?${s.toString()}`:"";return a(await i.get(`/projects/${e}/apps/${t}/deployments/${n}/logs${o}`),"Failed to load App logs")}async function xu(e,t){return a(await i.post(`/projects/${e}/apps/${t}/start`,{}),"Failed to start App")}async function _u(e,t){return a(await i.post(`/projects/${e}/apps/${t}/stop`,{}),"Failed to stop App")}async function Pu(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/rollback`,{deployment_id:n}),"Failed to roll back App")}var We=class extends Error{constructor(n,r,s){super(r);this.code=n;this.status=s;this.name="HeadlessAuthError"}code;status};function Pb(e){let t=oe(e?.backendUrl??j().backendUrl??"");if(!t)throw new We("not_configured","backendUrl is not configured (configureKortix / createKortix first)",0);return t.endsWith("/v1")?t:`${t}/v1`}async function W(e,t,n){let r=n?.fetch??j().fetch??((d,f)=>fetch(d,f)),s={accept:"application/json"};t.body!==void 0&&(s["content-type"]="application/json"),t.bearer&&(s.authorization=`Bearer ${t.bearer}`);let o=await r(`${Pb(n)}${e}`,{method:t.method??(t.body!==void 0?"POST":"GET"),headers:s,...t.body!==void 0?{body:JSON.stringify(t.body)}:{},...n?.signal?{signal:n.signal}:{}}),u=await o.text().catch(()=>""),p=null;try{p=u?JSON.parse(u):null}catch{p=u}if(!o.ok){let d=p&&typeof p=="object"?p:{};throw new We(typeof d.error=="string"?d.error:"auth_error",typeof d.error_description=="string"&&d.error_description?d.error_description:typeof d.error=="string"?d.error:o.statusText||`HTTP ${o.status}`,o.status)}return p}function fn(e,t){return W("/auth/signup",{body:e},t)}function yn(e,t){return W("/auth/sign-in/password",{body:e},t)}function hn(e,t){return W("/auth/sign-in/magic-link",{body:e},t)}function bn(e,t){return W("/auth/verify-otp",{body:e},t)}function xn(e,t){return W("/auth/sign-in/oauth",{body:e},t)}function _n(e,t){return W("/auth/oauth/exchange",{body:e},t)}function ze(e,t){return W("/auth/refresh",{body:e},t)}function Pn(e,t){return W("/auth/password/reset",{body:e},t)}function kn(e,t,n){return W("/auth/password/update",{body:e,bearer:t},n)}function wn(e,t){return W("/auth/user",{bearer:e},t)}function Sn(e,t,n){return W("/auth/user",{method:"PATCH",body:e,bearer:t},n)}function vn(e,t){return W("/auth/sign-in/sso",{body:e},t)}var An={enroll:(e,t,n)=>W("/auth/mfa/factors",{body:e,bearer:t},n),challenge:(e,t={},n,r)=>W(`/auth/mfa/factors/${encodeURIComponent(e)}/challenge`,{body:t,bearer:n},r),verify:(e,t,n,r)=>W(`/auth/mfa/factors/${encodeURIComponent(e)}/verify`,{body:t,bearer:n},r),unenroll:(e,t,n)=>W(`/auth/mfa/factors/${encodeURIComponent(e)}`,{method:"DELETE",bearer:t},n)};function Cn(e,t={},n){return W("/auth/sign-out",{body:t,bearer:e},n)}function Rn(e={}){let t=e.refreshSkewSeconds??60,n=e.now??(()=>Date.now()),r=null,s=null,o=!e.storage,u=null,p=new Set,d=_=>(_.expires_at??0)*1e3,f=_=>d(_)-t*1e3<=n();async function m(){e.storage&&(r?await e.storage.set(JSON.stringify({session:r,user:s})):await e.storage.remove());for(let _ of[...p])try{_(r)}catch{}try{e.onChange?.(r)}catch{}}async function h(){if(o)return r;o=!0;let _=await e.storage.get();if(_)try{let k=JSON.parse(_);k.session?.access_token&&k.session?.refresh_token&&(r=k.session,s=k.user??null)}catch{r=null}return r}async function x(){if(await h(),!r)return null;if(!u){let _=r.refresh_token;u=ze({refresh_token:_},e.request).then(async k=>(r=k.session,k.user&&(s=k.user),await m(),r)).catch(async k=>{let R=k&&typeof k=="object"&&"status"in k?k.status:0;if(R>=400&&R<500)return r=null,s=null,await m(),null;throw k}).finally(()=>{u=null})}return u}return{subscribe(_){return p.add(_),()=>{p.delete(_)}},current:()=>r,user:()=>s,load:h,async set(_,k){await h(),r=_,k!==void 0&&(s=k),_||(s=null),await m()},async getToken(){return await h(),r?f(r)?(await x().catch(()=>r))?.access_token??null:r.access_token:null},refresh:x,async clear(){r=null,s=null,o=!0,await m()}}}var wb=["control_plane","provider_ingress","daemon","upstream_port"];function ku(e){return typeof e=="string"&&wb.includes(e)?e:null}function Sb(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 wu(e,t){let n=(e===void 0?ie():e)||null;if(!n)return{status:0,ok:!1,health:null,body:"",hop:null,upstreamStatus:null};let r=await M(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}let u=o,p=ku(r.headers.get("X-Kortix-Proxy-Hop"))??ku(o?.hop),d=Number(r.headers.get("X-Kortix-Upstream-Status")),f=o?.upstream_status,m=Number.isFinite(d)&&d>0?d:typeof f=="number"?f:null;return{status:r.status,ok:r.ok,health:u,body:s,hop:p,upstreamStatus:m}}var le={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var Qp=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Yp=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Zp=/^https?:\/\/(?:dev|staging|prod|preview)-p(\d+)-([a-z0-9-]+)\.[^/]+?(?::(\d+))?(\/.*)?$/i,ed=new Set([22,4096,parseInt(le.KORTIX_MASTER,10)]);function vb(e){return Yp.test(e)}function Tn(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 Ab(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Cb=new Set(["'",'"',"`","<","(","["]),Rb=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Tb(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&&Cb.has(e[t]);)t++;for(;n>t&&Rb.has(e[n-1]);)n--;return e.slice(t,n)}function Ib(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Eb=/^\/proxy\/(\d{1,5})(\/.*)?$/,jb=/^\/(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 td(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:jb.test(t.pathname)}catch{return!1}}function ht(e){if(!e)return null;let t=Tb(Ab(e.trim())),n=vu(t);if(n){let r=Tn(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let o=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(le.KORTIX_MASTER,10);if(s===u){let d=r.pathname.match(Eb);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=Tn(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=Tn(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Ib(e);return r&&r!==e?ht(r):null}}function $b(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let o=r.index,u=o+r[0].length;t.some(([d,f])=>o>=d&&u<=f)||t.push([o,u])}return t}function Mb(e,t){return t.some(([n,r])=>e>=n&&e<r)}function nd(e){let t=[],n=new Set,r=$b(e);Qp.lastIndex=0;let s;for(;(s=Qp.exec(e))!==null;){let o=ht(s[0]);if(!o)continue;let{originalUrl:u,port:p,path:d}=o;p<1||p>65535||ed.has(p)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:p,path:d,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Mb(s.index,r)}))}return t}function Db(e){return nd(e).length>0}function qb(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function rd(e){return e.trim().toLowerCase().split("_").join("-")}function sd(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Ob(e,t,n){let r=n.previewUrlTemplate;if(!r||!r.includes("{port}")||!r.includes("{sandbox}"))return null;let s=r.split("{port}").join(String(e)).split("{sandbox}").join(rd(n.sandboxId));return`${sd(s)}${t}`}function id(e){return e.sandboxId.trim().length>0}function be(e,t,n){let r=Tn(t);if(!id(n))return ld(e,r);let s=Ob(e,r,n);return s||(qb(n.apiBaseUrl)?`http://p${e}-${rd(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${sd(n.apiBaseUrl)}/p/${n.sandboxId}/${e}${r}`)}function Ub(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return be(3211,`/open?path=/workspace/${r}`,t)}function od(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Fb(e){return`http://localhost:3211${od(e)}`}function ad(){return"/health"}function Lb(e){return be(3211,ad(),e)}function Gb(e,t){return be(e,"/",t)}function cd(e){let t=ht(e);return!(!t||ed.has(t.port)||td(e))}function Su(e,t){if(!e)return e;let n=ht(e);return n?cd(n.originalUrl)?be(n.port,n.path,t):n.originalUrl:e}function ld(e,t="/"){return`http://localhost:${e}${t}`}var ud=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function vu(e){let t=e.match(Yp);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(Zp);if(n){let s=443;try{let o=new URL(e);s=o.port?parseInt(o.port,10):o.protocol==="https:"?443:80}catch{return null}return{port:parseInt(n[1],10),sandboxId:n[2],backendPort:s,path:n[4]||"/"}}let r=e.match(ud);if(r)try{let s=new URL(e);return{port:parseInt(r[2],10),sandboxId:r[1],backendPort:parseInt(s.port,10)||(s.protocol==="https:"?443:80),path:r[3]||"/"}}catch{return null}return null}function Bb(e){try{let t=vu(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function Nb(e){return vb(e)||Zp.test(e)||ud.test(e)}function Kb(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var yt="/web-proxy/";function Hb(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${yt}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(le.KORTIX_MASTER,10);return`${be(o,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Wb(e){try{let t=new URL(e),n=t.pathname.indexOf(yt);if(n===-1)return null;let s=t.pathname.slice(n+yt.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],u=s[2],p=s[3]||"/";return`${o}://${u}${p}${t.search}${t.hash}`}catch{return null}}function zb(e){try{return new URL(e).pathname.includes(yt)}catch{return e.includes(yt)}}function Vb(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 Jb(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 pd="frontend";function In(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${pd}] ${t}`,...n?[n]:[]);try{me().app.log({service:pd,level:e,message:t,extra:n})}catch{}}var xe={debug:(e,t)=>In("debug",e,t),info:(e,t)=>In("info",e,t),warn:(e,t)=>In("warn",e,t),error:(e,t)=>In("error",e,t)};function dd(e){return{type:"heartbeat-gap",gapMs:e}}function gd(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 Xb={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Qb=16,Yb=8,Zb=6e4,ex=5e3,tx=250,nx=1e3,rx=3e4,sx=5,ix=3e3,ox=3e4,ax=2e4,cx=2e3,lx=8;function ux(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function md(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)}}var En=new WeakMap;function px(e,t,n){let r=t.timers??Xb,s=t.connectTimeoutMs??ax,o=t.heartbeatTimeoutMs??Zb,u=t.maxConsecutiveHardFailures??lx,p=new AbortController;function d(E,...l){for(let b of n){let c=E(b);if(c)try{c(...l)}catch(v){console.warn("[opencode-events] subscriber handler threw, skipping",v)}}}let f=r.now(),m=[],h,x=0,_=new Map,k=()=>{if(h&&r.clearTimeout(h),h=void 0,m.length===0)return;let E=m;m=[],_.clear(),x=r.now(),f=r.now();for(let l of E)l&&d(b=>b.onEvent,l.event)},R=()=>{if(h)return;let E=r.now()-x;h=r.setTimeout(k,Math.max(0,Qb-E))};return(async()=>{let E=0,l=0;for(;!p.signal.aborted;){let b=!1,c=!1,v,S,T=null,$=r.now(),q=new AbortController,D=md(p.signal);D.promise.then(()=>q.abort());try{let U=await new Promise((Y,K)=>{let H=!1;S=r.setTimeout(()=>{H||(H=!0,xe.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),q.abort(),K(new Error(`SSE connect timed out after ${s}ms`)))},s),e.global.event({signal:q.signal,sseDefaultRetryDelay:ix,sseMaxRetryDelay:ox,sseMaxRetryAttempts:1}).then(ee=>{H||(H=!0,r.clearTimeout(S),Y(ee))},ee=>{H||(H=!0,r.clearTimeout(S),K(ee))})}),{stream:F}=U;f=r.now();let L=()=>{r.clearTimeout(v),v=r.setTimeout(()=>{xe.warn("SSE heartbeat timeout, forcing reconnect"),q.abort()},o)};L();let X=r.now(),N=F[Symbol.asyncIterator]();for(;!q.signal.aborted;){let Y=N.next().then(de=>({kind:"next",result:de}),de=>({kind:"error",error:de})),K=md(q.signal),H=await Promise.race([Y,K.promise.then(()=>({kind:"aborted"}))]);if(K.cleanup(),H.kind==="aborted")break;if(H.kind==="error")throw H.error;if(H.result.done)break;b=!0,L();let ee=H.result.value,Ie=ee&&typeof ee=="object"&&"payload"in ee?ee.payload:ee;if(!Ie?.type)continue;let Hn=ux(Ie);if(Hn){let de=_.get(Hn);de!==void 0&&(m[de]=void 0),_.set(Hn,m.length)}m.push({type:Ie.type,event:Ie}),R(),!(r.now()-X<Yb)&&(X=r.now(),await new Promise(de=>r.setTimeout(de,0)))}c=b}catch(U){if(p.signal.aborted)break;T=U;let F=String(U),L=F.includes("401")||F.includes("403")||F.includes("Unauthorized")||F.includes("Token refresh failed");if(xe.error("SSE event stream error",{error:F,retryCount:E,isAuthError:L}),L)try{tt(),await Mt(),xe.info("SSE: refreshed auth token after auth error")}catch(X){xe.error("SSE: failed to refresh auth token",{error:String(X)})}}finally{r.clearTimeout(v),r.clearTimeout(S),q.abort(),D.cleanup(),k()}if(p.signal.aborted)break;let Q=r.now()-$,z=T?.cause?.status;if(l=!b&&(typeof z=="number"&&z>=400||Q<cx)?l+1:0,l>=u){xe.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:l,lastError:String(T)}),d(U=>U.onParked,{consecutiveFailures:l,lastError:T});break}let I=r.now()-f;I>ex&&d(U=>U.onGapRehydrate,I),c?E=0:(E++,E>1&&xe.warn("SSE event stream reconnecting",{retryCount:E}));let V=c?tx:Math.min(nx*2**Math.min(E-1,sx),rx);await new Promise(U=>{let F=r.setTimeout(U,V),L=()=>{r.clearTimeout(F),U()};p.signal.addEventListener("abort",L,{once:!0})})}})(),{subscribers:n,teardown:()=>{p.abort(),h&&r.clearTimeout(h)}}}function jn(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=e,u={onEvent:n,onGapRehydrate:r,onParked:s},p=En.get(t);p?p.subscribers.add(u):(p=px(t,e,new Set([u])),En.set(t,p));let d=p,f=!1,m=()=>{f||(f=!0,o&&o.removeEventListener("abort",h),d.subscribers.delete(u),d.subscribers.size===0&&(d.teardown(),En.get(t)===d&&En.delete(t)))},h=()=>m();return o&&(o.aborted?m():o.addEventListener("abort",h,{once:!0})),{close:m}}function dx(){return me()}var $n=new Map,bt=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 fd(e,t){Ct(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 A(`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 b=j().backendUrl??e.backendUrl,c=80,v=n(b);return v&&(c=v.port?Number(v.port):v.protocol==="https:"?443:80),Tp({sandboxId:l,apiBaseUrl:b,backendPort:c})}let s={signUp:fn,signInWithPassword:yn,sendMagicLink:hn,verifyOtp:bn,signInWithProvider:xn,exchangeCode:_n,refresh:ze,resetPassword:Pn,updatePassword:kn,updateUserMetadata:Sn,signInWithSso:vn,mfa:An,user:wn,signOut:Cn,session:Rn},o={list:Bs,get:Ks,create:Ns,updateName:Hs,branding:{get:Ws,update:zs,uploadAsset:Vs,removeAsset:Js,reset:Xs},leave:ai,members:Qs,invite:Ys,removeMember:ii,updateMemberRole:oi,invites:Zs,cancelInvite:ei,resendInvite:ti,tokens:{list:Ol,create:Ul,revoke:Fl},audit:{log:Nl,export:Hl,webhooks:{list:Wl,create:zl,update:Vl,remove:Jl}}},u={assignments:{list:vl,create:Al,revoke:Cl},permissions:{list:Rl,forRole:pl},roles:{list:ll,create:gl,update:ml,setPermissions:fl,remove:yl,usage:dl},groups:{list:tl,get:nl,create:rl,update:sl,remove:il,members:{list:ol,add:al,remove:cl}},agentIdentities:ul,oauthClients:{list:xl,get:_l,create:Pl,update:kl,rotateSecret:wl,remove:Sl},can:hl,canBatch:bl},p={accountState:nc,accountStateMinimal:rc,transactions:sc,transactionsSummary:ic,creditBreakdown:oc,usageHistory:ac,usageRollup:_c,sessionCosts:{list:wc,get:pn},tierConfigurations:cc,checkout:{createSession:l=>lc(l),confirmSession:(l,b)=>uc(l,b)},subscription:{createPortalSession:(l,b)=>pc(l,b),cancel:(l,b)=>dc(l,b),reactivate:l=>gc(l),scheduleDowngrade:(l,b,c)=>mc(l,b,c),cancelScheduledChange:l=>fc(l),prorationPreview:(l,b)=>yc(l,b)},credits:{purchase:l=>hc(l),autoTopupSettings:l=>bc(l),configureAutoTopup:l=>xc(l)}},d={describe:ni,accept:ri,decline:si},f={list:Ce,listForAccount:li,get:Jt,detail:Xt,create:gi,createRepo:mi,provision:fi,update:Zt,archive:en,llmCatalog:Qt,modelPicker:Yt,sandboxHealth:sn,sandboxTemplates:Bo,sessions:Ke,createSession:He},m={linkRepository:_i,getInstallation:Pi,listInstallations:ki,listLinkableInstallations:wi,listRepositories:Si,listRepositoryBranches:vi,linkInstallation:Ci,saveInstallation:Ai,deleteInstallation:Ri},h={list:Ml,create:Dl,revoke:ql},x=Oo,_={items:l=>Yl(l),item:l=>tu(l),itemFile:(l,b)=>nu(l,b),marketplaces:()=>Zl(),featured:()=>eu(),sources:{list:()=>ru(),add:l=>su(l),remove:l=>iu(l)}};function k(l){return{catalog:()=>tn(l),tools:()=>dt(l),search:(...b)=>ao(l,...b),describe:(...b)=>co(l,...b),call:(...b)=>lo(l,...b),uploadAttachment:(...b)=>uo(l,...b)}}function R(l){let b={list:()=>po(l),listAll:()=>go(l),reconcile:(...c)=>mo(l,...c),reconcileMember:(...c)=>fo(l,...c),updateCredential:(...c)=>yo(l,...c),revoke:(...c)=>ho(l,...c),activate:(...c)=>bo(l,...c),setDefault:(...c)=>xo(l,...c),pipedreamConnect:(...c)=>_o(l,...c),pipedreamFinalize:(...c)=>Po(l,...c)};return{get:c=>Jt(l,c),detail:()=>Xt(l),audit:c=>Kl(l,c),update:c=>Zt(l,c),archive:()=>en(l),llmCatalog:()=>Qt(l),modelPicker:()=>Yt(l),sandboxHealth:()=>sn(l),onboardingComplete:(...c)=>xi(l,...c),apps:{list:()=>ou(l),create:c=>au(l,c),get:c=>cu(l,c),update:(...c)=>lu(l,...c),access:{get:(...c)=>pu(l,...c),update:(...c)=>du(l,...c),session:(...c)=>gu(l,...c)},remove:c=>uu(l,c),artifacts:{register:c=>gn(l,c),uploadArchive:(...c)=>mu(l,...c),finalize:(...c)=>mn(l,...c)},deployments:{create:(...c)=>fu(l,...c),list:c=>yu(l,c),get:(...c)=>hu(l,...c),logs:(...c)=>bu(l,...c)},start:c=>xu(l,c),stop:c=>_u(l,c),rollback:(...c)=>Pu(l,...c)},tokens:{list:()=>Ll(l),create:c=>Gl(l,c),revoke:c=>Bl(l,c)},setupLinks:{requestSecret:c=>Xl(l,c),requestConnector:c=>Ql(l,c)},validateManifest:c=>pi(l,c),gitToken:()=>di(l),secrets:{list:()=>Ji(l),upsert:c=>Xi(l,c),setStrategy:(...c)=>Qi(l,...c),broker:(...c)=>Yi(l,...c),remove:c=>ro(l,c),setPersonal:(...c)=>so(l,...c),removePersonal:c=>io(l,c),setGitCredential:c=>no(l,c),startProviderOAuth:(...c)=>Zi(l,...c),pollProviderOAuth:(...c)=>eo(l,...c),removeProviderOAuth:c=>to(l,c)},access:{list:()=>ji(l),invite:(...c)=>Di(l,...c),update:(...c)=>$i(l,...c),revoke:c=>Mi(l,c),pendingInvites:()=>qi(l),resendInvite:(...c)=>Ui(l,...c),revokeInvite:(...c)=>Oi(l,...c),requests:()=>Ti(l),approveRequest:(...c)=>Ii(l,...c),rejectRequest:(...c)=>Ei(l,...c),groupGrants:()=>Fi(l),attachGroupGrant:(...c)=>Li(l,...c),updateGroupGrant:(...c)=>Gi(l,...c),detachGroupGrant:c=>Bi(l,c),resourceGrants:{list:()=>Ni(l),create:c=>Ki(l,c),remove:c=>Hi(l,c)}},connectors:{...k(l),list:()=>ko(l),config:(...c)=>To(l,...c),create:(...c)=>jo(l,...c),remove:(...c)=>Mo(l,...c),sync:()=>wo(l),auth:{discover:(...c)=>$o(l,...c)},setName:(...c)=>Io(l,...c),setCredentialMode:(...c)=>So(l,...c),setAuthorizationStrategy:(...c)=>vo(l,...c),setCredential:(...c)=>Uo(l,...c),setSensitive:(...c)=>Ao(l,...c),connections:b,policies:{get:(...c)=>Co(l,...c),set:(...c)=>Ro(l,...c)},pipedream:{listApps:(...c)=>Do(l,...c),listSections:(...c)=>qo(l,...c),connect:(...c)=>Eo(l,...c),finalize:(...c)=>Fo(l,...c)},discover:{list:(...c)=>nn(l,...c),detail:(...c)=>rn(l,...c)}},policies:{list:()=>Lo(l),set:(...c)=>Go(l,...c)},triggers:{list:()=>Na(l),create:(...c)=>Ka(l,...c),update:(...c)=>Ha(l,...c),remove:(...c)=>Wa(l,...c),fire:(...c)=>Va(l,...c),setActivation:(...c)=>za(l,...c)},files:{list:c=>Qo(l,c),read:(c,v)=>Zo(l,c,v),search:(...c)=>Yo(l,...c),archive:(...c)=>ea(l,...c),history:(...c)=>ia(l,...c)},git:{commits:()=>na(l),commit:c=>ra(l,c),commitDiff:c=>sa(l,c),branches:()=>ta(l),versionDiff:(...c)=>oa(l,...c),inviteCollaborator:(...c)=>ui(l,...c)},changeRequests:{list:()=>aa(l),get:c=>ca(l,c),diff:c=>la(l,c),mergePreview:c=>ua(l,c),open:(...c)=>pa(l,...c),merge:(...c)=>da(l,...c),close:(...c)=>ga(l,...c),reopen:(...c)=>ma(l,...c),requestChanges:(...c)=>fa(l,...c)},sessions:{list:c=>Ke(l,c),create:c=>He(l,c),ensureWarm:()=>Sa(l),claimWarm:c=>va(l,c)},review:{list:c=>Tl(l,c),get:c=>Il(l,c),submit:c=>El(l,c),act:(...c)=>jl(l,...c),bulkAct:c=>$l(l,c)},approvals:{list:c=>Wi(l,c),resolve:(...c)=>Vi(l,...c),sessionsNeedingInput:c=>zi(l,c)},gateway:{logs:c=>Gc(l,c),log:c=>Bc(l,c),overview:c=>Nc(l,c),series:c=>Kc(l,c),breakdown:c=>Hc(l,c),sessions:c=>Wc(l,c),errors:c=>zc(l,c),budgets:()=>Vc(l),setBudget:c=>Jc(l,c),deleteBudget:c=>Xc(l,c),keys:()=>Qc(l),createKey:c=>Yc(l,c),revokeKey:c=>Zc(l,c),routing:{get:()=>Oc(l),set:c=>Uc(l,c),reset:()=>Fc(l),preview:c=>Lc(l,c)},playground:(c,v,S)=>el(l,c,v,S)},channels:{slack:{installation:()=>Sc(l),connect:c=>vc(l,c),mode:()=>Ac(l),manifest:()=>Cc(l),disconnect:()=>Rc(l),getFile:c=>Tc(l,c),uploadFile:c=>Ic(l,c)},email:{installation:c=>jc(l,c),mode:()=>$c(l),connect:c=>Mc(l,c),disconnect:c=>Dc(l,c),updatePolicy:(...c)=>qc(l,...c)}},updateFeatureFlag:(...c)=>yi(l,...c),updateExperimentalFeature:(...c)=>hi(l,...c),modelDefaults:{get:()=>Xa(l),set:c=>Qa(l,c),clear:c=>Ya(l,c)},setDefaultAgent:c=>tc(l,c),sandbox:{list:()=>Xo(l),snapshots:()=>No(l),rebuildSnapshot:c=>Ko(l,c),fixWithAgent:()=>Ho(l),createTemplate:c=>Wo(l,c),updateTemplate:(...c)=>zo(l,...c),removeTemplate:c=>Vo(l,c),buildTemplate:c=>Jo(l,c),setProvider:c=>bi(l,c)},setAgentScope:(...c)=>Za(l,...c),session:c=>E(l,c)}}function E(l,b){let c=null,v,S,T=null;async function $(){T||(T=on(l,b,{showErrors:!1}).then(y=>{let I=typeof y.metadata?.opencode_model=="string"?y.metadata.opencode_model.trim():"",V=I.indexOf("/"),U=V>0&&V<I.length-1?{providerID:I.slice(0,V),modelID:I.slice(V+1)}:void 0,F=y.agent_name?.trim()||void 0;return{model:U,agent:F}}));try{return await T}catch(y){throw T=null,y}}function q(){if(c)return c;let y=Bp(l,b);return y&&(c=y),c}async function D(y){let I=q();if(I)return I;let V=y?.readyTimeoutMs??18e4,U=Gt(j().backendUrl??e.backendUrl).catch(()=>null),F=`${l}
20
+ ${b}`,L=$n.get(F);if(L)return c=await L,await U,c;let X=(async()=>{let N=Date.now()+V,Y=()=>Math.max(0,N-Date.now()),K=await Re(l,b,Math.min(3e4,Y()));for(;Date.now()<N&&(K==null||(K.stage==="provisioning"||K.stage==="starting")&&K.retriable);)await new Promise(Ie=>setTimeout(Ie,Math.min(1e3,Y()))),K=await Re(l,b,Math.min(3e4,Y()));if(!K||K.stage!=="ready"||!K.sandbox||!K.opencode_session_id)throw new A(`Session runtime not ready (stage: ${K?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let H=K.sandbox.external_id;if(!H)throw new A("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let ee=Dt(H);return gp(ee,H),{opencodeSessionId:K.opencode_session_id,runtimeUrl:ee,sandboxId:H}})();$n.set(F,X);try{return c=await X,await U,c}finally{$n.get(F)===X&&$n.delete(F)}}function Q(y){let I=q();if(!I)throw new bt(y);return I}function z(){c=null,Kp(l,b)}return{get:y=>on(l,b,y),cost:()=>pn(b,{projectId:l}),update:y=>Da(l,b,y),delete:()=>(z(),qa(l,b)),start:(...y)=>Re(l,b,...y),restart:()=>(z(),mt(l,b)),stop:()=>(z(),ft(l,b)),configState:()=>Oa(l,b),reloadConfig:y=>(z(),Ua(l,b,y)),reloadConfigStream:(...y)=>(z(),Fa(l,b,...y)),setSharing:y=>xa(l,b,y),previews:()=>_a(l,b),commit:y=>ya(l,b,y),publicShares:{list:()=>Pa(l,b),create:(...y)=>ka(l,b,...y),revoke:(...y)=>wa(l,b,...y)},audit:(y,I)=>Aa(l,b,y,I),transcript:y=>Ca(l,b,y),transcriptSync:y=>Ra(l,b,y),turn:()=>Ta(l,b),prompts:{create:y=>Ia(l,b,y),list:()=>Ea(l,b),remove:y=>ja(l,b,y),retry:y=>$a(l,b,y),hold:y=>Ma(l,b,y)},ensureReady:D,health:y=>wu(q()?.runtimeUrl??null,y),previewUrl:(y,I="/")=>be(y,I,r(Q("previewUrl").sandboxId)),proxyUrl:y=>Su(y,r(Q("proxyUrl").sandboxId)),setModel:y=>{v=y},changeModel:async y=>{let I=await Ba(l,b,y);return T=null,I},scope:()=>La(l,b),rescope:y=>Ga(l,b,y),setAgent:y=>{S=y},send:async(y,I)=>{let{opencodeSessionId:V,runtimeUrl:U}=await D(),F=I?.model??v,L=I?.agent??S,X=F&&L?{}:await $(),N=F??X.model,Y=L??X.agent;return ae(U).session.prompt({sessionID:V,parts:[{type:"text",text:y}],...N?{model:N}:{},...Y?{agent:Y}:{}})},abort:async()=>{let{opencodeSessionId:y,runtimeUrl:I}=await D();return ae(I).session.abort({sessionID:y})},rewind:async y=>{let{opencodeSessionId:I,runtimeUrl:V}=await D();return ae(V).session.revert({sessionID:I,messageID:y})},restoreRewind:async()=>{let{opencodeSessionId:y,runtimeUrl:I}=await D();return ae(I).session.unrevert({sessionID:y})},stream:async y=>{let{runtimeUrl:I}=await D();return jn({client:ae(I),onEvent:y.onEvent,onGapRehydrate:y.onGapRehydrate,signal:y.signal})},get runtime(){return ae(Q("runtime").runtimeUrl)},files:{list:async y=>ot(y,(await D()).runtimeUrl),read:async y=>Ue(y,(await D()).runtimeUrl),readBlob:async y=>Fe(y,(await D()).runtimeUrl),status:async()=>at((await D()).runtimeUrl),findFiles:async(y,I)=>ct(y,I,(await D()).runtimeUrl),findText:async y=>lt(y,(await D()).runtimeUrl),upload:async(y,I,V,U)=>Le(y,I,V,(await D()).runtimeUrl,U),write:async(y,I)=>Ge(y,I,(await D()).runtimeUrl),create:async y=>ut(y,(await D()).runtimeUrl),copy:async(y,I)=>pt(y,I,(await D()).runtimeUrl),remove:async y=>ye(y,(await D()).runtimeUrl),mkdir:async y=>Be(y,(await D()).runtimeUrl),rename:async(y,I)=>fe(y,I,(await D()).runtimeUrl)}}}return{config:e,auth:s,accounts:o,iam:u,accountInvites:d,projects:f,connectors:k(),project:R,session:E,github:m,billing:p,sandboxShares:h,connectStatus:x,marketplace:_,validateToken:ci,runtime:dx}}function yd(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let r=0;r<16;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=[...t].map(r=>r.toString(16).padStart(2,"0"));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n.slice(10).join("")}`}function hd(){return{pending:[],failed:[],inFlightId:null,inFlightIds:[]}}function Ve(e){return e.inFlightIds?.length?e.inFlightIds:e.inFlightId?[e.inFlightId]:[]}function bd(e,t){return{...e,pending:[...e.pending,{...t,attempts:0}]}}function xd(e){if(Ve(e).length>0)return{state:e};let t=e.pending[0];if(!t)return{state:e};let n={...t,attempts:t.attempts+1};return{state:{...e,pending:[n,...e.pending.slice(1)],inFlightId:n.id,inFlightIds:[n.id]},claimed:n}}function _d(e){let t=Ve(e);return t.length===0?e:{...e,pending:e.pending.filter(n=>!t.includes(n.id)),inFlightId:null,inFlightIds:[]}}function Pd(e,t){let n=Ve(e);if(n.length===0)return e;let r=e.pending.filter(s=>n.includes(s.id));return r.length===0?{...e,inFlightId:null,inFlightIds:[]}:{pending:e.pending.filter(s=>!n.includes(s.id)),failed:[...e.failed,...r.map(s=>({...s,lastError:t}))],inFlightId:null,inFlightIds:[]}}function kd(e,t){let n=e.failed.find(o=>o.id===t);if(!n)return e;let{lastError:r,...s}=n;return{...e,pending:[...e.pending,s],failed:e.failed.filter(o=>o.id!==t)}}function wd(e,t){return Ve(e).includes(t)?e:e.pending.some(n=>n.id===t)?{...e,pending:e.pending.filter(n=>n.id!==t)}:e.failed.some(n=>n.id===t)?{...e,failed:e.failed.filter(n=>n.id!==t)}:e}function Sd(e,t,n){return Ve(e).includes(t)||!e.pending.some(r=>r.id===t)?e:{...e,pending:e.pending.map(r=>r.id===t?{...r,text:n}:r)}}function vd(e,t,n){let r=Ve(e);if(r.includes(t))return e;let s=e.pending.findIndex(f=>f.id===t);if(s===-1)return e;let o=r.length,u=Math.min(Math.max(n,o),e.pending.length-1);if(u===s)return e;let p=[...e.pending],[d]=p.splice(s,1);return p.splice(u,0,d),{...e,pending:p}}var Au={thinking:!1,toolDetails:!0,assistantMetadata:!0};function gx(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function mx(e){let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let n=Math.floor(t/60),r=t%60;return`${n}m ${r.toFixed(0)}s`}function fx(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
21
21
 
22
22
  `;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
23
23
  >
@@ -50,15 +50,15 @@ ${s}
50
50
  ${e.state.error}
51
51
  \`\`\`
52
52
  `),n+=`
53
- `,n}return""}function ux(e,t){if(!t)return`## Assistant
53
+ `,n}return""}function yx(e,t){if(!t)return`## Assistant
54
54
 
55
- `;let n=e.agent?ax(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=cx(e.time.completed-e.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
55
+ `;let n=e.agent?gx(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=mx(e.time.completed-e.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
56
56
 
57
57
  `:`## ${n}
58
58
 
59
- `}function px(e,t,n){let r="";e.role==="user"?r+=`## User
59
+ `}function hx(e,t,n){let r="";e.role==="user"?r+=`## User
60
60
 
61
- `:r+=ux(e,n.assistantMetadata);for(let s of t)r+=lx(s,n);return r}function xd(e,t,n=Pu){let r=`# ${e.title||"Untitled Session"}
61
+ `:r+=yx(e,n.assistantMetadata);for(let s of t)r+=fx(s,n);return r}function Ad(e,t,n=Au){let r=`# ${e.title||"Untitled Session"}
62
62
 
63
63
  `;r+=`**Session ID:** \`${e.id}\`
64
64
  `,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
@@ -66,14 +66,14 @@ ${e.state.error}
66
66
 
67
67
  `,r+=`---
68
68
 
69
- `;for(let s of t)r+=px(s.info,s.parts,n),r+=`---
69
+ `;for(let s of t)r+=hx(s.info,s.parts,n),r+=`---
70
70
 
71
- `;return r}function _d(e,t){return`session-${e}.md`}var ku="An error occurred";var dx=["message","error","detail","error_description","msg","errors","data"];function wd(e){let t=e.trim();for(let n=0;n<4;n++){let r=t.replace(/^(?:\d{3}\s+)?(?:[A-Za-z_$][\w$]*)?Error:\s*/,"").trim();if(r===t)break;t=r}return t}function Ve(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function gx(e){let t=e.match(/"(?:message|detail|error_description|msg)"\s*:\s*"((?:[^"\\]|\\.)*)"/);if(!t)return;let n=Ve(`"${t[1]}"`);return typeof n=="string"&&n.trim()?n.trim():void 0}function mx(e){if(!/^\s*<(?:!doctype|html|head|body)\b/i.test(e))return;let t=e.match(/<title[^>]*>([^<]*)<\/title>/i)?.[1]?.trim();if(t)return t;let n=e.replace(/<script[\s\S]*?<\/script>|<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();return n?n.slice(0,200):void 0}function fx(e){let t=e.replace(/[_-]+/g," ").trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)}function Pd(e,t,n){if(typeof e=="string")return In(e,t,n);if(e&&typeof e=="object")return En(e,t,n)}function In(e,t,n=new WeakSet){let r=wd(e);if(!r)return;if(t>=4)return r;let s=Ve(r);if(s!==void 0)return typeof s=="string"?In(s,t+1,n):s&&typeof s=="object"?En(s,t+1,n):String(s);let o=Sd(r);if(o){let l=Ve(o);if(l&&typeof l=="object"){let p=En(l,t+1,n);if(p)return p}}if(r.includes("{")){let l=gx(r);if(l)return In(l,t+1,n)??l}return mx(r)??r}function En(e,t,n=new WeakSet){if(t>=4||n.has(e))return;if(n.add(e),Array.isArray(e)){for(let l of e){let p=Pd(l,t,n);if(p)return p}return}let r=e;for(let l of dx){let p=Pd(r[l],t,n);if(p)return p}let s=r.type??r.code;if(typeof s=="string"&&s.trim())return fx(s);let o=r.status??r.statusCode??r.upstream_status;if(typeof o=="number"&&Number.isFinite(o))return`Request failed with status ${o}`}function te(e){return e?typeof e=="string"?In(e,0)??ku:typeof e=="object"?En(e,0)??ku:String(e):ku}function Sd(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function yx(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 hx(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object"||Array.isArray(n))continue;let r=n;!Number.isInteger(r.attempt)||r.attempt<1||typeof r.provider!="string"||!r.provider||typeof r.route_model!="string"||!r.route_model||typeof r.resolved_model!="string"||!r.resolved_model||typeof r.stage!="string"||!r.stage||typeof r.code!="string"&&!(typeof r.code=="number"&&Number.isFinite(r.code))||typeof r.message!="string"||!r.message||r.status!==void 0&&(!Number.isInteger(r.status)||r.status<100||r.status>599)||t.push({attempt:r.attempt,provider:r.provider,routeModel:r.route_model,resolvedModel:r.resolved_model,stage:r.stage,...typeof r.status=="number"?{status:r.status}:{},code:r.code,message:r.message})}return t.length>0?t:void 0}function kd(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,o=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0,l=hx(e.attempt_failures);return!t&&!n&&!r&&s===void 0&&!o&&!l?void 0:{message:typeof e.message=="string"&&e.message||yx(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:o,attemptFailures:l}}function ne(e){if(e==null)return;if(typeof e=="string"){let l=wd(e),p=Ve(l)??Ve(Sd(l));return p!==void 0?ne(p):void 0}if(typeof e!="object")return;let t=e,n=kd(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let l=kd(r);if(l)return l}let s=t.data;if(s&&typeof s.responseBody=="string"){let l=Ve(s.responseBody);if(l!==void 0){let p=ne(l);if(p)return p}}if(s&&typeof s.message=="string"){let l=ne(s.message);if(l)return l}let o=t.cause;if(o&&typeof o=="object"){let l=o.body;if(l!==void 0){let p=ne(l);if(p)return p}}}var bx={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"}},xx=[{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 _x(e){return e.replace(/^oc[-_]/,"")}function bt(e){return _x(e).replace(/-/g,"_")}function jn(e){return bt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function $n(e){let t=bt(e),n=bx[t];if(n)return n;for(let{prefix:r,category:s}of xx)if(t.startsWith(r))return{label:jn(e),category:s};return{label:jn(e),category:"other"}}var Px=256*1024;function kx(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function wx(e){if(e===void 0)return{};if(e.length>Px)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Sx(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?te(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function vx(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=wx(r),l=kx(t),p=t.status==="error"?t.error:void 0;if(l==="done"){let d=Sx(s);d&&(l="error",p=d)}return{name:e,title:n||$n(e).label,status:l,input:t.input,output:r,outputParsed:s,outputText:o,error:p}}function Ax(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Cx(e){return{kind:"reasoning",id:e.id,text:e.text}}function Rx(e){return{kind:"tool",id:e.id,tool:vx(e.tool,e.state)}}function Tx(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 Ix(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Ex(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function jx(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function $x(e){return{kind:"agent",id:e.id,name:e.name}}function Mx(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:te(e.error),createdAt:e.time.created}}function qx(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function Dx(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function Ox(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function wu(e){switch(e.type){case"text":return Ax(e);case"reasoning":return Cx(e);case"tool":return Rx(e);case"file":return Tx(e);case"subtask":return Ix(e);case"patch":return Ex(e);case"snapshot":return jx(e);case"agent":return $x(e);case"retry":return Mx(e);case"compaction":return qx(e);case"step-start":return Dx(e);case"step-finish":return Ox(e);default:return{kind:"unknown",raw:e}}}function Ux(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ne(e);return{name:t,message:n?.message||te(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function Fx(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function vd(e){let t=e.parts.map(wu),n=e.info.role==="assistant"?e.info.error:void 0,r=Ux(n),s=!r&&!t.some(Fx);return{parts:t,error:r,isEmpty:s}}function xe(e){return e.type==="text"}function Mn(e){return e.type==="reasoning"}function ue(e){return e.type==="tool"}function Ad(e){return e.type==="file"}function Lx(e){return e.type==="agent"}function Gx(e){return e.type==="compaction"}function Bx(e){return e.type==="snapshot"}function Nx(e){return e.type==="patch"}function Kx(e){if(xe(e)||Mn(e))return e.text}function Cd(e){if(!Ad(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function Hx(e){let t=[],n=[];for(let r of e)Cd(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Wx(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function zx(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var Vx=new Set(["todoread","context_info"]);function Rd(e){return!Vx.has(e.tool)}function Jx(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let l=s.match(/\bses_[a-zA-Z0-9]+/);if(l)return l[0]}let o=e.state?.output;if(o){let l=o.match(/\bses_[a-zA-Z0-9]+/);if(l)return l[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Xx(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return te(n.error)}}function Qx(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ue(r)&&Rd(r)&&t.push(r);return t}function Yx(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Td(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:Id(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:Ed(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:Su(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Su(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 Td(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Su(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 Id(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Zx(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 xt(e,t=120){if(typeof e!="string")return"";let n=e.split(`
72
- `).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function Ed(e){let t=xt(e.description);if(t)return t;let n=xt(e.title,80);if(n)return n;let r=xt(e.message);if(r)return r;let s=xt(e.prompt);if(s)return s;let o=xt(e.agent_id,40);return o?`Agent ${o}`:"Worker task"}function e_(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function t_(e,t){return e.find(n=>n.tool?.callID===t)}function n_(e,t){return e.find(n=>n.tool?.callID===t)}var r_=/\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 s_(e){return e?e.replace(r_,""):""}var i_=/^msg_[0-9a-f]{12}/;function jd(e){return i_.test(e)?0:1}function $d(e,t){return e<t?-1:e>t?1:0}function Md(e,t){let n=jd(e.info.id),r=jd(t.info.id);if(n!==r)return n-r;if(n===0)return $d(e.info.id,t.info.id);let s=typeof e.info.time?.created=="number"?e.info.time.created:null,o=typeof t.info.time?.created=="number"?t.info.time.created:null;return s===null&&o===null?0:s===null?1:o===null?-1:s!==o?s<o?-1:1:$d(e.info.id,t.info.id)}function o_(e){let t=[...e].sort(Md),n=[],r=new Map;for(let o of t)if(o.info.role==="user"){if(r.has(o.info.id))continue;let l={userMessage:o,assistantMessages:[]};n.push(l),r.set(o.info.id,l)}let s=null;for(let o of t){if(o.info.role==="user"){s=r.get(o.info.id)??null;continue}if(o.info.role!=="assistant")continue;let l=o.info,p=l.tokens;if(!l.error&&o.parts.length===0&&p?.input===0&&p.output===0&&p.reasoning===0)continue;if(l.parentID){let f=r.get(l.parentID);if(f){f.assistantMessages.push(o);continue}}if(s){s.assistantMessages.push(o);continue}if(n.length>0){n[0].assistantMessages.unshift(o);continue}let d={userMessage:o,assistantMessages:[]};n.push(d)}return n}function a_(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function c_(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(xe(n)&&n.text?.trim())return n}}function l_(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function u_(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let o of s.parts){if(!ue(o))continue;let l=o,p=l.state?.metadata?.answers;l.tool==="question"&&(p?.length??0)>0&&r.push({part:o,message:s})}return r}function p_(e){let t=new Map;for(let n of e){if(!n.parentID)continue;let r=t.get(n.parentID);r?r.push(n.id):t.set(n.parentID,[n.id])}return t}function d_(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,o=r.time.updated??r.time.created,l=s>t,p=o>t;return l&&p?n.id<r.id?-1:n.id>r.id?1:0:l&&!p?-1:!l&&p?1:o-s}}function qd(e,t){let n=e.get(t);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(...qd(e,s));return r}function Dd(e){if(!e||typeof e!="object")return!1;let t=e.data;return!!t&&typeof t=="object"&&t.isRetryable===!0}function g_(e){if(!e?.length)return!1;for(let t=e.length-1;t>=0;t--){let n=e[t].info;if(n.role==="assistant")return!n.time?.completed&&Dd(n.error)}return!1}function Od(e){let t=e.userMessage.parts;if(t.length===0||!t.every(o=>xe(o)&&o.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return ue(s)&&s.tool==="bash"}function m_(e){if(Od(e))return e.assistantMessages[0].parts[0]}function f_(e,t){for(let n=t.length-1;n>=0;n--)if(t[n].info.role==="user")return t[n].info.id===e;return!1}function y_(e,t){return!t||!e?!1:e.type!=="idle"}function h_(e,t){return!e&&!!t}function b_(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return te(n.error)}}function x_(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ne(n.error)}}function vu(e){if(e){if(ue(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Handing off to an agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Handing off to an agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating progress...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Checking in with an agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Starting a new task...";case"task_list":case"task-list":return"Reviewing the task list...";case"task_done":case"task-done":return"Updating progress...";case"todowrite":case"todoread":return"Planning...";case"read":return"Reading files...";case"list":case"grep":case"glob":return"Searching files...";case"webfetch":case"scrape-webpage":return"Reading a web page...";case"websearch":case"web-search":case"web_search":return"Searching the web...";case"image-search":return"Searching for images...";case"image-gen":return"Creating an image...";case"video-gen":return"Creating a video...";case"presentation-gen":return"Creating a presentation...";case"show":case"show-user":return"Sharing the result...";case"edit":case"write":case"morph_edit":return"Making changes...";case"bash":return"Working on the computer...";case"apply_patch":return"Making changes...";case"prune":return"Tidying up memory...";case"distill":return"Tidying up memory...";case"compress":return"Tidying up memory...";case"context_info":return"Refreshing memory...";default:return"Working on it..."}if(Mn(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(xe(e))return"Gathering thoughts..."}}function __(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=ue(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&t&&t.length>0){for(let l=t.length-1;l>=0;l--){let p=t[l];if(p.info.role==="assistant")for(let d=p.parts.length-1;d>=0;d--){let f=vu(p.parts[d]);if(f)return f}}return"Handing off to an agent..."}let o=vu(r);if(o)return o}return"Figuring out what\u2019s next..."}function P_(e){if(!Number.isFinite(e)||e<1e3)return"";let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return r>0?`${n}m ${r}s`:`${n}m`}var Au=1.2;function Ud(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,o=e.cache?.write??0,l=Math.max(0,n-s-o),d=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,h)=>h.contextThreshold-m.contextThreshold)[0]??t,f=l/1e6*d.inputPer1M;return f+=r/1e6*d.outputPer1M,s>0&&(f+=s/1e6*(d.cacheReadPer1M??d.inputPer1M)),o>0&&(f+=o/1e6*(d.cacheWritePer1M??d.inputPer1M)),f}function Fd(e,t,n,r){let s=e.cost||0;if(s>0)return s;if(!r||!t||!n)return 0;let o=r(t,n);return o?Ud(e.tokens,o):0}function Ld(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function k_(e,t){let n=0,r=0,s=0,o=0,l=0,p=0,d=!1;for(let{part:f,message:m}of e)if(f.type==="step-finish"){d=!0;let h=f,{providerID:x,modelID:P}=Ld(m.info);n+=Fd(h,x,P,t),r+=h.tokens?.input||0,s+=h.tokens?.output||0,o+=h.tokens?.reasoning||0,l+=h.tokens?.cache?.read||0,p+=h.tokens?.cache?.write||0}if(!d)for(let{message:f}of e){if(f.info.role!=="assistant")continue;let m=f.info,h=Gd(m,t);if(h<=0)continue;d=!0,n+=h;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,o+=x.reasoning??0,l+=x.cache?.read??0,p+=x.cache?.write??0)}if(d)return{cost:n*Au,tokens:{input:r,output:s,reasoning:o,cacheRead:l,cacheWrite:p}}}function Gd(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?Ud({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function w_(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:l}=Ld(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=Fd(f,o,l,t));d||(p+=Gd(s,t)),n+=p}return n*Au}function S_(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function v_(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function A_(e){if(!e||e.type!=="retry")return;let t=e,n=te(t.message);return{attempt:t.attempt,message:n.length>60?`${n.slice(0,60)}...`:n,next:t.next,details:ne(t.message)}}function C_(e){if(!(!e||e.type!=="retry"))return te(e.message)}function R_(e){return(e.info.summary?.diffs?.length??0)>0}var T_=4e3;function _t(e,t=T_){return e.length>t?`${e.slice(0,t)}
73
- \u2026`:e}function Bd(e){if(e!==void 0)try{return _t(JSON.stringify(e,null,2))}catch{return}}function G(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function Je(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function I_(e){let t=G(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Je(e.outputParsed);if(!n)return{kind:"web-search",query:t};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(o=>{let l=Je(o)??{};return{title:G(l.title)??"",url:G(l.url,l.link)??"",snippet:G(l.snippet,l.description,l.source)}});return{kind:"web-search",query:G(n.query)??t,results:s.length>0?s:void 0,answer:G(n.answer)}}var E_=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function Ru(e){let t=e.match(E_);return t?Number(t[1]):void 0}function j_(e,t,n){let r="",s=0;for(;;){let o=e.indexOf(t,s);if(o===-1)return r+e.slice(s);let l=e.indexOf(n,o+t.length);if(l===-1)return r+e.slice(s);r+=e.slice(s,o),s=l+n.length}}var $_=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function M_(e){let t=-1;for(let n of $_){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var q_=/\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 D_(e){return e.replace(q_,"")}function O_(e){let t=G(e.input?.command)??"",n=e.output??"",r=Ru(n),o=D_(M_(j_(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:o||void 0,exitCode:r}}function Tu(e){return G(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function U_(e){let t=e.status==="error"?e.error:e.output&&_t(e.output)||void 0;return{kind:"file-read",path:Tu(e),preview:t}}function F_(e){let t=G(e.input?.content),n=e.status==="error"?e.error:_t(t??e.output??"")||void 0;return{kind:"file-write",path:Tu(e),preview:n}}var L_=256*1024;function G_(e,t){if(e.length+t.length>L_)return;let n=e.split(`
71
+ `;return r}function Cd(e,t){return`session-${e}.md`}var Cu="An error occurred";var bx=["message","error","detail","error_description","msg","errors","data"];function Id(e){let t=e.trim();for(let n=0;n<4;n++){let r=t.replace(/^(?:\d{3}\s+)?(?:[A-Za-z_$][\w$]*)?Error:\s*/,"").trim();if(r===t)break;t=r}return t}function Je(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function xx(e){let t=e.match(/"(?:message|detail|error_description|msg)"\s*:\s*"((?:[^"\\]|\\.)*)"/);if(!t)return;let n=Je(`"${t[1]}"`);return typeof n=="string"&&n.trim()?n.trim():void 0}function _x(e){if(!/^\s*<(?:!doctype|html|head|body)\b/i.test(e))return;let t=e.match(/<title[^>]*>([^<]*)<\/title>/i)?.[1]?.trim();if(t)return t;let n=e.replace(/<script[\s\S]*?<\/script>|<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();return n?n.slice(0,200):void 0}function Px(e){let t=e.replace(/[_-]+/g," ").trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)}function Rd(e,t,n){if(typeof e=="string")return Mn(e,t,n);if(e&&typeof e=="object")return Dn(e,t,n)}function Mn(e,t,n=new WeakSet){let r=Id(e);if(!r)return;if(t>=4)return r;let s=Je(r);if(s!==void 0)return typeof s=="string"?Mn(s,t+1,n):s&&typeof s=="object"?Dn(s,t+1,n):String(s);let o=Ed(r);if(o){let u=Je(o);if(u&&typeof u=="object"){let p=Dn(u,t+1,n);if(p)return p}}if(r.includes("{")){let u=xx(r);if(u)return Mn(u,t+1,n)??u}return _x(r)??r}function Dn(e,t,n=new WeakSet){if(t>=4||n.has(e))return;if(n.add(e),Array.isArray(e)){for(let u of e){let p=Rd(u,t,n);if(p)return p}return}let r=e;for(let u of bx){let p=Rd(r[u],t,n);if(p)return p}let s=r.type??r.code;if(typeof s=="string"&&s.trim())return Px(s);let o=r.status??r.statusCode??r.upstream_status;if(typeof o=="number"&&Number.isFinite(o))return`Request failed with status ${o}`}function te(e){return e?typeof e=="string"?Mn(e,0)??Cu:typeof e=="object"?Dn(e,0)??Cu:String(e):Cu}function Ed(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function kx(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 wx(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object"||Array.isArray(n))continue;let r=n;!Number.isInteger(r.attempt)||r.attempt<1||typeof r.provider!="string"||!r.provider||typeof r.route_model!="string"||!r.route_model||typeof r.resolved_model!="string"||!r.resolved_model||typeof r.stage!="string"||!r.stage||typeof r.code!="string"&&!(typeof r.code=="number"&&Number.isFinite(r.code))||typeof r.message!="string"||!r.message||r.status!==void 0&&(!Number.isInteger(r.status)||r.status<100||r.status>599)||t.push({attempt:r.attempt,provider:r.provider,routeModel:r.route_model,resolvedModel:r.resolved_model,stage:r.stage,...typeof r.status=="number"?{status:r.status}:{},code:r.code,message:r.message})}return t.length>0?t:void 0}function Td(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,o=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0,u=wx(e.attempt_failures);return!t&&!n&&!r&&s===void 0&&!o&&!u?void 0:{message:typeof e.message=="string"&&e.message||kx(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:o,attemptFailures:u}}function ne(e){if(e==null)return;if(typeof e=="string"){let u=Id(e),p=Je(u)??Je(Ed(u));return p!==void 0?ne(p):void 0}if(typeof e!="object")return;let t=e,n=Td(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Td(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Je(s.responseBody);if(u!==void 0){let p=ne(u);if(p)return p}}if(s&&typeof s.message=="string"){let u=ne(s.message);if(u)return u}let o=t.cause;if(o&&typeof o=="object"){let u=o.body;if(u!==void 0){let p=ne(u);if(p)return p}}}var Sx={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"}},vx=[{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 Ax(e){return e.replace(/^oc[-_]/,"")}function xt(e){return Ax(e).replace(/-/g,"_")}function qn(e){return xt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function On(e){let t=xt(e),n=Sx[t];if(n)return n;for(let{prefix:r,category:s}of vx)if(t.startsWith(r))return{label:qn(e),category:s};return{label:qn(e),category:"other"}}var Cx=256*1024;function Rx(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Tx(e){if(e===void 0)return{};if(e.length>Cx)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Ix(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?te(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function Ex(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=Tx(r),u=Rx(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let d=Ix(s);d&&(u="error",p=d)}return{name:e,title:n||On(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:o,error:p}}function jx(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function $x(e){return{kind:"reasoning",id:e.id,text:e.text}}function Mx(e){return{kind:"tool",id:e.id,tool:Ex(e.tool,e.state)}}function Dx(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 qx(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Ox(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Ux(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Fx(e){return{kind:"agent",id:e.id,name:e.name}}function Lx(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:te(e.error),createdAt:e.time.created}}function Gx(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function Bx(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function Nx(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Ru(e){switch(e.type){case"text":return jx(e);case"reasoning":return $x(e);case"tool":return Mx(e);case"file":return Dx(e);case"subtask":return qx(e);case"patch":return Ox(e);case"snapshot":return Ux(e);case"agent":return Fx(e);case"retry":return Lx(e);case"compaction":return Gx(e);case"step-start":return Bx(e);case"step-finish":return Nx(e);default:return{kind:"unknown",raw:e}}}function Kx(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ne(e);return{name:t,message:n?.message||te(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function Hx(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function jd(e){let t=e.parts.map(Ru),n=e.info.role==="assistant"?e.info.error:void 0,r=Kx(n),s=!r&&!t.some(Hx);return{parts:t,error:r,isEmpty:s}}function _e(e){return e.type==="text"}function Un(e){return e.type==="reasoning"}function ue(e){return e.type==="tool"}function Iu(e){return e.type==="file"}function Wx(e){return e.type==="agent"}function zx(e){return e.type==="compaction"}function Vx(e){return e.type==="snapshot"}function Jx(e){return e.type==="patch"}function Xx(e){if(_e(e)||Un(e))return e.text}function Qx(e){if(!Iu(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function Yx(e){let t=[],n=[];for(let r of e)Iu(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Zx(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function e_(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var t_=new Set(["todoread","context_info"]);function $d(e){return!t_.has(e.tool)}function n_(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 o=e.state?.output;if(o){let u=o.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 r_(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return te(n.error)}}function s_(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ue(r)&&$d(r)&&t.push(r);return t}function i_(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Md(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:Dd(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:qd(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:Tu(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Tu(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 Md(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Tu(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 Dd(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function o_(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 _t(e,t=120){if(typeof e!="string")return"";let n=e.split(`
72
+ `).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function qd(e){let t=_t(e.description);if(t)return t;let n=_t(e.title,80);if(n)return n;let r=_t(e.message);if(r)return r;let s=_t(e.prompt);if(s)return s;let o=_t(e.agent_id,40);return o?`Agent ${o}`:"Worker task"}function a_(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function c_(e,t){return e.find(n=>n.tool?.callID===t)}function l_(e,t){return e.find(n=>n.tool?.callID===t)}var u_=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function p_(e){return e?e.replace(u_,""):""}var d_=/^msg_[0-9a-f]{12}/;function Od(e){return d_.test(e)?0:1}function Ud(e,t){return e<t?-1:e>t?1:0}function Fd(e,t){let n=Od(e.info.id),r=Od(t.info.id);if(n!==r)return n-r;if(n===0)return Ud(e.info.id,t.info.id);let s=typeof e.info.time?.created=="number"?e.info.time.created:null,o=typeof t.info.time?.created=="number"?t.info.time.created:null;return s===null&&o===null?0:s===null?1:o===null?-1:s!==o?s<o?-1:1:Ud(e.info.id,t.info.id)}function g_(e){let t=[...e].sort(Fd),n=[],r=new Map;for(let o of t)if(o.info.role==="user"){if(r.has(o.info.id))continue;let u={userMessage:o,assistantMessages:[]};n.push(u),r.set(o.info.id,u)}let s=null;for(let o of t){if(o.info.role==="user"){s=r.get(o.info.id)??null;continue}if(o.info.role!=="assistant")continue;let u=o.info,p=u.tokens;if(!u.error&&o.parts.length===0&&p?.input===0&&p.output===0&&p.reasoning===0)continue;if(u.parentID){let f=r.get(u.parentID);if(f){f.assistantMessages.push(o);continue}}if(s){s.assistantMessages.push(o);continue}if(n.length>0){n[0].assistantMessages.unshift(o);continue}let d={userMessage:o,assistantMessages:[]};n.push(d)}return n}function m_(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function f_(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(_e(n)&&n.text?.trim())return n}}function y_(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function h_(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let o of s.parts){if(!ue(o))continue;let u=o,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:o,message:s})}return r}function b_(e){let t=new Map;for(let n of e){if(!n.parentID)continue;let r=t.get(n.parentID);r?r.push(n.id):t.set(n.parentID,[n.id])}return t}function x_(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,o=r.time.updated??r.time.created,u=s>t,p=o>t;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:o-s}}function Ld(e,t){let n=e.get(t);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(...Ld(e,s));return r}function Gd(e){if(!e||typeof e!="object")return!1;let t=e.data;return!!t&&typeof t=="object"&&t.isRetryable===!0}function __(e){if(!e?.length)return!1;for(let t=e.length-1;t>=0;t--){let n=e[t].info;if(n.role==="assistant")return!n.time?.completed&&Gd(n.error)}return!1}function Bd(e){let t=e.userMessage.parts;if(t.length===0||!t.every(o=>_e(o)&&o.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return ue(s)&&s.tool==="bash"}function P_(e){if(Bd(e))return e.assistantMessages[0].parts[0]}function k_(e,t){for(let n=t.length-1;n>=0;n--)if(t[n].info.role==="user")return t[n].info.id===e;return!1}function w_(e,t){return!t||!e?!1:e.type!=="idle"}function S_(e,t){return!e&&!!t}function v_(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return te(n.error)}}function A_(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ne(n.error)}}function Eu(e){if(e){if(ue(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Handing off to an agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Handing off to an agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating progress...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Checking in with an agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Starting a new task...";case"task_list":case"task-list":return"Reviewing the task list...";case"task_done":case"task-done":return"Updating progress...";case"todowrite":case"todoread":return"Planning...";case"read":return"Reading files...";case"list":case"grep":case"glob":return"Searching files...";case"webfetch":case"scrape-webpage":return"Reading a web page...";case"websearch":case"web-search":case"web_search":return"Searching the web...";case"image-search":return"Searching for images...";case"image-gen":return"Creating an image...";case"video-gen":return"Creating a video...";case"presentation-gen":return"Creating a presentation...";case"show":case"show-user":return"Sharing the result...";case"edit":case"write":case"morph_edit":return"Making changes...";case"bash":return"Working on the computer...";case"apply_patch":return"Making changes...";case"prune":return"Tidying up memory...";case"distill":return"Tidying up memory...";case"compress":return"Tidying up memory...";case"context_info":return"Refreshing memory...";default:return"Working on it..."}if(Un(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(_e(e))return"Gathering thoughts..."}}function C_(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=ue(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&t&&t.length>0){for(let u=t.length-1;u>=0;u--){let p=t[u];if(p.info.role==="assistant")for(let d=p.parts.length-1;d>=0;d--){let f=Eu(p.parts[d]);if(f)return f}}return"Handing off to an agent..."}let o=Eu(r);if(o)return o}return"Figuring out what\u2019s next..."}function R_(e){if(!Number.isFinite(e)||e<1e3)return"";let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return r>0?`${n}m ${r}s`:`${n}m`}var ju=1.2;function Nd(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,o=e.cache?.write??0,u=Math.max(0,n-s-o),d=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,h)=>h.contextThreshold-m.contextThreshold)[0]??t,f=u/1e6*d.inputPer1M;return f+=r/1e6*d.outputPer1M,s>0&&(f+=s/1e6*(d.cacheReadPer1M??d.inputPer1M)),o>0&&(f+=o/1e6*(d.cacheWritePer1M??d.inputPer1M)),f}function Kd(e,t,n,r){let s=e.cost||0;if(s>0)return s;if(!r||!t||!n)return 0;let o=r(t,n);return o?Nd(e.tokens,o):0}function Hd(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function T_(e,t){let n=0,r=0,s=0,o=0,u=0,p=0,d=!1;for(let{part:f,message:m}of e)if(f.type==="step-finish"){d=!0;let h=f,{providerID:x,modelID:_}=Hd(m.info);n+=Kd(h,x,_,t),r+=h.tokens?.input||0,s+=h.tokens?.output||0,o+=h.tokens?.reasoning||0,u+=h.tokens?.cache?.read||0,p+=h.tokens?.cache?.write||0}if(!d)for(let{message:f}of e){if(f.info.role!=="assistant")continue;let m=f.info,h=Wd(m,t);if(h<=0)continue;d=!0,n+=h;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,o+=x.reasoning??0,u+=x.cache?.read??0,p+=x.cache?.write??0)}if(d)return{cost:n*ju,tokens:{input:r,output:s,reasoning:o,cacheRead:u,cacheWrite:p}}}function Wd(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?Nd({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function I_(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:u}=Hd(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=Kd(f,o,u,t));d||(p+=Wd(s,t)),n+=p}return n*ju}function E_(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function j_(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function $_(e){if(!e||e.type!=="retry")return;let t=e,n=te(t.message);return{attempt:t.attempt,message:n.length>60?`${n.slice(0,60)}...`:n,next:t.next,details:ne(t.message)}}function M_(e){if(!(!e||e.type!=="retry"))return te(e.message)}function D_(e){return(e.info.summary?.diffs?.length??0)>0}var q_=4e3;function Pt(e,t=q_){return e.length>t?`${e.slice(0,t)}
73
+ \u2026`:e}function zd(e){if(e!==void 0)try{return Pt(JSON.stringify(e,null,2))}catch{return}}function G(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function Xe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function O_(e){let t=G(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Xe(e.outputParsed);if(!n)return{kind:"web-search",query:t};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(o=>{let u=Xe(o)??{};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)??t,results:s.length>0?s:void 0,answer:G(n.answer)}}var U_=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function Mu(e){let t=e.match(U_);return t?Number(t[1]):void 0}function F_(e,t,n){let r="",s=0;for(;;){let o=e.indexOf(t,s);if(o===-1)return r+e.slice(s);let u=e.indexOf(n,o+t.length);if(u===-1)return r+e.slice(s);r+=e.slice(s,o),s=u+n.length}}var L_=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function G_(e){let t=-1;for(let n of L_){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var B_=/\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 N_(e){return e.replace(B_,"")}function K_(e){let t=G(e.input?.command)??"",n=e.output??"",r=Mu(n),o=N_(G_(F_(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:o||void 0,exitCode:r}}function Du(e){return G(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function H_(e){let t=e.status==="error"?e.error:e.output&&Pt(e.output)||void 0;return{kind:"file-read",path:Du(e),preview:t}}function W_(e){let t=G(e.input?.content),n=e.status==="error"?e.error:Pt(t??e.output??"")||void 0;return{kind:"file-write",path:Du(e),preview:n}}var z_=256*1024;function V_(e,t){if(e.length+t.length>z_)return;let n=e.split(`
74
74
  `),r=t.split(`
75
- `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,l=r.length;for(;o>s&&l>s&&n[o-1]===r[l-1];)o--,l--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<l;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function B_(e){let t=G(e.input?.oldString),n=G(e.input?.newString),r=t!==void 0&&n!==void 0?G_(t,n):void 0;return{kind:"file-edit",path:Tu(e),diff:r}}var Kd=/^Found\s+(\d+)\s+match/i,N_=/^(\/[^:]+?):\s*/,Nd=/Line\s+(\d+):/g;function K_(e){let t=e.trim(),n=t.match(Kd),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let o of r.split(/\n\n+/)){let l=o.trim();if(!l)continue;let p=l.match(N_);if(!p)continue;let d=p[1],f=l.slice(p[0].length),m=[],h;for(Nd.lastIndex=0;(h=Nd.exec(f))!==null;)m.push({line:Number(h[1]),contentStart:h.index+h[0].length,headerStart:h.index});for(let x=0;x<m.length;x++){let P=x+1<m.length?m[x+1].headerStart:f.length,C=f.slice(m[x].contentStart,P).trim();s.push({path:d,line:m[x].line,content:C.endsWith(";")?C.slice(0,-1):C})}}return s}function H_(e){return e.trim().split(`
76
- `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function W_(e){let t=G(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=Kd.test(e.output.trim())?K_(e.output):H_(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function z_(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 Cu(e){let t=Je(e)??{};return{content:G(t.content)??"",status:G(t.status)??"pending",priority:G(t.priority)}}function V_(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Cu)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Cu)};let n=Je(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Cu)}:{kind:"todo",items:[]}}function J_(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Je(r)??{},l=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=Je(p),f=d&&G(d.label);return f?[{label:f,description:d?G(d.description):void 0}]:[]});return{question:G(s.question)??"",header:G(s.header),options:l}})}}function X_(e){let n=e.input&&Object.keys(e.input).length>0?Bd(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?_t(e.outputParsed):Bd(e.outputParsed):e.outputText!==void 0?r=_t(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Hd(e){switch(bt(e.name)){case"web_search":case"websearch":case"image_search":return I_(e);case"bash":return O_(e);case"read":return U_(e);case"write":return F_(e);case"edit":case"morph_edit":return B_(e);case"grep":case"glob":return W_(e);case"task":return z_(e);case"todowrite":return V_(e);case"question":case"ask":return J_(e);default:return X_(e)}}var Q_=new Set(["AbortError","MessageAbortedError"]),Y_=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],Z_=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function Wd(e){let t=e.toLowerCase();return Z_.some(n=>t.includes(n))?!1:Y_.some(n=>t.includes(n))}function eP(e){let t=e.data,n=t&&typeof t=="object"?t.message:void 0;return typeof n=="string"?n:typeof e.message=="string"?e.message:void 0}function Iu(e){if(typeof e=="string")return Wd(e);if(!e||typeof e!="object")return!1;let t=e,n=t.name;if(typeof n=="string"&&Q_.has(n))return!0;let r=eP(t);return typeof r=="string"?Wd(r):!1}var zd=["user","runtime-disposed","orphan-finalized","wake"],tP=["orphan-finalized","wake"];function nP(e){if(!e||typeof e!="object")return;let t=e.data;if(!t||typeof t!="object")return;let n=t.reason;if(!(typeof n!="string"||!n))return zd.includes(n)?n:void 0}function qn(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function rP(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 sP(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 Eu(e,t,n){return e!==void 0?e:rP(qn(t),n)}var iP={get disableMobileAdvertising(){return Eu(I().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Eu(I().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Eu(I().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var Pt="kortix-active-instance",Vd=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Jd(e){return Vd.some(t=>e===t||e.startsWith(`${t}/`))}function Xe(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 oP(e){let t=Xe(e);return!!t&&t.innerPath===""}function aP(e){let t=Xe(e);return!t||!t.innerPath?e:t.innerPath}function Xd(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=Xe(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return Jd(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function Qd(e){return e?Xe(e)?.instanceId??null:null}function cP(){return typeof window>"u"?null:Qd(window.location.pathname)||Yd()}function Yd(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${Pt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function lP(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${Pt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${Pt}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${Pt}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function uP(e,t){return t?Xd(t,e):e}function pP(e){let t=Xe(e);return t?t.innerPath||"/dashboard":e}function ju(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 Zd(e){let t=ju(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 $u(e){let t=Zd(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function dP(e){return $u(e)!==null}var gP=[/sandbox not ready/i,/sandbox is not (?:ready|running)/i,/opencode (?:session )?(?:is )?not ready/i,/\bsandbox_not_ready\b/,/\bsandbox_lifecycle_unavailable\b/];function wt(e){let t=ju(e);return t?gP.some(n=>n.test(t)):!1}var kt=class extends Error{constructor(t){let n=t?.trim();super(n&&wt(n)?n:n?`sandbox not ready: ${n}`:"sandbox not ready"),this.name="SandboxNotReadyError"}};function eg(e){let t=$u(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=t.data?.issues?.[0]?.message,l=t.data?.issues?.[0]?.path?.join("."),p=l?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:o?`${l?`${l}: `:""}${o}`:void 0}}let n=ju(e);return wt(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 Y(){let e=qn("BACKEND_URL")||I().backendUrl;return e||"http://localhost:8008/v1"}function St(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=St(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return St(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var tg=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function ng(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function mP(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 Mu(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?`${Y()}/p/${n.external_id}/${le.KORTIX_MASTER}`:""),status:mP(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 qu(){let e=await Ce(),t=[];for(let n of e){let r=await Ne(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Mu(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},o=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return o!==0?o:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function Te(e){let t=await qu();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 Dn(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await M(`${Y()}${e}`,{...t,headers:n,signal:r}),o=await s.text().catch(()=>{}),l;if(o)try{l=JSON.parse(o)}catch{}if(!s.ok){let p=l?.error||l?.message||l?.detail||o||`Platform API error ${s.status}`,d=new A(p,{status:s.status,code:l?.code||l?.error_code||String(s.status),details:l??(o?{rawText:o}:void 0),response:s,endpoint:e});throw s.status===402&&(d=ke(Object.assign(d,{response:s,status:s.status,data:l}))),d}return l}function Du(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`${Y()}/p/${e.external_id}/${le.KORTIX_MASTER}`}function fP(e,t){return e.external_id?`${Y()}/p/${e.external_id}/${t}`:null}async function yP(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function rg(e){let t=await Te();if(t)return{sandbox:t.sandbox,created:!1};let r=(await Ce())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Ke(r.project_id,{...e?.provider?{provider:e.provider}:{}}),o=(await Re(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Mu(r,s,o),created:!0}}async function hP(){return(await Te().catch(()=>null))?.sandbox??null}async function bP(e){return{sandbox:(await rg(e)).sandbox}}async function xP(e){let t=St(e);return t?(await Te(t).catch(()=>null))?.sandbox??null:null}async function _P(e,t){throw await Te(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function PP(e){let t=St(e);return(await qu().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function kP(){if(typeof window>"u")return null;let e=Y(),t=Array.from(new Set([e,...tg]));for(let n of t)try{let r=await fetch(ng(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 wP(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await Te(e);if(!t)throw new Error("Project session sandbox not found");await gt(t.project.project_id,t.session.session_id)}async function SP(e){if(!e)throw new Error("No sandbox selected to stop");let t=await Te(e);if(!t)throw new Error("Project session sandbox not found");await mt(t.project.project_id,t.session.session_id)}async function vP(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function AP(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Ou(e,t,n){let r=Du(e),s=await M(`${oe(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let o=await s.text().catch(()=>"");throw new Error(o||`Request failed (${s.status})`)}return await s.json()}async function CP(e,t){return Ou(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function RP(e,t,n,r="member"){await Ou(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function TP(e,t,n){await Ou(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function IP(e){let t=await Dn(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function EP(e){let t=await Dn(`/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 jP(e){let t=await Dn(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function $P(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function MP(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function qP(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function DP(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function OP(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function UP(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var sg=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function FP(e){return sg.includes(e)}async function LP(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 GP(e){let t=e?`?channel=${e}`:"",n=await fetch(`${Y()}/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 ig(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function ig(e){let t=e?`?channel=${e}`:"",n=await fetch(`${Y()}/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 BP(){let e=await fetch(`${Y()}/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 NP(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function KP(e){}async function HP(e){}async function WP(e){return{serverTypes:[],location:e||"hel1"}}async function zP(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function VP(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function JP(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function XP(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function QP(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function YP(e,t){return`${Y()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var pe=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function On(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Uu(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 Un(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function Fn(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(`${On(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Uu(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),o=await Un(s);if(!s.ok)throw new pe(Fn(s,o),s.status,o);return o}function ZP(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 ek(e,t){return B(`/marketplace/items${ZP(t)}`,e)}function tk(e){return B("/marketplace/marketplaces",e)}function nk(e,t){return B(`/marketplace/items/${encodeURIComponent(e)}`,t)}function rk(e,t,n){return B(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function sk(e,t){return B("/access/check-email",t,{method:"POST",body:{email:e}})}function ik(e,t){return B("/access/request-access",t,{method:"POST",body:e})}function ok(e){return B("/auth/logout",e,{method:"POST",body:{}})}function ak(e,t){return B(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function ck(e,t){return B("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function lk(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function uk(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function pk(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}/finalize`,t,{method:"POST",body:{}})}function dk(e,t){return B(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function gk(e,t,n){return B(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function mk(e,t){return B(`/p/public-share/${encodeURIComponent(e)}`,t)}function fk(e,t,n){return B(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function yk(e){return B("/system/maintenance",e)}function hk(e,t){return B("/system/maintenance",t,{method:"PUT",body:e})}function bk(e){return B("/user-roles",e)}function xk(e,t){return B("/system/demo-request",t,{method:"POST",body:e})}async function _k(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.phase&&r.set("phase",t.phase),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),t.cursor&&r.set("cursor",t.cursor),t.limit!=null&&r.set("limit",String(t.limit));let s=await fetch(`${On(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Uu(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await Un(s);throw new pe(Fn(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count"),complete:s.headers.get("x-audit-complete")!=="false",nextCursor:s.headers.get("x-audit-next-cursor")||null}}async function Pk(e,t){let n=await fetch(`${On(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Uu(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await Un(n);throw new pe(Fn(n,r),n.status,r)}if(!n.body)throw new pe("No response body",n.status,null);return n.body}var kk=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function og(e,t){return kk.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${On(e)}/`):null}async function wk(e,t,n){let r=og(e,t);if(!r)throw new pe("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await Un(s);if(!s.ok)throw new pe(Fn(s,o),s.status,o);return o}async function Sk(){let e=await i.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function vk(e={}){let t=await i.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function Ak(e){let t=await i.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug,client_id:e.clientId,client_secret:e.clientSecret},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function Ck(e){let t=await i.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function Rk(){let e=await i.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}var ag="/kortix/part/";function cg(e){return typeof e=="string"&&e.startsWith(ag)}async function Tk(e){if(!cg(e))throw new Error(`not an attachment part reference: ${e}`);let t=ie();if(!t)throw new Error("runtime url not bound");let n=await M(`${t}${e}`);if(!n.ok)throw new Error(`attachment part fetch failed: ${n.status}`);return n.blob()}function lg(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 Ik(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(t)try{o.add(new URL(t).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function Fu(e,t){return Ik(e,t)?(t?lg(t):null)??lg(e):null}function Lu(e){try{let{hostname:t}=new URL(e);return/^p\d+-[^.]+\./.test(t)||/^(?:dev|staging|prod|preview)-p\d+-[a-z0-9-]+\./i.test(t)}catch{return!1}}function Gu(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function ug(e,t={}){let n=Fu(e,t.serverUrl);if(!n)return!1;let r=await je();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}async function Ek(e,t={}){if(Lu(e)){let n=await je();return n?Gu(e,n):e}return await ug(e,t),e}var jk=3e3;function pg(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 $k(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 o=await fetch(e,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return pg(o.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function Bu(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Mk(e,t){return`${Bu(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function qk(e,t){return`${Bu(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function dg(e,t){return`${Bu(e)}/presentation/convert-to-${t}`}async function Dk(e,t,n,r){let s=dg(t,e),o=r?.pollIntervalMs??2500,l=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let C=await f.blob();if(C.size===0)throw new Error("Downloaded file is empty");return C}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>l)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((C,E)=>{let j=setTimeout(C,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(j),E(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),P=f.statusText;try{let C=JSON.parse(x);P=String(C.error||C.detail||C.message||P)}catch{x&&(P=x)}throw new Error(`Failed to download ${e.toUpperCase()}: ${P} (HTTP ${f.status})`)}}function Ok(e){return e.activityFresh||e.runtimeReady?"live":e.unreachable||e.stalled?"unreachable":e.sandbox==="stopped"||e.sandbox==="archived"||e.sandbox==="provisioning"||e.sandbox==="queued"||e.sandbox==="branching"?"waking":e.sandbox==="completed"?"unknown":e.sandbox==="failed"?"unreachable":e.sandbox==="running"?"connecting":"unknown"}function Uk(e){return e==="unreachable"}var Fk=6e4,Lk=45e3,Gk=45e3,Bk=1e4,Nk=3e3,Kk=15e3;function Hk(e,t){return t?t.serverAtMs!=null&&e.serverAtMs!=null?e.serverAtMs>=t.serverAtMs:e.atMs>=t.atMs:!0}function Wk(e){let t=0;for(let n of e)(n.state==="queued"||n.state==="delivering"||n.state==="waiting"&&n.reason!=="held")&&(t+=1);return t}function Nu(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function zk(e){let{optimistic:t,abort:n,inbox:r,server:s,stream:o,activity:l,nowMs:p}=e,d=!!t&&p-t.atMs<6e4,f=t?t.turnId===void 0?t.messageId:t.turnId:null,m=d?t.acceptedAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,h=d?t.atMs:Number.NEGATIVE_INFINITY,P=!!n&&p-n.atMs<15e3?n.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,C=!!s&&p-s.atMs<=45e3,E=!!o&&p-o.atMs<=45e3,j=!!r&&p-r.atMs<=1e4,u=o&&o.type==="idle"&&o.origin!=="local"?o:null,c=!!l&&p-l.atMs<=45e3&&(!u||l.atMs>u.atMs),S=y=>{if(!u)return!1;let T=Nu(y.started_at);return!(T===null||T>=u.atMs)};if(c)return{state:"working",source:"stream",turnId:null,since:l.atMs,serverOpenTurnToken:s?.turns[0]?.turn_token??null};let R=s?.turns[0]?.turn_token??null,$=C?s.turns.find(y=>!S(y)):void 0,D=!!o&&!(o.type==="idle"&&o.origin==="local");if($&&s.atMs>=P&&(!D||s.atMs>=o.atMs))return{state:"working",source:"server",turnId:$.message_id,since:Nu($.started_at)??s.atMs,serverOpenTurnToken:R};if(j&&r.pending>0)return{state:"working",source:"server",turnId:d?f:null,since:r.atMs,serverOpenTurnToken:R};let q=C&&!$&&s.atMs>=m,X=E&&o.atMs>=h;if(q&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:Nu(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:R};if(X)return{state:o.type==="idle"?"idle":"working",source:"stream",turnId:null,since:o.atMs,serverOpenTurnToken:R};if(d)return{state:"working",source:"optimistic",turnId:f,since:t.atMs,serverOpenTurnToken:R};let W=s&&o?s.atMs>=o.atMs?{source:"server",atMs:s.atMs}:{source:"stream",atMs:o.atMs}:s?{source:"server",atMs:s.atMs}:o?{source:"stream",atMs:o.atMs}:{source:"server",atMs:p};return{state:"idle",source:W.source,turnId:null,since:W.atMs,serverOpenTurnToken:R}}function Vk(e){let{optimistic:t,abort:n,inbox:r,server:s,stream:o,activity:l,nowMs:p}=e,d=[null,t?t.atMs+6e4:null,n?n.atMs+15e3:null,r?r.atMs+1e4:null,s?s.atMs+45e3:null,o?o.atMs+45e3:null,l?l.atMs+45e3:null],f=null;for(let m of d)m===null||m<=p||(f===null||m<f)&&(f=m);return f}var Jk=6e4;function Xk(e){return e.serverCompactingAtMs!==null?!0:e.optimisticAtMs===null?!1:e.nowMs-e.optimisticAtMs<6e4}function Qk(e){if(e.serverCompactingAtMs!==null||e.optimisticAtMs===null)return null;let t=e.optimisticAtMs+6e4;return t>e.nowMs?t:null}var gg=9e4;function Yk(e){return e.serverCompactingAtMs===null?null:e.serverCompactingAtMs+gg}var Zk=75e3,ew=2,tw=2e4;function Ku(){return{status:"idle",dispatch:"none",fingerprint:null,lastProgressAtMs:null,lastDispatchAtMs:null,attempts:[],msSinceProgress:0,settled:!1}}function nw(e){return e.filter(t=>t!=null).join("|")}function rw(e,t){return e.length===0?"retry-start":e.filter(r=>r.step==="restart").length<t?"restart":null}function sw(e,t,n={}){let r=n.noProgressMs??75e3,s=n.maxRestarts??2,o=n.cooldownMs??2e4;if(t.runtimeReachable)return{...Ku(),settled:!0};if(!t.waking)return{...e,dispatch:"none",fingerprint:null,lastProgressAtMs:null,msSinceProgress:0};if(e.settled)return{...Ku(),settled:!0};let l=e.lastProgressAtMs,p=l===null,d=t.progress!==e.fingerprint,f=l===null||d?t.nowMs:l,m=Math.max(0,t.nowMs-f),h={...e,dispatch:"none",fingerprint:t.progress,lastProgressAtMs:f,msSinceProgress:m,status:e.attempts.length>0?"escalating":"waking"};if(e.status==="exhausted")return{...h,status:"exhausted"};let x=!p&&!d&&m>=r;if(!t.serverGaveUp&&!x||e.lastDispatchAtMs!==null&&t.nowMs-e.lastDispatchAtMs<o)return h;let P=rw(e.attempts,s);return P?{...h,status:"escalating",dispatch:P,attempts:[...e.attempts,{step:P,atMs:t.nowMs}],lastDispatchAtMs:t.nowMs,lastProgressAtMs:t.nowMs,msSinceProgress:0}:{...h,status:"exhausted"}}var iw={"retry-start":"retrying",restart:"restarting"};function ow(e){if(e.status!=="escalating")return null;let t=e.attempts[e.attempts.length-1];return t?`Still waking \u2014 ${iw[t.step]} the runtime (attempt ${e.attempts.length+1})`:null}function aw(e){return e===1?"once":e===2?"twice":`${e} times`}function cw(e){if(e.status!=="exhausted")return null;let t=e.attempts.filter(s=>s.step==="restart").length,n=e.attempts.some(s=>s.step==="retry-start");if(!n&&t===0)return null;let r=[];return n&&r.push("re-issuing the wake"),t>0&&r.push(`restarting the session ${aw(t)}`),`Tried: ${r.join(", then ")}.`}var lw=1e3,uw=15e3,mg=100,pw=50,dw=10;function fg(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s},o)=>{let l=new URLSearchParams({limit:String(r)});s&&l.set("before",s);let p=await e.getToken?.(),d=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${l}`,{headers:p?{Authorization:`Bearer ${p}`}:void 0,...o?{signal:o}:{}});if(!d.ok)throw d.status===503?new kt(`session ${d.status}`):new Error(`Session synchronization failed: ${d.status}`);return{messages:await d.json(),nextCursor:d.headers.get("x-next-cursor")||void 0}}}function yg(e){return gw(fg(e))}function hg(e){return new Hu({...e,loadPage:fg(e)})}async function gw(e){let t=[],n=new Set,r;do{let l=await e({limit:mg,...r?{before:r}:{}});if(t.push(l.messages),r=l.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);let s=[],o=new Set;for(let l=t.length-1;l>=0;l--)for(let p of t[l])o.has(p.info.id)||(o.add(p.info.id),s.push(p));return s}var mw={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Hu=class{options;scheduler;livenessIntervalMs;verifyIntervalMs;lastTailReadAt;retryAttempt=0;tailRetryTimer;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;lastActivityAt;listeners=new Set;destroyed=!1;abortController=new AbortController;constructor(t){this.options=t,this.scheduler=t.scheduler??mw,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.verifyIntervalMs=t.verifyIntervalMs??3e4,this.lastActivityAt=this.scheduler.now(),this.lastTailReadAt=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"||this.snapshot.freshness==="loading"?"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"})}setBusy(t){if(!t){let n=this.livenessTimer!==void 0;this.stopLivenessTimer(),n&&!this.destroyed&&this.reconcile("turn-end");return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.tailRetryTimer!==void 0&&(this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0),this.abortController.abort(),this.listeners.clear()}async loadTail(t){this.lastTailReadAt=this.scheduler.now();try{let n=await this.loadPage("tail",t);if(this.destroyed)return;this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted||this.setCursor(n.nextCursor),this.update({freshness:"fresh"}),this.options.markLoaded(),this.retryAttempt=0}catch(n){if(this.destroyed||Iu(n)||this.abortController.signal.aborted)return;this.update({freshness:wt(n)?"loading":"error"}),this.scheduleTailRetry(t)}}scheduleTailRetry(t){if(this.destroyed||this.tailRetryTimer!==void 0)return;let n=Math.min(lw*2**this.retryAttempt,uw);this.retryAttempt+=1,this.tailRetryTimer=this.startTimer(()=>{this.tailRetryTimer=void 0,!this.destroyed&&this.reconcile(t)},n)}async loadPage(t,n,r){let s=this.scheduler.now();try{let o=await this.options.loadPage({limit:t==="tail"?pw:mg,...r?{before:r}:{}},this.abortController.signal);return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t,r=>{this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.setCursor(r.nextCursor)})}async loadCompleteTurn(t,n,r,s,o){let l=[...t.messages],p=new Set(this.knownUserMessageIds),d=new Set(s?[s]:[]),f=t.nextCursor,m=0;for(let h of t.messages)h.info.role==="user"&&p.add(h.info.id);for(;f&&m<dw&&l.some(h=>h.info.role==="assistant"&&!!h.info.parentID&&!p.has(h.info.parentID));){if(d.has(f))throw new Error(`Session history cursor repeated: ${f}`);d.add(f);let h;try{h=await this.loadPage(n,r,f)}catch(x){throw o?.({messages:[...l],nextCursor:f}),x}if(this.destroyed)return{messages:l,nextCursor:f};m+=1,l.unshift(...h.messages);for(let x of h.messages)x.info.role==="user"&&p.add(x.info.id);f=h.nextCursor,o?.({messages:[...l],nextCursor:f})}return{messages:l,nextCursor:f}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){if(this.destroyed)return;let t=this.scheduler.now(),n=t-this.lastActivityAt>this.livenessIntervalMs,r=t-this.lastTailReadAt>=this.verifyIntervalMs;!n&&!r||(await this.raceDeadline(this.reconcile("poll"),this.livenessIntervalMs),this.lastActivityAt=this.scheduler.now())}raceDeadline(t,n){return new Promise(r=>{let s,o=!1,l=()=>{o||(o=!0,this.cancelTimer(s),r())};s=this.startTimer(l,n),t.then(l,l)})}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}startTimer(t,n){return this.scheduler.setTimeout?this.scheduler.setTimeout(t,n):setTimeout(t,n)}cancelTimer(t){t!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(t):clearTimeout(t))}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder)){this.snapshot=n;for(let r of this.listeners)r()}}};function bg(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function xg(e){let{url:t,token:n,method:r="GET",body:s,onEvent:o,onOpen:l,onError:p,signal:d}=e,f=new Map,m=null,h=!1;function x(u,b){o?.(u,b);let c=f.get(u);if(c)for(let S of c)try{S(b)}catch{}}async function P(){if(h)return;m=new AbortController;let u=d?AbortSignal.any([m.signal,d]):m.signal;try{let b={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(b["Content-Type"]="application/json");let c=await fetch(t,{method:r,headers:b,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:u,credentials:"include"});if(!c.ok)throw new Error(`SSE connection failed: ${c.status} ${c.statusText}`);if(!c.body)throw new Error("SSE response has no body");l?.();let S=c.body.getReader(),w=new TextDecoder,R="",$="message",D="";for(;!h;){let{done:q,value:X}=await S.read();if(q)break;R+=w.decode(X,{stream:!0});let W=R.split(`
77
- `);R=W.pop()||"";for(let y of W)y===""?D&&(x($,D.trimEnd()),$="message",D=""):y.startsWith("event: ")?$=y.slice(7).trim():y.startsWith("data: ")?D+=(D?`
78
- `:"")+y.slice(6):y.startsWith("data:")&&(D+=(D?`
79
- `:"")+y.slice(5))}}catch(b){if(h||b instanceof DOMException&&b.name==="AbortError")return;p?.(b instanceof Error?b:new Error(String(b)))}}function C(){h=!0,m?.abort(),m=null,f.clear()}function E(u,b){let c=f.get(u)??new Set;c.add(b),f.set(u,c)}function j(u,b){f.get(u)?.delete(b)}return{connect:P,close:C,addEventListener:E,removeEventListener:j}}function fw(e,t){return xg({...t,url:bg(e)})}var yw="/_kortix/viewer";var Ln=new Map;function _g(){Ln.clear()}async function hw(e,t){let n;try{n=await t(e,{credentials:"same-origin",headers:{accept:"application/json"}})}catch{return null}if(n.status===401||n.status===404||!n.ok)return null;let r=await n.json().catch(()=>null);return r&&typeof r.user_id=="string"?r:null}async function Wu(e={}){let t=e.path??yw,n=e.fetch??((o,l)=>fetch(o,l)),r=Ln.get(t);if(r&&!r.inflight&&r.expiresAt>Date.now())return r.session;if(r?.inflight)return r.inflight;let s=hw(t,n).then(o=>{let l=o?.expires_at?Date.parse(o.expires_at):Number.NaN,p=Number.isFinite(l)?l-6e4:Date.now()+6e4;return Ln.set(t,{session:o,expiresAt:p}),o});return Ln.set(t,{session:r?.session??null,expiresAt:0,inflight:s}),s}function Pg(e={}){return async()=>(await Wu(e))?.access_token??null}return Cg(bw);})();
75
+ `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,u=r.length;for(;o>s&&u>s&&n[o-1]===r[u-1];)o--,u--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<u;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function J_(e){let t=G(e.input?.oldString),n=G(e.input?.newString),r=t!==void 0&&n!==void 0?V_(t,n):void 0;return{kind:"file-edit",path:Du(e),diff:r}}var Jd=/^Found\s+(\d+)\s+match/i,X_=/^(\/[^:]+?):\s*/,Vd=/Line\s+(\d+):/g;function Q_(e){let t=e.trim(),n=t.match(Jd),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let o of r.split(/\n\n+/)){let u=o.trim();if(!u)continue;let p=u.match(X_);if(!p)continue;let d=p[1],f=u.slice(p[0].length),m=[],h;for(Vd.lastIndex=0;(h=Vd.exec(f))!==null;)m.push({line:Number(h[1]),contentStart:h.index+h[0].length,headerStart:h.index});for(let x=0;x<m.length;x++){let _=x+1<m.length?m[x+1].headerStart:f.length,k=f.slice(m[x].contentStart,_).trim();s.push({path:d,line:m[x].line,content:k.endsWith(";")?k.slice(0,-1):k})}}return s}function Y_(e){return e.trim().split(`
76
+ `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Z_(e){let t=G(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=Jd.test(e.output.trim())?Q_(e.output):Y_(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function eP(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 $u(e){let t=Xe(e)??{};return{content:G(t.content)??"",status:G(t.status)??"pending",priority:G(t.priority)}}function tP(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map($u)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map($u)};let n=Xe(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map($u)}:{kind:"todo",items:[]}}function nP(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Xe(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=Xe(p),f=d&&G(d.label);return f?[{label:f,description:d?G(d.description):void 0}]:[]});return{question:G(s.question)??"",header:G(s.header),options:u}})}}function rP(e){let n=e.input&&Object.keys(e.input).length>0?zd(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?Pt(e.outputParsed):zd(e.outputParsed):e.outputText!==void 0?r=Pt(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Xd(e){switch(xt(e.name)){case"web_search":case"websearch":case"image_search":return O_(e);case"bash":return K_(e);case"read":return H_(e);case"write":return W_(e);case"edit":case"morph_edit":return J_(e);case"grep":case"glob":return Z_(e);case"task":return eP(e);case"todowrite":return tP(e);case"question":case"ask":return nP(e);default:return rP(e)}}var sP=new Set(["AbortError","MessageAbortedError"]),iP=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],oP=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function Qd(e){let t=e.toLowerCase();return oP.some(n=>t.includes(n))?!1:iP.some(n=>t.includes(n))}function aP(e){let t=e.data,n=t&&typeof t=="object"?t.message:void 0;return typeof n=="string"?n:typeof e.message=="string"?e.message:void 0}function qu(e){if(typeof e=="string")return Qd(e);if(!e||typeof e!="object")return!1;let t=e,n=t.name;if(typeof n=="string"&&sP.has(n))return!0;let r=aP(t);return typeof r=="string"?Qd(r):!1}var Yd=["user","runtime-disposed","orphan-finalized","wake"],cP=["orphan-finalized","wake"];function lP(e){if(!e||typeof e!="object")return;let t=e.data;if(!t||typeof t!="object")return;let n=t.reason;if(!(typeof n!="string"||!n))return Yd.includes(n)?n:void 0}function Fn(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function uP(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 pP(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 Ou(e,t,n){return e!==void 0?e:uP(Fn(t),n)}var dP={get disableMobileAdvertising(){return Ou(j().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Ou(j().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Ou(j().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var kt="kortix-active-instance",Zd=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function eg(e){return Zd.some(t=>e===t||e.startsWith(`${t}/`))}function Qe(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 gP(e){let t=Qe(e);return!!t&&t.innerPath===""}function mP(e){let t=Qe(e);return!t||!t.innerPath?e:t.innerPath}function tg(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=Qe(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return eg(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function ng(e){return e?Qe(e)?.instanceId??null:null}function fP(){return typeof window>"u"?null:ng(window.location.pathname)||rg()}function rg(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${kt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function yP(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${kt}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${kt}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${kt}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function hP(e,t){return t?tg(t,e):e}function bP(e){let t=Qe(e);return t?t.innerPath||"/dashboard":e}function Uu(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 sg(e){let t=Uu(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 Fu(e){let t=sg(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function xP(e){return Fu(e)!==null}var _P=[/sandbox not ready/i,/sandbox is not (?:ready|running)/i,/opencode (?:session )?(?:is )?not ready/i,/\bsandbox_not_ready\b/,/\bsandbox_lifecycle_unavailable\b/];function St(e){let t=Uu(e);return t?_P.some(n=>n.test(t)):!1}var wt=class extends Error{constructor(t){let n=t?.trim();super(n&&St(n)?n:n?`sandbox not ready: ${n}`:"sandbox not ready"),this.name="SandboxNotReadyError"}};function ig(e){let t=Fu(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=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:o?`${u?`${u}: `:""}${o}`:void 0}}let n=Uu(e);return St(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 Z(){let e=Fn("BACKEND_URL")||j().backendUrl;return e||"http://localhost:8008/v1"}function vt(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=vt(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return vt(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var og=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function ag(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function PP(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 Lu(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${Z()}/p/${n.external_id}/${le.KORTIX_MASTER}`:""),status:PP(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 Gu(){let e=await Ce(),t=[];for(let n of e){let r=await Ke(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Lu(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},o=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return o!==0?o:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function Te(e){let t=await Gu();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 Ln(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await M(`${Z()}${e}`,{...t,headers:n,signal:r}),o=await s.text().catch(()=>{}),u;if(o)try{u=JSON.parse(o)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||o||`Platform API error ${s.status}`,d=new A(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(o?{rawText:o}:void 0),response:s,endpoint:e});throw s.status===402&&(d=we(Object.assign(d,{response:s,status:s.status,data:u}))),d}return u}function Bu(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${Z()}/p/${e.external_id}/${le.KORTIX_MASTER}`}function kP(e,t){return e.external_id?`${Z()}/p/${e.external_id}/${t}`:null}async function wP(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function cg(e){let t=await Te();if(t)return{sandbox:t.sandbox,created:!1};let r=(await Ce())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await He(r.project_id,{...e?.provider?{provider:e.provider}:{}}),o=(await Re(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Lu(r,s,o),created:!0}}async function SP(){return(await Te().catch(()=>null))?.sandbox??null}async function vP(e){return{sandbox:(await cg(e)).sandbox}}async function AP(e){let t=vt(e);return t?(await Te(t).catch(()=>null))?.sandbox??null:null}async function CP(e,t){throw await Te(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function RP(e){let t=vt(e);return(await Gu().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function TP(){if(typeof window>"u")return null;let e=Z(),t=Array.from(new Set([e,...og]));for(let n of t)try{let r=await fetch(ag(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 IP(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await Te(e);if(!t)throw new Error("Project session sandbox not found");await mt(t.project.project_id,t.session.session_id)}async function EP(e){if(!e)throw new Error("No sandbox selected to stop");let t=await Te(e);if(!t)throw new Error("Project session sandbox not found");await ft(t.project.project_id,t.session.session_id)}async function jP(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function $P(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Nu(e,t,n){let r=Bu(e),s=await M(`${oe(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let o=await s.text().catch(()=>"");throw new Error(o||`Request failed (${s.status})`)}return await s.json()}async function MP(e,t){return Nu(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function DP(e,t,n,r="member"){await Nu(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function qP(e,t,n){await Nu(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function OP(e){let t=await Ln(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function UP(e){let t=await Ln(`/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 FP(e){let t=await Ln(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function LP(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function GP(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function BP(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function NP(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function KP(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function HP(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var lg=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function WP(e){return lg.includes(e)}async function zP(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 VP(e){let t=e?`?channel=${e}`:"",n=await fetch(`${Z()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await ug(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function ug(e){let t=e?`?channel=${e}`:"",n=await fetch(`${Z()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function JP(){let e=await fetch(`${Z()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function XP(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function QP(e){}async function YP(e){}async function ZP(e){return{serverTypes:[],location:e||"hel1"}}async function ek(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function tk(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function nk(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function rk(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function sk(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function ik(e,t){return`${Z()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var pe=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Gn(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Ku(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 Bn(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function Nn(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(`${Gn(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Ku(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),o=await Bn(s);if(!s.ok)throw new pe(Nn(s,o),s.status,o);return o}function ok(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 ak(e,t){return B(`/marketplace/items${ok(t)}`,e)}function ck(e){return B("/marketplace/marketplaces",e)}function lk(e,t){return B(`/marketplace/items/${encodeURIComponent(e)}`,t)}function uk(e,t,n){return B(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function pk(e,t){return B("/access/check-email",t,{method:"POST",body:{email:e}})}function dk(e,t){return B("/access/request-access",t,{method:"POST",body:e})}function gk(e){return B("/auth/logout",e,{method:"POST",body:{}})}function mk(e,t){return B(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function fk(e,t){return B("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function yk(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function hk(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function bk(e,t){return B(`/setup-links/connectors/${encodeURIComponent(e)}/finalize`,t,{method:"POST",body:{}})}function xk(e,t){return B(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function _k(e,t,n){return B(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function Pk(e,t){return B(`/p/public-share/${encodeURIComponent(e)}`,t)}function kk(e,t,n){return B(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function wk(e){return B("/system/maintenance",e)}function Sk(e,t){return B("/system/maintenance",t,{method:"PUT",body:e})}function vk(e){return B("/user-roles",e)}function Ak(e,t){return B("/system/demo-request",t,{method:"POST",body:e})}async function Ck(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.phase&&r.set("phase",t.phase),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),t.cursor&&r.set("cursor",t.cursor),t.limit!=null&&r.set("limit",String(t.limit));let s=await fetch(`${Gn(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Ku(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await Bn(s);throw new pe(Nn(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count"),complete:s.headers.get("x-audit-complete")!=="false",nextCursor:s.headers.get("x-audit-next-cursor")||null}}async function Rk(e,t){let n=await fetch(`${Gn(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Ku(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await Bn(n);throw new pe(Nn(n,r),n.status,r)}if(!n.body)throw new pe("No response body",n.status,null);return n.body}var Tk=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function pg(e,t){return Tk.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${Gn(e)}/`):null}async function Ik(e,t,n){let r=pg(e,t);if(!r)throw new pe("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await Bn(s);if(!s.ok)throw new pe(Nn(s,o),s.status,o);return o}async function Ek(){let e=await i.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function jk(e={}){let t=await i.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function $k(e){let t=await i.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug,client_id:e.clientId,client_secret:e.clientSecret},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function Mk(e){let t=await i.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function Dk(){let e=await i.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}var dg="/kortix/part/";function gg(e){return typeof e=="string"&&e.startsWith(dg)}async function qk(e){if(!gg(e))throw new Error(`not an attachment part reference: ${e}`);let t=ie();if(!t)throw new Error("runtime url not bound");let n=await M(`${t}${e}`);if(!n.ok)throw new Error(`attachment part fetch failed: ${n.status}`);return n.blob()}function mg(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 Ok(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(t)try{o.add(new URL(t).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function Hu(e,t){return Ok(e,t)?(t?mg(t):null)??mg(e):null}function Wu(e){try{let{hostname:t}=new URL(e);return/^p\d+-[^.]+\./.test(t)||/^(?:dev|staging|prod|preview)-p\d+-[a-z0-9-]+\./i.test(t)}catch{return!1}}function zu(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function fg(e,t={}){let n=Hu(e,t.serverUrl);if(!n)return!1;let r=await je();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}async function Uk(e,t={}){if(Wu(e)){let n=await je();return n?zu(e,n):e}return await fg(e,t),e}var Fk=3e3;function yg(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 Lk(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 o=await fetch(e,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return yg(o.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function Vu(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Gk(e,t){return`${Vu(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function Bk(e,t){return`${Vu(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function hg(e,t){return`${Vu(e)}/presentation/convert-to-${t}`}async function Nk(e,t,n,r){let s=hg(t,e),o=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let k=await f.blob();if(k.size===0)throw new Error("Downloaded file is empty");return k}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((k,R)=>{let E=setTimeout(k,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(E),R(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),_=f.statusText;try{let k=JSON.parse(x);_=String(k.error||k.detail||k.message||_)}catch{x&&(_=x)}throw new Error(`Failed to download ${e.toUpperCase()}: ${_} (HTTP ${f.status})`)}}function Kk(e){return e.activityFresh||e.runtimeReady?"live":e.unreachable||e.stalled?"unreachable":e.sandbox==="stopped"||e.sandbox==="archived"||e.sandbox==="provisioning"||e.sandbox==="queued"||e.sandbox==="branching"?"waking":e.sandbox==="completed"?"unknown":e.sandbox==="failed"?"unreachable":e.sandbox==="running"?"connecting":"unknown"}function Hk(e){return e==="unreachable"}var Wk=6e4,zk=45e3,Vk=45e3,Jk=1e4,Xk=3e3,Qk=15e3;function Yk(e,t){return t?t.serverAtMs!=null&&e.serverAtMs!=null?e.serverAtMs>=t.serverAtMs:e.atMs>=t.atMs:!0}function Zk(e){let t=0;for(let n of e)(n.state==="queued"||n.state==="delivering"||n.state==="waiting"&&n.reason!=="held")&&(t+=1);return t}function Ju(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function ew(e){let{optimistic:t,abort:n,inbox:r,server:s,stream:o,activity:u,nowMs:p}=e,d=!!t&&p-t.atMs<6e4,f=t?t.turnId===void 0?t.messageId:t.turnId:null,m=d?t.acceptedAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,h=d?t.atMs:Number.NEGATIVE_INFINITY,_=!!n&&p-n.atMs<15e3?n.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,k=!!s&&p-s.atMs<=45e3,R=!!o&&p-o.atMs<=45e3,E=!!r&&p-r.atMs<=1e4,l=o&&o.type==="idle"&&o.origin!=="local"?o:null,c=!!u&&p-u.atMs<=45e3&&(!l||u.atMs>l.atMs),v=y=>{if(!l)return!1;let I=Ju(y.started_at);return!(I===null||I>=l.atMs)};if(c)return{state:"working",source:"stream",turnId:null,since:u.atMs,serverOpenTurnToken:s?.turns[0]?.turn_token??null};let T=s?.turns[0]?.turn_token??null,$=k?s.turns.find(y=>!v(y)):void 0,q=!!o&&!(o.type==="idle"&&o.origin==="local");if($&&s.atMs>=_&&(!q||s.atMs>=o.atMs))return{state:"working",source:"server",turnId:$.message_id,since:Ju($.started_at)??s.atMs,serverOpenTurnToken:T};if(E&&r.pending>0)return{state:"working",source:"server",turnId:d?f:null,since:r.atMs,serverOpenTurnToken:T};let D=k&&!$&&s.atMs>=m,Q=R&&o.atMs>=h;if(D&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:Ju(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:T};if(Q)return{state:o.type==="idle"?"idle":"working",source:"stream",turnId:null,since:o.atMs,serverOpenTurnToken:T};if(d)return{state:"working",source:"optimistic",turnId:f,since:t.atMs,serverOpenTurnToken:T};let z=s&&o?s.atMs>=o.atMs?{source:"server",atMs:s.atMs}:{source:"stream",atMs:o.atMs}:s?{source:"server",atMs:s.atMs}:o?{source:"stream",atMs:o.atMs}:{source:"server",atMs:p};return{state:"idle",source:z.source,turnId:null,since:z.atMs,serverOpenTurnToken:T}}function tw(e){let{optimistic:t,abort:n,inbox:r,server:s,stream:o,activity:u,nowMs:p}=e,d=[null,t?t.atMs+6e4:null,n?n.atMs+15e3:null,r?r.atMs+1e4:null,s?s.atMs+45e3:null,o?o.atMs+45e3:null,u?u.atMs+45e3:null],f=null;for(let m of d)m===null||m<=p||(f===null||m<f)&&(f=m);return f}var nw=6e4;function rw(e){return e.serverCompactingAtMs!==null?!0:e.optimisticAtMs===null?!1:e.nowMs-e.optimisticAtMs<6e4}function sw(e){if(e.serverCompactingAtMs!==null||e.optimisticAtMs===null)return null;let t=e.optimisticAtMs+6e4;return t>e.nowMs?t:null}var bg=9e4;function iw(e){return e.serverCompactingAtMs===null?null:e.serverCompactingAtMs+bg}var ow=75e3,aw=2,cw=2e4;function Xu(){return{status:"idle",dispatch:"none",fingerprint:null,lastProgressAtMs:null,lastDispatchAtMs:null,attempts:[],msSinceProgress:0,settled:!1}}function lw(e){return e.filter(t=>t!=null).join("|")}function uw(e,t){return e.length===0?"retry-start":e.filter(r=>r.step==="restart").length<t?"restart":null}function pw(e,t,n={}){let r=n.noProgressMs??75e3,s=n.maxRestarts??2,o=n.cooldownMs??2e4;if(t.runtimeReachable)return{...Xu(),settled:!0};if(!t.waking)return{...e,dispatch:"none",fingerprint:null,lastProgressAtMs:null,msSinceProgress:0};if(e.settled)return{...Xu(),settled:!0};let u=e.lastProgressAtMs,p=u===null,d=t.progress!==e.fingerprint,f=u===null||d?t.nowMs:u,m=Math.max(0,t.nowMs-f),h={...e,dispatch:"none",fingerprint:t.progress,lastProgressAtMs:f,msSinceProgress:m,status:e.attempts.length>0?"escalating":"waking"};if(e.status==="exhausted")return{...h,status:"exhausted"};let x=!p&&!d&&m>=r;if(!t.serverGaveUp&&!x||e.lastDispatchAtMs!==null&&t.nowMs-e.lastDispatchAtMs<o)return h;let _=uw(e.attempts,s);return _?{...h,status:"escalating",dispatch:_,attempts:[...e.attempts,{step:_,atMs:t.nowMs}],lastDispatchAtMs:t.nowMs,lastProgressAtMs:t.nowMs,msSinceProgress:0}:{...h,status:"exhausted"}}var dw={"retry-start":"retrying",restart:"restarting"};function gw(e){if(e.status!=="escalating")return null;let t=e.attempts[e.attempts.length-1];return t?`Still waking \u2014 ${dw[t.step]} the runtime (attempt ${e.attempts.length+1})`:null}function mw(e){return e===1?"once":e===2?"twice":`${e} times`}function fw(e){if(e.status!=="exhausted")return null;let t=e.attempts.filter(s=>s.step==="restart").length,n=e.attempts.some(s=>s.step==="retry-start");if(!n&&t===0)return null;let r=[];return n&&r.push("re-issuing the wake"),t>0&&r.push(`restarting the session ${mw(t)}`),`Tried: ${r.join(", then ")}.`}var yw=1e3,hw=15e3,xg=100,bw=50,xw=10;function _g(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s},o)=>{let u=new URLSearchParams({limit:String(r)});s&&u.set("before",s);let p=await e.getToken?.(),d=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${u}`,{headers:p?{Authorization:`Bearer ${p}`}:void 0,...o?{signal:o}:{}});if(!d.ok)throw d.status===503?new wt(`session ${d.status}`):new Error(`Session synchronization failed: ${d.status}`);return{messages:await d.json(),nextCursor:d.headers.get("x-next-cursor")||void 0}}}function Pg(e){return _w(_g(e))}function kg(e){return new Qu({...e,loadPage:_g(e)})}async function _w(e){let t=[],n=new Set,r;do{let u=await e({limit:xg,...r?{before:r}:{}});if(t.push(u.messages),r=u.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);let s=[],o=new Set;for(let u=t.length-1;u>=0;u--)for(let p of t[u])o.has(p.info.id)||(o.add(p.info.id),s.push(p));return s}var Pw={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Qu=class{options;scheduler;livenessIntervalMs;verifyIntervalMs;lastTailReadAt;retryAttempt=0;tailRetryTimer;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;lastActivityAt;listeners=new Set;destroyed=!1;abortController=new AbortController;constructor(t){this.options=t,this.scheduler=t.scheduler??Pw,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.verifyIntervalMs=t.verifyIntervalMs??3e4,this.lastActivityAt=this.scheduler.now(),this.lastTailReadAt=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"||this.snapshot.freshness==="loading"?"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"})}setBusy(t){if(!t){let n=this.livenessTimer!==void 0;this.stopLivenessTimer(),n&&!this.destroyed&&this.reconcile("turn-end");return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.tailRetryTimer!==void 0&&(this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0),this.abortController.abort(),this.listeners.clear()}async loadTail(t){this.lastTailReadAt=this.scheduler.now();try{let n=await this.loadPage("tail",t);if(this.destroyed)return;this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted||this.setCursor(n.nextCursor),this.update({freshness:"fresh"}),this.options.markLoaded(),this.retryAttempt=0}catch(n){if(this.destroyed||qu(n)||this.abortController.signal.aborted)return;this.update({freshness:St(n)?"loading":"error"}),this.scheduleTailRetry(t)}}scheduleTailRetry(t){if(this.destroyed||this.tailRetryTimer!==void 0)return;let n=Math.min(yw*2**this.retryAttempt,hw);this.retryAttempt+=1,this.tailRetryTimer=this.startTimer(()=>{this.tailRetryTimer=void 0,!this.destroyed&&this.reconcile(t)},n)}async loadPage(t,n,r){let s=this.scheduler.now();try{let o=await this.options.loadPage({limit:t==="tail"?bw:xg,...r?{before:r}:{}},this.abortController.signal);return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t,r=>{this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.setCursor(r.nextCursor)})}async loadCompleteTurn(t,n,r,s,o){let u=[...t.messages],p=new Set(this.knownUserMessageIds),d=new Set(s?[s]:[]),f=t.nextCursor,m=0;for(let h of t.messages)h.info.role==="user"&&p.add(h.info.id);for(;f&&m<xw&&u.some(h=>h.info.role==="assistant"&&!!h.info.parentID&&!p.has(h.info.parentID));){if(d.has(f))throw new Error(`Session history cursor repeated: ${f}`);d.add(f);let h;try{h=await this.loadPage(n,r,f)}catch(x){throw o?.({messages:[...u],nextCursor:f}),x}if(this.destroyed)return{messages:u,nextCursor:f};m+=1,u.unshift(...h.messages);for(let x of h.messages)x.info.role==="user"&&p.add(x.info.id);f=h.nextCursor,o?.({messages:[...u],nextCursor:f})}return{messages:u,nextCursor:f}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){if(this.destroyed)return;let t=this.scheduler.now(),n=t-this.lastActivityAt>this.livenessIntervalMs,r=t-this.lastTailReadAt>=this.verifyIntervalMs;!n&&!r||(await this.raceDeadline(this.reconcile("poll"),this.livenessIntervalMs),this.lastActivityAt=this.scheduler.now())}raceDeadline(t,n){return new Promise(r=>{let s,o=!1,u=()=>{o||(o=!0,this.cancelTimer(s),r())};s=this.startTimer(u,n),t.then(u,u)})}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}startTimer(t,n){return this.scheduler.setTimeout?this.scheduler.setTimeout(t,n):setTimeout(t,n)}cancelTimer(t){t!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(t):clearTimeout(t))}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder)){this.snapshot=n;for(let r of this.listeners)r()}}};function wg(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Sg(e){let{url:t,token:n,method:r="GET",body:s,onEvent:o,onOpen:u,onError:p,signal:d}=e,f=new Map,m=null,h=!1;function x(l,b){o?.(l,b);let c=f.get(l);if(c)for(let v of c)try{v(b)}catch{}}async function _(){if(h)return;m=new AbortController;let l=d?AbortSignal.any([m.signal,d]):m.signal;try{let b={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(b["Content-Type"]="application/json");let c=await fetch(t,{method:r,headers:b,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:l,credentials:"include"});if(!c.ok)throw new Error(`SSE connection failed: ${c.status} ${c.statusText}`);if(!c.body)throw new Error("SSE response has no body");u?.();let v=c.body.getReader(),S=new TextDecoder,T="",$="message",q="";for(;!h;){let{done:D,value:Q}=await v.read();if(D)break;T+=S.decode(Q,{stream:!0});let z=T.split(`
77
+ `);T=z.pop()||"";for(let y of z)y===""?q&&(x($,q.trimEnd()),$="message",q=""):y.startsWith("event: ")?$=y.slice(7).trim():y.startsWith("data: ")?q+=(q?`
78
+ `:"")+y.slice(6):y.startsWith("data:")&&(q+=(q?`
79
+ `:"")+y.slice(5))}}catch(b){if(h||b instanceof DOMException&&b.name==="AbortError")return;p?.(b instanceof Error?b:new Error(String(b)))}}function k(){h=!0,m?.abort(),m=null,f.clear()}function R(l,b){let c=f.get(l)??new Set;c.add(b),f.set(l,c)}function E(l,b){f.get(l)?.delete(b)}return{connect:_,close:k,addEventListener:R,removeEventListener:E}}function kw(e,t){return Sg({...t,url:wg(e)})}var ww="/_kortix/viewer";var Kn=new Map;function vg(){Kn.clear()}async function Sw(e,t){let n;try{n=await t(e,{credentials:"same-origin",headers:{accept:"application/json"}})}catch{return null}if(n.status===401||n.status===404||!n.ok)return null;let r=await n.json().catch(()=>null);return r&&typeof r.user_id=="string"?r:null}async function Yu(e={}){let t=e.path??ww,n=e.fetch??((o,u)=>fetch(o,u)),r=Kn.get(t);if(r&&!r.inflight&&r.expiresAt>Date.now())return r.session;if(r?.inflight)return r.inflight;let s=Sw(t,n).then(o=>{let u=o?.expires_at?Date.parse(o.expires_at):Number.NaN,p=Number.isFinite(u)?u-6e4:Date.now()+6e4;return Kn.set(t,{session:o,expiresAt:p}),o});return Kn.set(t,{session:r?.session??null,expiresAt:0,inflight:s}),s}function Ag(e={}){return async()=>(await Yu(e))?.access_token??null}return jg(vw);})();