@kortix/sdk 0.13.19 → 0.13.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/client/kortix.d.ts +5 -0
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +5 -0
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/http/api-client.d.ts +7 -0
- package/dist/core/http/api-client.d.ts.map +1 -1
- package/dist/core/http/api-client.js +1 -0
- package/dist/core/http/api-client.js.map +1 -1
- package/dist/core/rest/projects-client/sessions.d.ts +52 -4
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sessions.js +55 -5
- package/dist/core/rest/projects-client/sessions.js.map +1 -1
- package/dist/kortix.esm.min.js +18 -18
- package/dist/kortix.global.js +18 -18
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/query-keys.d.ts +17 -0
- package/dist/react/query-keys.d.ts.map +1 -1
- package/dist/react/query-keys.js +17 -0
- package/dist/react/query-keys.js.map +1 -1
- package/dist/react/session-cache-write.d.ts +57 -0
- package/dist/react/session-cache-write.d.ts.map +1 -0
- package/dist/react/session-cache-write.js +118 -0
- package/dist/react/session-cache-write.js.map +1 -0
- package/dist/react/use-project-sessions.d.ts +315 -0
- package/dist/react/use-project-sessions.d.ts.map +1 -0
- package/dist/react/use-project-sessions.js +94 -0
- package/dist/react/use-project-sessions.js.map +1 -0
- package/package.json +2 -2
package/dist/kortix.global.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
"use strict";var Kortix=(()=>{var Vn=Object.defineProperty;var Ig=Object.getOwnPropertyDescriptor;var Eg=Object.getOwnPropertyNames;var jg=Object.prototype.hasOwnProperty;var $g=(e,t)=>{for(var n in t)Vn(e,n,{get:t[n],enumerable:!0})},Mg=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Eg(t))!jg.call(e,s)&&s!==n&&Vn(e,s,{get:()=>t[s],enumerable:!(r=Ig(t,s))||r.enumerable});return e};var Dg=e=>Mg(Vn({},"__esModule",{value:!0}),e);var Iw={};$g(Iw,{ABORT_REASONS:()=>tg,ABORT_REASONS_NOT_YET_EMITTED:()=>gP,ACTIVE_INSTANCE_COOKIE:()=>kt,ATTACHMENT_PART_REF_PREFIX:()=>fg,ApiError:()=>v,AuthError:()=>Pe,BillingError:()=>ge,COST_MARKUP:()=>Du,DEFAULT_TRANSCRIPT_OPTIONS:()=>Tu,DESTRUCTIVE_PHASES:()=>dg,FEATURE_DISABLED_CODE:()=>qt,FEATURE_FLAG_KEYS:()=>Qf,FEATURE_NOT_SUPPORTED_CODE:()=>Ap,HeadlessAuthError:()=>We,HostBoundaryError:()=>pe,IMPERSONATION_HEADER:()=>_p,INBOX_OBSERVATION_MAX_MS:()=>ew,INSTANCE_SCOPED_ROUTES:()=>ng,MODEL_NOT_SERVABLE_CODE:()=>Cp,OPTIMISTIC_ABORT_MAX_MS:()=>nw,OPTIMISTIC_COMPACTION_MAX_MS:()=>aw,OPTIMISTIC_RECEIPT_MAX_MS:()=>Qk,PREVIEW_PROBE_TIMEOUT_MS:()=>Kk,PROVISION_IN_FLIGHT_CODE:()=>Rp,PublicSessionShareError:()=>dn,RequestTooLargeError:()=>ke,RuntimeNotReadyError:()=>De,SANDBOX_FS_ROOTS:()=>zt,SANDBOX_PORTS:()=>le,SERVER_COMPACTION_REVALIDATE_MS:()=>Pg,SERVER_OBSERVATION_MAX_MS:()=>Yk,STREAM_OBSERVATION_MAX_MS:()=>Zk,SandboxNotReadyError:()=>wt,SessionNotReadyError:()=>bt,SessionStartError:()=>an,TURN_END_LEDGER_LAG_MS:()=>tw,WAKE_ESCALATION_COOLDOWN_MS:()=>gw,WAKE_MAX_RESTARTS:()=>dw,WAKE_NO_PROGRESS_MS:()=>pw,__getConfigResolver:()=>Ug,__setConfigResolver:()=>Og,abortErrorReason:()=>mP,acceptAccountInvite:()=>ii,acceptInvite:()=>NP,actReviewItem:()=>Dl,activateConnection:()=>_o,addGroupMembers:()=>ul,addMarketplaceSource:()=>au,advanceWakeEscalation:()=>yw,allDescendantIds:()=>Nd,appendPreviewToken:()=>Xu,approveProjectAccessRequest:()=>ji,approveTask:()=>Im,archiveProject:()=>en,assignTicket:()=>Um,attachGroupToProject:()=>Bi,authMfa:()=>Rn,authUser:()=>vn,authenticatedFetch:()=>M,authorizePreviewUrl:()=>Nk,backendApi:()=>i,bindSlackIdentity:()=>nh,bindTeamsIdentity:()=>rh,brokerProjectSecretRequest:()=>eo,buildInstancePath:()=>sg,buildPresentationTemplateImageUrl:()=>zk,buildPresentationTemplatePdfUrl:()=>Wk,buildPreviewAuthEndpoint:()=>Vu,buildPublicTemplateUrl:()=>mg,buildRuntimePresentationConversionUrl:()=>_g,buildSandboxTemplate:()=>Yo,buildStaticFileHealthPreviewUrl:()=>Hb,buildStaticFileLocalUrl:()=>Kb,buildStaticFilePreviewUrl:()=>Nb,buildStaticFileServicePath:()=>ld,buildTunnelEventStreamUrl:()=>Ag,buildWebProxyUrl:()=>Xb,bulkActReviewItems:()=>ql,bulkDeletePolicies:()=>wh,bulkImportPolicies:()=>Sh,callConnector:()=>po,cancelAccountDeletion:()=>ob,cancelAccountInvite:()=>ni,cancelSandbox:()=>OP,cancelSandboxUpdate:()=>rk,cancelScheduledChange:()=>bc,cancelSubscription:()=>fc,checkAccessEmail:()=>yk,childMapByParent:()=>w_,claimComputer:()=>ck,claimNext:()=>kd,claimPerSeatBilling:()=>Qy,claimWarmProjectSession:()=>Ra,classifyPart:()=>Eu,classifyPreviewProbeStatus:()=>xg,classifyTurn:()=>Dd,clearImpersonationSession:()=>Ss,clearKortixAppViewerCache:()=>Rg,clearModelDefault:()=>tc,clearSessionFresh:()=>Ey,closeChangeRequest:()=>ya,closeMilestone:()=>gf,collectTurnParts:()=>x_,commentTicket:()=>Lm,commitSessionChanges:()=>xa,compactionExpiryAtMs:()=>lw,compareMessagesForDisplay:()=>Bd,completeInFlight:()=>wd,computeStatusFromPart:()=>Mu,configureAutoTopup:()=>kc,configureKortix:()=>Ct,confirmCheckoutSession:()=>gc,connectEmail:()=>Oc,connectSlack:()=>Rc,connectionIsFaulted:()=>Xk,connectorConnect:()=>Bp,connectorFinalize:()=>Np,convertPresentationToGoogleSlides:()=>hb,convertRuntimePresentation:()=>Vk,copyFile:()=>pt,costExportUrl:()=>Sc,countLiveInboxPrompts:()=>sw,createAccount:()=>Hs,createAccountAuditWebhook:()=>Xl,createAccountToken:()=>Gl,createApp:()=>uu,createAppAccessSession:()=>yu,createAppDeployment:()=>bu,createAssignment:()=>Tl,createAuditWebhook:()=>Qh,createBackup:()=>WP,createCheckoutSession:()=>dc,createConnector:()=>Mo,createFile:()=>ut,createGatewayKey:()=>tl,createGroup:()=>ol,createHttpSessionSyncController:()=>vg,createInstance:()=>ik,createKortix:()=>bd,createKortixPty:()=>$s,createKortixSession:()=>In,createMarketplaceInstallSession:()=>Pb,createMilestone:()=>pf,createOAuthClient:()=>Sl,createPerSeatCheckout:()=>Xy,createPolicy:()=>_h,createPortalSession:()=>mc,createProject:()=>fi,createProjectAgent:()=>Xm,createProjectCliToken:()=>Kl,createProjectRepo:()=>yi,createProjectResourceGrant:()=>Wi,createProjectSession:()=>He,createProjectTrigger:()=>za,createRole:()=>yl,createSSEStream:()=>Cg,createSandbox:()=>IP,createSandboxShare:()=>Ul,createSandboxTemplate:()=>Jo,createScimToken:()=>Rh,createServiceAccountApi:()=>zh,createSessionPrompt:()=>$a,createSessionPublicShare:()=>va,createSessionQueue:()=>_d,createSsoGroupMapping:()=>Uh,createTask:()=>Cm,createTicket:()=>Dm,createTunnelEventStream:()=>Cw,declineAccountInvite:()=>oi,declineInvite:()=>KP,deleteAccountImmediately:()=>ab,deleteApp:()=>gu,deleteAuditWebhook:()=>Zh,deleteBackup:()=>VP,deleteConnector:()=>qo,deleteCredential:()=>_f,deleteEnv:()=>Es,deleteFile:()=>ye,deleteGatewayBudget:()=>Zc,deleteGitHubInstallation:()=>Ii,deleteGroup:()=>cl,deleteInstance:()=>ok,deleteKortixProject:()=>of,deleteMilestone:()=>ff,deleteOAuthClient:()=>Cl,deletePersonalProjectSecret:()=>ao,deletePolicy:()=>kh,deleteProjectAgent:()=>Ym,deleteProjectProviderOAuth:()=>ro,deleteProjectResourceGrant:()=>zi,deleteProjectSecret:()=>io,deleteProjectSession:()=>Fa,deleteProjectTrigger:()=>Ja,deleteRole:()=>xl,deleteSandboxTemplate:()=>Qo,deleteServiceAccountApi:()=>Jh,deleteSessionPrompt:()=>Da,deleteSsoGroupMapping:()=>Fh,deleteSsoProvider:()=>qh,deleteTask:()=>Em,deleteTicket:()=>Gm,describeAccountInvite:()=>si,describeConnectorTool:()=>uo,detachGroupFromProject:()=>Ki,detectLocalhostUrls:()=>id,disableServiceAccountApi:()=>Vh,disconnectEmail:()=>Uc,disconnectGitHubApp:()=>Lk,disconnectSlack:()=>Ec,discoverConnectionOAuth2:()=>yy,discoverConnectionOAuth2Resource:()=>hy,discoverConnectorAuth:()=>Do,discoverLocalSandbox:()=>MP,downloadAccountAudit:()=>jk,dropClientForUrl:()=>Tf,dropPublicClientForUrl:()=>jf,editQueued:()=>Cd,enqueue:()=>Pd,ensurePmSession:()=>Vm,ensurePreviewSessionCookie:()=>bg,ensureProjectConnectorConnection:()=>gy,ensureSandbox:()=>pg,ensureWarmProjectSession:()=>Ca,env:()=>$p,exchangeCode:()=>kn,exportAccountAudit:()=>Vl,extractGatewayErrorDetails:()=>ne,extractInstanceRoute:()=>Qe,failInFlight:()=>Sd,featureDisabledKey:()=>bs,featureFlags:()=>hP,fetchAccountStateWithToken:()=>Vy,fetchAccountsWithToken:()=>Xf,fetchAttachmentPart:()=>Gk,fetchCostExportCsv:()=>th,fetchKortixAppViewer:()=>tp,fetchProjectArchive:()=>ra,fetchProjectsForAccountWithToken:()=>oy,files:()=>Lp,finalizeAppArtifact:()=>mn,finalizeConnectorSetupLink:()=>wk,findFiles:()=>ct,findLastTextPart:()=>__,findText:()=>lt,fireProjectTrigger:()=>Qa,fixSandboxWithAgent:()=>Vo,formatBillingErrorForUI:()=>_s,formatCost:()=>q_,formatDuration:()=>$_,formatOpenCodeRuntimeError:()=>cg,formatRuntimeError:()=>cg,formatTokens:()=>O_,formatTranscript:()=>Td,generateSessionId:()=>xd,getAccount:()=>Ws,getAccountBranding:()=>Vs,getAccountDeletionStatus:()=>sb,getAccountState:()=>ic,getAccountStateMinimal:()=>oc,getActiveInstanceIdFromCookie:()=>og,getAdminProviderAnalytics:()=>db,getAdminProviderDistribution:()=>lb,getAdminProviderFallback:()=>mb,getAdminRole:()=>cb,getAgentCardLabel:()=>Fd,getAgentConfig:()=>Gy,getAgentPersona:()=>Zm,getAllVersions:()=>ek,getAnsweredQuestionParts:()=>k_,getApp:()=>pu,getAppAccess:()=>mu,getAppDeployment:()=>_u,getAppDeploymentLogs:()=>Pu,getApprovalLink:()=>_b,getAuthToken:()=>je,getAuthTokenWithRetry:()=>ys,getAutoTopupSettings:()=>Pc,getAutoTopupSetupStatus:()=>Jy,getBillingCreditBreakdown:()=>lc,getBillingTierConfigurations:()=>pc,getBillingTransactionsSummary:()=>cc,getBillingUsageHistory:()=>uc,getChangeRequest:()=>pa,getChangeRequestDiff:()=>da,getChangeRequestMergePreview:()=>ga,getChildSessionError:()=>c_,getChildSessionId:()=>a_,getChildSessionToolParts:()=>l_,getClient:()=>me,getClientForUrl:()=>ae,getConnectStatus:()=>Lo,getConnectionOAuth2Application:()=>fy,getConnectionOAuth2Status:()=>ky,getConnectionPolicies:()=>wy,getConnectorCatalog:()=>tn,getConnectorConfig:()=>Eo,getConnectorPolicies:()=>To,getConnectorSetupLink:()=>Pk,getCostSummary:()=>eh,getCurrentInstanceIdFromPathname:()=>ig,getCurrentInstanceIdFromWindow:()=>_P,getCurrentProject:()=>Gs,getDefaultAccountState:()=>cn,getDiagnostics:()=>d_,getDirectory:()=>Ud,getDiscoverConnector:()=>rn,getDiscoverIntegration:()=>Ty,getEmailInstallation:()=>Dc,getEmailMode:()=>qc,getEnterpriseDemo:()=>tb,getFileStatus:()=>at,getFileWithDir:()=>ju,getFilename:()=>Od,getFullChangelog:()=>gg,getGatewayBreakdown:()=>Vc,getGatewayBudgets:()=>Qc,getGatewayErrors:()=>Xc,getGatewayKeys:()=>el,getGatewayLog:()=>Hc,getGatewayOverview:()=>Wc,getGatewayRoutingPolicy:()=>Lc,getGatewaySeries:()=>zc,getGatewaySessions:()=>Jc,getGitHubAppStatus:()=>qk,getGitHubInstallation:()=>wi,getGoogleAuthUrl:()=>yb,getGroup:()=>il,getHiddenToolParts:()=>s_,getImpersonationSession:()=>wp,getInvite:()=>BP,getJustavpsServerTypes:()=>sk,getKortixProject:()=>nf,getKortixProjectBySession:()=>rf,getKortixPtyWebSocketUrl:()=>qs,getLatestSandboxVersion:()=>ZP,getMaintenanceConfig:()=>Rk,getManagedGitStatus:()=>ny,getMarketplaceCatalogItem:()=>su,getMarketplaceCatalogItemFile:()=>iu,getMfaRequired:()=>Ih,getMilestone:()=>lf,getModelDefaults:()=>Za,getOAuthClient:()=>wl,getOAuthConsentRequest:()=>xk,getOpenCodeConfigInvalidError:()=>Bu,getPartText:()=>t_,getPatPolicy:()=>Kh,getPermissionForTool:()=>g_,getProject:()=>Jt,getProjectActivity:()=>ef,getProjectCommit:()=>oa,getProjectCommitDiff:()=>aa,getProjectDetail:()=>Xt,getProjectFileHistory:()=>ca,getProjectGitToken:()=>mi,getProjectLlmCatalog:()=>Qt,getProjectLlmCatalogProviders:()=>Zf,getProjectModelAccess:()=>fn,getProjectModelPicker:()=>Yt,getProjectSandboxHealth:()=>sn,getProjectSandboxProviderTransition:()=>ry,getProjectSession:()=>on,getProjectSessionConfigState:()=>La,getProjectSessionScope:()=>Na,getProrationPreview:()=>xc,getProviders:()=>RP,getProxyBaseUrl:()=>Wb,getPublicClientForUrl:()=>Ef,getPublicMarketplaceItem:()=>mk,getPublicMarketplaceItemFile:()=>fk,getPublicSessionShare:()=>bb,getPublicSessionShareMessages:()=>xb,getPublicShareByToken:()=>Ak,getPublicTemplate:()=>Dk,getQuestionForTool:()=>m_,getReferralCode:()=>lh,getReferralStats:()=>dh,getRetryInfo:()=>U_,getRetryMessage:()=>F_,getReviewItem:()=>$l,getRolePermissions:()=>ml,getRoleUsage:()=>fl,getSSHConnection:()=>XP,getSandbox:()=>TP,getSandboxById:()=>EP,getSandboxPortUrl:()=>CP,getSandboxProvisionStatus:()=>lk,getSandboxProvisionStreamUrl:()=>uk,getSandboxUpdateStatus:()=>YP,getSandboxUrl:()=>Hu,getSecretSetupLink:()=>Sk,getServerHealth:()=>Vt,getServiceLogs:()=>vf,getSessionAudit:()=>Ta,getSessionCost:()=>D_,getSessionCostRecord:()=>pn,getSessionHealth:()=>Au,getSessionOpenBundle:()=>jy,getSessionPolicy:()=>Lh,getSessionPreviewCandidates:()=>wa,getSessionTranscript:()=>Ia,getSessionTranscriptSync:()=>Ea,getSessionTurn:()=>ja,getShellModePart:()=>A_,getSlackChannelFile:()=>jc,getSlackInstallation:()=>Cc,getSlackManifest:()=>Ic,getSlackMode:()=>Tc,getSsoProvider:()=>$h,getStaticFileHealthPath:()=>ud,getSupabaseAccessToken:()=>Mt,getSupabaseAccessTokenWithRetry:()=>re,getTask:()=>Sm,getTaskStatus:()=>Am,getTemplate:()=>kb,getTicket:()=>$m,getToolInfo:()=>u_,getTranscriptFilename:()=>Id,getTurnCost:()=>M_,getTurnError:()=>I_,getTurnErrorDetails:()=>E_,getTurnStatus:()=>j_,getUsageRollup:()=>wc,getUserRolesWithToken:()=>Ik,getVersionDiff:()=>la,getWorkingState:()=>R_,grantSandboxProjectAccess:()=>LP,grantSecretToAgent:()=>Hy,groupMessagesIntoTurns:()=>b_,hasDiffs:()=>L_,hasLocalhostUrls:()=>Lb,hasPreviewTarget:()=>cd,hasRetryingAssistantTurn:()=>v_,heartbeatGapEvent:()=>fd,holdSessionPrompts:()=>Oa,humanizeToolName:()=>Un,impersonationHeaders:()=>Ut,importSsoProviderFromMetadata:()=>Dh,inboxObservationSupersedes:()=>rw,initialWakeEscalationState:()=>Zu,installTemplate:()=>wb,invalidateTokenCache:()=>tt,inviteAccountMember:()=>ei,inviteProjectMember:()=>Oi,inviteRepoCollaborator:()=>di,isAbortError:()=>Fu,isAdminBypassEnabled:()=>_m,isAgentPart:()=>Qx,isAppRouteUrl:()=>sd,isAttachment:()=>n_,isAttachmentPartRef:()=>yg,isBillingError:()=>xs,isCompactionPart:()=>Yx,isConfigured:()=>Rt,isDestructivePhase:()=>QP,isExternalUrl:()=>Zb,isFeatureDisabledError:()=>hs,isFilePart:()=>$u,isImpersonationSessionLive:()=>Pp,isInstanceDetailPath:()=>bP,isInstanceScopedAppPath:()=>rg,isInternalLocalhostUrl:()=>Jb,isInviteSent:()=>ly,isLastUserMessage:()=>C_,isManagedGithubProject:()=>Yf,isOpenCodeConfigInvalidError:()=>SP,isPatchPart:()=>e_,isPreviewUrl:()=>Vb,isProxiableLocalhostUrl:()=>pd,isReasoningPart:()=>Ln,isRetryableTurnError:()=>Kd,isRuntimeReady:()=>Tb,isSandboxNotReadyError:()=>St,isServerReachable:()=>Bs,isSessionFresh:()=>Pa,isSessionStartError:()=>Dy,isShellMode:()=>Hd,isSnapshotPart:()=>Zx,isSubdomainPreviewUrl:()=>Ju,isTextPart:()=>_e,isToolPart:()=>ue,isToolPartHidden:()=>i_,isUnderSandboxRoot:()=>Fs,isWebProxyUrl:()=>Yb,kortixAppViewerToken:()=>Tg,kortixPty:()=>Dp,leaveAccount:()=>li,linkGitHubInstallation:()=>Ti,linkRepository:()=>ki,listAccountAudit:()=>Wl,listAccountAuditWebhooks:()=>Jl,listAccountInvites:()=>ti,listAccountMembers:()=>Zs,listAccountResourceGrants:()=>bh,listAccountSessions:()=>Bh,listAccountTokens:()=>Ll,listAccounts:()=>Ks,listActions:()=>vh,listAdminSandboxes:()=>ub,listAgentIdentities:()=>gl,listAllConnections:()=>fo,listAppDeployments:()=>xu,listApps:()=>lu,listAssignments:()=>Rl,listAuditEvents:()=>eb,listAuditWebhooks:()=>Xh,listBackups:()=>HP,listBillingTransactions:()=>ac,listChangeRequests:()=>ua,listChannelBindings:()=>oh,listColumns:()=>Bm,listConnectSections:()=>Cy,listConnectToolkits:()=>Ay,listConnections:()=>mo,listConnectorTools:()=>dt,listConnectors:()=>So,listCostByProject:()=>Zy,listCredentialEvents:()=>hf,listCredentials:()=>yf,listDiscoverConnectors:()=>nn,listDiscoverIntegrations:()=>Ry,listDiscoverSections:()=>Fo,listEnv:()=>Ts,listFeaturedMarketplaces:()=>ru,listFields:()=>Km,listFiles:()=>ot,listGatewayLogs:()=>Kc,listGitHubInstallations:()=>Si,listGitHubRepositories:()=>Ai,listGitHubRepositoryBranches:()=>Ci,listGroupMembers:()=>ll,listGroupProjectGrants:()=>fh,listGroups:()=>sl,listKortixProjectSessions:()=>sf,listKortixProjects:()=>tf,listKortixPty:()=>js,listLinkableGitHubInstallations:()=>vi,listMarketplaceCatalogItems:()=>tu,listMarketplaceSources:()=>ou,listMarketplaces:()=>nu,listMemberGroups:()=>yh,listMemberProjectAccess:()=>hh,listMilestoneEvents:()=>uf,listMilestones:()=>cf,listOAuthClients:()=>kl,listPendingApprovals:()=>Vi,listPendingProjectInvites:()=>Ui,listPermissions:()=>El,listPipedreamApps:()=>Oo,listPipedreamSections:()=>Uo,listPolicies:()=>xh,listProjectAccess:()=>Mi,listProjectAccessRequests:()=>Ei,listProjectAgents:()=>Jm,listProjectAudit:()=>zl,listProjectBranches:()=>sa,listProjectCliTokens:()=>Nl,listProjectCommits:()=>ia,listProjectFiles:()=>ea,listProjectGroupGrants:()=>Gi,listProjectPolicies:()=>No,listProjectResourceGrants:()=>Hi,listProjectSandboxTemplates:()=>Ho,listProjectSandboxes:()=>Zo,listProjectSecrets:()=>Qi,listProjectSessions:()=>Ke,listProjectSnapshots:()=>Wo,listProjectTriggers:()=>Wa,listProjects:()=>Ce,listProjectsForAccount:()=>pi,listPublicMarketplaceItems:()=>dk,listPublicMarketplaces:()=>gk,listReferrals:()=>gh,listReviewItems:()=>jl,listRoles:()=>dl,listSandboxProjectMembers:()=>FP,listSandboxShares:()=>Ol,listSandboxes:()=>$P,listScimTokens:()=>Ch,listServiceAccountsApi:()=>Wh,listServiceTemplates:()=>Sf,listServices:()=>wf,listSessionConnectRequests:()=>vy,listSessionCosts:()=>Ac,listSessionPrompts:()=>Ma,listSessionPublicShares:()=>Sa,listSessionsNeedingInput:()=>Ji,listSsoGroupMappings:()=>Oh,listTaskEvents:()=>vm,listTasks:()=>wm,listTemplates:()=>Wm,listTicketEvents:()=>Mm,listTickets:()=>jm,loadHttpSessionHistory:()=>Sg,markInstanceError:()=>ak,markSessionFresh:()=>gt,mergeChangeRequest:()=>fa,migrateAdminSandboxProvider:()=>gb,mkdir:()=>Be,narrowChatEvent:()=>yd,normalizeAppPathname:()=>wP,normalizeExternalInput:()=>ex,normalizeToolName:()=>xt,openChangeRequest:()=>ma,openEventStream:()=>Mn,openStressTestStream:()=>$k,parseBillingError:()=>we,parseFlagOverride:()=>yP,parseLocalhostUrl:()=>ht,parseOpenCodeErrorPayload:()=>ag,parseProxyHop:()=>vu,parseSubdomainUrl:()=>Ru,parseWebProxyUrl:()=>Qb,patchKortixProject:()=>af,pipedreamConnect:()=>$o,pipedreamConnectConnection:()=>ko,pipedreamFinalize:()=>Bo,pipedreamFinalizeConnection:()=>wo,platformConfig:()=>j,pollConnectionOAuth2DeviceAuthorization:()=>Py,pollProjectProviderOAuth:()=>no,previewGatewayRoute:()=>Nc,previewMfaRequired:()=>Eh,probeEffectivePermission:()=>_l,probeEffectivePermissions:()=>Pl,probePreviewPort:()=>Hk,projectCompacting:()=>cw,projectSessionConnection:()=>Jk,projectSessionStartSeed:()=>My,projectWorking:()=>iw,provisionProject:()=>hi,provisionProjectStream:()=>ty,provisionProjectWithToken:()=>ay,proxyLocalhostUrl:()=>Cu,proxyUrlToInternal:()=>zb,purchaseCredits:()=>_c,putConnectionOAuth2Application:()=>my,reactivateSandbox:()=>UP,reactivateSubscription:()=>yc,readBlob:()=>Fe,readFile:()=>Ue,readProjectFile:()=>na,rebuildProjectSnapshot:()=>zo,reconcileConnection:()=>yo,reconcileMemberConnection:()=>ho,reconcileServices:()=>Cf,recordPlatformLogout:()=>bk,refreshReferralCode:()=>uh,refreshSession:()=>ze,registerAppArtifact:()=>gn,registerConnectionOAuth2Client:()=>by,registerService:()=>Rf,rejectProjectAccessRequest:()=>$i,relativizePath:()=>p_,reloadProjectSessionConfig:()=>Ga,reloadProjectSessionConfigStream:()=>Ba,removeAccountAuditWebhook:()=>Yl,removeAccountBrandingAsset:()=>Qs,removeAccountMember:()=>ai,removeGroupMember:()=>pl,removeKortixPty:()=>Ds,removeMarketplaceSource:()=>cu,removeQueued:()=>Ad,renameFile:()=>fe,renameSandbox:()=>jP,reopenChangeRequest:()=>ha,reopenMilestone:()=>mf,reorderQueued:()=>Rd,replaceColumns:()=>Nm,replaceFields:()=>Hm,replaceTemplates:()=>zm,requestAccountDeletion:()=>ib,requestChangesOnChangeRequest:()=>ba,requestProjectAccess:()=>cy,requestProjectConnector:()=>eu,requestProjectSecret:()=>Zl,resendAccountInvite:()=>ri,resendPendingProjectInvite:()=>Li,resetAccountBranding:()=>Ys,resetClient:()=>If,resetGatewayRoutingPolicy:()=>Bc,resetPassword:()=>wn,resetPublicClient:()=>$f,resetSandboxUpdateStatus:()=>nk,resolveApproval:()=>Xi,resolvedPlan:()=>zy,restartProjectSession:()=>mt,restartSandbox:()=>DP,restoreBackup:()=>zP,retryFailed:()=>vd,retrySessionPrompt:()=>qa,revealCredential:()=>xf,revokeAccountSession:()=>Nh,revokeAccountToken:()=>Bl,revokeAssignment:()=>Il,revokeConnection:()=>xo,revokeGatewayKey:()=>nl,revokePendingProjectInvite:()=>Fi,revokeProjectAccess:()=>qi,revokeProjectCliToken:()=>Hl,revokeSandboxProjectAccess:()=>GP,revokeSandboxShare:()=>Fl,revokeScimToken:()=>Th,revokeSessionPublicShare:()=>Aa,rewriteLocalhostUrl:()=>be,rollbackApp:()=>Su,rotateOAuthClientSecret:()=>Al,runGatewayPlayground:()=>rl,saveGitHubInstallation:()=>Ri,scheduleDowngrade:()=>hc,searchConnectorTools:()=>lo,searchProjectFiles:()=>ta,sendMagicLink:()=>xn,sendReferralEmails:()=>mh,serverCompactionRevalidateAtMs:()=>uw,serviceAction:()=>Af,sessionStartKey:()=>Oy,setActiveInstanceCookie:()=>PP,setAdminBypass:()=>xm,setAdminProviderDistribution:()=>pb,setAdminProviderFallback:()=>fb,setAgentScope:()=>nc,setBootstrapAuthToken:()=>sm,setCachedAuthToken:()=>rm,setConnectionPolicies:()=>Sy,setConnectorAuthorizationStrategy:()=>Co,setConnectorCredential:()=>Go,setConnectorCredentialMode:()=>Ao,setConnectorName:()=>jo,setConnectorPolicies:()=>Io,setConnectorSecretBinding:()=>Iy,setConnectorSensitive:()=>Ro,setDefaultConnection:()=>Po,setEnterpriseDemo:()=>nb,setEnv:()=>Is,setGatewayBudget:()=>Yc,setGatewayRoutingPolicy:()=>Gc,setGitHubAppFromExisting:()=>Uk,setGitHubAppPat:()=>Fk,setImpersonationSession:()=>lm,setMaintenanceConfig:()=>Tk,setMemberSuperAdmin:()=>Ah,setMfaRequired:()=>jh,setModelDefault:()=>ec,setPersonalProjectSecret:()=>oo,setProjectModelAccess:()=>yn,setProjectModelEnablement:()=>Uy,setProjectOnboardingComplete:()=>Pi,setProjectOnboardingProfile:()=>iy,setProjectPolicies:()=>Ko,setProjectSecretStrategy:()=>Zi,setProjectSessionModel:()=>Ha,setProjectSessionScope:()=>Ka,setProjectSessionSharing:()=>ka,setProjectTriggersActivation:()=>Xa,setupSSH:()=>JP,shellExitCode:()=>Ou,shouldAttachImpersonation:()=>Sp,shouldHideResponsePart:()=>T_,shouldShowToolPart:()=>qd,signInWithPassword:()=>bn,signInWithProvider:()=>Pn,signInWithSso:()=>Cn,signOut:()=>Tn,signUp:()=>hn,sortSessions:()=>S_,splitUserParts:()=>r_,startApp:()=>ku,startConnectionOAuth2Authorization:()=>xy,startConnectionOAuth2DeviceAuthorization:()=>_y,startConnectorSetupLink:()=>kk,startGitHubAppManifest:()=>Ok,startProjectProviderOAuth:()=>to,startProjectSession:()=>Re,startSessionWithToken:()=>Ck,startTask:()=>Tm,stopApp:()=>wu,stopProjectSession:()=>ft,stopSandbox:()=>qP,stripAnsi:()=>y_,stripInstancePrefix:()=>xP,stripTrailingSlashes:()=>oe,submitAccessRequest:()=>hk,submitDemoRequest:()=>Ek,submitOAuthConsent:()=>_k,submitReviewItem:()=>Ml,submitSecretSetupLink:()=>vk,subscribeToImpersonation:()=>um,supabaseClient:()=>Pm,syncConnectors:()=>vo,syncSubscription:()=>Yy,systemReload:()=>Df,toDaemonPath:()=>Ae,toInstanceAwarePath:()=>kP,toInternalUrl:()=>dd,toSandboxAbsolutePath:()=>it,toWorkspaceRelative:()=>Ls,toolInfo:()=>Fn,toolViewModel:()=>Zd,triggerSandboxUpdate:()=>tk,triggersRequest:()=>Mp,turnHasSteps:()=>P_,unassignTicket:()=>Fm,unwrapError:()=>te,updateAccountAuditWebhook:()=>Ql,updateAccountBranding:()=>Js,updateAccountMemberRole:()=>ci,updateAccountName:()=>zs,updateAgentConfig:()=>By,updateApp:()=>du,updateAppAccess:()=>fu,updateAuditWebhook:()=>Yh,updateChannelBinding:()=>ah,updateConnectionCredential:()=>bo,updateEmailPolicy:()=>Fc,updateExperimentalFeature:()=>xi,updateFeatureFlag:()=>bi,updateGroup:()=>al,updateKortixPty:()=>Ms,updateMilestone:()=>df,updateOAuthClient:()=>vl,updatePassword:()=>Sn,updatePatPolicy:()=>Hh,updatePolicy:()=>Ph,updateProject:()=>Zt,updateProjectAccess:()=>Di,updateProjectAgent:()=>Qm,updateProjectDefaultAgent:()=>sc,updateProjectGroupGrant:()=>Ni,updateProjectSandboxProvider:()=>_i,updateProjectSession:()=>Ua,updateProjectTrigger:()=>Va,updateRole:()=>hl,updateRolePermissions:()=>bl,updateSandboxTemplate:()=>Xo,updateSessionPolicy:()=>Gh,updateTask:()=>Rm,updateTemplateWarmPool:()=>sy,updateTicket:()=>qm,updateTicketStatus:()=>Om,updateUserMetadata:()=>An,uploadAccountBrandingAsset:()=>Xs,uploadAppArtifactArchive:()=>hu,uploadConnectorAttachment:()=>go,uploadFile:()=>Le,uploadSlackChannelFile:()=>$c,uploadTimeoutMsForBytes:()=>qe,upsertCredential:()=>bf,upsertProjectGitCredential:()=>so,upsertProjectSecret:()=>Yi,upsertSsoProvider:()=>Mh,validateProjectManifest:()=>gi,validateReferralCode:()=>ph,validateToken:()=>ui,verifyGatewayProvider:()=>ch,verifyOtp:()=>_n,wakeEscalationAttemptSummary:()=>_w,wakeEscalationNote:()=>bw,wakeProgressFingerprint:()=>mw,workingExpiryAtMs:()=>ow,writeFile:()=>Ge});var qg={backendUrl:"",getToken:async()=>null},Jn=null,At=null;function Og(e){At=e}function Ug(){return At}function Ct(e,t){t?.global!==!1&&(Jn=e)}function j(){return At?.()??Jn??qg}function Rt(){return Jn!==null||At?.()!==void 0}var np=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:o,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:d,url:f,...m})=>{let y,x=d??(T=>new Promise(E=>setTimeout(E,T)));return{stream:async function*(){let T=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);y!==void 0&&b.set("Last-Event-ID",y);try{let c={redirect:"follow",...m,body:m.serializedBody,headers:b,signal:l},A=new Request(f,c);e&&(A=await e(f,c));let R=await(m.fetch??globalThis.fetch)(A);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(),q="",D=()=>{try{$.cancel()}catch{}};l.addEventListener("abort",D);try{for(;;){let{done:Z,value:J}=await $.read();if(Z)break;q+=J,q=q.replace(/\r\n/g,`
|
|
1
|
+
"use strict";var Kortix=(()=>{var Vn=Object.defineProperty;var $g=Object.getOwnPropertyDescriptor;var Mg=Object.getOwnPropertyNames;var Dg=Object.prototype.hasOwnProperty;var qg=(e,t)=>{for(var n in t)Vn(e,n,{get:t[n],enumerable:!0})},Og=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Mg(t))!Dg.call(e,s)&&s!==n&&Vn(e,s,{get:()=>t[s],enumerable:!(r=$g(t,s))||r.enumerable});return e};var Ug=e=>Og(Vn({},"__esModule",{value:!0}),e);var Dw={};qg(Dw,{ABORT_REASONS:()=>sg,ABORT_REASONS_NOT_YET_EMITTED:()=>bP,ACTIVE_INSTANCE_COOKIE:()=>kt,ATTACHMENT_PART_REF_PREFIX:()=>bg,ApiError:()=>v,AuthError:()=>Pe,BillingError:()=>ge,COST_MARKUP:()=>qu,DEFAULT_TRANSCRIPT_OPTIONS:()=>Iu,DESTRUCTIVE_PHASES:()=>fg,FEATURE_DISABLED_CODE:()=>qt,FEATURE_FLAG_KEYS:()=>ey,FEATURE_NOT_SUPPORTED_CODE:()=>Cp,HeadlessAuthError:()=>We,HostBoundaryError:()=>pe,IMPERSONATION_HEADER:()=>Pp,INBOX_OBSERVATION_MAX_MS:()=>iw,INSTANCE_SCOPED_ROUTES:()=>ig,MODEL_NOT_SERVABLE_CODE:()=>Rp,OPTIMISTIC_ABORT_MAX_MS:()=>aw,OPTIMISTIC_COMPACTION_MAX_MS:()=>dw,OPTIMISTIC_RECEIPT_MAX_MS:()=>nw,PREVIEW_PROBE_TIMEOUT_MS:()=>Jk,PROJECT_SESSION_NAME_LOOKUP_LIMIT:()=>qy,PROJECT_SESSION_PAGE_DEFAULT_LIMIT:()=>Dy,PROJECT_SESSION_PAGE_MAX_LIMIT:()=>Hp,PROVISION_IN_FLIGHT_CODE:()=>Tp,PublicSessionShareError:()=>dn,RequestTooLargeError:()=>ke,RuntimeNotReadyError:()=>De,SANDBOX_FS_ROOTS:()=>zt,SANDBOX_PORTS:()=>le,SERVER_COMPACTION_REVALIDATE_MS:()=>Sg,SERVER_OBSERVATION_MAX_MS:()=>rw,STREAM_OBSERVATION_MAX_MS:()=>sw,SandboxNotReadyError:()=>wt,SessionNotReadyError:()=>bt,SessionStartError:()=>an,TURN_END_LEDGER_LAG_MS:()=>ow,WAKE_ESCALATION_COOLDOWN_MS:()=>bw,WAKE_MAX_RESTARTS:()=>hw,WAKE_NO_PROGRESS_MS:()=>yw,__getConfigResolver:()=>Gg,__setConfigResolver:()=>Lg,abortErrorReason:()=>xP,acceptAccountInvite:()=>ii,acceptInvite:()=>VP,actReviewItem:()=>ql,activateConnection:()=>_o,addGroupMembers:()=>pl,addMarketplaceSource:()=>cu,advanceWakeEscalation:()=>Pw,allDescendantIds:()=>Wd,appendPreviewToken:()=>Qu,approveProjectAccessRequest:()=>ji,approveTask:()=>$m,archiveProject:()=>en,assignTicket:()=>Gm,attachGroupToProject:()=>Bi,authMfa:()=>Rn,authUser:()=>vn,authenticatedFetch:()=>M,authorizePreviewUrl:()=>Vk,backendApi:()=>i,bindSlackIdentity:()=>ah,bindTeamsIdentity:()=>ch,brokerProjectSecretRequest:()=>eo,buildInstancePath:()=>ag,buildPresentationTemplateImageUrl:()=>Yk,buildPresentationTemplatePdfUrl:()=>Qk,buildPreviewAuthEndpoint:()=>Ju,buildPublicTemplateUrl:()=>hg,buildRuntimePresentationConversionUrl:()=>wg,buildSandboxTemplate:()=>Yo,buildStaticFileHealthPreviewUrl:()=>Xb,buildStaticFileLocalUrl:()=>Jb,buildStaticFilePreviewUrl:()=>Vb,buildStaticFileServicePath:()=>dd,buildTunnelEventStreamUrl:()=>Tg,buildWebProxyUrl:()=>tx,bulkActReviewItems:()=>Ol,bulkDeletePolicies:()=>Rh,bulkImportPolicies:()=>Th,callConnector:()=>po,cancelAccountDeletion:()=>pb,cancelAccountInvite:()=>ni,cancelSandbox:()=>BP,cancelSandboxUpdate:()=>ck,cancelScheduledChange:()=>xc,cancelSubscription:()=>yc,checkAccessEmail:()=>Pk,childMapByParent:()=>R_,claimComputer:()=>gk,claimNext:()=>vd,claimPerSeatBilling:()=>nh,claimWarmProjectSession:()=>Ta,classifyPart:()=>ju,classifyPreviewProbeStatus:()=>kg,classifyTurn:()=>Ud,clearImpersonationSession:()=>Ss,clearKortixAppViewerCache:()=>Eg,clearModelDefault:()=>nc,clearSessionFresh:()=>My,closeChangeRequest:()=>ya,closeMilestone:()=>yf,collectTurnParts:()=>S_,commentTicket:()=>Nm,commitSessionChanges:()=>xa,compactionExpiryAtMs:()=>mw,compareMessagesForDisplay:()=>Hd,completeInFlight:()=>Ad,computeStatusFromPart:()=>Du,configureAutoTopup:()=>wc,configureKortix:()=>Ct,confirmCheckoutSession:()=>mc,connectEmail:()=>Uc,connectSlack:()=>Tc,connectionIsFaulted:()=>tw,connectorConnect:()=>Np,connectorFinalize:()=>Kp,convertPresentationToGoogleSlides:()=>kb,convertRuntimePresentation:()=>Zk,copyFile:()=>pt,costExportUrl:()=>vc,countLiveInboxPrompts:()=>lw,createAccount:()=>Hs,createAccountAuditWebhook:()=>Ql,createAccountToken:()=>Bl,createApp:()=>pu,createAppAccessSession:()=>hu,createAppDeployment:()=>xu,createAssignment:()=>Il,createAuditWebhook:()=>nb,createBackup:()=>QP,createCheckoutSession:()=>gc,createConnector:()=>Mo,createFile:()=>ut,createGatewayKey:()=>nl,createGroup:()=>al,createHttpSessionSyncController:()=>Rg,createInstance:()=>uk,createKortix:()=>Pd,createKortixPty:()=>$s,createKortixSession:()=>In,createMarketplaceInstallSession:()=>Ab,createMilestone:()=>mf,createOAuthClient:()=>vl,createPerSeatCheckout:()=>th,createPolicy:()=>vh,createPortalSession:()=>fc,createProject:()=>fi,createProjectAgent:()=>Zm,createProjectCliToken:()=>Hl,createProjectRepo:()=>yi,createProjectResourceGrant:()=>Wi,createProjectSession:()=>He,createProjectTrigger:()=>Va,createRole:()=>hl,createSSEStream:()=>Ig,createSandbox:()=>DP,createSandboxShare:()=>Fl,createSandboxTemplate:()=>Jo,createScimToken:()=>$h,createServiceAccountApi:()=>Yh,createSessionPrompt:()=>Ma,createSessionPublicShare:()=>Aa,createSessionQueue:()=>wd,createSsoGroupMapping:()=>Nh,createTask:()=>Im,createTicket:()=>Um,createTunnelEventStream:()=>jw,declineAccountInvite:()=>oi,declineInvite:()=>JP,deleteAccountImmediately:()=>db,deleteApp:()=>mu,deleteAuditWebhook:()=>sb,deleteBackup:()=>ZP,deleteConnector:()=>qo,deleteCredential:()=>wf,deleteEnv:()=>Es,deleteFile:()=>ye,deleteGatewayBudget:()=>el,deleteGitHubInstallation:()=>Ii,deleteGroup:()=>ll,deleteInstance:()=>pk,deleteKortixProject:()=>lf,deleteMilestone:()=>bf,deleteOAuthClient:()=>Rl,deletePersonalProjectSecret:()=>ao,deletePolicy:()=>Ch,deleteProjectAgent:()=>tf,deleteProjectProviderOAuth:()=>ro,deleteProjectResourceGrant:()=>zi,deleteProjectSecret:()=>io,deleteProjectSession:()=>La,deleteProjectTrigger:()=>Xa,deleteRole:()=>_l,deleteSandboxTemplate:()=>Qo,deleteServiceAccountApi:()=>eb,deleteSessionPrompt:()=>qa,deleteSsoGroupMapping:()=>Kh,deleteSsoProvider:()=>Gh,deleteTask:()=>Mm,deleteTicket:()=>Km,describeAccountInvite:()=>si,describeConnectorTool:()=>uo,detachGroupFromProject:()=>Ki,detectLocalhostUrls:()=>cd,disableServiceAccountApi:()=>Zh,disconnectEmail:()=>Fc,disconnectGitHubApp:()=>Hk,disconnectSlack:()=>jc,discoverConnectionOAuth2:()=>xy,discoverConnectionOAuth2Resource:()=>_y,discoverConnectorAuth:()=>Do,discoverLocalSandbox:()=>FP,downloadAccountAudit:()=>Ok,dropClientForUrl:()=>jf,dropPublicClientForUrl:()=>Df,editQueued:()=>Id,enqueue:()=>Sd,ensurePmSession:()=>Qm,ensurePreviewSessionCookie:()=>Pg,ensureProjectConnectorConnection:()=>yy,ensureSandbox:()=>mg,ensureWarmProjectSession:()=>Ra,env:()=>Mp,exchangeCode:()=>kn,exportAccountAudit:()=>Jl,extractGatewayErrorDetails:()=>ne,extractInstanceRoute:()=>Qe,failInFlight:()=>Cd,featureDisabledKey:()=>bs,featureFlags:()=>kP,fetchAccountStateWithToken:()=>Zy,fetchAccountsWithToken:()=>Zf,fetchAttachmentPart:()=>Wk,fetchCostExportCsv:()=>oh,fetchKortixAppViewer:()=>np,fetchProjectArchive:()=>ra,fetchProjectsForAccountWithToken:()=>ly,files:()=>Gp,finalizeAppArtifact:()=>mn,finalizeConnectorSetupLink:()=>Rk,findFiles:()=>ct,findLastTextPart:()=>v_,findText:()=>lt,fireProjectTrigger:()=>Ya,fixSandboxWithAgent:()=>Vo,formatBillingErrorForUI:()=>_s,formatCost:()=>G_,formatDuration:()=>U_,formatOpenCodeRuntimeError:()=>pg,formatRuntimeError:()=>pg,formatTokens:()=>B_,formatTranscript:()=>jd,generateSessionId:()=>kd,getAccount:()=>Ws,getAccountBranding:()=>Vs,getAccountDeletionStatus:()=>lb,getAccountState:()=>oc,getAccountStateMinimal:()=>ac,getActiveInstanceIdFromCookie:()=>lg,getAdminProviderAnalytics:()=>hb,getAdminProviderDistribution:()=>mb,getAdminProviderFallback:()=>xb,getAdminRole:()=>gb,getAgentCardLabel:()=>Bd,getAgentConfig:()=>Wy,getAgentPersona:()=>nf,getAllVersions:()=>ik,getAnsweredQuestionParts:()=>C_,getApp:()=>du,getAppAccess:()=>fu,getAppDeployment:()=>Pu,getAppDeploymentLogs:()=>ku,getApprovalLink:()=>vb,getAuthToken:()=>je,getAuthTokenWithRetry:()=>ys,getAutoTopupSettings:()=>kc,getAutoTopupSetupStatus:()=>eh,getBillingCreditBreakdown:()=>uc,getBillingTierConfigurations:()=>dc,getBillingTransactionsSummary:()=>lc,getBillingUsageHistory:()=>pc,getChangeRequest:()=>pa,getChangeRequestDiff:()=>da,getChangeRequestMergePreview:()=>ga,getChildSessionError:()=>g_,getChildSessionId:()=>d_,getChildSessionToolParts:()=>m_,getClient:()=>me,getClientForUrl:()=>ae,getConnectStatus:()=>Lo,getConnectionOAuth2Application:()=>by,getConnectionOAuth2Status:()=>vy,getConnectionPolicies:()=>Ay,getConnectorCatalog:()=>tn,getConnectorConfig:()=>Eo,getConnectorPolicies:()=>To,getConnectorSetupLink:()=>Ak,getCostSummary:()=>ih,getCurrentInstanceIdFromPathname:()=>cg,getCurrentInstanceIdFromWindow:()=>vP,getCurrentProject:()=>Gs,getDefaultAccountState:()=>cn,getDiagnostics:()=>h_,getDirectory:()=>Gd,getDiscoverConnector:()=>rn,getDiscoverIntegration:()=>jy,getEmailInstallation:()=>qc,getEmailMode:()=>Oc,getEnterpriseDemo:()=>ob,getFileStatus:()=>at,getFileWithDir:()=>$u,getFilename:()=>Ld,getFullChangelog:()=>yg,getGatewayBreakdown:()=>Jc,getGatewayBudgets:()=>Yc,getGatewayErrors:()=>Qc,getGatewayKeys:()=>tl,getGatewayLog:()=>Wc,getGatewayOverview:()=>zc,getGatewayRoutingPolicy:()=>Gc,getGatewaySeries:()=>Vc,getGatewaySessions:()=>Xc,getGitHubAppStatus:()=>Gk,getGitHubInstallation:()=>wi,getGoogleAuthUrl:()=>Pb,getGroup:()=>ol,getHiddenToolParts:()=>l_,getImpersonationSession:()=>Sp,getInvite:()=>zP,getJustavpsServerTypes:()=>lk,getKortixProject:()=>of,getKortixProjectBySession:()=>af,getKortixPtyWebSocketUrl:()=>qs,getLatestSandboxVersion:()=>sk,getMaintenanceConfig:()=>$k,getManagedGitStatus:()=>iy,getMarketplaceCatalogItem:()=>iu,getMarketplaceCatalogItemFile:()=>ou,getMfaRequired:()=>Dh,getMilestone:()=>df,getModelDefaults:()=>ec,getOAuthClient:()=>Sl,getOAuthConsentRequest:()=>Sk,getOpenCodeConfigInvalidError:()=>Nu,getPartText:()=>o_,getPatPolicy:()=>Jh,getPermissionForTool:()=>b_,getProject:()=>Jt,getProjectActivity:()=>rf,getProjectCommit:()=>oa,getProjectCommitDiff:()=>aa,getProjectDetail:()=>Xt,getProjectFileHistory:()=>ca,getProjectGitToken:()=>mi,getProjectLlmCatalog:()=>Qt,getProjectLlmCatalogProviders:()=>ny,getProjectModelAccess:()=>fn,getProjectModelPicker:()=>Yt,getProjectSandboxHealth:()=>sn,getProjectSandboxProviderTransition:()=>oy,getProjectSession:()=>on,getProjectSessionConfigState:()=>Ga,getProjectSessionScope:()=>Ka,getProrationPreview:()=>_c,getProviders:()=>$P,getProxyBaseUrl:()=>Qb,getPublicClientForUrl:()=>Mf,getPublicMarketplaceItem:()=>xk,getPublicMarketplaceItemFile:()=>_k,getPublicSessionShare:()=>wb,getPublicSessionShareMessages:()=>Sb,getPublicShareByToken:()=>Ek,getPublicTemplate:()=>Lk,getQuestionForTool:()=>x_,getReferralCode:()=>mh,getReferralStats:()=>hh,getRetryInfo:()=>N_,getRetryMessage:()=>K_,getReviewItem:()=>Ml,getRolePermissions:()=>fl,getRoleUsage:()=>yl,getSSHConnection:()=>tk,getSandbox:()=>MP,getSandboxById:()=>qP,getSandboxPortUrl:()=>jP,getSandboxProvisionStatus:()=>mk,getSandboxProvisionStreamUrl:()=>fk,getSandboxUpdateStatus:()=>rk,getSandboxUrl:()=>Wu,getSecretSetupLink:()=>Tk,getServerHealth:()=>Vt,getServiceLogs:()=>Rf,getSessionAudit:()=>Ia,getSessionCost:()=>L_,getSessionCostRecord:()=>pn,getSessionHealth:()=>Cu,getSessionOpenBundle:()=>Oy,getSessionPolicy:()=>Hh,getSessionPreviewCandidates:()=>Sa,getSessionTranscript:()=>Ea,getSessionTranscriptSync:()=>ja,getSessionTurn:()=>$a,getShellModePart:()=>E_,getSlackChannelFile:()=>$c,getSlackInstallation:()=>Rc,getSlackManifest:()=>Ec,getSlackMode:()=>Ic,getSsoProvider:()=>Uh,getStaticFileHealthPath:()=>gd,getSupabaseAccessToken:()=>Mt,getSupabaseAccessTokenWithRetry:()=>re,getTask:()=>Cm,getTaskStatus:()=>Tm,getTemplate:()=>Cb,getTicket:()=>qm,getToolInfo:()=>f_,getTranscriptFilename:()=>$d,getTurnCost:()=>F_,getTurnError:()=>D_,getTurnErrorDetails:()=>q_,getTurnStatus:()=>O_,getUsageRollup:()=>Sc,getUserRolesWithToken:()=>Dk,getVersionDiff:()=>la,getWorkingState:()=>$_,grantSandboxProjectAccess:()=>HP,grantSecretToAgent:()=>Xy,groupMessagesIntoTurns:()=>w_,hasDiffs:()=>H_,hasLocalhostUrls:()=>Hb,hasPreviewTarget:()=>pd,hasRetryingAssistantTurn:()=>I_,heartbeatGapEvent:()=>bd,holdSessionPrompts:()=>Ua,humanizeToolName:()=>Un,impersonationHeaders:()=>Ut,importSsoProviderFromMetadata:()=>Lh,inboxObservationSupersedes:()=>cw,initialWakeEscalationState:()=>ep,installTemplate:()=>Rb,invalidateTokenCache:()=>tt,inviteAccountMember:()=>ei,inviteProjectMember:()=>Oi,inviteRepoCollaborator:()=>di,isAbortError:()=>Lu,isAdminBypassEnabled:()=>wm,isAgentPart:()=>n_,isAppRouteUrl:()=>ad,isAttachment:()=>a_,isAttachmentPartRef:()=>xg,isBillingError:()=>xs,isCompactionPart:()=>r_,isConfigured:()=>Rt,isDestructivePhase:()=>nk,isExternalUrl:()=>sx,isFeatureDisabledError:()=>hs,isFilePart:()=>Mu,isImpersonationSessionLive:()=>kp,isInstanceDetailPath:()=>wP,isInstanceScopedAppPath:()=>og,isInternalLocalhostUrl:()=>ex,isInviteSent:()=>dy,isLastUserMessage:()=>j_,isManagedGithubProject:()=>ty,isOpenCodeConfigInvalidError:()=>TP,isPatchPart:()=>i_,isPreviewUrl:()=>Zb,isProxiableLocalhostUrl:()=>md,isReasoningPart:()=>Ln,isRetryableTurnError:()=>zd,isRuntimeReady:()=>Mb,isSandboxNotReadyError:()=>St,isServerReachable:()=>Bs,isSessionFresh:()=>Pa,isSessionStartError:()=>Ly,isShellMode:()=>Vd,isSnapshotPart:()=>s_,isSubdomainPreviewUrl:()=>Xu,isTextPart:()=>_e,isToolPart:()=>ue,isToolPartHidden:()=>u_,isUnderSandboxRoot:()=>Fs,isWebProxyUrl:()=>rx,kortixAppViewerToken:()=>jg,kortixPty:()=>qp,leaveAccount:()=>li,linkGitHubInstallation:()=>Ti,linkRepository:()=>ki,listAccountAudit:()=>zl,listAccountAuditWebhooks:()=>Xl,listAccountInvites:()=>ti,listAccountMembers:()=>Zs,listAccountResourceGrants:()=>wh,listAccountSessions:()=>zh,listAccountTokens:()=>Gl,listAccounts:()=>Ks,listActions:()=>Ih,listAdminSandboxes:()=>fb,listAgentIdentities:()=>ml,listAllConnections:()=>fo,listAppDeployments:()=>_u,listApps:()=>uu,listAssignments:()=>Tl,listAuditEvents:()=>ib,listAuditWebhooks:()=>tb,listBackups:()=>XP,listBillingTransactions:()=>cc,listChangeRequests:()=>ua,listChannelBindings:()=>ph,listColumns:()=>Hm,listConnectSections:()=>Iy,listConnectToolkits:()=>Ty,listConnections:()=>mo,listConnectorTools:()=>dt,listConnectors:()=>So,listCostByProject:()=>sh,listCredentialEvents:()=>_f,listCredentials:()=>xf,listDiscoverConnectors:()=>nn,listDiscoverIntegrations:()=>Ey,listDiscoverSections:()=>Fo,listEnv:()=>Ts,listFeaturedMarketplaces:()=>su,listFields:()=>zm,listFiles:()=>ot,listGatewayLogs:()=>Hc,listGitHubInstallations:()=>Si,listGitHubRepositories:()=>Ai,listGitHubRepositoryBranches:()=>Ci,listGroupMembers:()=>ul,listGroupProjectGrants:()=>_h,listGroups:()=>il,listKortixProjectSessions:()=>cf,listKortixProjects:()=>sf,listKortixPty:()=>js,listLinkableGitHubInstallations:()=>vi,listMarketplaceCatalogItems:()=>nu,listMarketplaceSources:()=>au,listMarketplaces:()=>ru,listMemberGroups:()=>Ph,listMemberProjectAccess:()=>kh,listMilestoneEvents:()=>gf,listMilestones:()=>pf,listOAuthClients:()=>wl,listPendingApprovals:()=>Vi,listPendingProjectInvites:()=>Ui,listPermissions:()=>jl,listPipedreamApps:()=>Oo,listPipedreamSections:()=>Uo,listPolicies:()=>Sh,listProjectAccess:()=>Mi,listProjectAccessRequests:()=>Ei,listProjectAgents:()=>Ym,listProjectAudit:()=>Vl,listProjectBranches:()=>sa,listProjectCliTokens:()=>Kl,listProjectCommits:()=>ia,listProjectFiles:()=>ea,listProjectGroupGrants:()=>Gi,listProjectPolicies:()=>No,listProjectResourceGrants:()=>Hi,listProjectSandboxTemplates:()=>Ho,listProjectSandboxes:()=>Zo,listProjectSecrets:()=>Qi,listProjectSessions:()=>Ke,listProjectSessionsPage:()=>ka,listProjectSnapshots:()=>Wo,listProjectTriggers:()=>za,listProjects:()=>Ce,listProjectsForAccount:()=>pi,listPublicMarketplaceItems:()=>hk,listPublicMarketplaces:()=>bk,listReferrals:()=>bh,listReviewItems:()=>$l,listRoles:()=>gl,listSandboxProjectMembers:()=>KP,listSandboxShares:()=>Ul,listSandboxes:()=>UP,listScimTokens:()=>jh,listServiceAccountsApi:()=>Qh,listServiceTemplates:()=>Cf,listServices:()=>Af,listSessionConnectRequests:()=>Ry,listSessionCosts:()=>Cc,listSessionPrompts:()=>Da,listSessionPublicShares:()=>va,listSessionsNeedingInput:()=>Ji,listSsoGroupMappings:()=>Bh,listTaskEvents:()=>Rm,listTasks:()=>Am,listTemplates:()=>Jm,listTicketEvents:()=>Om,listTickets:()=>Dm,loadHttpSessionHistory:()=>Cg,markInstanceError:()=>dk,markSessionFresh:()=>gt,mergeChangeRequest:()=>fa,migrateAdminSandboxProvider:()=>bb,mkdir:()=>Be,narrowChatEvent:()=>xd,normalizeAppPathname:()=>RP,normalizeExternalInput:()=>ix,normalizeToolName:()=>xt,openChangeRequest:()=>ma,openEventStream:()=>Mn,openStressTestStream:()=>Uk,parseBillingError:()=>we,parseFlagOverride:()=>PP,parseLocalhostUrl:()=>ht,parseOpenCodeErrorPayload:()=>ug,parseProxyHop:()=>Au,parseSubdomainUrl:()=>Tu,parseWebProxyUrl:()=>nx,patchKortixProject:()=>uf,pipedreamConnect:()=>$o,pipedreamConnectConnection:()=>ko,pipedreamFinalize:()=>Bo,pipedreamFinalizeConnection:()=>wo,platformConfig:()=>j,pollConnectionOAuth2DeviceAuthorization:()=>Sy,pollProjectProviderOAuth:()=>no,previewGatewayRoute:()=>Kc,previewMfaRequired:()=>qh,probeEffectivePermission:()=>Pl,probeEffectivePermissions:()=>kl,probePreviewPort:()=>Xk,projectCompacting:()=>gw,projectSessionConnection:()=>ew,projectSessionStartSeed:()=>Fy,projectWorking:()=>uw,provisionProject:()=>hi,provisionProjectStream:()=>sy,provisionProjectWithToken:()=>uy,proxyLocalhostUrl:()=>Ru,proxyUrlToInternal:()=>Yb,purchaseCredits:()=>Pc,putConnectionOAuth2Application:()=>hy,reactivateSandbox:()=>NP,reactivateSubscription:()=>hc,readBlob:()=>Fe,readFile:()=>Ue,readProjectFile:()=>na,rebuildProjectSnapshot:()=>zo,reconcileConnection:()=>yo,reconcileMemberConnection:()=>ho,reconcileServices:()=>If,recordPlatformLogout:()=>wk,refreshReferralCode:()=>fh,refreshSession:()=>ze,registerAppArtifact:()=>gn,registerConnectionOAuth2Client:()=>Py,registerService:()=>Ef,rejectProjectAccessRequest:()=>$i,relativizePath:()=>y_,reloadProjectSessionConfig:()=>Ba,reloadProjectSessionConfigStream:()=>Na,removeAccountAuditWebhook:()=>Zl,removeAccountBrandingAsset:()=>Qs,removeAccountMember:()=>ai,removeGroupMember:()=>dl,removeKortixPty:()=>Ds,removeMarketplaceSource:()=>lu,removeQueued:()=>Td,renameFile:()=>fe,renameSandbox:()=>OP,reopenChangeRequest:()=>ha,reopenMilestone:()=>hf,reorderQueued:()=>Ed,replaceColumns:()=>Wm,replaceFields:()=>Vm,replaceTemplates:()=>Xm,requestAccountDeletion:()=>ub,requestChangesOnChangeRequest:()=>ba,requestProjectAccess:()=>py,requestProjectConnector:()=>tu,requestProjectSecret:()=>eu,resendAccountInvite:()=>ri,resendPendingProjectInvite:()=>Li,resetAccountBranding:()=>Ys,resetClient:()=>$f,resetGatewayRoutingPolicy:()=>Nc,resetPassword:()=>wn,resetPublicClient:()=>qf,resetSandboxUpdateStatus:()=>ak,resolveApproval:()=>Xi,resolvedPlan:()=>Yy,restartProjectSession:()=>mt,restartSandbox:()=>LP,restoreBackup:()=>YP,retryFailed:()=>Rd,retrySessionPrompt:()=>Oa,revealCredential:()=>kf,revokeAccountSession:()=>Vh,revokeAccountToken:()=>Nl,revokeAssignment:()=>El,revokeConnection:()=>xo,revokeGatewayKey:()=>rl,revokePendingProjectInvite:()=>Fi,revokeProjectAccess:()=>qi,revokeProjectCliToken:()=>Wl,revokeSandboxProjectAccess:()=>WP,revokeSandboxShare:()=>Ll,revokeScimToken:()=>Mh,revokeSessionPublicShare:()=>Ca,rewriteLocalhostUrl:()=>be,rollbackApp:()=>vu,rotateOAuthClientSecret:()=>Cl,runGatewayPlayground:()=>sl,saveGitHubInstallation:()=>Ri,scheduleDowngrade:()=>bc,searchConnectorTools:()=>lo,searchProjectFiles:()=>ta,sendMagicLink:()=>xn,sendReferralEmails:()=>xh,serverCompactionRevalidateAtMs:()=>fw,serviceAction:()=>Tf,sessionStartKey:()=>By,setActiveInstanceCookie:()=>AP,setAdminBypass:()=>km,setAdminProviderDistribution:()=>yb,setAdminProviderFallback:()=>_b,setAgentScope:()=>rc,setBootstrapAuthToken:()=>am,setCachedAuthToken:()=>om,setConnectionPolicies:()=>Cy,setConnectorAuthorizationStrategy:()=>Co,setConnectorCredential:()=>Go,setConnectorCredentialMode:()=>Ao,setConnectorName:()=>jo,setConnectorPolicies:()=>Io,setConnectorSecretBinding:()=>$y,setConnectorSensitive:()=>Ro,setDefaultConnection:()=>Po,setEnterpriseDemo:()=>ab,setEnv:()=>Is,setGatewayBudget:()=>Zc,setGatewayRoutingPolicy:()=>Bc,setGitHubAppFromExisting:()=>Nk,setGitHubAppPat:()=>Kk,setImpersonationSession:()=>dm,setMaintenanceConfig:()=>Mk,setMemberSuperAdmin:()=>Eh,setMfaRequired:()=>Oh,setModelDefault:()=>tc,setPersonalProjectSecret:()=>oo,setProjectModelAccess:()=>yn,setProjectModelEnablement:()=>Ny,setProjectOnboardingComplete:()=>Pi,setProjectOnboardingProfile:()=>cy,setProjectPolicies:()=>Ko,setProjectSecretStrategy:()=>Zi,setProjectSessionModel:()=>Wa,setProjectSessionScope:()=>Ha,setProjectSessionSharing:()=>wa,setProjectTriggersActivation:()=>Qa,setupSSH:()=>ek,shellExitCode:()=>Uu,shouldAttachImpersonation:()=>vp,shouldHideResponsePart:()=>M_,shouldShowToolPart:()=>Fd,signInWithPassword:()=>bn,signInWithProvider:()=>Pn,signInWithSso:()=>Cn,signOut:()=>Tn,signUp:()=>hn,sortSessions:()=>T_,splitUserParts:()=>c_,startApp:()=>wu,startConnectionOAuth2Authorization:()=>ky,startConnectionOAuth2DeviceAuthorization:()=>wy,startConnectorSetupLink:()=>Ck,startGitHubAppManifest:()=>Bk,startProjectProviderOAuth:()=>to,startProjectSession:()=>Re,startSessionWithToken:()=>jk,startTask:()=>jm,stopApp:()=>Su,stopProjectSession:()=>ft,stopSandbox:()=>GP,stripAnsi:()=>P_,stripInstancePrefix:()=>SP,stripTrailingSlashes:()=>oe,submitAccessRequest:()=>kk,submitDemoRequest:()=>qk,submitOAuthConsent:()=>vk,submitReviewItem:()=>Dl,submitSecretSetupLink:()=>Ik,subscribeToImpersonation:()=>gm,supabaseClient:()=>Sm,syncConnectors:()=>vo,syncSubscription:()=>rh,systemReload:()=>Uf,toDaemonPath:()=>Ae,toInstanceAwarePath:()=>CP,toInternalUrl:()=>fd,toSandboxAbsolutePath:()=>it,toWorkspaceRelative:()=>Ls,toolInfo:()=>Fn,toolViewModel:()=>ng,triggerSandboxUpdate:()=>ok,triggersRequest:()=>Dp,turnHasSteps:()=>A_,unassignTicket:()=>Bm,unwrapError:()=>te,updateAccountAuditWebhook:()=>Yl,updateAccountBranding:()=>Js,updateAccountMemberRole:()=>ci,updateAccountName:()=>zs,updateAgentConfig:()=>zy,updateApp:()=>gu,updateAppAccess:()=>yu,updateAuditWebhook:()=>rb,updateChannelBinding:()=>dh,updateConnectionCredential:()=>bo,updateEmailPolicy:()=>Lc,updateExperimentalFeature:()=>xi,updateFeatureFlag:()=>bi,updateGroup:()=>cl,updateKortixPty:()=>Ms,updateMilestone:()=>ff,updateOAuthClient:()=>Al,updatePassword:()=>Sn,updatePatPolicy:()=>Xh,updatePolicy:()=>Ah,updateProject:()=>Zt,updateProjectAccess:()=>Di,updateProjectAgent:()=>ef,updateProjectDefaultAgent:()=>ic,updateProjectGroupGrant:()=>Ni,updateProjectSandboxProvider:()=>_i,updateProjectSession:()=>Fa,updateProjectTrigger:()=>Ja,updateRole:()=>bl,updateRolePermissions:()=>xl,updateSandboxTemplate:()=>Xo,updateSessionPolicy:()=>Wh,updateTask:()=>Em,updateTemplateWarmPool:()=>ay,updateTicket:()=>Fm,updateTicketStatus:()=>Lm,updateUserMetadata:()=>An,uploadAccountBrandingAsset:()=>Xs,uploadAppArtifactArchive:()=>bu,uploadConnectorAttachment:()=>go,uploadFile:()=>Le,uploadSlackChannelFile:()=>Mc,uploadTimeoutMsForBytes:()=>qe,upsertCredential:()=>Pf,upsertProjectGitCredential:()=>so,upsertProjectSecret:()=>Yi,upsertSsoProvider:()=>Fh,validateProjectManifest:()=>gi,validateReferralCode:()=>yh,validateToken:()=>ui,verifyGatewayProvider:()=>gh,verifyOtp:()=>_n,wakeEscalationAttemptSummary:()=>vw,wakeEscalationNote:()=>ww,wakeProgressFingerprint:()=>xw,workingExpiryAtMs:()=>pw,writeFile:()=>Ge});var Fg={backendUrl:"",getToken:async()=>null},Jn=null,At=null;function Lg(e){At=e}function Gg(){return At}function Ct(e,t){t?.global!==!1&&(Jn=e)}function j(){return At?.()??Jn??Fg}function Rt(){return Jn!==null||At?.()!==void 0}var rp=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:o,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:d,url:f,...m})=>{let y,x=d??(T=>new Promise(E=>setTimeout(E,T)));return{stream:async function*(){let T=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);y!==void 0&&b.set("Last-Event-ID",y);try{let c={redirect:"follow",...m,body:m.serializedBody,headers:b,signal:l},A=new Request(f,c);e&&(A=await e(f,c));let R=await(m.fetch??globalThis.fetch)(A);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(),q="",D=()=>{try{$.cancel()}catch{}};l.addEventListener("abort",D);try{for(;;){let{done:Z,value:J}=await $.read();if(Z)break;q+=J,q=q.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
3
|
`);let h=q.split(`
|
|
4
4
|
|
|
5
5
|
`);q=h.pop()??"";for(let I of h){let B=I.split(`
|
|
6
6
|
`),O=[],F;for(let K of B)if(K.startsWith("data:"))O.push(K.replace(/^data:\s*/,""));else if(K.startsWith("event:"))F=K.replace(/^event:\s*/,"");else if(K.startsWith("id:"))y=K.replace(/^id:\s*/,"");else if(K.startsWith("retry:")){let Q=Number.parseInt(K.replace(/^retry:\s*/,""),10);Number.isNaN(Q)||(T=Q)}let L,X=!1;if(O.length){let K=O.join(`
|
|
7
|
-
`);try{L=JSON.parse(K),X=!0}catch{L=K}}X&&(s&&await s(L),r&&(L=await r(L))),n?.({data:L,event:F,id:y,retry:T}),O.length&&(yield L)}}}finally{l.removeEventListener("abort",D),$.releaseLock()}break}catch(c){if(t?.(c),u!==void 0&&E>=u)break;let A=Math.min(T*2**(E-1),p??3e4);await x(A)}}}()}};var Fg=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Lg=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Gg=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(Lg(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=Fg(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,y])=>{d=[...d,m,e?y:encodeURIComponent(y)]});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=Gg(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 Bg=/\{[^{}]+\}/g,Ng=({path:e,url:t})=>{let n=t,r=t.match(Bg);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},rp=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,u=(e??"")+o;t&&(u=Ng({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function Xn(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 sp=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 Qn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var ip=({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("&")},op=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"}},Kg=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,ap=async({security:e,...t})=>{for(let n of e){if(Kg(t,n.name))continue;let r=await sp(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}}},Yn=e=>rp({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:ip(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=Et(e.headers,t.headers),n},Hg=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?Hg(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}},cp=()=>({error:new Ye,request:new Ye,response:new Ye}),Wg=ip({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),zg={"Content-Type":"application/json"},Ze=(e={})=>({...Qn,headers:zg,parseAs:"auto",querySerializer:Wg,...e});var et=(e={})=>{let t=Zn(Ze(),e),n=()=>({...t}),r=f=>(t=Zn(t,f),n()),s=cp(),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 ap({...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 y=Yn(m);return{opts:m,url:y}},u=async f=>{let{opts:m,url:y}=await o(f),x={redirect:"follow",...m,body:Xn(m)},_=new Request(y,x);for(let S of s.request.fns)S&&(_=await S(_,m));let k=m.fetch,T;try{T=await k(_)}catch(S){let R=S;for(let $ of s.error.fns)$&&(R=await $(S,void 0,_,m));if(R=R||{},m.throwOnError)throw R;return m.responseStyle==="data"?void 0:{error:R,request:_,response:void 0}}for(let S of s.response.fns)S&&(T=await S(T,_,m));let E={request:_,response:T};if(T.ok){let S=(m.parseAs==="auto"?op(T.headers.get("Content-Type")):m.parseAs)??"json";if(T.status===204||T.headers.get("Content-Length")==="0"){let $;switch(S){case"arrayBuffer":case"blob":case"text":$=await T[S]();break;case"formData":$=new FormData;break;case"stream":$=T.body;break;default:$={};break}return m.responseStyle==="data"?$:{data:$,...E}}let R;switch(S){case"arrayBuffer":case"blob":case"formData":case"text":R=await T[S]();break;case"json":{let $=await T.text();R=$?JSON.parse($):{};break}case"stream":return m.responseStyle==="data"?T.body:{data:T.body,...E}}return S==="json"&&(m.responseValidator&&await m.responseValidator(R),m.responseTransformer&&(R=await m.responseTransformer(R))),m.responseStyle==="data"?R:{data:R,...E}}let l=await T.text(),b;try{b=JSON.parse(l)}catch{}let c=b??l,A=c;for(let S of s.error.fns)S&&(A=await S(c,T,_,m));if(A=A||{},m.throwOnError)throw A;return m.responseStyle==="data"?void 0:{error:A,...E}},p=f=>m=>u({...m,method:f}),d=f=>async m=>{let{opts:y,url:x}=await o(m);return np({...y,body:y.body,headers:y.headers,method:f,onRequest:async(_,k)=>{let T=new Request(_,k);for(let E of s.request.fns)E&&(T=await E(T,y));return T},serializedBody:Xn(y),url:x})};return{buildUrl:Yn,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 Vg={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Jg=Object.entries(Vg),lp=(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&&lp(n.args,t);return t},Xg=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=lp(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=Jg.find(([y])=>p.startsWith(y));if(m){let[y,x]=m;n[x][p.slice(y.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[y,x]of Object.entries(s.allowExtra))if(x){n[y][p]=d;break}}}}return Xg(n),n};var up=et(Ze({baseUrl:"http://localhost:4096"}));var P=class{client;constructor(t){this.client=t?.client??up}},er=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)}},tr=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}})}},nr=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})}},rr=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}})}},sr=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})}},ir=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}})}},or=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})}},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/resource",...n,...r})}},cr=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}})}},lr=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})}},ur=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 lr({client:this.client})}},pr=class extends P{_controlPlane;get controlPlane(){return this._controlPlane??=new rr({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new sr({client:this.client})}_console;get console(){return this._console??=new ir({client:this.client})}_session;get session(){return this._session??=new or({client:this.client})}_resource;get resource(){return this._resource??=new ar({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new cr({client:this.client})}_workspace;get workspace(){return this._workspace??=new ur({client:this.client})}},dr=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}})}},gr=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 dr({client:this.client})}},mr=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})}},fr=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})}},yr=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})}},hr=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}})}},br=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})}},xr=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})}},_r=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})}},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:"/path",...n,...r})}},kr=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})}},wr=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 kr({client:this.client})}},Sr=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})}},vr=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})}},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:"/formatter",...n,...r})}},Cr=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})}},Rr=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 Cr({client:this.client})}},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:"/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})}},Ir=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})}},Er=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})}},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:"/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}})}},$r=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}})}},Mr=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 $r({client:this.client})}},Dr=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})}},qr=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}})}},Or=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}})}},Ur=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 Or({client:this.client})}},Fr=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}})}},Lr=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 Fr({client:this.client})}},Gr=class extends P{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Br=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})}},Nr=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})}},Kr=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})}},Hr=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}})}},Wr=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})}},zr=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 Kr({client:this.client})}_permission;get permission(){return this._permission??=new Hr({client:this.client})}_question;get question(){return this._question??=new Wr({client:this.client})}},Vr=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})}},Jr=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})}},Xr=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}})}},Qr=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}})}},Yr=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 Xr({client:this.client})}_attempt;get attempt(){return this._attempt??=new Qr({client:this.client})}},Zr=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}})}},es=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})}},ts=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})}},ns=class extends P{_request;get request(){return this._request??=new es({client:this.client})}_saved;get saved(){return this._saved??=new ts({client:this.client})}},rs=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})}},ss=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})}},is=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})}},os=class extends P{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},as=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})}},cs=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})}},ls=class extends P{_request;get request(){return this._request??=new cs({client:this.client})}},us=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})}},ps=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})}},ds=class extends P{_health;get health(){return this._health??=new Gr({client:this.client})}_location;get location(){return this._location??=new Br({client:this.client})}_agent;get agent(){return this._agent??=new Nr({client:this.client})}_session;get session(){return this._session??=new zr({client:this.client})}_model;get model(){return this._model??=new Vr({client:this.client})}_provider;get provider(){return this._provider??=new Jr({client:this.client})}_integration;get integration(){return this._integration??=new Yr({client:this.client})}_credential;get credential(){return this._credential??=new Zr({client:this.client})}_permission;get permission(){return this._permission??=new ns({client:this.client})}_fs;get fs(){return this._fs??=new rs({client:this.client})}_command;get command(){return this._command??=new ss({client:this.client})}_skill;get skill(){return this._skill??=new is({client:this.client})}_event;get event(){return this._event??=new os({client:this.client})}_pty;get pty(){return this._pty??=new as({client:this.client})}_question;get question(){return this._question??=new ls({client:this.client})}_reference;get reference(){return this._reference??=new us({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new ps({client:this.client})}},jt=class e extends P{static __registry=new er;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new tr({client:this.client})}_app;get app(){return this._app??=new nr({client:this.client})}_experimental;get experimental(){return this._experimental??=new pr({client:this.client})}_global;get global(){return this._global??=new gr({client:this.client})}_event;get event(){return this._event??=new mr({client:this.client})}_config;get config(){return this._config??=new fr({client:this.client})}_tool;get tool(){return this._tool??=new yr({client:this.client})}_worktree;get worktree(){return this._worktree??=new hr({client:this.client})}_find;get find(){return this._find??=new br({client:this.client})}_file;get file(){return this._file??=new xr({client:this.client})}_instance;get instance(){return this._instance??=new _r({client:this.client})}_path;get path(){return this._path??=new Pr({client:this.client})}_vcs;get vcs(){return this._vcs??=new wr({client:this.client})}_command;get command(){return this._command??=new Sr({client:this.client})}_lsp;get lsp(){return this._lsp??=new vr({client:this.client})}_formatter;get formatter(){return this._formatter??=new Ar({client:this.client})}_mcp;get mcp(){return this._mcp??=new Rr({client:this.client})}_project;get project(){return this._project??=new Tr({client:this.client})}_pty;get pty(){return this._pty??=new Ir({client:this.client})}_question;get question(){return this._question??=new Er({client:this.client})}_permission;get permission(){return this._permission??=new jr({client:this.client})}_provider;get provider(){return this._provider??=new Mr({client:this.client})}_session;get session(){return this._session??=new Dr({client:this.client})}_part;get part(){return this._part??=new qr({client:this.client})}_sync;get sync(){return this._sync??=new Ur({client:this.client})}_tui;get tui(){return this._tui??=new Lr({client:this.client})}_v2;get v2(){return this._v2??=new ds({client:this.client})}};function dp(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||pp(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 ${pp(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function pp(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,o=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function Qg(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function Yg(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=Qg(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 gs(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=>Yg(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(dp),new jt({client:t})}var Zg=new Set(["api","cli","mobile","web"]);function $t(e){let t=e?.trim().toLowerCase();return t&&Zg.has(t)?t:null}function em(e){return new Promise(t=>setTimeout(t,e))}async function gp(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 em(s)),u=await e(),u)return u;return u}var tm=12e4;function nm(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function ms(e,t,n=tm){let r=e instanceof Request?e.signal:t?.signal;if(nm(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function fs(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 mp(){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 gp(()=>j().getToken(),e,tt)}function tt(){}function rm(e){}function sm(e){}async function je(){return Mt()}async function ys(e){return re(e)}function fp(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 ys();if(!o)return mp();let u=j().clientSource,p=fs(e,t,o,u),d=s===void 0?ms(e,t):ms(e,t,s),f=await fp(e,t,p,d);if(f.status===401&&r&&o){tt();let m=await ys({attempts:2,baseDelayMs:200});if(m&&m!==o){let y=fs(e,t,m,u);return fp(e,t,y,d)}}return f}var $e={url:null,sandboxId:null,dbSandboxId:null,version:0},im=new Set;function yp(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 im)r()}}function hp(){return $e.url}function om(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function nt(){return om(j().backendUrl||"http://localhost:8008/v1")}function bp(){let e=j().sandboxId;return e?`${nt()}/p/${e}/8000`:""}function am(e){return`${nt()}/p/${e}/8000`}function Dt(e){return am(e)}var v=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 v{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 xp(e){if(!(e instanceof v)||e.status!==403||e.code!==qt)return null;let t=e.details??e.data;return t&&typeof t=="object"?t:{}}function hs(e){let t=xp(e);return t?(typeof t.feature=="string"&&!e.feature&&(e.feature=t.feature),!0):!1}function bs(e){let t=xp(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 xs(e){return e instanceof ge}function _s(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 _p="X-Kortix-Impersonate",ks="kortix.impersonation",Se=null,Ot=!1,Ps=new Set;function ws(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function Pp(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 cm(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 kp(){for(let e of Ps)try{e()}catch{}}function wp(){return Ot||(Ot=!0,Se=cm(ws()?.getItem(ks)??null)),Se&&!Pp(Se)?(Ss(),null):Se}function lm(e){if(Ot=!0,!e){Ss();return}Se=e;try{ws()?.setItem(ks,JSON.stringify(e))}catch{}kp()}function Ss(){Ot=!0;let e=Se!==null;Se=null;try{ws()?.removeItem(ks)}catch{}e&&kp()}function um(e){return Ps.add(e),()=>{Ps.delete(e)}}var pm=/(^|\/)admin\/(api|analytics)(\/|$)/;function Sp(e){let t=e;if(/^https?:\/\//.test(e))try{t=new URL(e).pathname}catch{t=e}return!pm.test(t)}function Ut(e){if(e!==void 0&&!Sp(e))return{};let t=wp();return t?{[_p]:t.grantId}:{}}var se=()=>j().backendUrl||"",Ap="feature_not_supported",Cp="model_not_servable",Rp="provision_in_flight",Tp="request_deadline",dm=/^Request exceeded the \d+s server processing deadline$/,gm=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===Tp||dm.test(n),mm=e=>new Promise(t=>setTimeout(t,e)),fm=new Set([502,503,504]),ym=e=>fm.has(e),hm=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},bm=2,vp=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),Ft=!1;function xm(e){Ft=e}function _m(){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(),y=o.body instanceof FormData,x={};y||(x["Content-Type"]="application/json"),Object.assign(x,o.headers);let _=$t(j().clientSource),k=Object.keys(x).some(A=>A.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 T=hm(o.method),E=T?bm+1:1,l;for(let A=0;A<E;A++){A>0&&await mm(250*2**(A-1));let S=A===0?u:new AbortController;A>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),vp($)||A===E-1)throw $;continue}if(p&&(clearTimeout(p),p=null),!(T&&ym(l.status)&&A<E-1))break;try{await l.arrayBuffer()}catch{}}if(!l.ok){let A=`HTTP ${l.status}: ${l.statusText}`,S=null;try{S=await l.json(),typeof S.message=="string"?A=S.message:S.error&&typeof S.error=="string"?A=S.error:typeof S.detail=="string"?A=S.detail:typeof S.detail?.message=="string"?A=S.detail.message:typeof S.reason=="string"&&(A=S.reason)}catch{}let R=gm(l.status,S,A),$=new v(A,{status:l.status,response:l,details:S||void 0,data:S,detail:S?.detail,code:R?Tp: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===Ap,D=l.status===409&&S?.code===Cp,Z=l.status===409&&S?.code===Rp;return n&&!q&&!D&&!Z&&!R&&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 y=vp(m);y&&(d=!0);let x;if(y){if(!f)return{error:new v("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let _=e.replace(se(),"")||e;x=new v(`Request timed out after ${Math.round(s/1e3)}s: ${_}`,{code:"TIMEOUT",url:e,endpoint:_,timeout:s})}else m instanceof Error?(x=new v(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&j().onError?.(x,r)):(x=new v(String(m)),n&&j().onError?.(x,r));return{error:x,success:!1}}}var Pm={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new v(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 v(n.message,{name:n.name||"ApiError",stack:n.stack}):new v(String(n));return j().onError?.(r,t),{error:r,success:!1}}}};async function km(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:km};var Lt=new Map,vs=new Map;function As(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Ip(e){return Lt.get(As(e))??null}function Ep(e){return Lt.has(As(e))}async function Gt(e){let t=As(e),n=Lt.get(t);if(n!==void 0)return n;let r=vs.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{vs.delete(t)}})();return vs.set(t,s),s}function jp(e){let{apiBaseUrl:t}=e;return Ep(t)||Gt(t).catch(()=>{}),{sandboxId:e.sandboxId,backendPort:e.backendPort,apiBaseUrl:t,previewUrlTemplate:Ip(t)}}function ie(){let e=hp();return e||(j().billingEnabled??!1?"":bp())}async function Cs(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function Rs(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Ts(e){let t=Rs(e),n=await M(`${t}/env`);if(!n.ok)throw new Error(await Cs(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Is(e,t,n){let r=Rs(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 Cs(s,"Failed to save secret"))}async function Es(e,t){let n=Rs(e),r=await M(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Cs(r,"Failed to delete secret"))}var $p={list:Ts,set:Is,delete:Es};async function Mp(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 js(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 $s(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 Ms(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 Ds(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 qs(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 Dp={list:js,create:$s,update:Ms,remove:Ds,webSocketUrl:qs};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 wm(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 Sm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function vm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function Am(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function Cm(e,t){return C(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function Rm(e,t,n){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Tm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Im(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function Em(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function jm(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return C(e,`/kortix/tickets${n}`)}async function $m(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Mm(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Dm(e,t){return C(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function qm(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Om(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Um(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Fm(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Lm(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Gm(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Bm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Nm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Km(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Hm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Wm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function zm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Vm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Jm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Xm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Qm(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Ym(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Zm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function ef(e,t,n=200){return C(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function tf(e){return C(e,"/kortix/projects")}async function nf(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function rf(e,t){return C(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function sf(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function of(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function af(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function cf(e,t,n="all"){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function lf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function uf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function pf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function df(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function gf(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function mf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function ff(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function yf(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function hf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function bf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function xf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function _f(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var Pf=1e4,kf={retryOnAuthError:!1};function Me(e,t,n){return C(e,t,{signal:AbortSignal.timeout(Pf),...n},kf)}async function wf(e,t=!1){return(await Me(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function Sf(e){return(await Me(e,"/kortix/services/templates")).templates??[]}async function vf(e,t){return(await Me(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function Af(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 Cf(e,t){return Me(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function Rf(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=gs({baseUrl:e,fetch:M});return Nt.set(e,n),n}function Tf(e){Nt.delete(e)}function If(){Nt.clear()}var Kt=new Map;function Ef(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Kt.get(e);if(t)return t;let n=gs({baseUrl:e,fetch});return Kt.set(e,n),n}function jf(e){Kt.delete(e)}function $f(){Kt.clear()}async function Mf(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 Df(e){let t=ie();if(!t)throw new v("[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 v(`System reload failed (${r.status}): ${await Mf(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new v(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(d){throw new v(`System reload returned malformed JSON from ${n}: ${d instanceof Error?d.message:String(d)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode: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 Fp(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 v(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 V(e){let t=(e??ie()).trim();if(!t)throw new De;return t}async function Wt(e,t){let n=await M(`${V(t)}${e}`);if(!n.ok)throw new v(await Oe(n),{status:n.status,response:n});return n.json()}var zt=["/workspace","/tmp","/home","/opt"],qf=zt.filter(e=>e!=="/workspace");function Fs(e){return zt.some(t=>e===t||e.startsWith(`${t}/`))}function it(e){return Fs(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(qf.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Ls=Ae;async function ot(e,t){let n=V(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=V(t),r=Ae(e),s=await M(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new v(await Oe(s),{status:s.status,response:s});return s.json()}async function Of(e,t,n){let r=V(n),s=Ae(e),o=await M(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new v(await Oe(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new v("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let u=await o.blob();return t&&(!u.type||u.type==="application/octet-stream")?new Blob([u],{type:t}):u}async function Fe(e,t){let n=V(t);try{return await Of(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",V(e))}async function ct(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)),Wt(`/find/file?${s.toString()}`,r)}async function lt(e,t){let n=V(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],Uf=e=>e===408||e===429||e===502||e===503||e===504,qp=e=>new Promise(t=>setTimeout(t,e));function Ff(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Os=3e4,Lf=15*6e4,Gf=256;function qe(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Os;let t=Os+e/Gf;return Math.min(Lf,Math.max(Os,Math.round(t)))}async function Bf(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,Ff(p)||s===st.length)break;await qp(st[s]);continue}if(o.ok)return o.json();let u=await Bf(o);if(n=new v(`Upload failed (${o.status}): ${u}`,{status:o.status,response:o}),!Uf(o.status)||s===st.length)throw n;await qp(st[s])}if(n instanceof v)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new v(`Upload failed: ${r}`)}var Us=64*1024;function Op(e,t){try{e?.onProgress?.(t)}catch{}}function Up(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 Nf(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=V(o),d=qe(e.size),f=n||(e instanceof File?e.name:"")||"";if(e.size<=Us){let _=await Ht(()=>Up(e,t,f),k=>M(`${p}/file/upload`,{method:"POST",body:k},{timeoutMs:d}));return Op(u,{loadedBytes:e.size,totalBytes:e.size}),_}let y=(await Ht(()=>Up(new Blob([],{type:e.type}),t,f),_=>M(`${p}/file/upload`,{method:"POST",body:_},{timeoutMs:qe(0)})))[0]?.path;if(!y)throw new v("Upload reservation returned no file path",{code:"UPLOAD_NO_RESULT"});let x=Nf(y);if(!x.name)throw new v(`Upload reservation returned an invalid file path: ${y}`,{code:"UPLOAD_INVALID_PATH"});try{for(let _=0;_<e.size;_+=Us){let k=Math.min(e.size,_+Us),T=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",T,x.name),l},l=>M(`${p}/file/append`,{method:"POST",body:l},{timeoutMs:qe(T.size)}));if(E.path!==y||E.size!==k)throw new v(`Upload verification failed for ${y}: expected ${k} bytes, received ${E.size}`,{code:"UPLOAD_SIZE_MISMATCH"});Op(u,{loadedBytes:k,totalBytes:e.size})}}catch(_){throw await ye(y,p).catch(()=>{}),_}return[{path:y,size:e.size}]}function Kf(e,t,n){let r=V(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=V(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=V(n);return Kf(t,await Fe(e,r),r)}function Hf(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Wf(e){let t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function zf(e){return e.slice(e.lastIndexOf("/")+1)}function Vf(){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=V(n),s=it(Hf(e.trim())),o=zf(s);if(!o)throw new v(`writeFile needs a file path, got "${e}"`,{code:"INVALID_PATH"});let u=Wf(s);await Be(u,r).catch(()=>{});let p=Vf(),d=await Le(t,u,`.${o}.kortix-write-${p}`,r),f=d[0]?.path;if(!f)throw new v(`Upload returned no file for ${s}`,{code:"UPLOAD_NO_RESULT"});let m=it(f),y=`${s}.kortix-write-backup-${p}`,x=!1;try{await fe(s,y,r),x=!0}catch{}try{await fe(m,s,r)}catch(k){throw x&&await fe(y,s,r).catch(()=>{}),await ye(m,r).catch(()=>{}),k}x&&await ye(y,r).catch(()=>{});let _=d[0]?.size;return{path:s,bytes:typeof _=="number"?_:t.size}}async function ye(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 v(`Delete failed (${n.status}): ${await Oe(n)}`,{status:n.status,response:n});return n.json()}async function Be(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 v(`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(`${V(n)}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new v(`Rename failed (${r.status}): ${await Oe(r)}`,{status:r.status,response:r});return r.json()}async function Gs(){return Fp(await me().project.current())}async function Vt(){return Fp(await me().global.health())}async function Bs(){try{return(await Vt()).healthy===!0}catch{return!1}}var Lp={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:Gs,health:Vt,isReachable:Bs,toDaemonPath:Ae,toSandboxAbsolutePath:it,toWorkspaceRelative:Ls};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Ns(e){return e.replace(/\/v1\/?$/,"")}async function Ne(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Ns(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 Ks(){return a(await i.get("/accounts"))}async function Hs(e){return a(await i.post("/accounts",e))}async function Ws(e){return a(await i.get(`/accounts/${e}`))}async function zs(e,t){return a(await i.patch(`/accounts/${e}`,{name:t}))}async function Vs(e){return a(await i.get(`/accounts/${e}/branding`))}async function Js(e,t){return a(await i.put(`/accounts/${e}/branding`,t))}async function Xs(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 Qs(e,t){return a(await i.delete(`/accounts/${e}/branding/assets/${t}`))}async function Ys(e){return a(await i.delete(`/accounts/${e}/branding`))}async function Zs(e){return a(await i.get(`/accounts/${e}/members`))}async function ei(e,t){return a(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function ti(e){return a(await i.get(`/accounts/${e}/invites`))}async function ni(e,t){return a(await i.delete(`/accounts/${e}/invites/${t}`))}async function ri(e,t){return a(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function si(e){return a(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function ii(e){return a(await i.post(`/account-invites/${e}/accept`,{}))}async function oi(e){return a(await i.post(`/account-invites/${e}/decline`,{}))}async function ai(e,t){return a(await i.delete(`/accounts/${e}/members/${t}`))}async function ci(e,t,n){return a(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function li(e){return a(await i.post(`/accounts/${e}/leave`,{}))}async function Xf(e){return Ne(e,"/v1/accounts")}async function ui(){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 Qf=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","llm_gateway","meta_agent","apps","monitors","warm_sessions","secrets_egress","pi_worker"];async function Ce(){return a(await i.get("/projects"))}async function pi(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 di(e,t,n="write"){return a(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function gi(e,t){return a(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function mi(e){return a(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Yf(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 Zf(e,t){return a(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function fi(e){return a(await i.post("/projects",e))}async function yi(e){return a(await i.post("/projects/create-repo",e))}async function hi(e,t={}){return a(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}var Gp=200;function ey(e){let t=e.split(`
|
|
7
|
+
`);try{L=JSON.parse(K),X=!0}catch{L=K}}X&&(s&&await s(L),r&&(L=await r(L))),n?.({data:L,event:F,id:y,retry:T}),O.length&&(yield L)}}}finally{l.removeEventListener("abort",D),$.releaseLock()}break}catch(c){if(t?.(c),u!==void 0&&E>=u)break;let A=Math.min(T*2**(E-1),p??3e4);await x(A)}}}()}};var Bg=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ng=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Kg=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(Ng(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=Bg(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,y])=>{d=[...d,m,e?y:encodeURIComponent(y)]});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=Kg(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 Hg=/\{[^{}]+\}/g,Wg=({path:e,url:t})=>{let n=t,r=t.match(Hg);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},sp=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,u=(e??"")+o;t&&(u=Wg({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function Xn(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 ip=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 Qn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var op=({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("&")},ap=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"}},zg=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,cp=async({security:e,...t})=>{for(let n of e){if(zg(t,n.name))continue;let r=await ip(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}}},Yn=e=>sp({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:op(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=Et(e.headers,t.headers),n},Vg=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?Vg(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}},lp=()=>({error:new Ye,request:new Ye,response:new Ye}),Jg=op({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Xg={"Content-Type":"application/json"},Ze=(e={})=>({...Qn,headers:Xg,parseAs:"auto",querySerializer:Jg,...e});var et=(e={})=>{let t=Zn(Ze(),e),n=()=>({...t}),r=f=>(t=Zn(t,f),n()),s=lp(),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 cp({...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 y=Yn(m);return{opts:m,url:y}},u=async f=>{let{opts:m,url:y}=await o(f),x={redirect:"follow",...m,body:Xn(m)},_=new Request(y,x);for(let S of s.request.fns)S&&(_=await S(_,m));let k=m.fetch,T;try{T=await k(_)}catch(S){let R=S;for(let $ of s.error.fns)$&&(R=await $(S,void 0,_,m));if(R=R||{},m.throwOnError)throw R;return m.responseStyle==="data"?void 0:{error:R,request:_,response:void 0}}for(let S of s.response.fns)S&&(T=await S(T,_,m));let E={request:_,response:T};if(T.ok){let S=(m.parseAs==="auto"?ap(T.headers.get("Content-Type")):m.parseAs)??"json";if(T.status===204||T.headers.get("Content-Length")==="0"){let $;switch(S){case"arrayBuffer":case"blob":case"text":$=await T[S]();break;case"formData":$=new FormData;break;case"stream":$=T.body;break;default:$={};break}return m.responseStyle==="data"?$:{data:$,...E}}let R;switch(S){case"arrayBuffer":case"blob":case"formData":case"text":R=await T[S]();break;case"json":{let $=await T.text();R=$?JSON.parse($):{};break}case"stream":return m.responseStyle==="data"?T.body:{data:T.body,...E}}return S==="json"&&(m.responseValidator&&await m.responseValidator(R),m.responseTransformer&&(R=await m.responseTransformer(R))),m.responseStyle==="data"?R:{data:R,...E}}let l=await T.text(),b;try{b=JSON.parse(l)}catch{}let c=b??l,A=c;for(let S of s.error.fns)S&&(A=await S(c,T,_,m));if(A=A||{},m.throwOnError)throw A;return m.responseStyle==="data"?void 0:{error:A,...E}},p=f=>m=>u({...m,method:f}),d=f=>async m=>{let{opts:y,url:x}=await o(m);return rp({...y,body:y.body,headers:y.headers,method:f,onRequest:async(_,k)=>{let T=new Request(_,k);for(let E of s.request.fns)E&&(T=await E(T,y));return T},serializedBody:Xn(y),url:x})};return{buildUrl:Yn,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 Qg={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Yg=Object.entries(Qg),up=(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&&up(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=up(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=Yg.find(([y])=>p.startsWith(y));if(m){let[y,x]=m;n[x][p.slice(y.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[y,x]of Object.entries(s.allowExtra))if(x){n[y][p]=d;break}}}}return Zg(n),n};var pp=et(Ze({baseUrl:"http://localhost:4096"}));var P=class{client;constructor(t){this.client=t?.client??pp}},er=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)}},tr=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}})}},nr=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})}},rr=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}})}},sr=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})}},ir=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}})}},or=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})}},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/resource",...n,...r})}},cr=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}})}},lr=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})}},ur=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 lr({client:this.client})}},pr=class extends P{_controlPlane;get controlPlane(){return this._controlPlane??=new rr({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new sr({client:this.client})}_console;get console(){return this._console??=new ir({client:this.client})}_session;get session(){return this._session??=new or({client:this.client})}_resource;get resource(){return this._resource??=new ar({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new cr({client:this.client})}_workspace;get workspace(){return this._workspace??=new ur({client:this.client})}},dr=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}})}},gr=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 dr({client:this.client})}},mr=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})}},fr=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})}},yr=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})}},hr=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}})}},br=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})}},xr=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})}},_r=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})}},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:"/path",...n,...r})}},kr=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})}},wr=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 kr({client:this.client})}},Sr=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})}},vr=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})}},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:"/formatter",...n,...r})}},Cr=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})}},Rr=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 Cr({client:this.client})}},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:"/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})}},Ir=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})}},Er=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})}},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:"/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}})}},$r=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}})}},Mr=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 $r({client:this.client})}},Dr=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})}},qr=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}})}},Or=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}})}},Ur=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 Or({client:this.client})}},Fr=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}})}},Lr=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 Fr({client:this.client})}},Gr=class extends P{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Br=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})}},Nr=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})}},Kr=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})}},Hr=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}})}},Wr=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})}},zr=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 Kr({client:this.client})}_permission;get permission(){return this._permission??=new Hr({client:this.client})}_question;get question(){return this._question??=new Wr({client:this.client})}},Vr=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})}},Jr=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})}},Xr=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}})}},Qr=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}})}},Yr=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 Xr({client:this.client})}_attempt;get attempt(){return this._attempt??=new Qr({client:this.client})}},Zr=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}})}},es=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})}},ts=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})}},ns=class extends P{_request;get request(){return this._request??=new es({client:this.client})}_saved;get saved(){return this._saved??=new ts({client:this.client})}},rs=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})}},ss=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})}},is=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})}},os=class extends P{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},as=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})}},cs=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})}},ls=class extends P{_request;get request(){return this._request??=new cs({client:this.client})}},us=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})}},ps=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})}},ds=class extends P{_health;get health(){return this._health??=new Gr({client:this.client})}_location;get location(){return this._location??=new Br({client:this.client})}_agent;get agent(){return this._agent??=new Nr({client:this.client})}_session;get session(){return this._session??=new zr({client:this.client})}_model;get model(){return this._model??=new Vr({client:this.client})}_provider;get provider(){return this._provider??=new Jr({client:this.client})}_integration;get integration(){return this._integration??=new Yr({client:this.client})}_credential;get credential(){return this._credential??=new Zr({client:this.client})}_permission;get permission(){return this._permission??=new ns({client:this.client})}_fs;get fs(){return this._fs??=new rs({client:this.client})}_command;get command(){return this._command??=new ss({client:this.client})}_skill;get skill(){return this._skill??=new is({client:this.client})}_event;get event(){return this._event??=new os({client:this.client})}_pty;get pty(){return this._pty??=new as({client:this.client})}_question;get question(){return this._question??=new ls({client:this.client})}_reference;get reference(){return this._reference??=new us({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new ps({client:this.client})}},jt=class e extends P{static __registry=new er;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new tr({client:this.client})}_app;get app(){return this._app??=new nr({client:this.client})}_experimental;get experimental(){return this._experimental??=new pr({client:this.client})}_global;get global(){return this._global??=new gr({client:this.client})}_event;get event(){return this._event??=new mr({client:this.client})}_config;get config(){return this._config??=new fr({client:this.client})}_tool;get tool(){return this._tool??=new yr({client:this.client})}_worktree;get worktree(){return this._worktree??=new hr({client:this.client})}_find;get find(){return this._find??=new br({client:this.client})}_file;get file(){return this._file??=new xr({client:this.client})}_instance;get instance(){return this._instance??=new _r({client:this.client})}_path;get path(){return this._path??=new Pr({client:this.client})}_vcs;get vcs(){return this._vcs??=new wr({client:this.client})}_command;get command(){return this._command??=new Sr({client:this.client})}_lsp;get lsp(){return this._lsp??=new vr({client:this.client})}_formatter;get formatter(){return this._formatter??=new Ar({client:this.client})}_mcp;get mcp(){return this._mcp??=new Rr({client:this.client})}_project;get project(){return this._project??=new Tr({client:this.client})}_pty;get pty(){return this._pty??=new Ir({client:this.client})}_question;get question(){return this._question??=new Er({client:this.client})}_permission;get permission(){return this._permission??=new jr({client:this.client})}_provider;get provider(){return this._provider??=new Mr({client:this.client})}_session;get session(){return this._session??=new Dr({client:this.client})}_part;get part(){return this._part??=new qr({client:this.client})}_sync;get sync(){return this._sync??=new Ur({client:this.client})}_tui;get tui(){return this._tui??=new Lr({client:this.client})}_v2;get v2(){return this._v2??=new ds({client:this.client})}};function gp(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||dp(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 ${dp(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function dp(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,o=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function em(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function tm(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=em(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 gs(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=>tm(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(gp),new jt({client:t})}var nm=new Set(["api","cli","mobile","web"]);function $t(e){let t=e?.trim().toLowerCase();return t&&nm.has(t)?t:null}function rm(e){return new Promise(t=>setTimeout(t,e))}async function mp(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 rm(s)),u=await e(),u)return u;return u}var sm=12e4;function im(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function ms(e,t,n=sm){let r=e instanceof Request?e.signal:t?.signal;if(im(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function fs(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 fp(){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 mp(()=>j().getToken(),e,tt)}function tt(){}function om(e){}function am(e){}async function je(){return Mt()}async function ys(e){return re(e)}function yp(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 ys();if(!o)return fp();let u=j().clientSource,p=fs(e,t,o,u),d=s===void 0?ms(e,t):ms(e,t,s),f=await yp(e,t,p,d);if(f.status===401&&r&&o){tt();let m=await ys({attempts:2,baseDelayMs:200});if(m&&m!==o){let y=fs(e,t,m,u);return yp(e,t,y,d)}}return f}var $e={url:null,sandboxId:null,dbSandboxId:null,version:0},cm=new Set;function hp(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 cm)r()}}function bp(){return $e.url}function lm(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function nt(){return lm(j().backendUrl||"http://localhost:8008/v1")}function xp(){let e=j().sandboxId;return e?`${nt()}/p/${e}/8000`:""}function um(e){return`${nt()}/p/${e}/8000`}function Dt(e){return um(e)}var v=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 v{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 _p(e){if(!(e instanceof v)||e.status!==403||e.code!==qt)return null;let t=e.details??e.data;return t&&typeof t=="object"?t:{}}function hs(e){let t=_p(e);return t?(typeof t.feature=="string"&&!e.feature&&(e.feature=t.feature),!0):!1}function bs(e){let t=_p(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 xs(e){return e instanceof ge}function _s(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",ks="kortix.impersonation",Se=null,Ot=!1,Ps=new Set;function ws(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function kp(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 pm(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 wp(){for(let e of Ps)try{e()}catch{}}function Sp(){return Ot||(Ot=!0,Se=pm(ws()?.getItem(ks)??null)),Se&&!kp(Se)?(Ss(),null):Se}function dm(e){if(Ot=!0,!e){Ss();return}Se=e;try{ws()?.setItem(ks,JSON.stringify(e))}catch{}wp()}function Ss(){Ot=!0;let e=Se!==null;Se=null;try{ws()?.removeItem(ks)}catch{}e&&wp()}function gm(e){return Ps.add(e),()=>{Ps.delete(e)}}var mm=/(^|\/)admin\/(api|analytics)(\/|$)/;function vp(e){let t=e;if(/^https?:\/\//.test(e))try{t=new URL(e).pathname}catch{t=e}return!mm.test(t)}function Ut(e){if(e!==void 0&&!vp(e))return{};let t=Sp();return t?{[Pp]:t.grantId}:{}}var se=()=>j().backendUrl||"",Cp="feature_not_supported",Rp="model_not_servable",Tp="provision_in_flight",Ip="request_deadline",fm=/^Request exceeded the \d+s server processing deadline$/,ym=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===Ip||fm.test(n),hm=e=>new Promise(t=>setTimeout(t,e)),bm=new Set([502,503,504]),xm=e=>bm.has(e),_m=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Pm=2,Ap=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),Ft=!1;function km(e){Ft=e}function wm(){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(),y=o.body instanceof FormData,x={};y||(x["Content-Type"]="application/json"),Object.assign(x,o.headers);let _=$t(j().clientSource),k=Object.keys(x).some(A=>A.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 T=_m(o.method),E=T?Pm+1:1,l;for(let A=0;A<E;A++){A>0&&await hm(250*2**(A-1));let S=A===0?u:new AbortController;A>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),Ap($)||A===E-1)throw $;continue}if(p&&(clearTimeout(p),p=null),!(T&&xm(l.status)&&A<E-1))break;try{await l.arrayBuffer()}catch{}}if(!l.ok){let A=`HTTP ${l.status}: ${l.statusText}`,S=null;try{S=await l.json(),typeof S.message=="string"?A=S.message:S.error&&typeof S.error=="string"?A=S.error:typeof S.detail=="string"?A=S.detail:typeof S.detail?.message=="string"?A=S.detail.message:typeof S.reason=="string"&&(A=S.reason)}catch{}let R=ym(l.status,S,A),$=new v(A,{status:l.status,response:l,details:S||void 0,data:S,detail:S?.detail,code:R?Ip: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===Cp,D=l.status===409&&S?.code===Rp,Z=l.status===409&&S?.code===Tp;return n&&!q&&!D&&!Z&&!R&&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,headers:l.headers}}catch(m){p&&(clearTimeout(p),p=null);let y=Ap(m);y&&(d=!0);let x;if(y){if(!f)return{error:new v("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let _=e.replace(se(),"")||e;x=new v(`Request timed out after ${Math.round(s/1e3)}s: ${_}`,{code:"TIMEOUT",url:e,endpoint:_,timeout:s})}else m instanceof Error?(x=new v(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&j().onError?.(x,r)):(x=new v(String(m)),n&&j().onError?.(x,r));return{error:x,success:!1}}}var Sm={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new v(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 v(n.message,{name:n.name||"ApiError",stack:n.stack}):new v(String(n));return j().onError?.(r,t),{error:r,success:!1}}}};async function vm(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:vm};var Lt=new Map,vs=new Map;function As(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Ep(e){return Lt.get(As(e))??null}function jp(e){return Lt.has(As(e))}async function Gt(e){let t=As(e),n=Lt.get(t);if(n!==void 0)return n;let r=vs.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{vs.delete(t)}})();return vs.set(t,s),s}function $p(e){let{apiBaseUrl:t}=e;return jp(t)||Gt(t).catch(()=>{}),{sandboxId:e.sandboxId,backendPort:e.backendPort,apiBaseUrl:t,previewUrlTemplate:Ep(t)}}function ie(){let e=bp();return e||(j().billingEnabled??!1?"":xp())}async function Cs(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function Rs(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Ts(e){let t=Rs(e),n=await M(`${t}/env`);if(!n.ok)throw new Error(await Cs(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Is(e,t,n){let r=Rs(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 Cs(s,"Failed to save secret"))}async function Es(e,t){let n=Rs(e),r=await M(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Cs(r,"Failed to delete secret"))}var Mp={list:Ts,set:Is,delete:Es};async function Dp(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 js(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 $s(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 Ms(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 Ds(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 qs(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 qp={list:js,create:$s,update:Ms,remove:Ds,webSocketUrl:qs};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 Am(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 Cm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function Rm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function Tm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function Im(e,t){return C(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function Em(e,t,n){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function jm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function $m(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function Mm(e,t){return C(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Dm(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return C(e,`/kortix/tickets${n}`)}async function qm(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Om(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Um(e,t){return C(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Fm(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Lm(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Gm(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Bm(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Nm(e,t,n){return C(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Km(e,t){return C(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Hm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Wm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function zm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Vm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Jm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Xm(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Qm(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Ym(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 ef(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function tf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function nf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function rf(e,t,n=200){return C(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function sf(e){return C(e,"/kortix/projects")}async function of(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function af(e,t){return C(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function cf(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function lf(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function uf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function pf(e,t,n="all"){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function df(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function gf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function mf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function ff(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function yf(e,t,n,r){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function hf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function bf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function xf(e,t){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function _f(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function Pf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function kf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function wf(e,t,n){return C(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var Sf=1e4,vf={retryOnAuthError:!1};function Me(e,t,n){return C(e,t,{signal:AbortSignal.timeout(Sf),...n},vf)}async function Af(e,t=!1){return(await Me(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function Cf(e){return(await Me(e,"/kortix/services/templates")).templates??[]}async function Rf(e,t){return(await Me(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function Tf(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 If(e,t){return Me(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function Ef(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=gs({baseUrl:e,fetch:M});return Nt.set(e,n),n}function jf(e){Nt.delete(e)}function $f(){Nt.clear()}var Kt=new Map;function Mf(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Kt.get(e);if(t)return t;let n=gs({baseUrl:e,fetch});return Kt.set(e,n),n}function Df(e){Kt.delete(e)}function qf(){Kt.clear()}async function Of(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 Uf(e){let t=ie();if(!t)throw new v("[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 v(`System reload failed (${r.status}): ${await Of(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new v(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(d){throw new v(`System reload returned malformed JSON from ${n}: ${d instanceof Error?d.message:String(d)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode: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 Lp(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 v(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 V(e){let t=(e??ie()).trim();if(!t)throw new De;return t}async function Wt(e,t){let n=await M(`${V(t)}${e}`);if(!n.ok)throw new v(await Oe(n),{status:n.status,response:n});return n.json()}var zt=["/workspace","/tmp","/home","/opt"],Ff=zt.filter(e=>e!=="/workspace");function Fs(e){return zt.some(t=>e===t||e.startsWith(`${t}/`))}function it(e){return Fs(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(Ff.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Ls=Ae;async function ot(e,t){let n=V(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=V(t),r=Ae(e),s=await M(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new v(await Oe(s),{status:s.status,response:s});return s.json()}async function Lf(e,t,n){let r=V(n),s=Ae(e),o=await M(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new v(await Oe(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new v("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let u=await o.blob();return t&&(!u.type||u.type==="application/octet-stream")?new Blob([u],{type:t}):u}async function Fe(e,t){let n=V(t);try{return await Lf(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",V(e))}async function ct(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)),Wt(`/find/file?${s.toString()}`,r)}async function lt(e,t){let n=V(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],Gf=e=>e===408||e===429||e===502||e===503||e===504,Op=e=>new Promise(t=>setTimeout(t,e));function Bf(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Os=3e4,Nf=15*6e4,Kf=256;function qe(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Os;let t=Os+e/Kf;return Math.min(Nf,Math.max(Os,Math.round(t)))}async function Hf(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,Bf(p)||s===st.length)break;await Op(st[s]);continue}if(o.ok)return o.json();let u=await Hf(o);if(n=new v(`Upload failed (${o.status}): ${u}`,{status:o.status,response:o}),!Gf(o.status)||s===st.length)throw n;await Op(st[s])}if(n instanceof v)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new v(`Upload failed: ${r}`)}var Us=64*1024;function Up(e,t){try{e?.onProgress?.(t)}catch{}}function Fp(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 Wf(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=V(o),d=qe(e.size),f=n||(e instanceof File?e.name:"")||"";if(e.size<=Us){let _=await Ht(()=>Fp(e,t,f),k=>M(`${p}/file/upload`,{method:"POST",body:k},{timeoutMs:d}));return Up(u,{loadedBytes:e.size,totalBytes:e.size}),_}let y=(await Ht(()=>Fp(new Blob([],{type:e.type}),t,f),_=>M(`${p}/file/upload`,{method:"POST",body:_},{timeoutMs:qe(0)})))[0]?.path;if(!y)throw new v("Upload reservation returned no file path",{code:"UPLOAD_NO_RESULT"});let x=Wf(y);if(!x.name)throw new v(`Upload reservation returned an invalid file path: ${y}`,{code:"UPLOAD_INVALID_PATH"});try{for(let _=0;_<e.size;_+=Us){let k=Math.min(e.size,_+Us),T=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",T,x.name),l},l=>M(`${p}/file/append`,{method:"POST",body:l},{timeoutMs:qe(T.size)}));if(E.path!==y||E.size!==k)throw new v(`Upload verification failed for ${y}: expected ${k} bytes, received ${E.size}`,{code:"UPLOAD_SIZE_MISMATCH"});Up(u,{loadedBytes:k,totalBytes:e.size})}}catch(_){throw await ye(y,p).catch(()=>{}),_}return[{path:y,size:e.size}]}function zf(e,t,n){let r=V(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=V(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=V(n);return zf(t,await Fe(e,r),r)}function Vf(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Jf(e){let t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function Xf(e){return e.slice(e.lastIndexOf("/")+1)}function Qf(){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=V(n),s=it(Vf(e.trim())),o=Xf(s);if(!o)throw new v(`writeFile needs a file path, got "${e}"`,{code:"INVALID_PATH"});let u=Jf(s);await Be(u,r).catch(()=>{});let p=Qf(),d=await Le(t,u,`.${o}.kortix-write-${p}`,r),f=d[0]?.path;if(!f)throw new v(`Upload returned no file for ${s}`,{code:"UPLOAD_NO_RESULT"});let m=it(f),y=`${s}.kortix-write-backup-${p}`,x=!1;try{await fe(s,y,r),x=!0}catch{}try{await fe(m,s,r)}catch(k){throw x&&await fe(y,s,r).catch(()=>{}),await ye(m,r).catch(()=>{}),k}x&&await ye(y,r).catch(()=>{});let _=d[0]?.size;return{path:s,bytes:typeof _=="number"?_:t.size}}async function ye(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 v(`Delete failed (${n.status}): ${await Oe(n)}`,{status:n.status,response:n});return n.json()}async function Be(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 v(`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(`${V(n)}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new v(`Rename failed (${r.status}): ${await Oe(r)}`,{status:r.status,response:r});return r.json()}async function Gs(){return Lp(await me().project.current())}async function Vt(){return Lp(await me().global.health())}async function Bs(){try{return(await Vt()).healthy===!0}catch{return!1}}var Gp={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:Gs,health:Vt,isReachable:Bs,toDaemonPath:Ae,toSandboxAbsolutePath:it,toWorkspaceRelative:Ls};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Ns(e){return e.replace(/\/v1\/?$/,"")}async function Ne(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Ns(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 Ks(){return a(await i.get("/accounts"))}async function Hs(e){return a(await i.post("/accounts",e))}async function Ws(e){return a(await i.get(`/accounts/${e}`))}async function zs(e,t){return a(await i.patch(`/accounts/${e}`,{name:t}))}async function Vs(e){return a(await i.get(`/accounts/${e}/branding`))}async function Js(e,t){return a(await i.put(`/accounts/${e}/branding`,t))}async function Xs(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 Qs(e,t){return a(await i.delete(`/accounts/${e}/branding/assets/${t}`))}async function Ys(e){return a(await i.delete(`/accounts/${e}/branding`))}async function Zs(e){return a(await i.get(`/accounts/${e}/members`))}async function ei(e,t){return a(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function ti(e){return a(await i.get(`/accounts/${e}/invites`))}async function ni(e,t){return a(await i.delete(`/accounts/${e}/invites/${t}`))}async function ri(e,t){return a(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function si(e){return a(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function ii(e){return a(await i.post(`/account-invites/${e}/accept`,{}))}async function oi(e){return a(await i.post(`/account-invites/${e}/decline`,{}))}async function ai(e,t){return a(await i.delete(`/accounts/${e}/members/${t}`))}async function ci(e,t,n){return a(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function li(e){return a(await i.post(`/accounts/${e}/leave`,{}))}async function Zf(e){return Ne(e,"/v1/accounts")}async function ui(){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 ey=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","llm_gateway","meta_agent","apps","monitors","warm_sessions","secrets_egress","pi_worker"];async function Ce(){return a(await i.get("/projects"))}async function pi(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 di(e,t,n="write"){return a(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function gi(e,t){return a(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function mi(e){return a(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function ty(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 ny(e,t){return a(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function fi(e){return a(await i.post("/projects",e))}async function yi(e){return a(await i.post("/projects/create-repo",e))}async function hi(e,t={}){return a(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}var Bp=200;function ry(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>
|
|
9
|
+
`);try{return JSON.parse(n)}catch(r){let s=n.length>Bp?`${n.slice(0,Bp)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function sy(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 v(d?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:d?.code})}let s=r.body?.getReader();if(!s)throw new Error("Provision stream is unavailable on this runtime (no response body)");let o=new TextDecoder,u="",p=null;try{for(;;){let{done:d,value:f}=await s.read();if(d)break;u+=o.decode(f,{stream:!0});let m=u.indexOf(`
|
|
10
10
|
|
|
11
11
|
`);for(;m!==-1;){let y=u.slice(0,m);u=u.slice(m+2),m=u.indexOf(`
|
|
12
12
|
|
|
13
|
-
`);let x=ey(y);if(x){if(t(x),x.type==="error")throw new v(x.error,{status:x.status,code:x.code});x.type==="done"&&(p=x.project)}}}}finally{s.cancel().catch(()=>{})}if(!p)throw new Error("Provision stream ended without a result");return p}async function ny(){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 bi(e,t,n){return a(await i.patch(`/projects/${e}/features`,{feature:t,enabled:n}))}async function xi(e,t,n){return a(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function _i(e,t){return a(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function ry(e,t){return a(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function sy(e,t){return a(await i.patch(`/projects/${e}/warm-pool`,t))}async function Pi(e,t){return a(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function iy(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 oy(e,t){return Ne(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function ay(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Ns(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 ki(e){return a(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function wi(e){return a(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Si(e){return a(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function vi(e){return a(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Ai(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function Ci(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return a(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Ri(e){return a(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function Ti(e){return a(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Ii(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 cy(e,t){return a(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Ei(e,t){return a(await i.get(`/projects/${e}/access-requests`,t))}async function ji(e,t,n="member"){return a(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function $i(e,t){return a(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Mi(e){return a(await i.get(`/projects/${e}/access`))}async function Di(e,t,n){return a(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function qi(e,t){return a(await i.delete(`/projects/${e}/access/${t}`))}function ly(e){return"status"in e&&e.status==="invited"}async function Oi(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 Ui(e){return a(await i.get(`/projects/${e}/access/pending-invites`))}async function Fi(e,t){return a(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Li(e,t){return a(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Gi(e){return a(await i.get(`/projects/${e}/group-grants`))}async function Bi(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 Ni(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 Ki(e,t){return a(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Hi(e){return a(await i.get(`/projects/${e}/resource-grants`))}async function Wi(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 zi(e,t){return a(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Vi(e,t){return a(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Ji(e,t){return a(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Xi(e,t,n){return a(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Qi(e){return a(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Yi(e,t){return a(await i.post(`/projects/${e}/secrets`,t))}async function Zi(e,t,n,r={}){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function eo(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function to(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function no(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function ro(e,t){return a(await i.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}async function so(e,t){return a(await i.put(`/projects/${e}/git-credential`,t))}async function io(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function oo(e,t,n){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function ao(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}function co(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function tn(e){return a(await i.get(co(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 lo(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 uo(e,t){return(await dt(e)).find(n=>n.tool===t)??null}function uy(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 po(e,t,n={}){let{connector:r,action:s}=uy(t);return a(await i.post(co(e,"call"),{connector:r,action:s,args:n}))}function py(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 dy(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 go(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=dy(j().backendUrl),p=co(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 v(py(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 mo(e){return a(await i.get(`/projects/${e}/connections`))}async function fo(e){return a(await i.get(`/projects/${e}/connections/all`))}async function yo(e,t){return a(await i.post(`/projects/${e}/connections`,t))}async function ho(e,t){return a(await i.post(`/projects/${e}/connections/me`,t))}async function bo(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 gy(e,t){return a(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function my(e,t,n){return a(await i.put(ce(e,t,"application"),n))}async function fy(e,t){return a(await i.get(ce(e,t,"application")))}async function yy(e,t,n){return a(await i.post(ce(e,t,"discover"),n))}async function hy(e,t,n={}){return a(await i.post(ce(e,t,"discover-resource"),n))}async function by(e,t,n){return a(await i.post(ce(e,t,"register"),n))}async function xy(e,t,n){return a(await i.post(ce(e,t,"authorize"),n))}async function _y(e,t,n){return a(await i.post(ce(e,t,"device"),n))}async function Py(e,t,n){return a(await i.post(ce(e,t,`device/${encodeURIComponent(n)}`),{}))}async function ky(e,t){return a(await i.get(ce(e,t,"status")))}async function xo(e,t){return a(await i.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function _o(e,t){return a(await i.put(`/projects/${e}/connections/${t}/activate`,{}))}async function Po(e,t){return a(await i.put(`/projects/${e}/connections/${t}/default`,{}))}async function ko(e,t,n={}){return a(await i.post(`/projects/${e}/connections/${t}/connect`,n))}async function wo(e,t){return a(await i.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function So(e){return a(await i.get(`/connectors/projects/${e}/connectors`,{showErrors:!1}))}async function vo(e){return a(await i.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function Ao(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function Co(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function Ro(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function To(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Io(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function wy(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function Sy(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function Eo(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function jo(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function Bp(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}var $o=Bp;async function vy(e,t){return a(await i.get(`/connectors/projects/${e}/sessions/${encodeURIComponent(t)}/connect-requests`)).connectors??[]}async function Mo(e,t){return a(await i.post(`/connectors/projects/${e}/connectors`,t))}async function Do(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function qo(e,t){return a(await i.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Oo(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 Uo(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 Ay(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 Cy(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}/connect/sections${r?`?${r}`:""}`))}async function nn(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}/discover/connectors${o?`?${o}`:""}`))}async function Fo(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}/discover/sections${r?`?${r}`:""}`))}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 Ry=nn,Ty=rn;async function Lo(){return a(await i.get("/connectors/connect-status"))}async function Go(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 Iy(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function Np(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}var Bo=Np;async function No(e){return a(await i.get(`/connectors/projects/${e}/policies`))}async function Ko(e,t,n){return a(await i.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function Ho(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function Wo(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 zo(e,t){return a(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Vo(e){return a(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Jo(e,t){return a(await i.post(`/projects/${e}/sandbox-templates`,t))}async function Xo(e,t,n){return a(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Qo(e,t){return a(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Yo(e,t){return a(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Zo(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function ea(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 ta(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 na(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 ra(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 sa(e){return a(await i.get(`/projects/${e}/branches`))}async function ia(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 oa(e,t){return a(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function aa(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 ca(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 la(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 ua(e,t){let n=t?`?status=${t}`:"";return a(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function pa(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}`))}async function da(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function ga(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function ma(e,t){return a(await i.post(`/projects/${e}/change-requests`,t))}async function fa(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function ya(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function ha(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function ba(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function xa(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var _a=new Set;function gt(e){e&&_a.add(e)}function Pa(e){return!!e&&_a.has(e)}function Ey(e){e&&_a.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 ka(e,t,n){return a(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function wa(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function Sa(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function va(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function Aa(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 Ca(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 Ra(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 Ta(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 Ia(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 Ea(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 ja(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/turn`))}async function jy(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 $a(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 Ma(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/prompts`))}async function Da(e,t,n){return a(await i.delete(`/projects/${e}/sessions/${t}/prompts/${n}`)).removed}async function qa(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/${n}/retry`,{}))}async function Oa(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/hold`,{held:n}))}async function Ua(e,t,n){return a(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function Fa(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 La(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}function $y(e){let t=e.split(`
|
|
13
|
+
`);let x=ry(y);if(x){if(t(x),x.type==="error")throw new v(x.error,{status:x.status,code:x.code});x.type==="done"&&(p=x.project)}}}}finally{s.cancel().catch(()=>{})}if(!p)throw new Error("Provision stream ended without a result");return p}async function iy(){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 bi(e,t,n){return a(await i.patch(`/projects/${e}/features`,{feature:t,enabled:n}))}async function xi(e,t,n){return a(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function _i(e,t){return a(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function oy(e,t){return a(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function ay(e,t){return a(await i.patch(`/projects/${e}/warm-pool`,t))}async function Pi(e,t){return a(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function cy(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 ly(e,t){return Ne(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function uy(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Ns(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 ki(e){return a(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function wi(e){return a(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Si(e){return a(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function vi(e){return a(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Ai(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function Ci(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return a(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Ri(e){return a(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function Ti(e){return a(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Ii(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 py(e,t){return a(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Ei(e,t){return a(await i.get(`/projects/${e}/access-requests`,t))}async function ji(e,t,n="member"){return a(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function $i(e,t){return a(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Mi(e){return a(await i.get(`/projects/${e}/access`))}async function Di(e,t,n){return a(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function qi(e,t){return a(await i.delete(`/projects/${e}/access/${t}`))}function dy(e){return"status"in e&&e.status==="invited"}async function Oi(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 Ui(e){return a(await i.get(`/projects/${e}/access/pending-invites`))}async function Fi(e,t){return a(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Li(e,t){return a(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Gi(e){return a(await i.get(`/projects/${e}/group-grants`))}async function Bi(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 Ni(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 Ki(e,t){return a(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Hi(e){return a(await i.get(`/projects/${e}/resource-grants`))}async function Wi(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 zi(e,t){return a(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Vi(e,t){return a(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Ji(e,t){return a(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Xi(e,t,n){return a(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Qi(e){return a(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Yi(e,t){return a(await i.post(`/projects/${e}/secrets`,t))}async function Zi(e,t,n,r={}){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function eo(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function to(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function no(e,t,n){return a(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function ro(e,t){return a(await i.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}async function so(e,t){return a(await i.put(`/projects/${e}/git-credential`,t))}async function io(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function oo(e,t,n){return a(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function ao(e,t){return a(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}function co(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function tn(e){return a(await i.get(co(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 lo(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 uo(e,t){return(await dt(e)).find(n=>n.tool===t)??null}function gy(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 po(e,t,n={}){let{connector:r,action:s}=gy(t);return a(await i.post(co(e,"call"),{connector:r,action:s,args:n}))}function my(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 fy(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 go(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=fy(j().backendUrl),p=co(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 v(my(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 mo(e){return a(await i.get(`/projects/${e}/connections`))}async function fo(e){return a(await i.get(`/projects/${e}/connections/all`))}async function yo(e,t){return a(await i.post(`/projects/${e}/connections`,t))}async function ho(e,t){return a(await i.post(`/projects/${e}/connections/me`,t))}async function bo(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 yy(e,t){return a(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function hy(e,t,n){return a(await i.put(ce(e,t,"application"),n))}async function by(e,t){return a(await i.get(ce(e,t,"application")))}async function xy(e,t,n){return a(await i.post(ce(e,t,"discover"),n))}async function _y(e,t,n={}){return a(await i.post(ce(e,t,"discover-resource"),n))}async function Py(e,t,n){return a(await i.post(ce(e,t,"register"),n))}async function ky(e,t,n){return a(await i.post(ce(e,t,"authorize"),n))}async function wy(e,t,n){return a(await i.post(ce(e,t,"device"),n))}async function Sy(e,t,n){return a(await i.post(ce(e,t,`device/${encodeURIComponent(n)}`),{}))}async function vy(e,t){return a(await i.get(ce(e,t,"status")))}async function xo(e,t){return a(await i.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function _o(e,t){return a(await i.put(`/projects/${e}/connections/${t}/activate`,{}))}async function Po(e,t){return a(await i.put(`/projects/${e}/connections/${t}/default`,{}))}async function ko(e,t,n={}){return a(await i.post(`/projects/${e}/connections/${t}/connect`,n))}async function wo(e,t){return a(await i.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function So(e){return a(await i.get(`/connectors/projects/${e}/connectors`,{showErrors:!1}))}async function vo(e){return a(await i.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function Ao(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function Co(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function Ro(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function To(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Io(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function Ay(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function Cy(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function Eo(e,t){return a(await i.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function jo(e,t,n){return a(await i.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function Np(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}var $o=Np;async function Ry(e,t){return a(await i.get(`/connectors/projects/${e}/sessions/${encodeURIComponent(t)}/connect-requests`)).connectors??[]}async function Mo(e,t){return a(await i.post(`/connectors/projects/${e}/connectors`,t))}async function Do(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function qo(e,t){return a(await i.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Oo(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 Uo(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 Ty(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 Iy(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}/connect/sections${r?`?${r}`:""}`))}async function nn(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}/discover/connectors${o?`?${o}`:""}`))}async function Fo(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}/discover/sections${r?`?${r}`:""}`))}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 Ey=nn,jy=rn;async function Lo(){return a(await i.get("/connectors/connect-status"))}async function Go(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 Kp(e,t){return a(await i.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}var Bo=Kp;async function No(e){return a(await i.get(`/connectors/projects/${e}/policies`))}async function Ko(e,t,n){return a(await i.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function Ho(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function Wo(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 zo(e,t){return a(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Vo(e){return a(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Jo(e,t){return a(await i.post(`/projects/${e}/sandbox-templates`,t))}async function Xo(e,t,n){return a(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Qo(e,t){return a(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Yo(e,t){return a(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Zo(e){return a(await i.get(`/projects/${e}/sandboxes`))}async function ea(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 ta(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 na(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 ra(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 sa(e){return a(await i.get(`/projects/${e}/branches`))}async function ia(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 oa(e,t){return a(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function aa(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 ca(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 la(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 ua(e,t){let n=t?`?status=${t}`:"";return a(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function pa(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}`))}async function da(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function ga(e,t){return a(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function ma(e,t){return a(await i.post(`/projects/${e}/change-requests`,t))}async function fa(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function ya(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function ha(e,t){return a(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function ba(e,t,n){return a(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function xa(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var _a=new Set;function gt(e){e&&_a.add(e)}function Pa(e){return!!e&&_a.has(e)}function My(e){e&&_a.delete(e)}var Dy=50,Hp=200,qy=Hp;function Wp(e){let t=new URLSearchParams;return e?.scope&&e.scope!=="visible"&&t.set("scope",e.scope),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.cursor&&t.set("cursor",e.cursor),t.size>0?`?${t}`:""}async function ka(e,t){let n=await i.get(`/projects/${e}/sessions${Wp(t)}`);return{items:a(n),next_cursor:n.headers?.get("x-next-cursor")??null}}async function Ke(e,t){return a(await i.get(`/projects/${e}/sessions${Wp(t)}`))}async function wa(e,t,n){return a(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function Sa(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function va(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Aa(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function Ca(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 Ra(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 Ta(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 Ia(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 Ea(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 ja(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 $a(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/turn`))}async function Oy(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 Ma(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 Da(e,t){return a(await i.get(`/projects/${e}/sessions/${t}/prompts`))}async function qa(e,t,n){return a(await i.delete(`/projects/${e}/sessions/${t}/prompts/${n}`)).removed}async function Oa(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/${n}/retry`,{}))}async function Ua(e,t,n){return a(await i.post(`/projects/${e}/sessions/${t}/prompts/hold`,{held:n}))}async function Fa(e,t,n){return a(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function La(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 Ga(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}function Uy(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
|
|
15
|
+
`))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function Ba(e,t,n={}){return a(await i.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function Na(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 v(m?.error||`Reload failed: HTTP ${o.status}`,{status:o.status,code:m?.code,data:m})}let u=o.body?.getReader();if(!u)throw new Error("Reload stream is unavailable on this runtime (no response body)");let p=new TextDecoder,d="",f=null;try{for(;;){let{done:m,value:y}=await u.read();if(m)break;d+=p.decode(y,{stream:!0});let x=d.indexOf(`
|
|
16
16
|
|
|
17
17
|
`);for(;x!==-1;){let _=d.slice(0,x);d=d.slice(x+2),x=d.indexOf(`
|
|
18
18
|
|
|
19
|
-
`);let k=$y(_);if(k){if(r(k),k.type==="error")throw new v(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 Na(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function Ka(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function Ha(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function Wa(e){return a(await i.get(`/projects/${e}/triggers`))}async function za(e,t){return a(await i.post(`/projects/${e}/triggers`,t))}async function Va(e,t,n){return a(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function Ja(e,t){return a(await i.delete(`/projects/${e}/triggers/${t}`))}async function Xa(e,t){return a(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Qa(e,t){return a(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var he=new Map;function Ya(e,t){return`${e}::${t}`}function Kp(e,t){he.delete(e),he.set(e,t)}function Hp(e,t){let n=Ya(e,t),r=he.get(n);return r&&Kp(n,r),r}function Wp(e,t,n){let r=Ya(e,t);if(!he.has(r)&&he.size>=512){let s=he.keys().next().value;s!==void 0&&he.delete(s)}Kp(r,n)}function zp(e,t){he.delete(Ya(e,t))}function My(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 Dy(e){return e instanceof Error&&e.name==="SessionStartError"}function qy(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=qy(s.error);if(p&&!(p.status===404&&Pa(t)))throw p;return null}let o=s.data,u=o.sandbox?.external_id;return o.stage==="ready"&&u&&o.opencode_session_id&&Wp(e,t,{opencodeSessionId:o.opencode_session_id,runtimeUrl:Dt(u),sandboxId:u}),o}function Oy(e,t){return["session-start",e,t]}async function Za(e){return a(await i.get(`/projects/${e}/model-defaults`))}async function ec(e,t){return a(await i.put(`/projects/${e}/model-defaults`,t))}async function tc(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 Uy(e,t){return a(await i.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function nc(e,t,n){let r=Ly(n);return a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function Vp(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 Ly(e){let t=e.connectors_required?Vp(e.connectors_required):void 0,n=e.connectors_personal?Vp(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 Gy(e,t){let n=a(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?rc(n.block):null}}async function By(e,t,n){let r=rc(n,!0),s=a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?rc(s.block):null}}function rc(e,t=!1){let n=Ky(e);if(n.workspace===void 0)return n;let r=n.workspace==="branch";if(n.repository_access!==void 0&&n.repository_access!==r)throw new Error("repository_access conflicts with workspace");if(t&&n.workspace==="read"&&n.repository_access===void 0)throw new Error("Legacy read is unavailable. Set repository_access explicitly.");return n.repository_access??=r,delete n.workspace,n}function Jp(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Ny(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Ky(e){let t=e.connectors_required?Jp(e.connectors_required):void 0,n=e.connectors_personal?Jp(e.connectors_personal):void 0;if(t&&n&&!Ny(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 Hy(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/grant`,{agent:n}))}async function sc(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 Wy(e){let t=e.trim().toLowerCase();return t===""||t==="free"||t==="none"?"free":t==="enterprise"?"enterprise":"team"}function zy(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:Wy(r),label:s,sublabel:null,isGrandfathered:!1}}async function ic(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 oc(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 ac(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 cc(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 lc(){return a(await i.get("/billing/credit-breakdown"))}async function uc(e){let t=e!=null?`?days=${e}`:"";return a(await i.get(`/billing/usage-history${t}`))}async function pc(){return a(await i.get("/billing/tier-configurations"))}async function Vy(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Ne(e,`/v1/billing/account-state${t}`)}async function dc(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 gc(e,t){return a(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function mc(e,t){return a(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function fc(e,t){return a(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function yc(e){return a(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function hc(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 bc(e){return a(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function xc(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 _c(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 Pc(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 kc(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 Jy(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 Xy(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 Qy(e){return a(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function Yy(e){return a(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function wc(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 vc(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 Ac(e={}){let t=new URLSearchParams;return vc(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 vc(n,t),a(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${un(n)}`))}async function Zy(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 eh(e={}){let t=new URLSearchParams;return vc(t,e),e.sessionId&&t.set("session_id",e.sessionId),ln(t,e),a(await i.get(`/usage/cost-summary${un(t)}`))}function Sc(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 th(e,t={}){let n=Sc(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 Xp(e,t){return a(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function nh(e){return Xp("slack",e)}function rh(e){return Xp("teams",e)}async function Cc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function Rc(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var sh={oauth_available:!1,install_url:null};async function Tc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?sh:t.data}async function Ic(e){return a(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Ec(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 jc(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 $c(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 Mc(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 ih={provider:"agentmail",managed_available:!1};async function Dc(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?Mc(r.data):null}async function qc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?ih:t.data}async function Oc(e,t){let n=a(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Mc(n)}async function Uc(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 Fc(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 Mc(r)}async function oh(e){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function ah(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 Lc(e){return a(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Gc(e,t){return a(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Bc(e){return a(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Nc(e,t){return a(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Kc(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 Hc(e,t){return a(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Wc(e,t){return a(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function zc(e,t){return a(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Vc(e,t){return a(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Jc(e,t){return a(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Xc(e,t){return a(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Qc(e){return a(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Yc(e,t){return a(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Zc(e,t){return a(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function el(e){return a(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function tl(e,t){return a(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function nl(e,t){return a(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function rl(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 ch(e,t){return a(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function lh(){return a(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function uh(){return a(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function ph(e){return a(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function dh(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function gh(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 mh(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 U(e){return i.get(e,{showErrors:!1})}async function sl(e){return w(await U(`/accounts/${e}/iam/groups`)).groups}async function il(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}`))}async function ol(e,t){return w(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function al(e,t,n){return w(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function cl(e,t){return w(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function ll(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}/members`)).members}async function ul(e,t,n){return w(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function fh(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function pl(e,t,n){return w(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function yh(e,t){return w(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function hh(e,t){let n=w(await U(`/accounts/${e}/iam/members/${t}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}async function bh(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 U(`/accounts/${e}/iam/resource-grants${r?`?${r}`:""}`)).grants}async function xh(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 U(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function _h(e,t){return w(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Ph(e,t,n){return w(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function kh(e,t){return w(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function wh(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function Sh(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function dl(e){return w(await U(`/accounts/${e}/iam/roles`)).roles}async function gl(e){return w(await U(`/accounts/${e}/iam/agent-identities`)).agents}async function ml(e,t){return w(await U(`/accounts/${e}/iam/roles/${t}/permissions`))}async function vh(e){return w(await U(`/accounts/${e}/iam/actions`)).actions}async function fl(e,t){return w(await U(`/accounts/${e}/iam/roles/${t}/usage`))}async function yl(e,t){return w(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function hl(e,t,n){return w(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function bl(e,t,n){return w(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function xl(e,t){return w(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function Ah(e,t,n){return w(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function Ch(e){return w(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function Rh(e,t){return w(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function Th(e,t){return w(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function Ih(e){return w(await U(`/accounts/${e}/iam/mfa-required`))}async function Eh(e){return w(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function jh(e,t){return w(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function $h(e){return w(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function Mh(e,t){return w(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Dh(e,t){return w(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function qh(e){return w(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function Oh(e){return w(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Uh(e,t){return w(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function Fh(e,t){return w(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Lh(e){return w(await U(`/accounts/${e}/iam/session-policy`))}async function Gh(e,t){return w(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Bh(e){return w(await U(`/accounts/${e}/iam/sessions`)).sessions}async function Nh(e,t){return w(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function Kh(e){return w(await U(`/accounts/${e}/iam/pat-policy`))}async function Hh(e,t){return w(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Wh(e){return w(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function zh(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Vh(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Jh(e,t){return w(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Xh(e){return w(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function Qh(e,t){return w(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function Yh(e,t,n){return w(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Zh(e,t){return w(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function eb(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 U(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function _l(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 U(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function Pl(e,t,n){return n.length===0?[]:w(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function tb(e){return w(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function nb(e,t){return w(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function kl(e){return a(await i.get(`/accounts/${e}/iam/oauth-clients`,{showErrors:!1}))}async function wl(e,t){return a(await i.get(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}async function Sl(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients`,t,{showErrors:!1}))}async function vl(e,t,n){return a(await i.patch(`/accounts/${e}/iam/oauth-clients/${t}`,n,{showErrors:!1}))}async function Al(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients/${t}/rotate-secret`,{},{showErrors:!1}))}async function Cl(e,t){return a(await i.delete(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}function Qp(e){return i.get(e,{showErrors:!1})}function rb(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 Rl(e,t){return a(await Qp(`/accounts/${e}/iam/assignments${rb(t)}`)).assignments}async function Tl(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 Il(e,t){return a(await i.delete(`/accounts/${e}/iam/assignments/${t}`)).assignment}async function El(e,t){let n=t?.scopeType?`?scope_type=${t.scopeType}`:"";return a(await Qp(`/accounts/${e}/iam/permissions${n}`)).permissions}async function sb(){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 ib(e="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function ob(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function ab(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function cb(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function lb(){return i.get("/admin/api/provider-distribution").then(e=>a(e))}function ub(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>a(t))}function pb(e){return i.put("/admin/api/provider-distribution",e).then(t=>a(t))}function db(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>a(t))}function gb(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>a(n))}function mb(){return i.get("/admin/api/provider-fallback").then(e=>a(e))}function fb(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>a(t))}async function yb(e){return a(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function hb(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 jl(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 $l(e,t){return a(await i.get(`/projects/${e}/review/items/${t}`))}async function Ml(e,t){return a(await i.post(`/projects/${e}/review/items`,t))}async function Dl(e,t,n){return a(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function ql(e,t){return a(await i.post(`/projects/${e}/review/bulk`,t))}async function Ol(e){return a(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Ul(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 Fl(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 Yp(e,t=""){return`${nt()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Zp(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 bb(e){return Zp(Yp(e))}async function xb(e){return Zp(Yp(e,"/messages"))}async function Ll(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 Gl(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 Bl(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.delete(`/accounts/tokens/${e}${n}`))}async function Nl(e){return a(await i.get(`/projects/${e}/cli-token`))}async function Kl(e,t){return a(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Hl(e,t){return a(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Wl(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 zl(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 Vl(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 Jl(e){return a(await i.get(`/accounts/${e}/audit/webhooks`))}async function Xl(e,t){return a(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function Ql(e,t,n){return a(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Yl(e,t){return a(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Zl(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 eu(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 _b(e){return a(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function tu(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 nu(){return a(await i.get("/marketplace/marketplaces"))}async function ru(){return a(await i.get("/marketplace/marketplaces/featured"))}async function su(e){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function iu(e,t){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function ou(){return a(await i.get("/marketplace/sources"))}async function au(e){return a(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function cu(e){return a(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function Pb(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function kb(e){return a(await i.get(`/templates/${encodeURIComponent(e)}`))}async function wb(e,t){return a(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}async function lu(e){return a(await i.get(`/projects/${e}/apps`),"Failed to list Apps").apps}async function uu(e,t){return a(await i.post(`/projects/${e}/apps`,t),"Failed to create App")}async function pu(e,t){return a(await i.get(`/projects/${e}/apps/${t}`),"Failed to load App")}async function du(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}`,n),"Failed to update App")}async function gu(e,t){return a(await i.delete(`/projects/${e}/apps/${t}`),"Failed to delete App")}async function mu(e,t){return a(await i.get(`/projects/${e}/apps/${t}/access`),"Failed to load App access policy")}async function fu(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}/access`,n),"Failed to update App access policy")}async function yu(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 Sb(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function vb(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 hu(e,t,n={}){let r=await Sb(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 vb(r),size_bytes:r.byteLength})}async function bu(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/deployments`,n),"Failed to create App deployment")}async function xu(e,t){return a(await i.get(`/projects/${e}/apps/${t}/deployments`),"Failed to list App deployments").deployments}async function _u(e,t,n){return a(await i.get(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to load App deployment")}async function Pu(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 ku(e,t){return a(await i.post(`/projects/${e}/apps/${t}/start`,{}),"Failed to start App")}async function wu(e,t){return a(await i.post(`/projects/${e}/apps/${t}/stop`,{}),"Failed to stop App")}async function Su(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/rollback`,{deployment_id:n}),"Failed to roll back App")}async function fn(e){return a(await i.get(`/projects/${e}/model-access`))}async function yn(e,t){return a(await i.put(`/projects/${e}/model-access`,t))}var We=class extends Error{constructor(n,r,s){super(r);this.code=n;this.status=s;this.name="HeadlessAuthError"}code;status};function Ab(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 z(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(`${Ab(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 hn(e,t){return z("/auth/signup",{body:e},t)}function bn(e,t){return z("/auth/sign-in/password",{body:e},t)}function xn(e,t){return z("/auth/sign-in/magic-link",{body:e},t)}function _n(e,t){return z("/auth/verify-otp",{body:e},t)}function Pn(e,t){return z("/auth/sign-in/oauth",{body:e},t)}function kn(e,t){return z("/auth/oauth/exchange",{body:e},t)}function ze(e,t){return z("/auth/refresh",{body:e},t)}function wn(e,t){return z("/auth/password/reset",{body:e},t)}function Sn(e,t,n){return z("/auth/password/update",{body:e,bearer:t},n)}function vn(e,t){return z("/auth/user",{bearer:e},t)}function An(e,t,n){return z("/auth/user",{method:"PATCH",body:e,bearer:t},n)}function Cn(e,t){return z("/auth/sign-in/sso",{body:e},t)}var Rn={enroll:(e,t,n)=>z("/auth/mfa/factors",{body:e,bearer:t},n),challenge:(e,t={},n,r)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}/challenge`,{body:t,bearer:n},r),verify:(e,t,n,r)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}/verify`,{body:t,bearer:n},r),unenroll:(e,t,n)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}`,{method:"DELETE",bearer:t},n)};function Tn(e,t={},n){return z("/auth/sign-out",{body:t,bearer:e},n)}function In(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 y(){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 y(),!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 T=k&&typeof k=="object"&&"status"in k?k.status:0;if(T>=400&&T<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:y,async set(_,k){await y(),r=_,k!==void 0&&(s=k),_||(s=null),await m()},async getToken(){return await y(),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 Rb=["control_plane","provider_ingress","daemon","upstream_port"];function vu(e){return typeof e=="string"&&Rb.includes(e)?e:null}function Tb(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 Au(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=vu(r.headers.get("X-Kortix-Proxy-Hop"))??vu(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 ed=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,td=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,nd=/^https?:\/\/(?:dev|staging|prod|preview)-p(\d+)-([a-z0-9-]+)\.[^/]+?(?::(\d+))?(\/.*)?$/i,rd=new Set([22,4096,parseInt(le.KORTIX_MASTER,10)]);function Ib(e){return td.test(e)}function En(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 Eb(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var jb=new Set(["'",'"',"`","<","(","["]),$b=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Mb(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&&jb.has(e[t]);)t++;for(;n>t&&$b.has(e[n-1]);)n--;return e.slice(t,n)}function Db(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var qb=/^\/proxy\/(\d{1,5})(\/.*)?$/,Ob=/^\/(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 sd(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Ob.test(t.pathname)}catch{return!1}}function ht(e){if(!e)return null;let t=Mb(Eb(e.trim())),n=Ru(t);if(n){let r=En(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(qb);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=En(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=En(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Db(e);return r&&r!==e?ht(r):null}}function Ub(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 Fb(e,t){return t.some(([n,r])=>e>=n&&e<r)}function id(e){let t=[],n=new Set,r=Ub(e);ed.lastIndex=0;let s;for(;(s=ed.exec(e))!==null;){let o=ht(s[0]);if(!o)continue;let{originalUrl:u,port:p,path:d}=o;p<1||p>65535||rd.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:Fb(s.index,r)}))}return t}function Lb(e){return id(e).length>0}function Gb(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function od(e){return e.trim().toLowerCase().split("_").join("-")}function ad(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Bb(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(od(n.sandboxId));return`${ad(s)}${t}`}function cd(e){return e.sandboxId.trim().length>0}function be(e,t,n){let r=En(t);if(!cd(n))return dd(e,r);let s=Bb(e,r,n);return s||(Gb(n.apiBaseUrl)?`http://p${e}-${od(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${ad(n.apiBaseUrl)}/p/${n.sandboxId}/${e}${r}`)}function Nb(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 ld(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Kb(e){return`http://localhost:3211${ld(e)}`}function ud(){return"/health"}function Hb(e){return be(3211,ud(),e)}function Wb(e,t){return be(e,"/",t)}function pd(e){let t=ht(e);return!(!t||rd.has(t.port)||sd(e))}function Cu(e,t){if(!e)return e;let n=ht(e);return n?pd(n.originalUrl)?be(n.port,n.path,t):n.originalUrl:e}function dd(e,t="/"){return`http://localhost:${e}${t}`}var gd=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Ru(e){let t=e.match(td);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(nd);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(gd);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 zb(e){try{let t=Ru(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function Vb(e){return Ib(e)||nd.test(e)||gd.test(e)}function Jb(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 Xb(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 Qb(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 Yb(e){try{return new URL(e).pathname.includes(yt)}catch{return e.includes(yt)}}function Zb(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 ex(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 md="frontend";function jn(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${md}] ${t}`,...n?[n]:[]);try{me().app.log({service:md,level:e,message:t,extra:n})}catch{}}var xe={debug:(e,t)=>jn("debug",e,t),info:(e,t)=>jn("info",e,t),warn:(e,t)=>jn("warn",e,t),error:(e,t)=>jn("error",e,t)};function fd(e){return{type:"heartbeat-gap",gapMs:e}}function yd(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 tx={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},nx=16,rx=8,sx=6e4,ix=5e3,ox=250,ax=1e3,cx=3e4,lx=5,ux=3e3,px=3e4,dx=2e4,gx=2e3,mx=8;function fx(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function hd(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 $n=new WeakMap;function yx(e,t,n){let r=t.timers??tx,s=t.connectTimeoutMs??dx,o=t.heartbeatTimeoutMs??sx,u=t.maxConsecutiveHardFailures??mx,p=new AbortController;function d(E,...l){for(let b of n){let c=E(b);if(c)try{c(...l)}catch(A){console.warn("[opencode-events] subscriber handler threw, skipping",A)}}}let f=r.now(),m=[],y,x=0,_=new Map,k=()=>{if(y&&r.clearTimeout(y),y=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)},T=()=>{if(y)return;let E=r.now()-x;y=r.setTimeout(k,Math.max(0,nx-E))};return(async()=>{let E=0,l=0;for(;!p.signal.aborted;){let b=!1,c=!1,A,S,R=null,$=r.now(),q=new AbortController,D=hd(p.signal);D.promise.then(()=>q.abort());try{let O=await new Promise((Q,H)=>{let W=!1;S=r.setTimeout(()=>{W||(W=!0,xe.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),q.abort(),H(new Error(`SSE connect timed out after ${s}ms`)))},s),e.global.event({signal:q.signal,sseDefaultRetryDelay:ux,sseMaxRetryDelay:px,sseMaxRetryAttempts:1}).then(ee=>{W||(W=!0,r.clearTimeout(S),Q(ee))},ee=>{W||(W=!0,r.clearTimeout(S),H(ee))})}),{stream:F}=O;f=r.now();let L=()=>{r.clearTimeout(A),A=r.setTimeout(()=>{xe.warn("SSE heartbeat timeout, forcing reconnect"),q.abort()},o)};L();let X=r.now(),K=F[Symbol.asyncIterator]();for(;!q.signal.aborted;){let Q=K.next().then(de=>({kind:"next",result:de}),de=>({kind:"error",error:de})),H=hd(q.signal),W=await Promise.race([Q,H.promise.then(()=>({kind:"aborted"}))]);if(H.cleanup(),W.kind==="aborted")break;if(W.kind==="error")throw W.error;if(W.result.done)break;b=!0,L();let ee=W.result.value,Ie=ee&&typeof ee=="object"&&"payload"in ee?ee.payload:ee;if(!Ie?.type)continue;let zn=fx(Ie);if(zn){let de=_.get(zn);de!==void 0&&(m[de]=void 0),_.set(zn,m.length)}m.push({type:Ie.type,event:Ie}),T(),!(r.now()-X<rx)&&(X=r.now(),await new Promise(de=>r.setTimeout(de,0)))}c=b}catch(O){if(p.signal.aborted)break;R=O;let F=String(O),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(A),r.clearTimeout(S),q.abort(),D.cleanup(),k()}if(p.signal.aborted)break;let Z=r.now()-$,J=R?.cause?.status;if(l=!b&&(typeof J=="number"&&J>=400||Z<gx)?l+1:0,l>=u){xe.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:l,lastError:String(R)}),d(O=>O.onParked,{consecutiveFailures:l,lastError:R});break}let I=r.now()-f;I>ix&&d(O=>O.onGapRehydrate,I),c?E=0:(E++,E>1&&xe.warn("SSE event stream reconnecting",{retryCount:E}));let B=c?ox:Math.min(ax*2**Math.min(E-1,lx),cx);await new Promise(O=>{let F=r.setTimeout(O,B),L=()=>{r.clearTimeout(F),O()};p.signal.addEventListener("abort",L,{once:!0})})}})(),{subscribers:n,teardown:()=>{p.abort(),y&&r.clearTimeout(y)}}}function Mn(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=e,u={onEvent:n,onGapRehydrate:r,onParked:s},p=$n.get(t);p?p.subscribers.add(u):(p=yx(t,e,new Set([u])),$n.set(t,p));let d=p,f=!1,m=()=>{f||(f=!0,o&&o.removeEventListener("abort",y),d.subscribers.delete(u),d.subscribers.size===0&&(d.teardown(),$n.get(t)===d&&$n.delete(t)))},y=()=>m();return o&&(o.aborted?m():o.addEventListener("abort",y,{once:!0})),{close:m}}function hx(){return me()}var Dn=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 bd(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 v(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let b=j().backendUrl??e.backendUrl,c=80,A=n(b);return A&&(c=A.port?Number(A.port):A.protocol==="https:"?443:80),jp({sandboxId:l,apiBaseUrl:b,backendPort:c})}let s={signUp:hn,signInWithPassword:bn,sendMagicLink:xn,verifyOtp:_n,signInWithProvider:Pn,exchangeCode:kn,refresh:ze,resetPassword:wn,updatePassword:Sn,updateUserMetadata:An,signInWithSso:Cn,mfa:Rn,user:vn,signOut:Tn,session:In},o={list:Ks,get:Ws,create:Hs,updateName:zs,branding:{get:Vs,update:Js,uploadAsset:Xs,removeAsset:Qs,reset:Ys},leave:li,members:Zs,invite:ei,removeMember:ai,updateMemberRole:ci,invites:ti,cancelInvite:ni,resendInvite:ri,tokens:{list:Ll,create:Gl,revoke:Bl},audit:{log:Wl,export:Vl,webhooks:{list:Jl,create:Xl,update:Ql,remove:Yl}}},u={assignments:{list:Rl,create:Tl,revoke:Il},permissions:{list:El,forRole:ml},roles:{list:dl,create:yl,update:hl,setPermissions:bl,remove:xl,usage:fl},groups:{list:sl,get:il,create:ol,update:al,remove:cl,members:{list:ll,add:ul,remove:pl}},agentIdentities:gl,oauthClients:{list:kl,get:wl,create:Sl,update:vl,rotateSecret:Al,remove:Cl},can:_l,canBatch:Pl},p={accountState:ic,accountStateMinimal:oc,transactions:ac,transactionsSummary:cc,creditBreakdown:lc,usageHistory:uc,usageRollup:wc,sessionCosts:{list:Ac,get:pn},tierConfigurations:pc,checkout:{createSession:l=>dc(l),confirmSession:(l,b)=>gc(l,b)},subscription:{createPortalSession:(l,b)=>mc(l,b),cancel:(l,b)=>fc(l,b),reactivate:l=>yc(l),scheduleDowngrade:(l,b,c)=>hc(l,b,c),cancelScheduledChange:l=>bc(l),prorationPreview:(l,b)=>xc(l,b)},credits:{purchase:l=>_c(l),autoTopupSettings:l=>Pc(l),configureAutoTopup:l=>kc(l)}},d={describe:si,accept:ii,decline:oi},f={list:Ce,listForAccount:pi,get:Jt,detail:Xt,create:fi,createRepo:yi,provision:hi,update:Zt,archive:en,llmCatalog:Qt,modelPicker:Yt,modelAccess:fn,setModelAccess:yn,sandboxHealth:sn,sandboxTemplates:Ho,sessions:Ke,createSession:He},m={linkRepository:ki,getInstallation:wi,listInstallations:Si,listLinkableInstallations:vi,listRepositories:Ai,listRepositoryBranches:Ci,linkInstallation:Ti,saveInstallation:Ri,deleteInstallation:Ii},y={list:Ol,create:Ul,revoke:Fl},x=Lo,_={items:l=>tu(l),item:l=>su(l),itemFile:(l,b)=>iu(l,b),marketplaces:()=>nu(),featured:()=>ru(),sources:{list:()=>ou(),add:l=>au(l),remove:l=>cu(l)}};function k(l){return{catalog:()=>tn(l),tools:()=>dt(l),search:(...b)=>lo(l,...b),describe:(...b)=>uo(l,...b),call:(...b)=>po(l,...b),uploadAttachment:(...b)=>go(l,...b)}}function T(l){let b={list:()=>mo(l),listAll:()=>fo(l),reconcile:(...c)=>yo(l,...c),reconcileMember:(...c)=>ho(l,...c),updateCredential:(...c)=>bo(l,...c),revoke:(...c)=>xo(l,...c),activate:(...c)=>_o(l,...c),setDefault:(...c)=>Po(l,...c),pipedreamConnect:(...c)=>ko(l,...c),pipedreamFinalize:(...c)=>wo(l,...c)};return{get:c=>Jt(l,c),detail:()=>Xt(l),audit:c=>zl(l,c),update:c=>Zt(l,c),archive:()=>en(l),llmCatalog:()=>Qt(l),modelPicker:()=>Yt(l),modelAccess:()=>fn(l),setModelAccess:c=>yn(l,c),sandboxHealth:()=>sn(l),onboardingComplete:(...c)=>Pi(l,...c),apps:{list:()=>lu(l),create:c=>uu(l,c),get:c=>pu(l,c),update:(...c)=>du(l,...c),access:{get:(...c)=>mu(l,...c),update:(...c)=>fu(l,...c),session:(...c)=>yu(l,...c)},remove:c=>gu(l,c),artifacts:{register:c=>gn(l,c),uploadArchive:(...c)=>hu(l,...c),finalize:(...c)=>mn(l,...c)},deployments:{create:(...c)=>bu(l,...c),list:c=>xu(l,c),get:(...c)=>_u(l,...c),logs:(...c)=>Pu(l,...c)},start:c=>ku(l,c),stop:c=>wu(l,c),rollback:(...c)=>Su(l,...c)},tokens:{list:()=>Nl(l),create:c=>Kl(l,c),revoke:c=>Hl(l,c)},setupLinks:{requestSecret:c=>Zl(l,c),requestConnector:c=>eu(l,c)},validateManifest:c=>gi(l,c),gitToken:()=>mi(l),secrets:{list:()=>Qi(l),upsert:c=>Yi(l,c),setStrategy:(...c)=>Zi(l,...c),broker:(...c)=>eo(l,...c),remove:c=>io(l,c),setPersonal:(...c)=>oo(l,...c),removePersonal:c=>ao(l,c),setGitCredential:c=>so(l,c),startProviderOAuth:(...c)=>to(l,...c),pollProviderOAuth:(...c)=>no(l,...c),removeProviderOAuth:c=>ro(l,c)},access:{list:()=>Mi(l),invite:(...c)=>Oi(l,...c),update:(...c)=>Di(l,...c),revoke:c=>qi(l,c),pendingInvites:()=>Ui(l),resendInvite:(...c)=>Li(l,...c),revokeInvite:(...c)=>Fi(l,...c),requests:()=>Ei(l),approveRequest:(...c)=>ji(l,...c),rejectRequest:(...c)=>$i(l,...c),groupGrants:()=>Gi(l),attachGroupGrant:(...c)=>Bi(l,...c),updateGroupGrant:(...c)=>Ni(l,...c),detachGroupGrant:c=>Ki(l,c),resourceGrants:{list:()=>Hi(l),create:c=>Wi(l,c),remove:c=>zi(l,c)}},connectors:{...k(l),list:()=>So(l),config:(...c)=>Eo(l,...c),create:(...c)=>Mo(l,...c),remove:(...c)=>qo(l,...c),sync:()=>vo(l),auth:{discover:(...c)=>Do(l,...c)},setName:(...c)=>jo(l,...c),setCredentialMode:(...c)=>Ao(l,...c),setAuthorizationStrategy:(...c)=>Co(l,...c),setCredential:(...c)=>Go(l,...c),setSensitive:(...c)=>Ro(l,...c),connections:b,policies:{get:(...c)=>To(l,...c),set:(...c)=>Io(l,...c)},pipedream:{listApps:(...c)=>Oo(l,...c),listSections:(...c)=>Uo(l,...c),connect:(...c)=>$o(l,...c),finalize:(...c)=>Bo(l,...c)},discover:{list:(...c)=>nn(l,...c),sections:(...c)=>Fo(l,...c),detail:(...c)=>rn(l,...c)}},policies:{list:()=>No(l),set:(...c)=>Ko(l,...c)},triggers:{list:()=>Wa(l),create:(...c)=>za(l,...c),update:(...c)=>Va(l,...c),remove:(...c)=>Ja(l,...c),fire:(...c)=>Qa(l,...c),setActivation:(...c)=>Xa(l,...c)},files:{list:c=>ea(l,c),read:(c,A)=>na(l,c,A),search:(...c)=>ta(l,...c),archive:(...c)=>ra(l,...c),history:(...c)=>ca(l,...c)},git:{commits:()=>ia(l),commit:c=>oa(l,c),commitDiff:c=>aa(l,c),branches:()=>sa(l),versionDiff:(...c)=>la(l,...c),inviteCollaborator:(...c)=>di(l,...c)},changeRequests:{list:()=>ua(l),get:c=>pa(l,c),diff:c=>da(l,c),mergePreview:c=>ga(l,c),open:(...c)=>ma(l,...c),merge:(...c)=>fa(l,...c),close:(...c)=>ya(l,...c),reopen:(...c)=>ha(l,...c),requestChanges:(...c)=>ba(l,...c)},sessions:{list:c=>Ke(l,c),create:c=>He(l,c),ensureWarm:()=>Ca(l),claimWarm:c=>Ra(l,c)},review:{list:c=>jl(l,c),get:c=>$l(l,c),submit:c=>Ml(l,c),act:(...c)=>Dl(l,...c),bulkAct:c=>ql(l,c)},approvals:{list:c=>Vi(l,c),resolve:(...c)=>Xi(l,...c),sessionsNeedingInput:c=>Ji(l,c)},gateway:{logs:c=>Kc(l,c),log:c=>Hc(l,c),overview:c=>Wc(l,c),series:c=>zc(l,c),breakdown:c=>Vc(l,c),sessions:c=>Jc(l,c),errors:c=>Xc(l,c),budgets:()=>Qc(l),setBudget:c=>Yc(l,c),deleteBudget:c=>Zc(l,c),keys:()=>el(l),createKey:c=>tl(l,c),revokeKey:c=>nl(l,c),routing:{get:()=>Lc(l),set:c=>Gc(l,c),reset:()=>Bc(l),preview:c=>Nc(l,c)},playground:(c,A,S)=>rl(l,c,A,S)},channels:{slack:{installation:()=>Cc(l),connect:c=>Rc(l,c),mode:()=>Tc(l),manifest:()=>Ic(l),disconnect:()=>Ec(l),getFile:c=>jc(l,c),uploadFile:c=>$c(l,c)},email:{installation:c=>Dc(l,c),mode:()=>qc(l),connect:c=>Oc(l,c),disconnect:c=>Uc(l,c),updatePolicy:(...c)=>Fc(l,...c)}},updateFeatureFlag:(...c)=>bi(l,...c),updateExperimentalFeature:(...c)=>xi(l,...c),modelDefaults:{get:()=>Za(l),set:c=>ec(l,c),clear:c=>tc(l,c)},setDefaultAgent:c=>sc(l,c),sandbox:{list:()=>Zo(l),snapshots:()=>Wo(l),rebuildSnapshot:c=>zo(l,c),fixWithAgent:()=>Vo(l),createTemplate:c=>Jo(l,c),updateTemplate:(...c)=>Xo(l,...c),removeTemplate:c=>Qo(l,c),buildTemplate:c=>Yo(l,c),setProvider:c=>_i(l,c)},setAgentScope:(...c)=>nc(l,...c),session:c=>E(l,c)}}function E(l,b){let c=null,A,S,R=null;async function $(){R||(R=on(l,b,{showErrors:!1}).then(h=>{let I=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",B=I.indexOf("/"),O=B>0&&B<I.length-1?{providerID:I.slice(0,B),modelID:I.slice(B+1)}:void 0,F=h.agent_name?.trim()||void 0;return{model:O,agent:F}}));try{return await R}catch(h){throw R=null,h}}function q(){if(c)return c;let h=Hp(l,b);return h&&(c=h),c}async function D(h){let I=q();if(I)return I;let B=h?.readyTimeoutMs??18e4,O=Gt(j().backendUrl??e.backendUrl).catch(()=>null),F=`${l}
|
|
20
|
-
${b}`,L=Dn.get(F);if(L)return c=await L,await O,c;let X=(async()=>{let K=Date.now()+B,Q=()=>Math.max(0,K-Date.now()),H=await Re(l,b,Math.min(3e4,Q()));for(;Date.now()<K&&(H==null||(H.stage==="provisioning"||H.stage==="starting")&&H.retriable);)await new Promise(Ie=>setTimeout(Ie,Math.min(1e3,Q()))),H=await Re(l,b,Math.min(3e4,Q()));if(!H||H.stage!=="ready"||!H.sandbox||!H.opencode_session_id)throw new v(`Session runtime not ready (stage: ${H?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let W=H.sandbox.external_id;if(!W)throw new v("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let ee=Dt(W);return
|
|
19
|
+
`);let k=Uy(_);if(k){if(r(k),k.type==="error")throw new v(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 Ka(e,t){return a(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function Ha(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function Wa(e,t,n){return a(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function za(e){return a(await i.get(`/projects/${e}/triggers`))}async function Va(e,t){return a(await i.post(`/projects/${e}/triggers`,t))}async function Ja(e,t,n){return a(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function Xa(e,t){return a(await i.delete(`/projects/${e}/triggers/${t}`))}async function Qa(e,t){return a(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Ya(e,t){return a(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var he=new Map;function Za(e,t){return`${e}::${t}`}function zp(e,t){he.delete(e),he.set(e,t)}function Vp(e,t){let n=Za(e,t),r=he.get(n);return r&&zp(n,r),r}function Jp(e,t,n){let r=Za(e,t);if(!he.has(r)&&he.size>=512){let s=he.keys().next().value;s!==void 0&&he.delete(s)}zp(r,n)}function Xp(e,t){he.delete(Za(e,t))}function Fy(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 Ly(e){return e instanceof Error&&e.name==="SessionStartError"}function Gy(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=Gy(s.error);if(p&&!(p.status===404&&Pa(t)))throw p;return null}let o=s.data,u=o.sandbox?.external_id;return o.stage==="ready"&&u&&o.opencode_session_id&&Jp(e,t,{opencodeSessionId:o.opencode_session_id,runtimeUrl:Dt(u),sandboxId:u}),o}function By(e,t){return["session-start",e,t]}async function ec(e){return a(await i.get(`/projects/${e}/model-defaults`))}async function tc(e,t){return a(await i.put(`/projects/${e}/model-defaults`,t))}async function nc(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 Ny(e,t){return a(await i.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function rc(e,t,n){let r=Hy(n);return a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function Qp(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Ky(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Hy(e){let t=e.connectors_required?Qp(e.connectors_required):void 0,n=e.connectors_personal?Qp(e.connectors_personal):void 0;if(t&&n&&!Ky(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 Wy(e,t){let n=a(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?sc(n.block):null}}async function zy(e,t,n){let r=sc(n,!0),s=a(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?sc(s.block):null}}function sc(e,t=!1){let n=Jy(e);if(n.workspace===void 0)return n;let r=n.workspace==="branch";if(n.repository_access!==void 0&&n.repository_access!==r)throw new Error("repository_access conflicts with workspace");if(t&&n.workspace==="read"&&n.repository_access===void 0)throw new Error("Legacy read is unavailable. Set repository_access explicitly.");return n.repository_access??=r,delete n.workspace,n}function Yp(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Vy(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Jy(e){let t=e.connectors_required?Yp(e.connectors_required):void 0,n=e.connectors_personal?Yp(e.connectors_personal):void 0;if(t&&n&&!Vy(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 Xy(e,t,n){return a(await i.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/grant`,{agent:n}))}async function ic(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 Qy(e){let t=e.trim().toLowerCase();return t===""||t==="free"||t==="none"?"free":t==="enterprise"?"enterprise":"team"}function Yy(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:Qy(r),label:s,sublabel:null,isGrandfathered:!1}}async function oc(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 ac(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 cc(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 lc(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 uc(){return a(await i.get("/billing/credit-breakdown"))}async function pc(e){let t=e!=null?`?days=${e}`:"";return a(await i.get(`/billing/usage-history${t}`))}async function dc(){return a(await i.get("/billing/tier-configurations"))}async function Zy(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Ne(e,`/v1/billing/account-state${t}`)}async function gc(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 mc(e,t){return a(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function fc(e,t){return a(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function yc(e,t){return a(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function hc(e){return a(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function bc(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 xc(e){return a(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function _c(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 Pc(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 kc(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 wc(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 eh(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 th(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 nh(e){return a(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function rh(e){return a(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function Sc(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 Ac(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 Cc(e={}){let t=new URLSearchParams;return Ac(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 Ac(n,t),a(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${un(n)}`))}async function sh(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 ih(e={}){let t=new URLSearchParams;return Ac(t,e),e.sessionId&&t.set("session_id",e.sessionId),ln(t,e),a(await i.get(`/usage/cost-summary${un(t)}`))}function vc(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 oh(e,t={}){let n=vc(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 ah(e){return Zp("slack",e)}function ch(e){return Zp("teams",e)}async function Rc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function Tc(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var lh={oauth_available:!1,install_url:null};async function Ic(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?lh:t.data}async function Ec(e){return a(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function jc(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 $c(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 Mc(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 Dc(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 uh={provider:"agentmail",managed_available:!1};async function qc(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?Dc(r.data):null}async function Oc(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?uh:t.data}async function Uc(e,t){let n=a(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Dc(n)}async function Fc(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 Lc(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 Dc(r)}async function ph(e){return a(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function dh(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 Gc(e){return a(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Bc(e,t){return a(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Nc(e){return a(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Kc(e,t){return a(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Hc(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 Wc(e,t){return a(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function zc(e,t){return a(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Vc(e,t){return a(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Jc(e,t){return a(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Xc(e,t){return a(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Qc(e,t){return a(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Yc(e){return a(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Zc(e,t){return a(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function el(e,t){return a(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function tl(e){return a(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function nl(e,t){return a(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function rl(e,t){return a(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function sl(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 gh(e,t){return a(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function mh(){return a(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function fh(){return a(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function yh(e){return a(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function hh(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function bh(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 xh(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 U(e){return i.get(e,{showErrors:!1})}async function il(e){return w(await U(`/accounts/${e}/iam/groups`)).groups}async function ol(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}`))}async function al(e,t){return w(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function cl(e,t,n){return w(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function ll(e,t){return w(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function ul(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}/members`)).members}async function pl(e,t,n){return w(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function _h(e,t){return w(await U(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function dl(e,t,n){return w(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function Ph(e,t){return w(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function kh(e,t){let n=w(await U(`/accounts/${e}/iam/members/${t}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}async function wh(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 U(`/accounts/${e}/iam/resource-grants${r?`?${r}`:""}`)).grants}async function Sh(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 U(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function vh(e,t){return w(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Ah(e,t,n){return w(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function Ch(e,t){return w(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function Rh(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function Th(e,t){return w(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function gl(e){return w(await U(`/accounts/${e}/iam/roles`)).roles}async function ml(e){return w(await U(`/accounts/${e}/iam/agent-identities`)).agents}async function fl(e,t){return w(await U(`/accounts/${e}/iam/roles/${t}/permissions`))}async function Ih(e){return w(await U(`/accounts/${e}/iam/actions`)).actions}async function yl(e,t){return w(await U(`/accounts/${e}/iam/roles/${t}/usage`))}async function hl(e,t){return w(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function bl(e,t,n){return w(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function xl(e,t,n){return w(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function _l(e,t){return w(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function Eh(e,t,n){return w(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function jh(e){return w(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function $h(e,t){return w(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function Mh(e,t){return w(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function Dh(e){return w(await U(`/accounts/${e}/iam/mfa-required`))}async function qh(e){return w(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function Oh(e,t){return w(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function Uh(e){return w(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function Fh(e,t){return w(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Lh(e,t){return w(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function Gh(e){return w(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function Bh(e){return w(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Nh(e,t){return w(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function Kh(e,t){return w(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Hh(e){return w(await U(`/accounts/${e}/iam/session-policy`))}async function Wh(e,t){return w(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function zh(e){return w(await U(`/accounts/${e}/iam/sessions`)).sessions}async function Vh(e,t){return w(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function Jh(e){return w(await U(`/accounts/${e}/iam/pat-policy`))}async function Xh(e,t){return w(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Qh(e){return w(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function Yh(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Zh(e,t){return w(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function eb(e,t){return w(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function tb(e){return w(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function nb(e,t){return w(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function rb(e,t,n){return w(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function sb(e,t){return w(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function ib(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 U(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Pl(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 U(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function kl(e,t,n){return n.length===0?[]:w(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function ob(e){return w(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function ab(e,t){return w(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function wl(e){return a(await i.get(`/accounts/${e}/iam/oauth-clients`,{showErrors:!1}))}async function Sl(e,t){return a(await i.get(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}async function vl(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients`,t,{showErrors:!1}))}async function Al(e,t,n){return a(await i.patch(`/accounts/${e}/iam/oauth-clients/${t}`,n,{showErrors:!1}))}async function Cl(e,t){return a(await i.post(`/accounts/${e}/iam/oauth-clients/${t}/rotate-secret`,{},{showErrors:!1}))}async function Rl(e,t){return a(await i.delete(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}function ed(e){return i.get(e,{showErrors:!1})}function cb(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 Tl(e,t){return a(await ed(`/accounts/${e}/iam/assignments${cb(t)}`)).assignments}async function Il(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 El(e,t){return a(await i.delete(`/accounts/${e}/iam/assignments/${t}`)).assignment}async function jl(e,t){let n=t?.scopeType?`?scope_type=${t.scopeType}`:"";return a(await ed(`/accounts/${e}/iam/permissions${n}`)).permissions}async function lb(){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 ub(e="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function pb(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function db(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function gb(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function mb(){return i.get("/admin/api/provider-distribution").then(e=>a(e))}function fb(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>a(t))}function yb(e){return i.put("/admin/api/provider-distribution",e).then(t=>a(t))}function hb(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>a(t))}function bb(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>a(n))}function xb(){return i.get("/admin/api/provider-fallback").then(e=>a(e))}function _b(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 kb(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 $l(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 Ml(e,t){return a(await i.get(`/projects/${e}/review/items/${t}`))}async function Dl(e,t){return a(await i.post(`/projects/${e}/review/items`,t))}async function ql(e,t,n){return a(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function Ol(e,t){return a(await i.post(`/projects/${e}/review/bulk`,t))}async function Ul(e){return a(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Fl(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 Ll(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 td(e,t=""){return`${nt()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function nd(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 wb(e){return nd(td(e))}async function Sb(e){return nd(td(e,"/messages"))}async function Gl(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 Bl(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 Nl(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.delete(`/accounts/tokens/${e}${n}`))}async function Kl(e){return a(await i.get(`/projects/${e}/cli-token`))}async function Hl(e,t){return a(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Wl(e,t){return a(await i.delete(`/projects/${e}/cli-token/${t}`))}async function zl(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 Vl(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 Jl(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 Xl(e){return a(await i.get(`/accounts/${e}/audit/webhooks`))}async function Ql(e,t){return a(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function Yl(e,t,n){return a(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Zl(e,t){return a(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function eu(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 tu(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 vb(e){return a(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function nu(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 ru(){return a(await i.get("/marketplace/marketplaces"))}async function su(){return a(await i.get("/marketplace/marketplaces/featured"))}async function iu(e){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function ou(e,t){return a(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function au(){return a(await i.get("/marketplace/sources"))}async function cu(e){return a(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function lu(e){return a(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function Ab(e,t){return a(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function Cb(e){return a(await i.get(`/templates/${encodeURIComponent(e)}`))}async function Rb(e,t){return a(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}async function uu(e){return a(await i.get(`/projects/${e}/apps`),"Failed to list Apps").apps}async function pu(e,t){return a(await i.post(`/projects/${e}/apps`,t),"Failed to create App")}async function du(e,t){return a(await i.get(`/projects/${e}/apps/${t}`),"Failed to load App")}async function gu(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}`,n),"Failed to update App")}async function mu(e,t){return a(await i.delete(`/projects/${e}/apps/${t}`),"Failed to delete App")}async function fu(e,t){return a(await i.get(`/projects/${e}/apps/${t}/access`),"Failed to load App access policy")}async function yu(e,t,n){return a(await i.patch(`/projects/${e}/apps/${t}/access`,n),"Failed to update App access policy")}async function hu(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 Tb(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function Ib(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 bu(e,t,n={}){let r=await Tb(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 Ib(r),size_bytes:r.byteLength})}async function xu(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/deployments`,n),"Failed to create App deployment")}async function _u(e,t){return a(await i.get(`/projects/${e}/apps/${t}/deployments`),"Failed to list App deployments").deployments}async function Pu(e,t,n){return a(await i.get(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to load App deployment")}async function ku(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 wu(e,t){return a(await i.post(`/projects/${e}/apps/${t}/start`,{}),"Failed to start App")}async function Su(e,t){return a(await i.post(`/projects/${e}/apps/${t}/stop`,{}),"Failed to stop App")}async function vu(e,t,n){return a(await i.post(`/projects/${e}/apps/${t}/rollback`,{deployment_id:n}),"Failed to roll back App")}async function fn(e){return a(await i.get(`/projects/${e}/model-access`))}async function yn(e,t){return a(await i.put(`/projects/${e}/model-access`,t))}var We=class extends Error{constructor(n,r,s){super(r);this.code=n;this.status=s;this.name="HeadlessAuthError"}code;status};function Eb(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 z(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(`${Eb(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 hn(e,t){return z("/auth/signup",{body:e},t)}function bn(e,t){return z("/auth/sign-in/password",{body:e},t)}function xn(e,t){return z("/auth/sign-in/magic-link",{body:e},t)}function _n(e,t){return z("/auth/verify-otp",{body:e},t)}function Pn(e,t){return z("/auth/sign-in/oauth",{body:e},t)}function kn(e,t){return z("/auth/oauth/exchange",{body:e},t)}function ze(e,t){return z("/auth/refresh",{body:e},t)}function wn(e,t){return z("/auth/password/reset",{body:e},t)}function Sn(e,t,n){return z("/auth/password/update",{body:e,bearer:t},n)}function vn(e,t){return z("/auth/user",{bearer:e},t)}function An(e,t,n){return z("/auth/user",{method:"PATCH",body:e,bearer:t},n)}function Cn(e,t){return z("/auth/sign-in/sso",{body:e},t)}var Rn={enroll:(e,t,n)=>z("/auth/mfa/factors",{body:e,bearer:t},n),challenge:(e,t={},n,r)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}/challenge`,{body:t,bearer:n},r),verify:(e,t,n,r)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}/verify`,{body:t,bearer:n},r),unenroll:(e,t,n)=>z(`/auth/mfa/factors/${encodeURIComponent(e)}`,{method:"DELETE",bearer:t},n)};function Tn(e,t={},n){return z("/auth/sign-out",{body:t,bearer:e},n)}function In(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 y(){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 y(),!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 T=k&&typeof k=="object"&&"status"in k?k.status:0;if(T>=400&&T<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:y,async set(_,k){await y(),r=_,k!==void 0&&(s=k),_||(s=null),await m()},async getToken(){return await y(),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 $b=["control_plane","provider_ingress","daemon","upstream_port"];function Au(e){return typeof e=="string"&&$b.includes(e)?e:null}function Mb(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 Cu(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=Au(r.headers.get("X-Kortix-Proxy-Hop"))??Au(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 rd=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,sd=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,id=/^https?:\/\/(?:dev|staging|prod|preview)-p(\d+)-([a-z0-9-]+)\.[^/]+?(?::(\d+))?(\/.*)?$/i,od=new Set([22,4096,parseInt(le.KORTIX_MASTER,10)]);function Db(e){return sd.test(e)}function En(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 qb(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var Ob=new Set(["'",'"',"`","<","(","["]),Ub=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Fb(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&&Ob.has(e[t]);)t++;for(;n>t&&Ub.has(e[n-1]);)n--;return e.slice(t,n)}function Lb(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Gb=/^\/proxy\/(\d{1,5})(\/.*)?$/,Bb=/^\/(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 ad(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Bb.test(t.pathname)}catch{return!1}}function ht(e){if(!e)return null;let t=Fb(qb(e.trim())),n=Tu(t);if(n){let r=En(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(Gb);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=En(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=En(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Lb(e);return r&&r!==e?ht(r):null}}function Nb(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 Kb(e,t){return t.some(([n,r])=>e>=n&&e<r)}function cd(e){let t=[],n=new Set,r=Nb(e);rd.lastIndex=0;let s;for(;(s=rd.exec(e))!==null;){let o=ht(s[0]);if(!o)continue;let{originalUrl:u,port:p,path:d}=o;p<1||p>65535||od.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:Kb(s.index,r)}))}return t}function Hb(e){return cd(e).length>0}function Wb(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function ld(e){return e.trim().toLowerCase().split("_").join("-")}function ud(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function zb(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(ld(n.sandboxId));return`${ud(s)}${t}`}function pd(e){return e.sandboxId.trim().length>0}function be(e,t,n){let r=En(t);if(!pd(n))return fd(e,r);let s=zb(e,r,n);return s||(Wb(n.apiBaseUrl)?`http://p${e}-${ld(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${ud(n.apiBaseUrl)}/p/${n.sandboxId}/${e}${r}`)}function Vb(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 dd(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Jb(e){return`http://localhost:3211${dd(e)}`}function gd(){return"/health"}function Xb(e){return be(3211,gd(),e)}function Qb(e,t){return be(e,"/",t)}function md(e){let t=ht(e);return!(!t||od.has(t.port)||ad(e))}function Ru(e,t){if(!e)return e;let n=ht(e);return n?md(n.originalUrl)?be(n.port,n.path,t):n.originalUrl:e}function fd(e,t="/"){return`http://localhost:${e}${t}`}var yd=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Tu(e){let t=e.match(sd);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(id);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(yd);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 Yb(e){try{let t=Tu(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function Zb(e){return Db(e)||id.test(e)||yd.test(e)}function ex(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 tx(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 nx(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 rx(e){try{return new URL(e).pathname.includes(yt)}catch{return e.includes(yt)}}function sx(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 ix(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 hd="frontend";function jn(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${hd}] ${t}`,...n?[n]:[]);try{me().app.log({service:hd,level:e,message:t,extra:n})}catch{}}var xe={debug:(e,t)=>jn("debug",e,t),info:(e,t)=>jn("info",e,t),warn:(e,t)=>jn("warn",e,t),error:(e,t)=>jn("error",e,t)};function bd(e){return{type:"heartbeat-gap",gapMs:e}}function xd(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 ox={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},ax=16,cx=8,lx=6e4,ux=5e3,px=250,dx=1e3,gx=3e4,mx=5,fx=3e3,yx=3e4,hx=2e4,bx=2e3,xx=8;function _x(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function _d(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 $n=new WeakMap;function Px(e,t,n){let r=t.timers??ox,s=t.connectTimeoutMs??hx,o=t.heartbeatTimeoutMs??lx,u=t.maxConsecutiveHardFailures??xx,p=new AbortController;function d(E,...l){for(let b of n){let c=E(b);if(c)try{c(...l)}catch(A){console.warn("[opencode-events] subscriber handler threw, skipping",A)}}}let f=r.now(),m=[],y,x=0,_=new Map,k=()=>{if(y&&r.clearTimeout(y),y=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)},T=()=>{if(y)return;let E=r.now()-x;y=r.setTimeout(k,Math.max(0,ax-E))};return(async()=>{let E=0,l=0;for(;!p.signal.aborted;){let b=!1,c=!1,A,S,R=null,$=r.now(),q=new AbortController,D=_d(p.signal);D.promise.then(()=>q.abort());try{let O=await new Promise((Q,H)=>{let W=!1;S=r.setTimeout(()=>{W||(W=!0,xe.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),q.abort(),H(new Error(`SSE connect timed out after ${s}ms`)))},s),e.global.event({signal:q.signal,sseDefaultRetryDelay:fx,sseMaxRetryDelay:yx,sseMaxRetryAttempts:1}).then(ee=>{W||(W=!0,r.clearTimeout(S),Q(ee))},ee=>{W||(W=!0,r.clearTimeout(S),H(ee))})}),{stream:F}=O;f=r.now();let L=()=>{r.clearTimeout(A),A=r.setTimeout(()=>{xe.warn("SSE heartbeat timeout, forcing reconnect"),q.abort()},o)};L();let X=r.now(),K=F[Symbol.asyncIterator]();for(;!q.signal.aborted;){let Q=K.next().then(de=>({kind:"next",result:de}),de=>({kind:"error",error:de})),H=_d(q.signal),W=await Promise.race([Q,H.promise.then(()=>({kind:"aborted"}))]);if(H.cleanup(),W.kind==="aborted")break;if(W.kind==="error")throw W.error;if(W.result.done)break;b=!0,L();let ee=W.result.value,Ie=ee&&typeof ee=="object"&&"payload"in ee?ee.payload:ee;if(!Ie?.type)continue;let zn=_x(Ie);if(zn){let de=_.get(zn);de!==void 0&&(m[de]=void 0),_.set(zn,m.length)}m.push({type:Ie.type,event:Ie}),T(),!(r.now()-X<cx)&&(X=r.now(),await new Promise(de=>r.setTimeout(de,0)))}c=b}catch(O){if(p.signal.aborted)break;R=O;let F=String(O),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(A),r.clearTimeout(S),q.abort(),D.cleanup(),k()}if(p.signal.aborted)break;let Z=r.now()-$,J=R?.cause?.status;if(l=!b&&(typeof J=="number"&&J>=400||Z<bx)?l+1:0,l>=u){xe.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:l,lastError:String(R)}),d(O=>O.onParked,{consecutiveFailures:l,lastError:R});break}let I=r.now()-f;I>ux&&d(O=>O.onGapRehydrate,I),c?E=0:(E++,E>1&&xe.warn("SSE event stream reconnecting",{retryCount:E}));let B=c?px:Math.min(dx*2**Math.min(E-1,mx),gx);await new Promise(O=>{let F=r.setTimeout(O,B),L=()=>{r.clearTimeout(F),O()};p.signal.addEventListener("abort",L,{once:!0})})}})(),{subscribers:n,teardown:()=>{p.abort(),y&&r.clearTimeout(y)}}}function Mn(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=e,u={onEvent:n,onGapRehydrate:r,onParked:s},p=$n.get(t);p?p.subscribers.add(u):(p=Px(t,e,new Set([u])),$n.set(t,p));let d=p,f=!1,m=()=>{f||(f=!0,o&&o.removeEventListener("abort",y),d.subscribers.delete(u),d.subscribers.size===0&&(d.teardown(),$n.get(t)===d&&$n.delete(t)))},y=()=>m();return o&&(o.aborted?m():o.addEventListener("abort",y,{once:!0})),{close:m}}function kx(){return me()}var Dn=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 Pd(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 v(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let b=j().backendUrl??e.backendUrl,c=80,A=n(b);return A&&(c=A.port?Number(A.port):A.protocol==="https:"?443:80),$p({sandboxId:l,apiBaseUrl:b,backendPort:c})}let s={signUp:hn,signInWithPassword:bn,sendMagicLink:xn,verifyOtp:_n,signInWithProvider:Pn,exchangeCode:kn,refresh:ze,resetPassword:wn,updatePassword:Sn,updateUserMetadata:An,signInWithSso:Cn,mfa:Rn,user:vn,signOut:Tn,session:In},o={list:Ks,get:Ws,create:Hs,updateName:zs,branding:{get:Vs,update:Js,uploadAsset:Xs,removeAsset:Qs,reset:Ys},leave:li,members:Zs,invite:ei,removeMember:ai,updateMemberRole:ci,invites:ti,cancelInvite:ni,resendInvite:ri,tokens:{list:Gl,create:Bl,revoke:Nl},audit:{log:zl,export:Jl,webhooks:{list:Xl,create:Ql,update:Yl,remove:Zl}}},u={assignments:{list:Tl,create:Il,revoke:El},permissions:{list:jl,forRole:fl},roles:{list:gl,create:hl,update:bl,setPermissions:xl,remove:_l,usage:yl},groups:{list:il,get:ol,create:al,update:cl,remove:ll,members:{list:ul,add:pl,remove:dl}},agentIdentities:ml,oauthClients:{list:wl,get:Sl,create:vl,update:Al,rotateSecret:Cl,remove:Rl},can:Pl,canBatch:kl},p={accountState:oc,accountStateMinimal:ac,transactions:cc,transactionsSummary:lc,creditBreakdown:uc,usageHistory:pc,usageRollup:Sc,sessionCosts:{list:Cc,get:pn},tierConfigurations:dc,checkout:{createSession:l=>gc(l),confirmSession:(l,b)=>mc(l,b)},subscription:{createPortalSession:(l,b)=>fc(l,b),cancel:(l,b)=>yc(l,b),reactivate:l=>hc(l),scheduleDowngrade:(l,b,c)=>bc(l,b,c),cancelScheduledChange:l=>xc(l),prorationPreview:(l,b)=>_c(l,b)},credits:{purchase:l=>Pc(l),autoTopupSettings:l=>kc(l),configureAutoTopup:l=>wc(l)}},d={describe:si,accept:ii,decline:oi},f={list:Ce,listForAccount:pi,get:Jt,detail:Xt,create:fi,createRepo:yi,provision:hi,update:Zt,archive:en,llmCatalog:Qt,modelPicker:Yt,modelAccess:fn,setModelAccess:yn,sandboxHealth:sn,sandboxTemplates:Ho,sessions:Ke,createSession:He},m={linkRepository:ki,getInstallation:wi,listInstallations:Si,listLinkableInstallations:vi,listRepositories:Ai,listRepositoryBranches:Ci,linkInstallation:Ti,saveInstallation:Ri,deleteInstallation:Ii},y={list:Ul,create:Fl,revoke:Ll},x=Lo,_={items:l=>nu(l),item:l=>iu(l),itemFile:(l,b)=>ou(l,b),marketplaces:()=>ru(),featured:()=>su(),sources:{list:()=>au(),add:l=>cu(l),remove:l=>lu(l)}};function k(l){return{catalog:()=>tn(l),tools:()=>dt(l),search:(...b)=>lo(l,...b),describe:(...b)=>uo(l,...b),call:(...b)=>po(l,...b),uploadAttachment:(...b)=>go(l,...b)}}function T(l){let b={list:()=>mo(l),listAll:()=>fo(l),reconcile:(...c)=>yo(l,...c),reconcileMember:(...c)=>ho(l,...c),updateCredential:(...c)=>bo(l,...c),revoke:(...c)=>xo(l,...c),activate:(...c)=>_o(l,...c),setDefault:(...c)=>Po(l,...c),pipedreamConnect:(...c)=>ko(l,...c),pipedreamFinalize:(...c)=>wo(l,...c)};return{get:c=>Jt(l,c),detail:()=>Xt(l),audit:c=>Vl(l,c),update:c=>Zt(l,c),archive:()=>en(l),llmCatalog:()=>Qt(l),modelPicker:()=>Yt(l),modelAccess:()=>fn(l),setModelAccess:c=>yn(l,c),sandboxHealth:()=>sn(l),onboardingComplete:(...c)=>Pi(l,...c),apps:{list:()=>uu(l),create:c=>pu(l,c),get:c=>du(l,c),update:(...c)=>gu(l,...c),access:{get:(...c)=>fu(l,...c),update:(...c)=>yu(l,...c),session:(...c)=>hu(l,...c)},remove:c=>mu(l,c),artifacts:{register:c=>gn(l,c),uploadArchive:(...c)=>bu(l,...c),finalize:(...c)=>mn(l,...c)},deployments:{create:(...c)=>xu(l,...c),list:c=>_u(l,c),get:(...c)=>Pu(l,...c),logs:(...c)=>ku(l,...c)},start:c=>wu(l,c),stop:c=>Su(l,c),rollback:(...c)=>vu(l,...c)},tokens:{list:()=>Kl(l),create:c=>Hl(l,c),revoke:c=>Wl(l,c)},setupLinks:{requestSecret:c=>eu(l,c),requestConnector:c=>tu(l,c)},validateManifest:c=>gi(l,c),gitToken:()=>mi(l),secrets:{list:()=>Qi(l),upsert:c=>Yi(l,c),setStrategy:(...c)=>Zi(l,...c),broker:(...c)=>eo(l,...c),remove:c=>io(l,c),setPersonal:(...c)=>oo(l,...c),removePersonal:c=>ao(l,c),setGitCredential:c=>so(l,c),startProviderOAuth:(...c)=>to(l,...c),pollProviderOAuth:(...c)=>no(l,...c),removeProviderOAuth:c=>ro(l,c)},access:{list:()=>Mi(l),invite:(...c)=>Oi(l,...c),update:(...c)=>Di(l,...c),revoke:c=>qi(l,c),pendingInvites:()=>Ui(l),resendInvite:(...c)=>Li(l,...c),revokeInvite:(...c)=>Fi(l,...c),requests:()=>Ei(l),approveRequest:(...c)=>ji(l,...c),rejectRequest:(...c)=>$i(l,...c),groupGrants:()=>Gi(l),attachGroupGrant:(...c)=>Bi(l,...c),updateGroupGrant:(...c)=>Ni(l,...c),detachGroupGrant:c=>Ki(l,c),resourceGrants:{list:()=>Hi(l),create:c=>Wi(l,c),remove:c=>zi(l,c)}},connectors:{...k(l),list:()=>So(l),config:(...c)=>Eo(l,...c),create:(...c)=>Mo(l,...c),remove:(...c)=>qo(l,...c),sync:()=>vo(l),auth:{discover:(...c)=>Do(l,...c)},setName:(...c)=>jo(l,...c),setCredentialMode:(...c)=>Ao(l,...c),setAuthorizationStrategy:(...c)=>Co(l,...c),setCredential:(...c)=>Go(l,...c),setSensitive:(...c)=>Ro(l,...c),connections:b,policies:{get:(...c)=>To(l,...c),set:(...c)=>Io(l,...c)},pipedream:{listApps:(...c)=>Oo(l,...c),listSections:(...c)=>Uo(l,...c),connect:(...c)=>$o(l,...c),finalize:(...c)=>Bo(l,...c)},discover:{list:(...c)=>nn(l,...c),sections:(...c)=>Fo(l,...c),detail:(...c)=>rn(l,...c)}},policies:{list:()=>No(l),set:(...c)=>Ko(l,...c)},triggers:{list:()=>za(l),create:(...c)=>Va(l,...c),update:(...c)=>Ja(l,...c),remove:(...c)=>Xa(l,...c),fire:(...c)=>Ya(l,...c),setActivation:(...c)=>Qa(l,...c)},files:{list:c=>ea(l,c),read:(c,A)=>na(l,c,A),search:(...c)=>ta(l,...c),archive:(...c)=>ra(l,...c),history:(...c)=>ca(l,...c)},git:{commits:()=>ia(l),commit:c=>oa(l,c),commitDiff:c=>aa(l,c),branches:()=>sa(l),versionDiff:(...c)=>la(l,...c),inviteCollaborator:(...c)=>di(l,...c)},changeRequests:{list:()=>ua(l),get:c=>pa(l,c),diff:c=>da(l,c),mergePreview:c=>ga(l,c),open:(...c)=>ma(l,...c),merge:(...c)=>fa(l,...c),close:(...c)=>ya(l,...c),reopen:(...c)=>ha(l,...c),requestChanges:(...c)=>ba(l,...c)},sessions:{list:c=>Ke(l,c),listPage:c=>ka(l,c),create:c=>He(l,c),ensureWarm:()=>Ra(l),claimWarm:c=>Ta(l,c)},review:{list:c=>$l(l,c),get:c=>Ml(l,c),submit:c=>Dl(l,c),act:(...c)=>ql(l,...c),bulkAct:c=>Ol(l,c)},approvals:{list:c=>Vi(l,c),resolve:(...c)=>Xi(l,...c),sessionsNeedingInput:c=>Ji(l,c)},gateway:{logs:c=>Hc(l,c),log:c=>Wc(l,c),overview:c=>zc(l,c),series:c=>Vc(l,c),breakdown:c=>Jc(l,c),sessions:c=>Xc(l,c),errors:c=>Qc(l,c),budgets:()=>Yc(l),setBudget:c=>Zc(l,c),deleteBudget:c=>el(l,c),keys:()=>tl(l),createKey:c=>nl(l,c),revokeKey:c=>rl(l,c),routing:{get:()=>Gc(l),set:c=>Bc(l,c),reset:()=>Nc(l),preview:c=>Kc(l,c)},playground:(c,A,S)=>sl(l,c,A,S)},channels:{slack:{installation:()=>Rc(l),connect:c=>Tc(l,c),mode:()=>Ic(l),manifest:()=>Ec(l),disconnect:()=>jc(l),getFile:c=>$c(l,c),uploadFile:c=>Mc(l,c)},email:{installation:c=>qc(l,c),mode:()=>Oc(l),connect:c=>Uc(l,c),disconnect:c=>Fc(l,c),updatePolicy:(...c)=>Lc(l,...c)}},updateFeatureFlag:(...c)=>bi(l,...c),updateExperimentalFeature:(...c)=>xi(l,...c),modelDefaults:{get:()=>ec(l),set:c=>tc(l,c),clear:c=>nc(l,c)},setDefaultAgent:c=>ic(l,c),sandbox:{list:()=>Zo(l),snapshots:()=>Wo(l),rebuildSnapshot:c=>zo(l,c),fixWithAgent:()=>Vo(l),createTemplate:c=>Jo(l,c),updateTemplate:(...c)=>Xo(l,...c),removeTemplate:c=>Qo(l,c),buildTemplate:c=>Yo(l,c),setProvider:c=>_i(l,c)},setAgentScope:(...c)=>rc(l,...c),session:c=>E(l,c)}}function E(l,b){let c=null,A,S,R=null;async function $(){R||(R=on(l,b,{showErrors:!1}).then(h=>{let I=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",B=I.indexOf("/"),O=B>0&&B<I.length-1?{providerID:I.slice(0,B),modelID:I.slice(B+1)}:void 0,F=h.agent_name?.trim()||void 0;return{model:O,agent:F}}));try{return await R}catch(h){throw R=null,h}}function q(){if(c)return c;let h=Vp(l,b);return h&&(c=h),c}async function D(h){let I=q();if(I)return I;let B=h?.readyTimeoutMs??18e4,O=Gt(j().backendUrl??e.backendUrl).catch(()=>null),F=`${l}
|
|
20
|
+
${b}`,L=Dn.get(F);if(L)return c=await L,await O,c;let X=(async()=>{let K=Date.now()+B,Q=()=>Math.max(0,K-Date.now()),H=await Re(l,b,Math.min(3e4,Q()));for(;Date.now()<K&&(H==null||(H.stage==="provisioning"||H.stage==="starting")&&H.retriable);)await new Promise(Ie=>setTimeout(Ie,Math.min(1e3,Q()))),H=await Re(l,b,Math.min(3e4,Q()));if(!H||H.stage!=="ready"||!H.sandbox||!H.opencode_session_id)throw new v(`Session runtime not ready (stage: ${H?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let W=H.sandbox.external_id;if(!W)throw new v("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let ee=Dt(W);return hp(ee,W),{opencodeSessionId:H.opencode_session_id,runtimeUrl:ee,sandboxId:W}})();Dn.set(F,X);try{return c=await X,await O,c}finally{Dn.get(F)===X&&Dn.delete(F)}}function Z(h){let I=q();if(!I)throw new bt(h);return I}function J(){c=null,Xp(l,b)}return{get:h=>on(l,b,h),cost:()=>pn(b,{projectId:l}),update:h=>Fa(l,b,h),delete:()=>(J(),La(l,b)),start:(...h)=>Re(l,b,...h),restart:()=>(J(),mt(l,b)),stop:()=>(J(),ft(l,b)),configState:()=>Ga(l,b),reloadConfig:h=>(J(),Ba(l,b,h)),reloadConfigStream:(...h)=>(J(),Na(l,b,...h)),setSharing:h=>wa(l,b,h),previews:()=>Sa(l,b),commit:h=>xa(l,b,h),publicShares:{list:()=>va(l,b),create:(...h)=>Aa(l,b,...h),revoke:(...h)=>Ca(l,b,...h)},audit:(h,I)=>Ia(l,b,h,I),transcript:h=>Ea(l,b,h),transcriptSync:h=>ja(l,b,h),turn:()=>$a(l,b),prompts:{create:h=>Ma(l,b,h),list:()=>Da(l,b),remove:h=>qa(l,b,h),retry:h=>Oa(l,b,h),hold:h=>Ua(l,b,h)},ensureReady:D,health:h=>Cu(q()?.runtimeUrl??null,h),previewUrl:(h,I="/")=>be(h,I,r(Z("previewUrl").sandboxId)),proxyUrl:h=>Ru(h,r(Z("proxyUrl").sandboxId)),setModel:h=>{A=h},changeModel:async h=>{let I=await Wa(l,b,h);return R=null,I},scope:()=>Ka(l,b),rescope:h=>Ha(l,b,h),setAgent:h=>{S=h},send:async(h,I)=>{let{opencodeSessionId:B,runtimeUrl:O}=await D(),F=I?.model??A,L=I?.agent??S,X=F&&L?{}:await $(),K=F??X.model,Q=L??X.agent;return ae(O).session.prompt({sessionID:B,parts:[{type:"text",text:h}],...K?{model:K}:{},...Q?{agent:Q}:{}})},abort:async()=>{let{opencodeSessionId:h,runtimeUrl:I}=await D();return ae(I).session.abort({sessionID:h})},rewind:async h=>{let{opencodeSessionId:I,runtimeUrl:B}=await D();return ae(B).session.revert({sessionID:I,messageID:h})},restoreRewind:async()=>{let{opencodeSessionId:h,runtimeUrl:I}=await D();return ae(I).session.unrevert({sessionID:h})},stream:async h=>{let{runtimeUrl:I}=await D();return Mn({client:ae(I),onEvent:h.onEvent,onGapRehydrate:h.onGapRehydrate,signal:h.signal})},get runtime(){return ae(Z("runtime").runtimeUrl)},files:{list:async h=>ot(h,(await D()).runtimeUrl),read:async h=>Ue(h,(await D()).runtimeUrl),readBlob:async h=>Fe(h,(await D()).runtimeUrl),status:async()=>at((await D()).runtimeUrl),findFiles:async(h,I)=>ct(h,I,(await D()).runtimeUrl),findText:async h=>lt(h,(await D()).runtimeUrl),upload:async(h,I,B,O)=>Le(h,I,B,(await D()).runtimeUrl,O),write:async(h,I)=>Ge(h,I,(await D()).runtimeUrl),create:async h=>ut(h,(await D()).runtimeUrl),copy:async(h,I)=>pt(h,I,(await D()).runtimeUrl),remove:async h=>ye(h,(await D()).runtimeUrl),mkdir:async h=>Be(h,(await D()).runtimeUrl),rename:async(h,I)=>fe(h,I,(await D()).runtimeUrl)}}}return{config:e,auth:s,accounts:o,iam:u,accountInvites:d,projects:f,connectors:k(),project:T,session:E,github:m,billing:p,sandboxShares:y,connectStatus:x,marketplace:_,validateToken:ui,runtime:kx}}function kd(){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 wd(){return{pending:[],failed:[],inFlightId:null,inFlightIds:[]}}function Ve(e){return e.inFlightIds?.length?e.inFlightIds:e.inFlightId?[e.inFlightId]:[]}function Sd(e,t){return{...e,pending:[...e.pending,{...t,attempts:0}]}}function vd(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 Ad(e){let t=Ve(e);return t.length===0?e:{...e,pending:e.pending.filter(n=>!t.includes(n.id)),inFlightId:null,inFlightIds:[]}}function Cd(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 Rd(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 Td(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 Id(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 Ed(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 Iu={thinking:!1,toolDetails:!0,assistantMetadata:!0};function wx(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Sx(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 vx(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
|
|
53
|
+
`,n}return""}function Ax(e,t){if(!t)return`## Assistant
|
|
54
54
|
|
|
55
|
-
`;let n=e.agent?
|
|
55
|
+
`;let n=e.agent?wx(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=Sx(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
|
|
59
|
+
`}function Cx(e,t,n){let r="";e.role==="user"?r+=`## User
|
|
60
60
|
|
|
61
|
-
`:r+=
|
|
61
|
+
`:r+=Ax(e,n.assistantMetadata);for(let s of t)r+=vx(s,n);return r}function jd(e,t,n=Iu){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+=
|
|
69
|
+
`;for(let s of t)r+=Cx(s.info,s.parts,n),r+=`---
|
|
70
70
|
|
|
71
|
-
`;return r}function Id(e,t){return`session-${e}.md`}var Iu="An error occurred";var wx=["message","error","detail","error_description","msg","errors","data"];function $d(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 Sx(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 vx(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 Ax(e){let t=e.replace(/[_-]+/g," ").trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)}function Ed(e,t,n){if(typeof e=="string")return qn(e,t,n);if(e&&typeof e=="object")return On(e,t,n)}function qn(e,t,n=new WeakSet){let r=$d(e);if(!r)return;if(t>=4)return r;let s=Je(r);if(s!==void 0)return typeof s=="string"?qn(s,t+1,n):s&&typeof s=="object"?On(s,t+1,n):String(s);let o=Md(r);if(o){let u=Je(o);if(u&&typeof u=="object"){let p=On(u,t+1,n);if(p)return p}}if(r.includes("{")){let u=Sx(r);if(u)return qn(u,t+1,n)??u}return vx(r)??r}function On(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=Ed(u,t,n);if(p)return p}return}let r=e;for(let u of wx){let p=Ed(r[u],t,n);if(p)return p}let s=r.type??r.code;if(typeof s=="string"&&s.trim())return Ax(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"?qn(e,0)??Iu:typeof e=="object"?On(e,0)??Iu:String(e):Iu}function Md(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Cx(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 Rx(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 jd(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=Rx(e.attempt_failures);return!t&&!n&&!r&&s===void 0&&!o&&!u?void 0:{message:typeof e.message=="string"&&e.message||Cx(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=$d(e),p=Je(u)??Je(Md(u));return p!==void 0?ne(p):void 0}if(typeof e!="object")return;let t=e,n=jd(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=jd(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 Tx={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"}},Ix=[{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 Ex(e){return e.replace(/^oc[-_]/,"")}function xt(e){return Ex(e).replace(/-/g,"_")}function Un(e){return xt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Fn(e){let t=xt(e),n=Tx[t];if(n)return n;for(let{prefix:r,category:s}of Ix)if(t.startsWith(r))return{label:Un(e),category:s};return{label:Un(e),category:"other"}}var jx=256*1024;function $x(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Mx(e){if(e===void 0)return{};if(e.length>jx)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Dx(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 qx(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=Mx(r),u=$x(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let d=Dx(s);d&&(u="error",p=d)}return{name:e,title:n||Fn(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:o,error:p}}function Ox(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Ux(e){return{kind:"reasoning",id:e.id,text:e.text}}function Fx(e){return{kind:"tool",id:e.id,tool:qx(e.tool,e.state)}}function Lx(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 Gx(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Bx(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Nx(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Kx(e){return{kind:"agent",id:e.id,name:e.name}}function Hx(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:te(e.error),createdAt:e.time.created}}function Wx(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function zx(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function Vx(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Eu(e){switch(e.type){case"text":return Ox(e);case"reasoning":return Ux(e);case"tool":return Fx(e);case"file":return Lx(e);case"subtask":return Gx(e);case"patch":return Bx(e);case"snapshot":return Nx(e);case"agent":return Kx(e);case"retry":return Hx(e);case"compaction":return Wx(e);case"step-start":return zx(e);case"step-finish":return Vx(e);default:return{kind:"unknown",raw:e}}}function Jx(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 Xx(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Dd(e){let t=e.parts.map(Eu),n=e.info.role==="assistant"?e.info.error:void 0,r=Jx(n),s=!r&&!t.some(Xx);return{parts:t,error:r,isEmpty:s}}function _e(e){return e.type==="text"}function Ln(e){return e.type==="reasoning"}function ue(e){return e.type==="tool"}function $u(e){return e.type==="file"}function Qx(e){return e.type==="agent"}function Yx(e){return e.type==="compaction"}function Zx(e){return e.type==="snapshot"}function e_(e){return e.type==="patch"}function t_(e){if(_e(e)||Ln(e))return e.text}function n_(e){if(!$u(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function r_(e){let t=[],n=[];for(let r of e)$u(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function s_(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function i_(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var o_=new Set(["todoread","context_info"]);function qd(e){return!o_.has(e.tool)}function a_(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 c_(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 l_(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ue(r)&&qd(r)&&t.push(r);return t}function u_(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Od(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:Ud(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:Fd(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:ju(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:ju(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 Od(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function ju(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 Ud(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function p_(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
|
|
73
|
-
\u2026`:e}function
|
|
71
|
+
`;return r}function $d(e,t){return`session-${e}.md`}var Eu="An error occurred";var Rx=["message","error","detail","error_description","msg","errors","data"];function qd(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 Tx(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 Ix(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 Ex(e){let t=e.replace(/[_-]+/g," ").trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)}function Md(e,t,n){if(typeof e=="string")return qn(e,t,n);if(e&&typeof e=="object")return On(e,t,n)}function qn(e,t,n=new WeakSet){let r=qd(e);if(!r)return;if(t>=4)return r;let s=Je(r);if(s!==void 0)return typeof s=="string"?qn(s,t+1,n):s&&typeof s=="object"?On(s,t+1,n):String(s);let o=Od(r);if(o){let u=Je(o);if(u&&typeof u=="object"){let p=On(u,t+1,n);if(p)return p}}if(r.includes("{")){let u=Tx(r);if(u)return qn(u,t+1,n)??u}return Ix(r)??r}function On(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=Md(u,t,n);if(p)return p}return}let r=e;for(let u of Rx){let p=Md(r[u],t,n);if(p)return p}let s=r.type??r.code;if(typeof s=="string"&&s.trim())return Ex(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"?qn(e,0)??Eu:typeof e=="object"?On(e,0)??Eu:String(e):Eu}function Od(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function jx(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 $x(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 Dd(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=$x(e.attempt_failures);return!t&&!n&&!r&&s===void 0&&!o&&!u?void 0:{message:typeof e.message=="string"&&e.message||jx(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=qd(e),p=Je(u)??Je(Od(u));return p!==void 0?ne(p):void 0}if(typeof e!="object")return;let t=e,n=Dd(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Dd(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 Mx={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"}},Dx=[{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 qx(e){return e.replace(/^oc[-_]/,"")}function xt(e){return qx(e).replace(/-/g,"_")}function Un(e){return xt(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Fn(e){let t=xt(e),n=Mx[t];if(n)return n;for(let{prefix:r,category:s}of Dx)if(t.startsWith(r))return{label:Un(e),category:s};return{label:Un(e),category:"other"}}var Ox=256*1024;function Ux(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Fx(e){if(e===void 0)return{};if(e.length>Ox)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Lx(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 Gx(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=Fx(r),u=Ux(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let d=Lx(s);d&&(u="error",p=d)}return{name:e,title:n||Fn(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:o,error:p}}function Bx(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Nx(e){return{kind:"reasoning",id:e.id,text:e.text}}function Kx(e){return{kind:"tool",id:e.id,tool:Gx(e.tool,e.state)}}function Hx(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 Wx(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function zx(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Vx(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Jx(e){return{kind:"agent",id:e.id,name:e.name}}function Xx(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 Yx(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function Zx(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function ju(e){switch(e.type){case"text":return Bx(e);case"reasoning":return Nx(e);case"tool":return Kx(e);case"file":return Hx(e);case"subtask":return Wx(e);case"patch":return zx(e);case"snapshot":return Vx(e);case"agent":return Jx(e);case"retry":return Xx(e);case"compaction":return Qx(e);case"step-start":return Yx(e);case"step-finish":return Zx(e);default:return{kind:"unknown",raw:e}}}function e_(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 t_(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Ud(e){let t=e.parts.map(ju),n=e.info.role==="assistant"?e.info.error:void 0,r=e_(n),s=!r&&!t.some(t_);return{parts:t,error:r,isEmpty:s}}function _e(e){return e.type==="text"}function Ln(e){return e.type==="reasoning"}function ue(e){return e.type==="tool"}function Mu(e){return e.type==="file"}function n_(e){return e.type==="agent"}function r_(e){return e.type==="compaction"}function s_(e){return e.type==="snapshot"}function i_(e){return e.type==="patch"}function o_(e){if(_e(e)||Ln(e))return e.text}function a_(e){if(!Mu(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function c_(e){let t=[],n=[];for(let r of e)Mu(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function l_(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function u_(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var p_=new Set(["todoread","context_info"]);function Fd(e){return!p_.has(e.tool)}function d_(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 g_(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 m_(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ue(r)&&Fd(r)&&t.push(r);return t}function f_(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Ld(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:Gd(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:Bd(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:$u(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:$u(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 Ld(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function $u(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 Gd(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function y_(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 Bd(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 h_(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function b_(e,t){return e.find(n=>n.tool?.callID===t)}function x_(e,t){return e.find(n=>n.tool?.callID===t)}var __=/\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(__,""):""}var k_=/^msg_[0-9a-f]{12}/;function Nd(e){return k_.test(e)?0:1}function Kd(e,t){return e<t?-1:e>t?1:0}function Hd(e,t){let n=Nd(e.info.id),r=Nd(t.info.id);if(n!==r)return n-r;if(n===0)return Kd(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:Kd(e.info.id,t.info.id)}function w_(e){let t=[...e].sort(Hd),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 S_(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function v_(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(_e(n)&&n.text?.trim())return n}}function A_(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function C_(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 R_(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 T_(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 Wd(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(...Wd(e,s));return r}function zd(e){if(!e||typeof e!="object")return!1;let t=e.data;return!!t&&typeof t=="object"&&t.isRetryable===!0}function I_(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&&zd(n.error)}return!1}function Vd(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 E_(e){if(Vd(e))return e.assistantMessages[0].parts[0]}function j_(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 $_(e,t){return!t||!e?!1:e.type!=="idle"}function M_(e,t){return!e&&!!t}function D_(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return te(n.error)}}function q_(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ne(n.error)}}function Du(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(Ln(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 O_(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=Du(p.parts[d]);if(f)return f}}return"Handing off to an agent..."}let o=Du(r);if(o)return o}return"Figuring out what\u2019s next..."}function U_(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 qu=1.2;function Jd(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,y)=>y.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 Xd(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?Jd(e.tokens,o):0}function Qd(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function F_(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 y=f,{providerID:x,modelID:_}=Qd(m.info);n+=Xd(y,x,_,t),r+=y.tokens?.input||0,s+=y.tokens?.output||0,o+=y.tokens?.reasoning||0,u+=y.tokens?.cache?.read||0,p+=y.tokens?.cache?.write||0}if(!d)for(let{message:f}of e){if(f.info.role!=="assistant")continue;let m=f.info,y=Yd(m,t);if(y<=0)continue;d=!0,n+=y;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*qu,tokens:{input:r,output:s,reasoning:o,cacheRead:u,cacheWrite:p}}}function Yd(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?Jd({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function L_(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:u}=Qd(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=Xd(f,o,u,t));d||(p+=Yd(s,t)),n+=p}return n*qu}function G_(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function B_(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function N_(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 K_(e){if(!(!e||e.type!=="retry"))return te(e.message)}function H_(e){return(e.info.summary?.diffs?.length??0)>0}var W_=4e3;function Pt(e,t=W_){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 z_(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 V_=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function Uu(e){let t=e.match(V_);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 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 X_=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Q_(e){let t=-1;for(let n of X_){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var Y_=/\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 Z_(e){return e.replace(Y_,"")}function eP(e){let t=G(e.input?.command)??"",n=e.output??"",r=Uu(n),o=Z_(Q_(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 Fu(e){return G(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function tP(e){let t=e.status==="error"?e.error:e.output&&Pt(e.output)||void 0;return{kind:"file-read",path:Fu(e),preview:t}}function nP(e){let t=G(e.input?.content),n=e.status==="error"?e.error:Pt(t??e.output??"")||void 0;return{kind:"file-write",path:Fu(e),preview:n}}var rP=256*1024;function sP(e,t){if(e.length+t.length>rP)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,u=r.length;for(;o>s&&u>s&&n[o-1]===r[u-1];)o--,u--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<u;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function
|
|
76
|
-
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function sP(e){let t=G(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=Yd.test(e.output.trim())?nP(e.output):rP(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function iP(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 qu(e){let t=Xe(e)??{};return{content:G(t.content)??"",status:G(t.status)??"pending",priority:G(t.priority)}}function oP(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(qu)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(qu)};let n=Xe(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(qu)}:{kind:"todo",items:[]}}function aP(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 cP(e){let n=e.input&&Object.keys(e.input).length>0?Xd(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?Pt(e.outputParsed):Xd(e.outputParsed):e.outputText!==void 0?r=Pt(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Zd(e){switch(xt(e.name)){case"web_search":case"websearch":case"image_search":return B_(e);case"bash":return J_(e);case"read":return X_(e);case"write":return Q_(e);case"edit":case"morph_edit":return eP(e);case"grep":case"glob":return sP(e);case"task":return iP(e);case"todowrite":return oP(e);case"question":case"ask":return aP(e);default:return cP(e)}}var lP=new Set(["AbortError","MessageAbortedError"]),uP=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],pP=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function eg(e){let t=e.toLowerCase();return pP.some(n=>t.includes(n))?!1:uP.some(n=>t.includes(n))}function dP(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 Fu(e){if(typeof e=="string")return eg(e);if(!e||typeof e!="object")return!1;let t=e,n=t.name;if(typeof n=="string"&&lP.has(n))return!0;let r=dP(t);return typeof r=="string"?eg(r):!1}var tg=["user","runtime-disposed","orphan-finalized","wake"],gP=["orphan-finalized","wake"];function mP(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 tg.includes(n)?n:void 0}function Gn(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function fP(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 yP(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 Lu(e,t,n){return e!==void 0?e:fP(Gn(t),n)}var hP={get disableMobileAdvertising(){return Lu(j().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Lu(j().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Lu(j().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var kt="kortix-active-instance",ng=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function rg(e){return ng.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 bP(e){let t=Qe(e);return!!t&&t.innerPath===""}function xP(e){let t=Qe(e);return!t||!t.innerPath?e:t.innerPath}function sg(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 rg(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function ig(e){return e?Qe(e)?.instanceId??null:null}function _P(){return typeof window>"u"?null:ig(window.location.pathname)||og()}function og(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${kt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function PP(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 kP(e,t){return t?sg(t,e):e}function wP(e){let t=Qe(e);return t?t.innerPath||"/dashboard":e}function Gu(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 ag(e){let t=Gu(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 Bu(e){let t=ag(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function SP(e){return Bu(e)!==null}var vP=[/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=Gu(e);return t?vP.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 cg(e){let t=Bu(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=Gu(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 Y(){let e=Gn("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 lg=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function ug(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function AP(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 Nu(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:AP(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 Ku(){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:Nu(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 Ku();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 Bn(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(()=>{}),u;if(o)try{u=JSON.parse(o)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||o||`Platform API error ${s.status}`,d=new v(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(o?{rawText:o}:void 0),response:s,endpoint:e});throw s.status===402&&(d=we(Object.assign(d,{response:s,status:s.status,data:u}))),d}return u}function Hu(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 CP(e,t){return e.external_id?`${Y()}/p/${e.external_id}/${t}`:null}async function RP(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function pg(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:Nu(r,s,o),created:!0}}async function TP(){return(await Te().catch(()=>null))?.sandbox??null}async function IP(e){return{sandbox:(await pg(e)).sandbox}}async function EP(e){let t=vt(e);return t?(await Te(t).catch(()=>null))?.sandbox??null:null}async function jP(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 $P(e){let t=vt(e);return(await Ku().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function MP(){if(typeof window>"u")return null;let e=Y(),t=Array.from(new Set([e,...lg]));for(let n of t)try{let r=await fetch(ug(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 DP(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 qP(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 OP(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function UP(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Wu(e,t,n){let r=Hu(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 FP(e,t){return Wu(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function LP(e,t,n,r="member"){await Wu(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function GP(e,t,n){await Wu(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function BP(e){let t=await Bn(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function NP(e){let t=await Bn(`/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 KP(e){let t=await Bn(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function HP(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function WP(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function zP(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function VP(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function JP(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function XP(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var dg=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function QP(e){return dg.includes(e)}async function YP(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 ZP(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 gg(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function gg(e){let t=e?`?channel=${e}`:"",n=await fetch(`${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 ek(){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 tk(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function nk(e){}async function rk(e){}async function sk(e){return{serverTypes:[],location:e||"hel1"}}async function ik(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function ok(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function ak(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function ck(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function lk(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function uk(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 Nn(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function zu(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 Kn(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function Hn(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 N(e,t,n){let r=n?.body!==void 0,s=await fetch(`${Nn(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:zu(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 Kn(s);if(!s.ok)throw new pe(Hn(s,o),s.status,o);return o}function pk(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 dk(e,t){return N(`/marketplace/items${pk(t)}`,e)}function gk(e){return N("/marketplace/marketplaces",e)}function mk(e,t){return N(`/marketplace/items/${encodeURIComponent(e)}`,t)}function fk(e,t,n){return N(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function yk(e,t){return N("/access/check-email",t,{method:"POST",body:{email:e}})}function hk(e,t){return N("/access/request-access",t,{method:"POST",body:e})}function bk(e){return N("/auth/logout",e,{method:"POST",body:{}})}function xk(e,t){return N(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function _k(e,t){return N("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function Pk(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function kk(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function wk(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/finalize`,t,{method:"POST",body:{}})}function Sk(e,t){return N(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function vk(e,t,n){return N(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function Ak(e,t){return N(`/p/public-share/${encodeURIComponent(e)}`,t)}function Ck(e,t,n){return N(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function Rk(e){return N("/system/maintenance",e)}function Tk(e,t){return N("/system/maintenance",t,{method:"PUT",body:e})}function Ik(e){return N("/user-roles",e)}function Ek(e,t){return N("/system/demo-request",t,{method:"POST",body:e})}async function jk(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(`${Nn(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:zu(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await Kn(s);throw new pe(Hn(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 $k(e,t){let n=await fetch(`${Nn(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:zu(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await Kn(n);throw new pe(Hn(n,r),n.status,r)}if(!n.body)throw new pe("No response body",n.status,null);return n.body}var Mk=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function mg(e,t){return Mk.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${Nn(e)}/`):null}async function Dk(e,t,n){let r=mg(e,t);if(!r)throw new pe("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await Kn(s);if(!s.ok)throw new pe(Hn(s,o),s.status,o);return o}async function qk(){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 Ok(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 Uk(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 Fk(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 Lk(){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 fg="/kortix/part/";function yg(e){return typeof e=="string"&&e.startsWith(fg)}async function Gk(e){if(!yg(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 hg(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 Bk(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 Vu(e,t){return Bk(e,t)?(t?hg(t):null)??hg(e):null}function Ju(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 Xu(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function bg(e,t={}){let n=Vu(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 Nk(e,t={}){if(Ju(e)){let n=await je();return n?Xu(e,n):e}return await bg(e,t),e}var Kk=3e3;function xg(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 Hk(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 xg(o.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function Qu(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Wk(e,t){return`${Qu(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function zk(e,t){return`${Qu(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function _g(e,t){return`${Qu(e)}/presentation/convert-to-${t}`}async function Vk(e,t,n,r){let s=_g(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,T)=>{let E=setTimeout(k,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(E),T(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 Jk(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 Xk(e){return e==="unreachable"}var Qk=6e4,Yk=45e3,Zk=45e3,ew=1e4,tw=3e3,nw=15e3;function rw(e,t){return t?t.serverAtMs!=null&&e.serverAtMs!=null?e.serverAtMs>=t.serverAtMs:e.atMs>=t.atMs:!0}function sw(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 Yu(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function iw(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,y=d?t.atMs:Number.NEGATIVE_INFINITY,x=!!n&&p-n.atMs<15e3,_=x?n.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,k=!!s&&p-s.atMs<=45e3,T=!!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),A=B=>{if(!l)return!1;let O=Yu(B.started_at);return!(O===null||O>=l.atMs)};if(c)return{state:"working",source:"stream",turnId:null,since:u.atMs,serverOpenTurnToken:s?.turns[0]?.turn_token??null};let R=s?.turns[0]?.turn_token??null,$=k?s.turns.find(B=>!A(B)):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:Yu($.started_at)??s.atMs,serverOpenTurnToken:R};if(E&&r.pending>0)return{state:"working",source:"server",turnId:d?f:null,since:r.atMs,serverOpenTurnToken:R};let D=r?.drainedAtMs;if(E&&r.pending===0&&D!=null&&!x&&!(k&&s.atMs>=D))return{state:"working",source:"server",turnId:null,since:D,serverOpenTurnToken:R};let J=k&&!$&&s.atMs>=m,h=T&&o.atMs>=y;if(J&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:Yu(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:R};if(h)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 I=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:I.source,turnId:null,since:I.atMs,serverOpenTurnToken:R}}function ow(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 aw=6e4;function cw(e){return e.serverCompactingAtMs!==null?!0:e.optimisticAtMs===null?!1:e.nowMs-e.optimisticAtMs<6e4}function lw(e){if(e.serverCompactingAtMs!==null||e.optimisticAtMs===null)return null;let t=e.optimisticAtMs+6e4;return t>e.nowMs?t:null}var Pg=9e4;function uw(e){return e.serverCompactingAtMs===null?null:e.serverCompactingAtMs+Pg}var pw=75e3,dw=2,gw=2e4;function Zu(){return{status:"idle",dispatch:"none",fingerprint:null,lastProgressAtMs:null,lastDispatchAtMs:null,attempts:[],msSinceProgress:0,settled:!1}}function mw(e){return e.filter(t=>t!=null).join("|")}function fw(e,t){return e.length===0?"retry-start":e.filter(r=>r.step==="restart").length<t?"restart":null}function yw(e,t,n={}){let r=n.noProgressMs??75e3,s=n.maxRestarts??2,o=n.cooldownMs??2e4;if(t.runtimeReachable)return{...Zu(),settled:!0};if(!t.waking)return{...e,dispatch:"none",fingerprint:null,lastProgressAtMs:null,msSinceProgress:0};if(e.settled)return{...Zu(),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),y={...e,dispatch:"none",fingerprint:t.progress,lastProgressAtMs:f,msSinceProgress:m,status:e.attempts.length>0?"escalating":"waking"};if(e.status==="exhausted")return{...y,status:"exhausted"};let x=!p&&!d&&m>=r;if(!t.serverGaveUp&&!x||e.lastDispatchAtMs!==null&&t.nowMs-e.lastDispatchAtMs<o)return y;let _=fw(e.attempts,s);return _?{...y,status:"escalating",dispatch:_,attempts:[...e.attempts,{step:_,atMs:t.nowMs}],lastDispatchAtMs:t.nowMs,lastProgressAtMs:t.nowMs,msSinceProgress:0}:{...y,status:"exhausted"}}var hw={"retry-start":"retrying",restart:"restarting"};function bw(e){if(e.status!=="escalating")return null;let t=e.attempts[e.attempts.length-1];return t?`Still waking \u2014 ${hw[t.step]} the runtime (attempt ${e.attempts.length+1})`:null}function xw(e){return e===1?"once":e===2?"twice":`${e} times`}function _w(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 ${xw(t)}`),`Tried: ${r.join(", then ")}.`}var Pw=1e3,kw=15e3,kg=100,ww=50,Sw=10;function wg(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 v(`Session synchronization failed: ${d.status}`,{status:d.status});return{messages:await d.json(),nextCursor:d.headers.get("x-next-cursor")||void 0}}}function Sg(e){return vw(wg(e))}function vg(e){return new ep({...e,loadPage:wg(e)})}async function vw(e){let t=[],n=new Set,r;do{let u=await e({limit:kg,...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 Aw={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},ep=class{options;scheduler;livenessIntervalMs;verifyIntervalMs;lastTailReadAt;retryAttempt=0;tailUnavailable=!1;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??Aw,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,this.tailUnavailable=!1}catch(n){if(this.destroyed||Fu(n)||this.abortController.signal.aborted)return;if(this.update({freshness:St(n)?"loading":"error"}),n instanceof v&&(n.status===404||n.status===410)){this.tailUnavailable=!0,this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0;return}this.scheduleTailRetry(t)}}scheduleTailRetry(t){if(this.destroyed||this.tailRetryTimer!==void 0)return;let n=Math.min(Pw*2**this.retryAttempt,kw);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"?ww:kg,...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 y of t.messages)y.info.role==="user"&&p.add(y.info.id);for(;f&&m<Sw&&u.some(y=>y.info.role==="assistant"&&!!y.info.parentID&&!p.has(y.info.parentID));){if(d.has(f))throw new Error(`Session history cursor repeated: ${f}`);d.add(f);let y;try{y=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(...y.messages);for(let x of y.messages)x.info.role==="user"&&p.add(x.info.id);f=y.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||this.tailUnavailable)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 Ag(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Cg(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,y=!1;function x(l,b){o?.(l,b);let c=f.get(l);if(c)for(let A of c)try{A(b)}catch{}}async function _(){if(y)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 A=c.body.getReader(),S=new TextDecoder,R="",$="message",q="";for(;!y;){let{done:D,value:Z}=await A.read();if(D)break;R+=S.decode(Z,{stream:!0});let J=R.split(`
|
|
75
|
+
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,u=r.length;for(;o>s&&u>s&&n[o-1]===r[u-1];)o--,u--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<u;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function iP(e){let t=G(e.input?.oldString),n=G(e.input?.newString),r=t!==void 0&&n!==void 0?sP(t,n):void 0;return{kind:"file-edit",path:Fu(e),diff:r}}var tg=/^Found\s+(\d+)\s+match/i,oP=/^(\/[^:]+?):\s*/,eg=/Line\s+(\d+):/g;function aP(e){let t=e.trim(),n=t.match(tg),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(oP);if(!p)continue;let d=p[1],f=u.slice(p[0].length),m=[],y;for(eg.lastIndex=0;(y=eg.exec(f))!==null;)m.push({line:Number(y[1]),contentStart:y.index+y[0].length,headerStart:y.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 cP(e){return e.trim().split(`
|
|
76
|
+
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function lP(e){let t=G(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=tg.test(e.output.trim())?aP(e.output):cP(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function uP(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 Ou(e){let t=Xe(e)??{};return{content:G(t.content)??"",status:G(t.status)??"pending",priority:G(t.priority)}}function pP(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Ou)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Ou)};let n=Xe(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Ou)}:{kind:"todo",items:[]}}function dP(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 gP(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 ng(e){switch(xt(e.name)){case"web_search":case"websearch":case"image_search":return z_(e);case"bash":return eP(e);case"read":return tP(e);case"write":return nP(e);case"edit":case"morph_edit":return iP(e);case"grep":case"glob":return lP(e);case"task":return uP(e);case"todowrite":return pP(e);case"question":case"ask":return dP(e);default:return gP(e)}}var mP=new Set(["AbortError","MessageAbortedError"]),fP=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],yP=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function rg(e){let t=e.toLowerCase();return yP.some(n=>t.includes(n))?!1:fP.some(n=>t.includes(n))}function hP(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 Lu(e){if(typeof e=="string")return rg(e);if(!e||typeof e!="object")return!1;let t=e,n=t.name;if(typeof n=="string"&&mP.has(n))return!0;let r=hP(t);return typeof r=="string"?rg(r):!1}var sg=["user","runtime-disposed","orphan-finalized","wake"],bP=["orphan-finalized","wake"];function xP(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 sg.includes(n)?n:void 0}function Gn(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function _P(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 Gu(e,t,n){return e!==void 0?e:_P(Gn(t),n)}var kP={get disableMobileAdvertising(){return Gu(j().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Gu(j().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Gu(j().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var kt="kortix-active-instance",ig=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function og(e){return ig.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 wP(e){let t=Qe(e);return!!t&&t.innerPath===""}function SP(e){let t=Qe(e);return!t||!t.innerPath?e:t.innerPath}function ag(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 og(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function cg(e){return e?Qe(e)?.instanceId??null:null}function vP(){return typeof window>"u"?null:cg(window.location.pathname)||lg()}function lg(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${kt}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function AP(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 CP(e,t){return t?ag(t,e):e}function RP(e){let t=Qe(e);return t?t.innerPath||"/dashboard":e}function Bu(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 ug(e){let t=Bu(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 Nu(e){let t=ug(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function TP(e){return Nu(e)!==null}var IP=[/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=Bu(e);return t?IP.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 pg(e){let t=Nu(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=Bu(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 Y(){let e=Gn("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 dg=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function gg(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function EP(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 Ku(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:EP(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 Hu(){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:Ku(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 Hu();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 Bn(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(()=>{}),u;if(o)try{u=JSON.parse(o)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||o||`Platform API error ${s.status}`,d=new v(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(o?{rawText:o}:void 0),response:s,endpoint:e});throw s.status===402&&(d=we(Object.assign(d,{response:s,status:s.status,data:u}))),d}return u}function Wu(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 jP(e,t){return e.external_id?`${Y()}/p/${e.external_id}/${t}`:null}async function $P(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function mg(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:Ku(r,s,o),created:!0}}async function MP(){return(await Te().catch(()=>null))?.sandbox??null}async function DP(e){return{sandbox:(await mg(e)).sandbox}}async function qP(e){let t=vt(e);return t?(await Te(t).catch(()=>null))?.sandbox??null:null}async function OP(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 UP(e){let t=vt(e);return(await Hu().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function FP(){if(typeof window>"u")return null;let e=Y(),t=Array.from(new Set([e,...dg]));for(let n of t)try{let r=await fetch(gg(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 LP(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 GP(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 BP(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function NP(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function zu(e,t,n){let r=Wu(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 KP(e,t){return zu(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function HP(e,t,n,r="member"){await zu(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function WP(e,t,n){await zu(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function zP(e){let t=await Bn(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function VP(e){let t=await Bn(`/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 Bn(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function XP(e){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 YP(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function ZP(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function ek(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function tk(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var fg=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function nk(e){return fg.includes(e)}async function rk(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 sk(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 yg(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function yg(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 ik(){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 ok(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function ak(e){}async function ck(e){}async function lk(e){return{serverTypes:[],location:e||"hel1"}}async function uk(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function pk(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function dk(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function gk(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function mk(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function fk(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 Nn(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Vu(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 Kn(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function Hn(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 N(e,t,n){let r=n?.body!==void 0,s=await fetch(`${Nn(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Vu(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 Kn(s);if(!s.ok)throw new pe(Hn(s,o),s.status,o);return o}function yk(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 hk(e,t){return N(`/marketplace/items${yk(t)}`,e)}function bk(e){return N("/marketplace/marketplaces",e)}function xk(e,t){return N(`/marketplace/items/${encodeURIComponent(e)}`,t)}function _k(e,t,n){return N(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function Pk(e,t){return N("/access/check-email",t,{method:"POST",body:{email:e}})}function kk(e,t){return N("/access/request-access",t,{method:"POST",body:e})}function wk(e){return N("/auth/logout",e,{method:"POST",body:{}})}function Sk(e,t){return N(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function vk(e,t){return N("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function Ak(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function Ck(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function Rk(e,t){return N(`/setup-links/connectors/${encodeURIComponent(e)}/finalize`,t,{method:"POST",body:{}})}function Tk(e,t){return N(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function Ik(e,t,n){return N(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function Ek(e,t){return N(`/p/public-share/${encodeURIComponent(e)}`,t)}function jk(e,t,n){return N(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function $k(e){return N("/system/maintenance",e)}function Mk(e,t){return N("/system/maintenance",t,{method:"PUT",body:e})}function Dk(e){return N("/user-roles",e)}function qk(e,t){return N("/system/demo-request",t,{method:"POST",body:e})}async function Ok(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(`${Nn(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Vu(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await Kn(s);throw new pe(Hn(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 Uk(e,t){let n=await fetch(`${Nn(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Vu(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await Kn(n);throw new pe(Hn(n,r),n.status,r)}if(!n.body)throw new pe("No response body",n.status,null);return n.body}var Fk=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function hg(e,t){return Fk.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${Nn(e)}/`):null}async function Lk(e,t,n){let r=hg(e,t);if(!r)throw new pe("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await Kn(s);if(!s.ok)throw new pe(Hn(s,o),s.status,o);return o}async function Gk(){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 Bk(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 Nk(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 Kk(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 Hk(){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 bg="/kortix/part/";function xg(e){return typeof e=="string"&&e.startsWith(bg)}async function Wk(e){if(!xg(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 _g(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 zk(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 Ju(e,t){return zk(e,t)?(t?_g(t):null)??_g(e):null}function Xu(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 Qu(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function Pg(e,t={}){let n=Ju(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 Vk(e,t={}){if(Xu(e)){let n=await je();return n?Qu(e,n):e}return await Pg(e,t),e}var Jk=3e3;function kg(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 Xk(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 kg(o.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function Yu(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Qk(e,t){return`${Yu(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function Yk(e,t){return`${Yu(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function wg(e,t){return`${Yu(e)}/presentation/convert-to-${t}`}async function Zk(e,t,n,r){let s=wg(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,T)=>{let E=setTimeout(k,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(E),T(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 ew(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 tw(e){return e==="unreachable"}var nw=6e4,rw=45e3,sw=45e3,iw=1e4,ow=3e3,aw=15e3;function cw(e,t){return t?t.serverAtMs!=null&&e.serverAtMs!=null?e.serverAtMs>=t.serverAtMs:e.atMs>=t.atMs:!0}function lw(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 Zu(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function uw(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,y=d?t.atMs:Number.NEGATIVE_INFINITY,x=!!n&&p-n.atMs<15e3,_=x?n.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,k=!!s&&p-s.atMs<=45e3,T=!!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),A=B=>{if(!l)return!1;let O=Zu(B.started_at);return!(O===null||O>=l.atMs)};if(c)return{state:"working",source:"stream",turnId:null,since:u.atMs,serverOpenTurnToken:s?.turns[0]?.turn_token??null};let R=s?.turns[0]?.turn_token??null,$=k?s.turns.find(B=>!A(B)):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:Zu($.started_at)??s.atMs,serverOpenTurnToken:R};if(E&&r.pending>0)return{state:"working",source:"server",turnId:d?f:null,since:r.atMs,serverOpenTurnToken:R};let D=r?.drainedAtMs;if(E&&r.pending===0&&D!=null&&!x&&!(k&&s.atMs>=D))return{state:"working",source:"server",turnId:null,since:D,serverOpenTurnToken:R};let J=k&&!$&&s.atMs>=m,h=T&&o.atMs>=y;if(J&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:Zu(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:R};if(h)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 I=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:I.source,turnId:null,since:I.atMs,serverOpenTurnToken:R}}function pw(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 dw=6e4;function gw(e){return e.serverCompactingAtMs!==null?!0:e.optimisticAtMs===null?!1:e.nowMs-e.optimisticAtMs<6e4}function mw(e){if(e.serverCompactingAtMs!==null||e.optimisticAtMs===null)return null;let t=e.optimisticAtMs+6e4;return t>e.nowMs?t:null}var Sg=9e4;function fw(e){return e.serverCompactingAtMs===null?null:e.serverCompactingAtMs+Sg}var yw=75e3,hw=2,bw=2e4;function ep(){return{status:"idle",dispatch:"none",fingerprint:null,lastProgressAtMs:null,lastDispatchAtMs:null,attempts:[],msSinceProgress:0,settled:!1}}function xw(e){return e.filter(t=>t!=null).join("|")}function _w(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{...ep(),settled:!0};if(!t.waking)return{...e,dispatch:"none",fingerprint:null,lastProgressAtMs:null,msSinceProgress:0};if(e.settled)return{...ep(),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),y={...e,dispatch:"none",fingerprint:t.progress,lastProgressAtMs:f,msSinceProgress:m,status:e.attempts.length>0?"escalating":"waking"};if(e.status==="exhausted")return{...y,status:"exhausted"};let x=!p&&!d&&m>=r;if(!t.serverGaveUp&&!x||e.lastDispatchAtMs!==null&&t.nowMs-e.lastDispatchAtMs<o)return y;let _=_w(e.attempts,s);return _?{...y,status:"escalating",dispatch:_,attempts:[...e.attempts,{step:_,atMs:t.nowMs}],lastDispatchAtMs:t.nowMs,lastProgressAtMs:t.nowMs,msSinceProgress:0}:{...y,status:"exhausted"}}var kw={"retry-start":"retrying",restart:"restarting"};function ww(e){if(e.status!=="escalating")return null;let t=e.attempts[e.attempts.length-1];return t?`Still waking \u2014 ${kw[t.step]} the runtime (attempt ${e.attempts.length+1})`:null}function Sw(e){return e===1?"once":e===2?"twice":`${e} times`}function vw(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 ${Sw(t)}`),`Tried: ${r.join(", then ")}.`}var Aw=1e3,Cw=15e3,vg=100,Rw=50,Tw=10;function Ag(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 v(`Session synchronization failed: ${d.status}`,{status:d.status});return{messages:await d.json(),nextCursor:d.headers.get("x-next-cursor")||void 0}}}function Cg(e){return Iw(Ag(e))}function Rg(e){return new tp({...e,loadPage:Ag(e)})}async function Iw(e){let t=[],n=new Set,r;do{let u=await e({limit:vg,...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 Ew={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},tp=class{options;scheduler;livenessIntervalMs;verifyIntervalMs;lastTailReadAt;retryAttempt=0;tailUnavailable=!1;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??Ew,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,this.tailUnavailable=!1}catch(n){if(this.destroyed||Lu(n)||this.abortController.signal.aborted)return;if(this.update({freshness:St(n)?"loading":"error"}),n instanceof v&&(n.status===404||n.status===410)){this.tailUnavailable=!0,this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0;return}this.scheduleTailRetry(t)}}scheduleTailRetry(t){if(this.destroyed||this.tailRetryTimer!==void 0)return;let n=Math.min(Aw*2**this.retryAttempt,Cw);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"?Rw:vg,...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 y of t.messages)y.info.role==="user"&&p.add(y.info.id);for(;f&&m<Tw&&u.some(y=>y.info.role==="assistant"&&!!y.info.parentID&&!p.has(y.info.parentID));){if(d.has(f))throw new Error(`Session history cursor repeated: ${f}`);d.add(f);let y;try{y=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(...y.messages);for(let x of y.messages)x.info.role==="user"&&p.add(x.info.id);f=y.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||this.tailUnavailable)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 Tg(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Ig(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,y=!1;function x(l,b){o?.(l,b);let c=f.get(l);if(c)for(let A of c)try{A(b)}catch{}}async function _(){if(y)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 A=c.body.getReader(),S=new TextDecoder,R="",$="message",q="";for(;!y;){let{done:D,value:Z}=await A.read();if(D)break;R+=S.decode(Z,{stream:!0});let J=R.split(`
|
|
77
77
|
`);R=J.pop()||"";for(let h of J)h===""?q&&(x($,q.trimEnd()),$="message",q=""):h.startsWith("event: ")?$=h.slice(7).trim():h.startsWith("data: ")?q+=(q?`
|
|
78
78
|
`:"")+h.slice(6):h.startsWith("data:")&&(q+=(q?`
|
|
79
|
-
`:"")+h.slice(5))}}catch(b){if(y||b instanceof DOMException&&b.name==="AbortError")return;p?.(b instanceof Error?b:new Error(String(b)))}}function k(){y=!0,m?.abort(),m=null,f.clear()}function T(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:T,removeEventListener:E}}function
|
|
79
|
+
`:"")+h.slice(5))}}catch(b){if(y||b instanceof DOMException&&b.name==="AbortError")return;p?.(b instanceof Error?b:new Error(String(b)))}}function k(){y=!0,m?.abort(),m=null,f.clear()}function T(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:T,removeEventListener:E}}function jw(e,t){return Ig({...t,url:Tg(e)})}var $w="/_kortix/viewer";var Wn=new Map;function Eg(){Wn.clear()}async function Mw(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 np(e={}){let t=e.path??$w,n=e.fetch??((o,u)=>fetch(o,u)),r=Wn.get(t);if(r&&!r.inflight&&r.expiresAt>Date.now())return r.session;if(r?.inflight)return r.inflight;let s=Mw(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 Wn.set(t,{session:o,expiresAt:p}),o});return Wn.set(t,{session:r?.session??null,expiresAt:0,inflight:s}),s}function jg(e={}){return async()=>(await np(e))?.access_token??null}return Ug(Dw);})();
|