@kortix/sdk 0.12.2 → 0.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/browser/cache/idb-sync-cache.d.ts.map +1 -1
  2. package/dist/browser/cache/idb-sync-cache.js +26 -8
  3. package/dist/browser/cache/idb-sync-cache.js.map +1 -1
  4. package/dist/browser/stores/sync-store.d.ts +12 -0
  5. package/dist/browser/stores/sync-store.d.ts.map +1 -1
  6. package/dist/browser/stores/sync-store.js +193 -40
  7. package/dist/browser/stores/sync-store.js.map +1 -1
  8. package/dist/core/client/kortix.d.ts +18 -0
  9. package/dist/core/client/kortix.d.ts.map +1 -1
  10. package/dist/core/client/kortix.js +12 -0
  11. package/dist/core/client/kortix.js.map +1 -1
  12. package/dist/core/files/client.d.ts +10 -0
  13. package/dist/core/files/client.d.ts.map +1 -1
  14. package/dist/core/files/client.js +52 -1
  15. package/dist/core/files/client.js.map +1 -1
  16. package/dist/core/http/api-client.d.ts +16 -0
  17. package/dist/core/http/api-client.d.ts.map +1 -1
  18. package/dist/core/http/api-client.js +32 -1
  19. package/dist/core/http/api-client.js.map +1 -1
  20. package/dist/core/http/auth.d.ts +7 -0
  21. package/dist/core/http/auth.d.ts.map +1 -1
  22. package/dist/core/http/auth.js +4 -2
  23. package/dist/core/http/auth.js.map +1 -1
  24. package/dist/core/rest/projects-client/access.d.ts +2 -2
  25. package/dist/core/rest/projects-client/access.d.ts.map +1 -1
  26. package/dist/core/rest/projects-client/projects.d.ts +1 -1
  27. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  28. package/dist/core/rest/projects-client/projects.js.map +1 -1
  29. package/dist/core/rest/projects-client/sessions.d.ts +94 -0
  30. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  31. package/dist/core/rest/projects-client/sessions.js +30 -0
  32. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  33. package/dist/core/rest/projects-client/setup-links.d.ts +2 -0
  34. package/dist/core/rest/projects-client/setup-links.d.ts.map +1 -1
  35. package/dist/core/rest/projects-client/setup-links.js.map +1 -1
  36. package/dist/core/runtime/client.d.ts +19 -5
  37. package/dist/core/runtime/client.d.ts.map +1 -1
  38. package/dist/core/runtime/client.js +53 -11
  39. package/dist/core/runtime/client.js.map +1 -1
  40. package/dist/core/session/message-queue.d.ts +114 -0
  41. package/dist/core/session/message-queue.d.ts.map +1 -0
  42. package/dist/core/session/message-queue.js +155 -0
  43. package/dist/core/session/message-queue.js.map +1 -0
  44. package/dist/core/session/send-queue.d.ts +70 -0
  45. package/dist/core/session/send-queue.d.ts.map +1 -0
  46. package/dist/core/session/send-queue.js +116 -0
  47. package/dist/core/session/send-queue.js.map +1 -0
  48. package/dist/kortix.esm.min.js +15 -15
  49. package/dist/kortix.global.js +15 -15
  50. package/dist/react/index.d.ts +1 -1
  51. package/dist/react/index.d.ts.map +1 -1
  52. package/dist/react/index.js +1 -1
  53. package/dist/react/index.js.map +1 -1
  54. package/dist/react/use-model-defaults.d.ts.map +1 -1
  55. package/dist/react/use-model-defaults.js +27 -0
  56. package/dist/react/use-model-defaults.js.map +1 -1
  57. package/dist/react/use-session-send.d.ts +21 -0
  58. package/dist/react/use-session-send.d.ts.map +1 -1
  59. package/dist/react/use-session-send.js +28 -0
  60. package/dist/react/use-session-send.js.map +1 -1
  61. package/dist/react/use-session.d.ts.map +1 -1
  62. package/dist/react/use-session.js +35 -0
  63. package/dist/react/use-session.js.map +1 -1
  64. package/package.json +9 -5
@@ -1,11 +1,11 @@
1
- "use strict";var Kortix=(()=>{var fn=Object.defineProperty;var Uu=Object.getOwnPropertyDescriptor;var Ou=Object.getOwnPropertyNames;var Lu=Object.prototype.hasOwnProperty;var Fu=(e,t)=>{for(var n in t)fn(e,n,{get:t[n],enumerable:!0})},Gu=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ou(t))!Lu.call(e,s)&&s!==n&&fn(e,s,{get:()=>t[s],enumerable:!(r=Uu(t,s))||r.enumerable});return e};var Bu=e=>Gu(fn({},"__esModule",{value:!0}),e);var Dx={};Fu(Dx,{ACTIVE_INSTANCE_COOKIE:()=>ut,ApiError:()=>A,AuthError:()=>ve,BillingError:()=>fe,COST_MARKUP:()=>wc,DEFAULT_TRANSCRIPT_OPTIONS:()=>bc,DESTRUCTIVE_PHASES:()=>vu,FEATURE_NOT_SUPPORTED_CODE:()=>ul,HostBoundaryError:()=>re,INSTANCE_SCOPED_ROUTES:()=>mu,PublicSessionShareError:()=>Yt,PublicVoiceJoinError:()=>Zt,RequestTooLargeError:()=>Ce,RuntimeNotReadyError:()=>vt,SANDBOX_FS_ROOTS:()=>Tt,SANDBOX_PORTS:()=>te,SessionNotReadyError:()=>it,SessionStartError:()=>Vt,__getConfigResolver:()=>zu,__setConfigResolver:()=>Hu,acceptAccountInvite:()=>us,acceptInvite:()=>Tb,actReviewItem:()=>Ba,activateConnectionProfile:()=>ug,activateConnectorAuthorization:()=>Bt,addGroupMembers:()=>em,addMarketplaceSource:()=>gc,addSandboxMember:()=>yb,allDescendantIds:()=>su,appendPreviewToken:()=>Rx,approveProjectAccessRequest:()=>Ms,approveTask:()=>kp,archiveProject:()=>Dt,assignTicket:()=>Ip,attachGroupToProject:()=>Ns,authenticatedFetch:()=>E,backendApi:()=>i,bindSlackIdentity:()=>Dg,bindTeamsIdentity:()=>Mg,buildInstancePath:()=>yu,buildPresentationTemplateImageUrl:()=>Ax,buildPresentationTemplatePdfUrl:()=>Ix,buildPreviewAuthEndpoint:()=>$c,buildPublicTemplateUrl:()=>Ru,buildRuntimePresentationConversionUrl:()=>Iu,buildSandboxTemplate:()=>Oi,buildStaticFileHealthPreviewUrl:()=>Uf,buildStaticFileLocalUrl:()=>Mf,buildStaticFilePreviewUrl:()=>Df,buildStaticFileServicePath:()=>Ml,buildTunnelEventStreamUrl:()=>qu,buildWebProxyUrl:()=>Bf,bulkActReviewItems:()=>Ka,bulkDeletePolicies:()=>lm,bulkImportPolicies:()=>um,cancelAccountDeletion:()=>tf,cancelAccountInvite:()=>as,cancelSandbox:()=>gb,cancelSandboxUpdate:()=>Bb,cancelScheduledChange:()=>Xo,cancelSubscription:()=>Vo,checkAccessEmail:()=>tx,childMapByParent:()=>ah,claimComputer:()=>Wb,claimPerSeatBilling:()=>Ag,claimWarmProjectSession:()=>fo,classifyPart:()=>Pc,classifyTurn:()=>Xl,clearModelDefault:()=>$o,clearSessionFresh:()=>yg,closeChangeRequest:()=>no,closeMilestone:()=>rd,collectTurnParts:()=>rh,commentTicket:()=>jp,commitSessionChanges:()=>io,computeStatusFromPart:()=>_c,configureAutoTopup:()=>ta,configureKortix:()=>ft,confirmCheckoutSession:()=>No,connectEmail:()=>ya,connectSlack:()=>aa,convertPresentationToGoogleSlides:()=>gf,convertRuntimePresentation:()=>jx,copyFile:()=>Qe,costExportUrl:()=>ra,createAccount:()=>ts,createAccountAuditWebhook:()=>nc,createAccountToken:()=>Va,createAuditWebhook:()=>zm,createBackup:()=>jb,createCheckoutSession:()=>zo,createConnector:()=>Pi,createFile:()=>Je,createGatewayKey:()=>Da,createGroup:()=>Qg,createHttpSessionSyncController:()=>$u,createInstance:()=>Hb,createKortix:()=>zl,createKortixPty:()=>Kr,createMarketplaceInstallSession:()=>xf,createMilestone:()=>td,createPerSeatCheckout:()=>Ig,createPolicy:()=>om,createPortalSession:()=>Wo,createProject:()=>Ps,createProjectAgent:()=>Gp,createProjectCliToken:()=>Xa,createProjectRepo:()=>ks,createProjectResourceGrant:()=>Qs,createProjectSession:()=>De,createProjectTrigger:()=>vo,createRole:()=>ym,createSSEStream:()=>Du,createSandbox:()=>ob,createSandboxShare:()=>za,createSandboxTemplate:()=>Di,createScimToken:()=>_m,createServiceAccountApi:()=>Gm,createSessionPublicShare:()=>po,createSsoGroupMapping:()=>Em,createTask:()=>bp,createTicket:()=>Cp,createTunnelEventStream:()=>qx,declineAccountInvite:()=>ps,declineInvite:()=>Ib,deleteAccountImmediately:()=>nf,deleteAuditWebhook:()=>Wm,deleteBackup:()=>$b,deleteConnector:()=>_i,deleteCredential:()=>ud,deleteEnv:()=>Gr,deleteFile:()=>Xe,deleteGatewayBudget:()=>$a,deleteGitHubInstallation:()=>qs,deleteGroup:()=>Yg,deleteInstance:()=>zb,deleteKortixProject:()=>Qp,deleteMilestone:()=>id,deletePersonalProjectSecret:()=>li,deletePolicy:()=>cm,deleteProjectAgent:()=>Kp,deleteProjectResourceGrant:()=>Xs,deleteProjectSecret:()=>ai,deleteProjectSession:()=>Po,deleteProjectTrigger:()=>Ro,deleteRole:()=>xm,deleteSandboxTemplate:()=>Ui,deleteServiceAccountApi:()=>Km,deleteSsoGroupMapping:()=>$m,deleteSsoProvider:()=>Am,deleteTask:()=>_p,deleteTicket:()=>Ep,describeAccountInvite:()=>ls,detachGroupFromProject:()=>Vs,detectLocalhostUrls:()=>ql,disableServiceAccountApi:()=>Bm,disconnectEmail:()=>ha,disconnectGitHubApp:()=>Sx,disconnectSlack:()=>ua,discoverConnectionProfileOAuth2:()=>sg,discoverConnectorAuth:()=>ki,discoverConnectorAuthorizationOAuth2:()=>ml,discoverLocalSandbox:()=>ub,downloadAccountAudit:()=>yx,dropClientForUrl:()=>xd,dropPublicClientForUrl:()=>_d,ensurePmSession:()=>Lp,ensurePreviewSessionCookie:()=>Tx,ensureProjectConnectorAuthorization:()=>pl,ensureProjectConnectorProfile:()=>tg,ensureSandbox:()=>Su,ensureWarmProjectSession:()=>mo,env:()=>nl,exportAccountAudit:()=>ec,extractGatewayErrorDetails:()=>pe,extractInstanceRoute:()=>Ue,featureFlags:()=>Vh,fetchAccountStateWithToken:()=>Rg,fetchAccountsWithToken:()=>Fd,fetchCostExportCsv:()=>qg,fetchProjectArchive:()=>Ki,fetchProjectsForAccountWithToken:()=>Nd,files:()=>cl,findFiles:()=>We,findLastTextPart:()=>sh,findText:()=>Ve,fireProjectTrigger:()=>Io,fixSandboxWithAgent:()=>qi,formatBillingErrorForUI:()=>tl,formatCost:()=>xh,formatDuration:()=>yh,formatOpenCodeRuntimeError:()=>ku,formatRuntimeError:()=>ku,formatTokens:()=>Ph,formatTranscript:()=>Wl,generateSessionId:()=>Nl,getAccount:()=>ns,getAccountDeletionStatus:()=>Zm,getAccountState:()=>Oo,getAccountStateMinimal:()=>Lo,getActiveInstanceIdFromCookie:()=>bu,getAdminProviderAnalytics:()=>cf,getAdminProviderDistribution:()=>sf,getAdminProviderFallback:()=>uf,getAdminRole:()=>rf,getAgentCardLabel:()=>ru,getAgentConfig:()=>Sg,getAgentPersona:()=>Hp,getAllVersions:()=>Lb,getAnsweredQuestionParts:()=>oh,getApprovalLink:()=>bf,getAuthToken:()=>ge,getAuthTokenWithRetry:()=>Mr,getAutoTopupSettings:()=>ea,getAutoTopupSetupStatus:()=>Tg,getBillingCreditBreakdown:()=>Bo,getBillingTierConfigurations:()=>Ho,getBillingTransactionsSummary:()=>Go,getBillingUsageHistory:()=>Ko,getChangeRequest:()=>Xi,getChangeRequestDiff:()=>Yi,getChangeRequestMergePreview:()=>Zi,getChildSessionError:()=>Wy,getChildSessionId:()=>Ny,getChildSessionToolParts:()=>Vy,getClient:()=>oe,getClientForUrl:()=>ee,getConnectStatus:()=>Ci,getConnectionPolicies:()=>mg,getConnectionProfileOAuth2Application:()=>rg,getConnectionProfileOAuth2Status:()=>cg,getConnectorAuthorizationOAuth2Application:()=>gl,getConnectorAuthorizationOAuth2Status:()=>bl,getConnectorConfig:()=>hi,getConnectorPolicies:()=>fi,getConnectorSetupLink:()=>ox,getCostSummary:()=>$g,getCurrentInstanceIdFromPathname:()=>hu,getCurrentInstanceIdFromWindow:()=>Xh,getCurrentProject:()=>Qr,getDefaultAccountState:()=>Uo,getDiagnostics:()=>Xy,getDirectory:()=>nu,getDiscoverIntegration:()=>vi,getEmailInstallation:()=>ma,getEmailMode:()=>fa,getEnterpriseDemo:()=>Xm,getFileStatus:()=>Ne,getFileWithDir:()=>kc,getFilename:()=>tu,getFullChangelog:()=>Cu,getGatewayBreakdown:()=>Ta,getGatewayBudgets:()=>ja,getGatewayErrors:()=>Aa,getGatewayKeys:()=>qa,getGatewayLog:()=>va,getGatewayOverview:()=>Ca,getGatewayRoutingPolicy:()=>Pa,getGatewaySeries:()=>Ra,getGatewaySessions:()=>Ia,getGitHubAppStatus:()=>Px,getGitHubInstallation:()=>Rs,getGoogleAuthUrl:()=>df,getGroup:()=>Jg,getHiddenToolParts:()=>Ky,getInvite:()=>Rb,getJustavpsServerTypes:()=>Kb,getKortixProject:()=>Wp,getKortixProjectBySession:()=>Vp,getKortixPtyWebSocketUrl:()=>Nr,getLatestSandboxVersion:()=>Ob,getMaintenanceConfig:()=>dx,getManagedGitStatus:()=>Kd,getMarketplaceCatalogItem:()=>uc,getMarketplaceCatalogItemFile:()=>pc,getMfaRequired:()=>Sm,getMilestone:()=>Zp,getModelDefaults:()=>jo,getOAuthConsentRequest:()=>sx,getOpenCodeConfigInvalidError:()=>Rc,getPartText:()=>Gy,getPatPolicy:()=>Om,getPermissionForTool:()=>Yy,getProject:()=>At,getProjectActivity:()=>zp,getProjectCommit:()=>Ni,getProjectCommitDiff:()=>Wi,getProjectDetail:()=>jt,getProjectFileHistory:()=>Vi,getProjectGitToken:()=>xs,getProjectLlmCatalog:()=>Et,getProjectLlmCatalogProviders:()=>Bd,getProjectModelPicker:()=>$t,getProjectSandboxHealth:()=>Nt,getProjectSandboxProviderTransition:()=>Hd,getProjectSession:()=>Wt,getProjectSessionScope:()=>ko,getProrationPreview:()=>Yo,getProviders:()=>sb,getProxyBaseUrl:()=>Of,getPublicClientForUrl:()=>kd,getPublicMarketplaceItem:()=>Zb,getPublicMarketplaceItemFile:()=>ex,getPublicSessionShare:()=>mf,getPublicSessionShareMessages:()=>ff,getPublicShareByToken:()=>ux,getPublicTemplate:()=>xx,getPublicVoiceJoin:()=>yf,getPublicVoiceTranscript:()=>hf,getQuestionForTool:()=>Zy,getReferralCode:()=>Bg,getReferralStats:()=>zg,getRetryInfo:()=>kh,getRetryMessage:()=>_h,getReviewItem:()=>Fa,getRolePermissions:()=>gm,getRoleUsage:()=>fm,getSSHConnection:()=>Db,getSandbox:()=>ib,getSandboxById:()=>ab,getSandboxMemberScopes:()=>kb,getSandboxPortUrl:()=>rb,getSandboxProvisionStatus:()=>Vb,getSandboxProvisionStreamUrl:()=>Jb,getSandboxUpdateStatus:()=>Ub,getSandboxUrl:()=>Ac,getSecretSetupLink:()=>cx,getServerHealth:()=>It,getServiceLogs:()=>fd,getSessionAudit:()=>yo,getSessionCost:()=>bh,getSessionCostRecord:()=>Xt,getSessionHealth:()=>fc,getSessionPolicy:()=>qm,getSessionPreviewCandidates:()=>lo,getSessionTranscript:()=>ho,getShellModePart:()=>lh,getSlackChannelFile:()=>pa,getSlackInstallation:()=>oa,getSlackManifest:()=>la,getSlackMode:()=>ca,getSsoProvider:()=>Rm,getStaticFileHealthPath:()=>Ul,getSupabaseAccessToken:()=>kt,getSupabaseAccessTokenWithRetry:()=>ie,getTask:()=>fp,getTaskStatus:()=>hp,getTemplate:()=>Pf,getTicket:()=>Sp,getToolInfo:()=>Jy,getTranscriptFilename:()=>Vl,getTurnCost:()=>hh,getTurnError:()=>gh,getTurnErrorDetails:()=>mh,getTurnStatus:()=>fh,getUsageRollup:()=>na,getUserRolesWithToken:()=>mx,getVersionDiff:()=>Ji,getViewerSandboxScopes:()=>Pb,getVoiceTranscript:()=>bo,getWorkingState:()=>ph,grantSandboxProjectAccess:()=>Sb,groupMessagesIntoTurns:()=>nh,hasDiffs:()=>wh,hasLocalhostUrls:()=>$f,hasPreviewTarget:()=>Dl,heartbeatGapEvent:()=>Bl,humanizeToolName:()=>sn,importSsoProviderFromMetadata:()=>Im,installTemplate:()=>kf,invalidateTokenCache:()=>Be,inviteAccountMember:()=>is,inviteProjectMember:()=>Gs,inviteRepoCollaborator:()=>hs,isAdminBypassEnabled:()=>Od,isAgentPart:()=>Uy,isAppRouteUrl:()=>$l,isAttachment:()=>Zl,isBillingError:()=>el,isCompactionPart:()=>Oy,isConfigured:()=>yt,isDestructivePhase:()=>Mb,isExternalUrl:()=>zf,isFilePart:()=>Yl,isInstanceDetailPath:()=>Jh,isInstanceScopedAppPath:()=>fu,isInternalLocalhostUrl:()=>Gf,isInviteSent:()=>Jd,isLastUserMessage:()=>uh,isManagedGithubProject:()=>Gd,isOpenCodeConfigInvalidError:()=>tb,isPatchPart:()=>Fy,isPreviewUrl:()=>Ff,isProxiableLocalhostUrl:()=>Ol,isReasoningPart:()=>an,isRuntimeReady:()=>_f,isServerReachable:()=>Xr,isSessionFresh:()=>ao,isSessionStartError:()=>bg,isShellMode:()=>iu,isSnapshotPart:()=>Ly,isSubdomainPreviewUrl:()=>Cx,isTextPart:()=>de,isToolPart:()=>ne,isToolPartHidden:()=>Hy,isUnderSandboxRoot:()=>Wr,isWebProxyUrl:()=>Hf,kortixPty:()=>sl,leaveAccount:()=>ms,linkGitHubInstallation:()=>$s,linkRepository:()=>Cs,listAccountAudit:()=>Za,listAccountAuditWebhooks:()=>tc,listAccountInvites:()=>os,listAccountMembers:()=>ss,listAccountSessions:()=>Mm,listAccountTokens:()=>Wa,listAccounts:()=>es,listActions:()=>mm,listAdminSandboxes:()=>of,listAgentIdentities:()=>dm,listAllConnectionProfiles:()=>Xd,listAllConnectorAuthorizations:()=>Ut,listAuditEvents:()=>Vm,listAuditWebhooks:()=>Hm,listBackups:()=>Ab,listBillingTransactions:()=>Fo,listChangeRequests:()=>Qi,listChannelBindings:()=>Lg,listColumns:()=>$p,listConnectionProfiles:()=>Qd,listConnectorAuthorizations:()=>Mt,listConnectors:()=>ui,listCostByProject:()=>Eg,listCredentialEvents:()=>ad,listCredentials:()=>od,listDiscoverIntegrations:()=>Si,listEnv:()=>Lr,listFeaturedMarketplaces:()=>lc,listFields:()=>Dp,listFiles:()=>ze,listGatewayLogs:()=>Sa,listGitHubInstallations:()=>Ts,listGitHubRepositories:()=>As,listGitHubRepositoryBranches:()=>js,listGroupMembers:()=>Zg,listGroupProjectGrants:()=>tm,listGroups:()=>Vg,listKortixProjectSessions:()=>Jp,listKortixProjects:()=>Np,listKortixPty:()=>Br,listLinkableGitHubInstallations:()=>Is,listMarketplaceCatalogItems:()=>ac,listMarketplaceSources:()=>dc,listMarketplaces:()=>cc,listMemberGroups:()=>rm,listMemberProjectAccess:()=>sm,listMilestoneEvents:()=>ed,listMilestones:()=>Yp,listPendingApprovals:()=>Ys,listPendingProjectInvites:()=>Bs,listPipedreamApps:()=>wi,listPolicies:()=>im,listProjectAccess:()=>Os,listProjectAccessRequests:()=>Ds,listProjectAgents:()=>Fp,listProjectBranches:()=>Hi,listProjectCliTokens:()=>Qa,listProjectCommits:()=>zi,listProjectFiles:()=>Fi,listProjectGroupGrants:()=>zs,listProjectPolicies:()=>Ii,listProjectResourceGrants:()=>Js,listProjectSandboxTemplates:()=>ji,listProjectSandboxes:()=>Li,listProjectSecrets:()=>ti,listProjectSessions:()=>qe,listProjectSnapshots:()=>Ei,listProjectTriggers:()=>So,listProjects:()=>xe,listProjectsForAccount:()=>ys,listPublicMarketplaceItems:()=>Xb,listPublicMarketplaces:()=>Yb,listReferrals:()=>Ng,listReviewItems:()=>La,listRoles:()=>pm,listSandboxMembers:()=>fb,listSandboxProjectMembers:()=>wb,listSandboxShares:()=>Ha,listSandboxes:()=>lb,listScimTokens:()=>km,listServiceAccountsApi:()=>Fm,listServiceTemplates:()=>md,listServices:()=>gd,listSessionCosts:()=>ia,listSessionPublicShares:()=>uo,listSessionsNeedingInput:()=>Zs,listSsoGroupMappings:()=>jm,listTaskEvents:()=>yp,listTasks:()=>mp,listTemplates:()=>Up,listTicketEvents:()=>vp,listTickets:()=>wp,loadHttpSessionHistory:()=>Eu,markInstanceError:()=>Nb,markSessionFresh:()=>et,mergeChangeRequest:()=>to,migrateAdminSandboxProvider:()=>lf,mkdir:()=>Ye,narrowChatEvent:()=>Kl,normalizeAppPathname:()=>eb,normalizeExternalInput:()=>Nf,normalizeToolName:()=>at,openChangeRequest:()=>eo,openEventStream:()=>nn,openStressTestStream:()=>hx,parseBillingError:()=>Re,parseFlagOverride:()=>Wh,parseLocalhostUrl:()=>st,parseOpenCodeErrorPayload:()=>Pu,parseSubdomainUrl:()=>hc,parseWebProxyUrl:()=>Kf,patchKortixProject:()=>Xp,pipedreamConnect:()=>xi,pipedreamConnectConnectionProfile:()=>dg,pipedreamConnectConnectorAuthorization:()=>Ht,pipedreamFinalize:()=>Ti,pipedreamFinalizeConnectionProfile:()=>gg,pipedreamFinalizeConnectorAuthorization:()=>zt,platformConfig:()=>$,pollConnectionProfileOAuth2DeviceAuthorization:()=>ag,pollConnectorAuthorizationOAuth2DeviceAuthorization:()=>hl,pollProjectProviderOAuth:()=>ii,previewGatewayRoute:()=>wa,previewMfaRequired:()=>vm,probeEffectivePermission:()=>Jm,probeEffectivePermissions:()=>Qm,projectSessionStartSeed:()=>hg,provisionProject:()=>_s,provisionProjectWithToken:()=>Wd,proxyLocalhostUrl:()=>yc,proxyUrlToInternal:()=>Lf,purchaseCredits:()=>Zo,putConnectionProfileOAuth2Application:()=>ng,putConnectorAuthorizationOAuth2Application:()=>dl,reactivateSandbox:()=>mb,reactivateSubscription:()=>Jo,readBlob:()=>je,readFile:()=>Ae,readProjectFile:()=>Bi,rebuildProjectSnapshot:()=>$i,reconcileConnectionProfile:()=>Yd,reconcileConnectorAuthorization:()=>Ot,reconcileMemberConnectionProfile:()=>Zd,reconcileMemberConnectorAuthorization:()=>Lt,reconcileServices:()=>hd,recordPlatformLogout:()=>rx,refreshReferralCode:()=>Kg,registerService:()=>bd,rejectProjectAccessRequest:()=>Us,relativizePath:()=>Qy,removeAccountAuditWebhook:()=>sc,removeAccountMember:()=>ds,removeGroupMember:()=>nm,removeKortixPty:()=>zr,removeMarketplaceSource:()=>mc,removeSandboxMember:()=>hb,renameFile:()=>Ze,renameSandbox:()=>cb,reopenChangeRequest:()=>ro,reopenMilestone:()=>sd,replaceColumns:()=>qp,replaceFields:()=>Mp,replaceTemplates:()=>Op,requestAccountDeletion:()=>ef,requestChangesOnChangeRequest:()=>so,requestProjectAccess:()=>Vd,requestProjectConnector:()=>oc,requestProjectSecret:()=>ic,resendAccountInvite:()=>cs,resendPendingProjectInvite:()=>Hs,resetClient:()=>Pd,resetGatewayRoutingPolicy:()=>_a,resetPublicClient:()=>wd,resetSandboxUpdateStatus:()=>Gb,resolveApproval:()=>ei,restartProjectSession:()=>tt,restartSandbox:()=>pb,restoreBackup:()=>Eb,revealCredential:()=>ld,revokeAccountSession:()=>Um,revokeAccountToken:()=>Ja,revokeConnectionProfile:()=>lg,revokeConnectorAuthorization:()=>Gt,revokeGatewayKey:()=>Ma,revokePendingProjectInvite:()=>Ks,revokeProjectAccess:()=>Fs,revokeProjectCliToken:()=>Ya,revokeSandboxInvite:()=>Cb,revokeSandboxProjectAccess:()=>vb,revokeSandboxShare:()=>Na,revokeScimToken:()=>wm,revokeSessionPublicShare:()=>go,rewriteLocalhostUrl:()=>le,runGatewayPlayground:()=>Ua,saveGitHubInstallation:()=>Es,scheduleDowngrade:()=>Qo,searchProjectFiles:()=>Gi,sendReferralEmails:()=>Wg,serviceAction:()=>yd,sessionStartKey:()=>Pg,setActiveInstanceCookie:()=>Yh,setAdminBypass:()=>Ud,setAdminProviderDistribution:()=>af,setAdminProviderFallback:()=>pf,setAgentScope:()=>qo,setBootstrapAuthToken:()=>up,setCachedAuthToken:()=>lp,setConnectionPolicies:()=>fg,setConnectorAuthorizationStrategy:()=>gi,setConnectorCredential:()=>Ri,setConnectorCredentialMode:()=>di,setConnectorName:()=>bi,setConnectorPolicies:()=>yi,setConnectorSensitive:()=>mi,setDefaultConnectionProfile:()=>pg,setDefaultConnectorAuthorization:()=>Kt,setEnterpriseDemo:()=>Ym,setEnv:()=>Fr,setGatewayBudget:()=>Ea,setGatewayRoutingPolicy:()=>ka,setGitHubAppFromExisting:()=>_x,setGitHubAppPat:()=>wx,setMaintenanceConfig:()=>gx,setMeetBotName:()=>xa,setMemberSuperAdmin:()=>Pm,setMfaRequired:()=>Cm,setModelDefault:()=>Eo,setPersonalProjectSecret:()=>ci,setProjectModelEnablement:()=>kg,setProjectOnboardingComplete:()=>vs,setProjectPolicies:()=>Ai,setProjectSecretStrategy:()=>ri,setProjectSessionModel:()=>wo,setProjectSessionScope:()=>_o,setProjectSessionSharing:()=>co,setProjectTriggersActivation:()=>To,setupSSH:()=>qb,shouldHideResponsePart:()=>dh,shouldShowToolPart:()=>eu,sortSessions:()=>ch,splitUserParts:()=>By,startConnectionProfileOAuth2Authorization:()=>ig,startConnectionProfileOAuth2DeviceAuthorization:()=>og,startConnectorAuthorizationOAuth2Authorization:()=>fl,startConnectorAuthorizationOAuth2DeviceAuthorization:()=>yl,startConnectorSetupLink:()=>ax,startGitHubAppManifest:()=>kx,startProjectProviderOAuth:()=>si,startProjectSession:()=>ke,startSessionWithToken:()=>px,startTask:()=>Pp,stopProjectSession:()=>nt,stopSandbox:()=>db,stripAnsi:()=>th,stripInstancePrefix:()=>Qh,stripTrailingSlashes:()=>ye,submitAccessRequest:()=>nx,submitDemoRequest:()=>fx,submitOAuthConsent:()=>ix,submitReviewItem:()=>Ga,submitSecretSetupLink:()=>lx,supabaseClient:()=>Ld,syncConnectors:()=>pi,syncSubscription:()=>jg,systemReload:()=>vd,toDaemonPath:()=>he,toInstanceAwarePath:()=>Zh,toInternalUrl:()=>Ll,toSandboxAbsolutePath:()=>Vr,toWorkspaceRelative:()=>Jr,toolInfo:()=>on,toolViewModel:()=>gu,transcribeAudio:()=>Oa,triggerSandboxUpdate:()=>Fb,triggersRequest:()=>rl,turnHasSteps:()=>ih,unassignTicket:()=>Ap,unwrapError:()=>Y,updateAccountAuditWebhook:()=>rc,updateAccountMemberRole:()=>gs,updateAccountName:()=>rs,updateAgentConfig:()=>vg,updateAuditWebhook:()=>Nm,updateChannelBinding:()=>Fg,updateConnectionProfileCredential:()=>eg,updateConnectorAuthorizationCredential:()=>Ft,updateEmailPolicy:()=>ba,updateExperimentalFeature:()=>ws,updateGroup:()=>Xg,updateKortixPty:()=>Hr,updateMilestone:()=>nd,updatePatPolicy:()=>Lm,updatePolicy:()=>am,updateProject:()=>qt,updateProjectAccess:()=>Ls,updateProjectAgent:()=>Bp,updateProjectDefaultAgent:()=>Mo,updateProjectGroupGrant:()=>Ws,updateProjectSandboxProvider:()=>Ss,updateProjectSession:()=>xo,updateProjectTrigger:()=>Co,updateRole:()=>hm,updateRolePermissions:()=>bm,updateSandboxMemberRole:()=>bb,updateSandboxMemberScope:()=>_b,updateSandboxMemberSpendCap:()=>xb,updateSandboxTemplate:()=>Mi,updateSessionPolicy:()=>Dm,updateTask:()=>xp,updateTemplateWarmPool:()=>zd,updateTicket:()=>Rp,updateTicketStatus:()=>Tp,uploadFile:()=>Ee,uploadSlackChannelFile:()=>da,upsertCredential:()=>cd,upsertProjectGitCredential:()=>oi,upsertProjectSecret:()=>ni,upsertSsoProvider:()=>Tm,validateProjectManifest:()=>bs,validateReferralCode:()=>Hg,validateToken:()=>fs,verifyGatewayProvider:()=>Gg});var Ku={backendUrl:"",getToken:async()=>null},yn=null,mt=null;function Hu(e){mt=e}function zu(){return mt}function ft(e,t){t?.global!==!1&&(yn=e)}function $(){return mt?.()??yn??Ku}function yt(){return yn!==null||mt?.()!==void 0}var Mc=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:g,url:y,...m})=>{let k,w=g??(f=>new Promise(a=>setTimeout(a,f)));return{stream:async function*(){let f=c??3e3,a=0,T=m.signal??new AbortController().signal;for(;!T.aborted;){a++;let v=m.headers instanceof Headers?m.headers:new Headers(m.headers);k!==void 0&&v.set("Last-Event-ID",k);try{let P={redirect:"follow",...m,body:m.serializedBody,headers:v,signal:T},j=new Request(y,P);e&&(j=await e(y,P));let S=await(m.fetch??globalThis.fetch)(j);if(!S.ok)throw new Error(`SSE failed: ${S.status} ${S.statusText}`);if(!S.body)throw new Error("No body in SSE response");let q=S.body.pipeThrough(new TextDecoderStream).getReader(),L="",h=()=>{try{q.cancel()}catch{}};T.addEventListener("abort",h);try{for(;;){let{done:C,value:D}=await q.read();if(C)break;L+=D,L=L.replace(/\r\n/g,`
1
+ "use strict";var Kortix=(()=>{var fn=Object.defineProperty;var Gu=Object.getOwnPropertyDescriptor;var Bu=Object.getOwnPropertyNames;var Nu=Object.prototype.hasOwnProperty;var Ku=(e,t)=>{for(var n in t)fn(e,n,{get:t[n],enumerable:!0})},Hu=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Bu(t))!Nu.call(e,s)&&s!==n&&fn(e,s,{get:()=>t[s],enumerable:!(r=Gu(t,s))||r.enumerable});return e};var zu=e=>Hu(fn({},"__esModule",{value:!0}),e);var Nx={};Ku(Nx,{ACTIVE_INSTANCE_COOKIE:()=>ut,ApiError:()=>T,AuthError:()=>ve,BillingError:()=>fe,COST_MARKUP:()=>Rc,DEFAULT_TRANSCRIPT_OPTIONS:()=>kc,DESTRUCTIVE_PHASES:()=>Iu,FEATURE_NOT_SUPPORTED_CODE:()=>gl,HostBoundaryError:()=>re,INSTANCE_SCOPED_ROUTES:()=>bu,MODEL_NOT_SERVABLE_CODE:()=>ml,PublicSessionShareError:()=>Yt,PublicVoiceJoinError:()=>Zt,RequestTooLargeError:()=>Ce,RuntimeNotReadyError:()=>vt,SANDBOX_FS_ROOTS:()=>Tt,SANDBOX_PORTS:()=>te,SessionNotReadyError:()=>it,SessionStartError:()=>Vt,__getConfigResolver:()=>Ju,__setConfigResolver:()=>Vu,acceptAccountInvite:()=>ds,acceptInvite:()=>Mb,actReviewItem:()=>za,activateConnectionProfile:()=>bg,activateConnectorAuthorization:()=>Bt,addGroupMembers:()=>cm,addMarketplaceSource:()=>hc,addSandboxMember:()=>Sb,allDescendantIds:()=>cu,appendPreviewToken:()=>Dx,approveProjectAccessRequest:()=>Os,approveTask:()=>vp,archiveProject:()=>Dt,assignTicket:()=>$p,attachGroupToProject:()=>Vs,authenticatedFetch:()=>E,backendApi:()=>i,bindSlackIdentity:()=>Ng,bindTeamsIdentity:()=>Kg,buildInstancePath:()=>Pu,buildPresentationTemplateImageUrl:()=>Ox,buildPresentationTemplatePdfUrl:()=>Ux,buildPreviewAuthEndpoint:()=>Uc,buildPublicTemplateUrl:()=>ju,buildRuntimePresentationConversionUrl:()=>$u,buildSandboxTemplate:()=>Fi,buildStaticFileHealthPreviewUrl:()=>Hf,buildStaticFileLocalUrl:()=>Kf,buildStaticFilePreviewUrl:()=>Nf,buildStaticFileServicePath:()=>Fl,buildTunnelEventStreamUrl:()=>Ou,buildWebProxyUrl:()=>Qf,bulkActReviewItems:()=>Wa,bulkDeletePolicies:()=>hm,bulkImportPolicies:()=>bm,cancelAccountDeletion:()=>uf,cancelAccountInvite:()=>ls,cancelSandbox:()=>_b,cancelSandboxUpdate:()=>Qb,cancelScheduledChange:()=>ta,cancelSubscription:()=>Yo,checkAccessEmail:()=>lx,childMapByParent:()=>fh,claimComputer:()=>tx,claimPerSeatBilling:()=>Og,claimWarmProjectSession:()=>ho,classifyPart:()=>Sc,classifyTurn:()=>tu,clearModelDefault:()=>Uo,clearSessionFresh:()=>Sg,closeChangeRequest:()=>so,closeMilestone:()=>ad,collectTurnParts:()=>ph,commentTicket:()=>Dp,commitSessionChanges:()=>ao,computeStatusFromPart:()=>Cc,configureAutoTopup:()=>ia,configureKortix:()=>ft,confirmCheckoutSession:()=>Qo,connectEmail:()=>Pa,connectSlack:()=>pa,convertPresentationToGoogleSlides:()=>_f,convertRuntimePresentation:()=>Lx,copyFile:()=>Qe,costExportUrl:()=>aa,createAccount:()=>rs,createAccountAuditWebhook:()=>oc,createAccountToken:()=>Ya,createAuditWebhook:()=>Zm,createBackup:()=>Lb,createCheckoutSession:()=>Jo,createConnector:()=>ki,createFile:()=>Je,createGatewayKey:()=>La,createGroup:()=>sm,createHttpSessionSyncController:()=>Uu,createInstance:()=>Yb,createKortix:()=>Jl,createKortixPty:()=>Kr,createMarketplaceInstallSession:()=>Rf,createMilestone:()=>id,createPerSeatCheckout:()=>Ug,createPolicy:()=>mm,createPortalSession:()=>Xo,createProject:()=>ks,createProjectAgent:()=>Hp,createProjectCliToken:()=>tc,createProjectRepo:()=>ws,createProjectResourceGrant:()=>Ys,createProjectSession:()=>De,createProjectTrigger:()=>Io,createRole:()=>Sm,createSSEStream:()=>Lu,createSandbox:()=>mb,createSandboxShare:()=>Ja,createSandboxTemplate:()=>Ui,createScimToken:()=>Am,createServiceAccountApi:()=>Jm,createSessionPublicShare:()=>mo,createSsoGroupMapping:()=>Fm,createTask:()=>kp,createTicket:()=>Ap,createTunnelEventStream:()=>Bx,declineAccountInvite:()=>gs,declineInvite:()=>Ub,deleteAccountImmediately:()=>pf,deleteAuditWebhook:()=>tf,deleteBackup:()=>Gb,deleteConnector:()=>Si,deleteCredential:()=>md,deleteEnv:()=>Br,deleteFile:()=>Xe,deleteGatewayBudget:()=>Ua,deleteGitHubInstallation:()=>Ms,deleteGroup:()=>om,deleteInstance:()=>Zb,deleteKortixProject:()=>ed,deleteMilestone:()=>ld,deletePersonalProjectSecret:()=>pi,deletePolicy:()=>ym,deleteProjectAgent:()=>Wp,deleteProjectResourceGrant:()=>Zs,deleteProjectSecret:()=>li,deleteProjectSession:()=>ko,deleteProjectTrigger:()=>jo,deleteRole:()=>Rm,deleteSandboxTemplate:()=>Li,deleteServiceAccountApi:()=>Xm,deleteSsoGroupMapping:()=>Gm,deleteSsoProvider:()=>Om,deleteTask:()=>Cp,deleteTicket:()=>Mp,describeAccountInvite:()=>ps,detachGroupFromProject:()=>Qs,detectLocalhostUrls:()=>Ol,disableServiceAccountApi:()=>Qm,disconnectEmail:()=>_a,disconnectGitHubApp:()=>Ex,disconnectSlack:()=>ma,discoverConnectionProfileOAuth2:()=>dg,discoverConnectorAuth:()=>wi,discoverConnectorAuthorizationOAuth2:()=>bl,discoverLocalSandbox:()=>bb,downloadAccountAudit:()=>Sx,dropClientForUrl:()=>wd,dropPublicClientForUrl:()=>Cd,ensurePmSession:()=>Np,ensurePreviewSessionCookie:()=>Mx,ensureProjectConnectorAuthorization:()=>fl,ensureProjectConnectorProfile:()=>lg,ensureSandbox:()=>Tu,ensureWarmProjectSession:()=>yo,env:()=>il,exportAccountAudit:()=>sc,extractGatewayErrorDetails:()=>pe,extractInstanceRoute:()=>Ue,featureFlags:()=>nb,fetchAccountStateWithToken:()=>Dg,fetchAccountsWithToken:()=>Vd,fetchCostExportCsv:()=>Bg,fetchProjectArchive:()=>Hi,fetchProjectsForAccountWithToken:()=>eg,files:()=>pl,findFiles:()=>We,findLastTextPart:()=>dh,findText:()=>Ve,fireProjectTrigger:()=>$o,fixSandboxWithAgent:()=>Mi,formatBillingErrorForUI:()=>sl,formatCost:()=>Rh,formatDuration:()=>Sh,formatOpenCodeRuntimeError:()=>vu,formatRuntimeError:()=>vu,formatTokens:()=>Th,formatTranscript:()=>Xl,generateSessionId:()=>Ql,getAccount:()=>ss,getAccountDeletionStatus:()=>cf,getAccountState:()=>Bo,getAccountStateMinimal:()=>No,getActiveInstanceIdFromCookie:()=>ku,getAdminProviderAnalytics:()=>yf,getAdminProviderDistribution:()=>gf,getAdminProviderFallback:()=>bf,getAdminRole:()=>df,getAgentCardLabel:()=>au,getAgentConfig:()=>Eg,getAgentPersona:()=>Vp,getAllVersions:()=>Wb,getAnsweredQuestionParts:()=>mh,getApprovalLink:()=>Cf,getAuthToken:()=>ge,getAuthTokenWithRetry:()=>Ur,getAutoTopupSettings:()=>sa,getAutoTopupSetupStatus:()=>Mg,getBillingCreditBreakdown:()=>zo,getBillingTierConfigurations:()=>Vo,getBillingTransactionsSummary:()=>Ho,getBillingUsageHistory:()=>Wo,getChangeRequest:()=>Zi,getChangeRequestDiff:()=>eo,getChangeRequestMergePreview:()=>to,getChildSessionError:()=>th,getChildSessionId:()=>eh,getChildSessionToolParts:()=>nh,getClient:()=>oe,getClientForUrl:()=>ee,getConnectStatus:()=>Ti,getConnectionPolicies:()=>kg,getConnectionProfileOAuth2Application:()=>pg,getConnectionProfileOAuth2Status:()=>yg,getConnectorAuthorizationOAuth2Application:()=>hl,getConnectorAuthorizationOAuth2Status:()=>kl,getConnectorConfig:()=>xi,getConnectorPolicies:()=>hi,getConnectorSetupLink:()=>mx,getCostSummary:()=>Gg,getCurrentInstanceIdFromPathname:()=>_u,getCurrentInstanceIdFromWindow:()=>ib,getCurrentProject:()=>Yr,getDefaultAccountState:()=>Go,getDiagnostics:()=>ih,getDirectory:()=>ou,getDiscoverIntegration:()=>Ri,getEmailInstallation:()=>ba,getEmailMode:()=>xa,getEnterpriseDemo:()=>of,getFileStatus:()=>ze,getFileWithDir:()=>vc,getFilename:()=>iu,getFullChangelog:()=>Au,getGatewayBreakdown:()=>Ea,getGatewayBudgets:()=>Da,getGatewayErrors:()=>qa,getGatewayKeys:()=>Oa,getGatewayLog:()=>Ia,getGatewayOverview:()=>Aa,getGatewayRoutingPolicy:()=>Sa,getGatewaySeries:()=>ja,getGatewaySessions:()=>$a,getGitHubAppStatus:()=>Tx,getGitHubInstallation:()=>Is,getGoogleAuthUrl:()=>Pf,getGroup:()=>rm,getHiddenToolParts:()=>Xy,getInvite:()=>Db,getJustavpsServerTypes:()=>Xb,getKortixProject:()=>Xp,getKortixProjectBySession:()=>Yp,getKortixPtyWebSocketUrl:()=>Wr,getLatestSandboxVersion:()=>zb,getMaintenanceConfig:()=>Px,getManagedGitStatus:()=>Xd,getMarketplaceCatalogItem:()=>mc,getMarketplaceCatalogItemFile:()=>fc,getMfaRequired:()=>Em,getMilestone:()=>rd,getModelDefaults:()=>Do,getOAuthConsentRequest:()=>dx,getOpenCodeConfigInvalidError:()=>jc,getPartText:()=>Jy,getPatPolicy:()=>zm,getPermissionForTool:()=>oh,getProject:()=>At,getProjectActivity:()=>Jp,getProjectCommit:()=>Vi,getProjectCommitDiff:()=>Ji,getProjectDetail:()=>jt,getProjectFileHistory:()=>Qi,getProjectGitToken:()=>_s,getProjectLlmCatalog:()=>Et,getProjectLlmCatalogProviders:()=>Qd,getProjectModelPicker:()=>$t,getProjectSandboxHealth:()=>zt,getProjectSandboxProviderTransition:()=>Yd,getProjectSession:()=>Wt,getProjectSessionConfigState:()=>wo,getProjectSessionScope:()=>vo,getProrationPreview:()=>na,getProviders:()=>db,getProxyBaseUrl:()=>zf,getPublicClientForUrl:()=>vd,getPublicMarketplaceItem:()=>ax,getPublicMarketplaceItemFile:()=>cx,getPublicSessionShare:()=>kf,getPublicSessionShareMessages:()=>wf,getPublicShareByToken:()=>bx,getPublicTemplate:()=>Rx,getPublicVoiceJoin:()=>Sf,getPublicVoiceTranscript:()=>vf,getQuestionForTool:()=>ah,getReferralCode:()=>Qg,getReferralStats:()=>Zg,getRetryInfo:()=>Ih,getRetryMessage:()=>Ah,getReviewItem:()=>Ka,getRolePermissions:()=>_m,getRoleUsage:()=>wm,getSSHConnection:()=>Nb,getSandbox:()=>gb,getSandboxById:()=>fb,getSandboxMemberScopes:()=>Ib,getSandboxPortUrl:()=>pb,getSandboxProvisionStatus:()=>nx,getSandboxProvisionStreamUrl:()=>rx,getSandboxUpdateStatus:()=>Hb,getSandboxUrl:()=>qc,getSecretSetupLink:()=>yx,getServerHealth:()=>It,getServiceLogs:()=>xd,getSessionAudit:()=>bo,getSessionCost:()=>Ch,getSessionCostRecord:()=>Xt,getSessionHealth:()=>xc,getSessionPolicy:()=>Bm,getSessionPreviewCandidates:()=>po,getSessionTranscript:()=>xo,getShellModePart:()=>hh,getSlackChannelFile:()=>fa,getSlackInstallation:()=>ua,getSlackManifest:()=>ga,getSlackMode:()=>da,getSsoProvider:()=>Dm,getStaticFileHealthPath:()=>Gl,getSupabaseAccessToken:()=>_t,getSupabaseAccessTokenWithRetry:()=>ie,getTask:()=>xp,getTaskStatus:()=>_p,getTemplate:()=>Tf,getTicket:()=>Tp,getToolInfo:()=>rh,getTranscriptFilename:()=>Yl,getTurnCost:()=>vh,getTurnError:()=>_h,getTurnErrorDetails:()=>kh,getTurnStatus:()=>wh,getUsageRollup:()=>oa,getUserRolesWithToken:()=>kx,getVersionDiff:()=>Xi,getViewerSandboxScopes:()=>Tb,getVoiceTranscript:()=>Po,getWorkingState:()=>xh,grantSandboxProjectAccess:()=>Eb,groupMessagesIntoTurns:()=>uh,hasDiffs:()=>jh,hasLocalhostUrls:()=>Gf,hasPreviewTarget:()=>Ll,heartbeatGapEvent:()=>zl,humanizeToolName:()=>sn,importSsoProviderFromMetadata:()=>Um,installTemplate:()=>If,invalidateTokenCache:()=>Be,inviteAccountMember:()=>as,inviteProjectMember:()=>Ns,inviteRepoCollaborator:()=>xs,isAdminBypassEnabled:()=>zd,isAgentPart:()=>Hy,isAppRouteUrl:()=>Ul,isAttachment:()=>ru,isBillingError:()=>rl,isCompactionPart:()=>zy,isConfigured:()=>yt,isDestructivePhase:()=>Kb,isExternalUrl:()=>Zf,isFilePart:()=>nu,isInstanceDetailPath:()=>rb,isInstanceScopedAppPath:()=>xu,isInternalLocalhostUrl:()=>Jf,isInviteSent:()=>rg,isLastUserMessage:()=>bh,isManagedGithubProject:()=>Jd,isOpenCodeConfigInvalidError:()=>lb,isPatchPart:()=>Vy,isPreviewUrl:()=>Vf,isProxiableLocalhostUrl:()=>Bl,isReasoningPart:()=>an,isRuntimeReady:()=>Af,isServerReachable:()=>Zr,isSessionFresh:()=>lo,isSessionStartError:()=>Cg,isShellMode:()=>lu,isSnapshotPart:()=>Wy,isSubdomainPreviewUrl:()=>qx,isTextPart:()=>de,isToolPart:()=>ne,isToolPartHidden:()=>Yy,isUnderSandboxRoot:()=>Jr,isWebProxyUrl:()=>Yf,kortixPty:()=>al,leaveAccount:()=>ys,linkGitHubInstallation:()=>Ds,linkRepository:()=>Ts,listAccountAudit:()=>rc,listAccountAuditWebhooks:()=>ic,listAccountInvites:()=>cs,listAccountMembers:()=>os,listAccountSessions:()=>Km,listAccountTokens:()=>Xa,listAccounts:()=>ns,listActions:()=>km,listAdminSandboxes:()=>mf,listAgentIdentities:()=>Pm,listAllConnectionProfiles:()=>ig,listAllConnectorAuthorizations:()=>Ut,listAuditEvents:()=>nf,listAuditWebhooks:()=>Ym,listBackups:()=>Ob,listBillingTransactions:()=>Ko,listChangeRequests:()=>Yi,listChannelBindings:()=>Wg,listColumns:()=>Up,listConnectionProfiles:()=>sg,listConnectorAuthorizations:()=>Mt,listConnectors:()=>di,listCostByProject:()=>Fg,listCredentialEvents:()=>pd,listCredentials:()=>ud,listDiscoverIntegrations:()=>Ci,listEnv:()=>Fr,listFeaturedMarketplaces:()=>gc,listFields:()=>Lp,listFiles:()=>He,listGatewayLogs:()=>Ta,listGitHubInstallations:()=>As,listGitHubRepositories:()=>Es,listGitHubRepositoryBranches:()=>$s,listGroupMembers:()=>am,listGroupProjectGrants:()=>lm,listGroups:()=>nm,listKortixProjectSessions:()=>Zp,listKortixProjects:()=>Qp,listKortixPty:()=>Nr,listLinkableGitHubInstallations:()=>js,listMarketplaceCatalogItems:()=>pc,listMarketplaceSources:()=>yc,listMarketplaces:()=>dc,listMemberGroups:()=>pm,listMemberProjectAccess:()=>dm,listMilestoneEvents:()=>sd,listMilestones:()=>nd,listPendingApprovals:()=>ei,listPendingProjectInvites:()=>Ks,listPipedreamApps:()=>vi,listPolicies:()=>gm,listProjectAccess:()=>Fs,listProjectAccessRequests:()=>Us,listProjectAgents:()=>Kp,listProjectBranches:()=>zi,listProjectCliTokens:()=>ec,listProjectCommits:()=>Wi,listProjectFiles:()=>Bi,listProjectGroupGrants:()=>Ws,listProjectPolicies:()=>ji,listProjectResourceGrants:()=>Xs,listProjectSandboxTemplates:()=>$i,listProjectSandboxes:()=>Gi,listProjectSecrets:()=>ri,listProjectSessions:()=>qe,listProjectSnapshots:()=>qi,listProjectTriggers:()=>To,listProjects:()=>xe,listProjectsForAccount:()=>bs,listPublicMarketplaceItems:()=>ix,listPublicMarketplaces:()=>ox,listReferrals:()=>em,listReviewItems:()=>Na,listRoles:()=>xm,listSandboxMembers:()=>wb,listSandboxProjectMembers:()=>jb,listSandboxShares:()=>Va,listSandboxes:()=>hb,listScimTokens:()=>Im,listServiceAccountsApi:()=>Vm,listServiceTemplates:()=>bd,listServices:()=>hd,listSessionCosts:()=>la,listSessionPublicShares:()=>go,listSessionsNeedingInput:()=>ti,listSsoGroupMappings:()=>Lm,listTaskEvents:()=>Pp,listTasks:()=>bp,listTemplates:()=>Gp,listTicketEvents:()=>Ip,listTickets:()=>Rp,loadHttpSessionHistory:()=>Mu,markInstanceError:()=>ex,markSessionFresh:()=>et,mergeChangeRequest:()=>ro,migrateAdminSandboxProvider:()=>hf,mkdir:()=>Ye,narrowChatEvent:()=>Wl,normalizeAppPathname:()=>cb,normalizeExternalInput:()=>ey,normalizeToolName:()=>at,openChangeRequest:()=>no,openEventStream:()=>nn,openStressTestStream:()=>vx,parseBillingError:()=>Re,parseFlagOverride:()=>tb,parseLocalhostUrl:()=>st,parseOpenCodeErrorPayload:()=>Su,parseSubdomainUrl:()=>_c,parseWebProxyUrl:()=>Xf,patchKortixProject:()=>td,pipedreamConnect:()=>_i,pipedreamConnectConnectionProfile:()=>Pg,pipedreamConnectConnectorAuthorization:()=>Kt,pipedreamFinalize:()=>Ai,pipedreamFinalizeConnectionProfile:()=>_g,pipedreamFinalizeConnectorAuthorization:()=>Ht,platformConfig:()=>$,pollConnectionProfileOAuth2DeviceAuthorization:()=>fg,pollConnectorAuthorizationOAuth2DeviceAuthorization:()=>_l,pollProjectProviderOAuth:()=>ai,previewGatewayRoute:()=>Ra,previewMfaRequired:()=>$m,probeEffectivePermission:()=>rf,probeEffectivePermissions:()=>sf,projectSessionStartSeed:()=>vg,provisionProject:()=>Ss,provisionProjectWithToken:()=>tg,proxyLocalhostUrl:()=>Pc,proxyUrlToInternal:()=>Wf,purchaseCredits:()=>ra,putConnectionProfileOAuth2Application:()=>ug,putConnectorAuthorizationOAuth2Application:()=>yl,reactivateSandbox:()=>kb,reactivateSubscription:()=>Zo,readBlob:()=>je,readFile:()=>Ae,readProjectFile:()=>Ki,rebuildProjectSnapshot:()=>Di,reconcileConnectionProfile:()=>og,reconcileConnectorAuthorization:()=>Ot,reconcileMemberConnectionProfile:()=>ag,reconcileMemberConnectorAuthorization:()=>Lt,reconcileServices:()=>_d,recordPlatformLogout:()=>px,refreshReferralCode:()=>Xg,registerService:()=>kd,rejectProjectAccessRequest:()=>Ls,relativizePath:()=>sh,reloadProjectSessionConfig:()=>So,removeAccountAuditWebhook:()=>cc,removeAccountMember:()=>ms,removeGroupMember:()=>um,removeKortixPty:()=>zr,removeMarketplaceSource:()=>bc,removeSandboxMember:()=>vb,renameFile:()=>Ze,renameSandbox:()=>yb,reopenChangeRequest:()=>io,reopenMilestone:()=>cd,replaceColumns:()=>Op,replaceFields:()=>Fp,replaceTemplates:()=>Bp,requestAccountDeletion:()=>lf,requestChangesOnChangeRequest:()=>oo,requestProjectAccess:()=>ng,requestProjectConnector:()=>uc,requestProjectSecret:()=>lc,resendAccountInvite:()=>us,resendPendingProjectInvite:()=>zs,resetClient:()=>Sd,resetGatewayRoutingPolicy:()=>Ca,resetPublicClient:()=>Rd,resetSandboxUpdateStatus:()=>Jb,resolveApproval:()=>ni,restartProjectSession:()=>tt,restartSandbox:()=>xb,restoreBackup:()=>Fb,revealCredential:()=>gd,revokeAccountSession:()=>Hm,revokeAccountToken:()=>Za,revokeConnectionProfile:()=>hg,revokeConnectorAuthorization:()=>Gt,revokeGatewayKey:()=>Fa,revokePendingProjectInvite:()=>Hs,revokeProjectAccess:()=>Bs,revokeProjectCliToken:()=>nc,revokeSandboxInvite:()=>qb,revokeSandboxProjectAccess:()=>$b,revokeSandboxShare:()=>Qa,revokeScimToken:()=>jm,revokeSessionPublicShare:()=>fo,rewriteLocalhostUrl:()=>le,runGatewayPlayground:()=>Ga,saveGitHubInstallation:()=>qs,scheduleDowngrade:()=>ea,searchProjectFiles:()=>Ni,sendReferralEmails:()=>tm,serviceAction:()=>Pd,sessionStartKey:()=>Tg,setActiveInstanceCookie:()=>ob,setAdminBypass:()=>Hd,setAdminProviderDistribution:()=>ff,setAdminProviderFallback:()=>xf,setAgentScope:()=>Oo,setBootstrapAuthToken:()=>mp,setCachedAuthToken:()=>gp,setConnectionPolicies:()=>wg,setConnectorAuthorizationStrategy:()=>fi,setConnectorCredential:()=>Ii,setConnectorCredentialMode:()=>mi,setConnectorName:()=>Pi,setConnectorPolicies:()=>bi,setConnectorSensitive:()=>yi,setDefaultConnectionProfile:()=>xg,setDefaultConnectorAuthorization:()=>Nt,setEnterpriseDemo:()=>af,setEnv:()=>Gr,setGatewayBudget:()=>Ma,setGatewayRoutingPolicy:()=>va,setGitHubAppFromExisting:()=>Ax,setGitHubAppPat:()=>jx,setMaintenanceConfig:()=>_x,setMeetBotName:()=>wa,setMemberSuperAdmin:()=>Tm,setMfaRequired:()=>qm,setModelDefault:()=>Mo,setPersonalProjectSecret:()=>ui,setProjectModelEnablement:()=>Ig,setProjectOnboardingComplete:()=>Rs,setProjectPolicies:()=>Ei,setProjectSecretStrategy:()=>ii,setProjectSessionModel:()=>Ro,setProjectSessionScope:()=>Co,setProjectSessionSharing:()=>uo,setProjectTriggersActivation:()=>Eo,setupSSH:()=>Bb,shouldHideResponsePart:()=>Ph,shouldShowToolPart:()=>su,sortSessions:()=>yh,splitUserParts:()=>Qy,startConnectionProfileOAuth2Authorization:()=>gg,startConnectionProfileOAuth2DeviceAuthorization:()=>mg,startConnectorAuthorizationOAuth2Authorization:()=>xl,startConnectorAuthorizationOAuth2DeviceAuthorization:()=>Pl,startConnectorSetupLink:()=>fx,startGitHubAppManifest:()=>Ix,startProjectProviderOAuth:()=>oi,startProjectSession:()=>_e,startSessionWithToken:()=>xx,startTask:()=>Sp,stopProjectSession:()=>nt,stopSandbox:()=>Pb,stripAnsi:()=>lh,stripInstancePrefix:()=>sb,stripTrailingSlashes:()=>ye,submitAccessRequest:()=>ux,submitDemoRequest:()=>wx,submitOAuthConsent:()=>gx,submitReviewItem:()=>Ha,submitSecretSetupLink:()=>hx,supabaseClient:()=>Wd,syncConnectors:()=>gi,syncSubscription:()=>Lg,systemReload:()=>Id,toDaemonPath:()=>he,toInstanceAwarePath:()=>ab,toInternalUrl:()=>Nl,toSandboxAbsolutePath:()=>Qr,toWorkspaceRelative:()=>Xr,toolInfo:()=>on,toolViewModel:()=>hu,transcribeAudio:()=>Ba,triggerSandboxUpdate:()=>Vb,triggersRequest:()=>ol,turnHasSteps:()=>gh,unassignTicket:()=>qp,unwrapError:()=>Y,updateAccountAuditWebhook:()=>ac,updateAccountMemberRole:()=>fs,updateAccountName:()=>is,updateAgentConfig:()=>$g,updateAuditWebhook:()=>ef,updateChannelBinding:()=>Vg,updateConnectionProfileCredential:()=>cg,updateConnectorAuthorizationCredential:()=>Ft,updateEmailPolicy:()=>ka,updateExperimentalFeature:()=>vs,updateGroup:()=>im,updateKortixPty:()=>Hr,updateMilestone:()=>od,updatePatPolicy:()=>Wm,updatePolicy:()=>fm,updateProject:()=>qt,updateProjectAccess:()=>Gs,updateProjectAgent:()=>zp,updateProjectDefaultAgent:()=>Fo,updateProjectGroupGrant:()=>Js,updateProjectSandboxProvider:()=>Cs,updateProjectSession:()=>_o,updateProjectTrigger:()=>Ao,updateRole:()=>vm,updateRolePermissions:()=>Cm,updateSandboxMemberRole:()=>Cb,updateSandboxMemberScope:()=>Ab,updateSandboxMemberSpendCap:()=>Rb,updateSandboxTemplate:()=>Oi,updateSessionPolicy:()=>Nm,updateTask:()=>wp,updateTemplateWarmPool:()=>Zd,updateTicket:()=>jp,updateTicketStatus:()=>Ep,uploadFile:()=>Ee,uploadSlackChannelFile:()=>ya,upsertCredential:()=>dd,upsertProjectGitCredential:()=>ci,upsertProjectSecret:()=>si,upsertSsoProvider:()=>Mm,validateProjectManifest:()=>Ps,validateReferralCode:()=>Yg,validateToken:()=>hs,verifyGatewayProvider:()=>Jg});var Wu={backendUrl:"",getToken:async()=>null},yn=null,mt=null;function Vu(e){mt=e}function Ju(){return mt}function ft(e,t){t?.global!==!1&&(yn=e)}function $(){return mt?.()??yn??Wu}function yt(){return yn!==null||mt?.()!==void 0}var Fc=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:g,url:y,...m})=>{let _,w=g??(f=>new Promise(a=>setTimeout(a,f)));return{stream:async function*(){let f=c??3e3,a=0,I=m.signal??new AbortController().signal;for(;!I.aborted;){a++;let v=m.headers instanceof Headers?m.headers:new Headers(m.headers);_!==void 0&&v.set("Last-Event-ID",_);try{let x={redirect:"follow",...m,body:m.serializedBody,headers:v,signal:I},j=new Request(y,x);e&&(j=await e(y,x));let S=await(m.fetch??globalThis.fetch)(j);if(!S.ok)throw new Error(`SSE failed: ${S.status} ${S.statusText}`);if(!S.body)throw new Error("No body in SSE response");let q=S.body.pipeThrough(new TextDecoderStream).getReader(),L="",h=()=>{try{q.cancel()}catch{}};I.addEventListener("abort",h);try{for(;;){let{done:C,value:D}=await q.read();if(C)break;L+=D,L=L.replace(/\r\n/g,`
2
2
  `).replace(/\r/g,`
3
3
  `);let F=L.split(`
4
4
 
5
5
  `);L=F.pop()??"";for(let J of F){let Q=J.split(`
6
- `),X=[],N;for(let O of Q)if(O.startsWith("data:"))X.push(O.replace(/^data:\s*/,""));else if(O.startsWith("event:"))N=O.replace(/^event:\s*/,"");else if(O.startsWith("id:"))k=O.replace(/^id:\s*/,"");else if(O.startsWith("retry:")){let W=Number.parseInt(O.replace(/^retry:\s*/,""),10);Number.isNaN(W)||(f=W)}let M,H=!1;if(X.length){let O=X.join(`
7
- `);try{M=JSON.parse(O),H=!0}catch{M=O}}H&&(s&&await s(M),r&&(M=await r(M))),n?.({data:M,event:N,id:k,retry:f}),X.length&&(yield M)}}}finally{T.removeEventListener("abort",h),q.releaseLock()}break}catch(P){if(t?.(P),u!==void 0&&a>=u)break;let j=Math.min(f*2**(a-1),p??3e4);await w(j)}}}()}};var Nu=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Wu=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Vu=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},ht=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(g=>encodeURIComponent(g))).join(Wu(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=Nu(r),u=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):we({allowReserved:e,name:n,value:p})).join(c);return r==="label"||r==="matrix"?c+u:u},we=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},bt=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,k])=>{g=[...g,m,e?k:encodeURIComponent(k)]});let y=g.join(",");switch(r){case"form":return`${n}=${y}`;case"label":return`.${y}`;case"matrix":return`;${n}=${y}`;default:return y}}let u=Vu(r),p=Object.entries(s).map(([g,y])=>we({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:y})).join(u);return r==="label"||r==="matrix"?u+p:p};var Ju=/\{[^{}]+\}/g,Qu=({path:e,url:t})=>{let n=t,r=t.match(Ju);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,ht({explode:c,name:u,style:p,value:g}));continue}if(typeof g=="object"){n=n.replace(s,bt({explode:c,name:u,style:p,value:g,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${we({name:u,value:g})}`);continue}let y=encodeURIComponent(p==="label"?`.${g}`:g);n=n.replace(s,y)}return n},Uc=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=Qu({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function hn(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 Oc=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 bn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Lc=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let p=e[c]||t;if(Array.isArray(u)){let g=ht({allowReserved:p.allowReserved,explode:!0,name:c,style:"form",value:u,...p.array});g&&s.push(g)}else if(typeof u=="object"){let g=bt({allowReserved:p.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...p.object});g&&s.push(g)}else{let g=we({allowReserved:p.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},Fc=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"}},Xu=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,Gc=async({security:e,...t})=>{for(let n of e){if(Xu(t,n.name))continue;let r=await Oc(n,t.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":t.query||(t.query={}),t.query[s]=r;break;case"cookie":t.headers.append("Cookie",`${s}=${r}`);break;default:t.headers.set(s,r);break}}},xn=e=>Uc({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Lc(e.querySerializer),url:e.url}),Pn=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=xt(e.headers,t.headers),n},Yu=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},xt=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?Yu(n):Object.entries(n);for(let[s,c]of r)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},Le=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}},Bc=()=>({error:new Le,request:new Le,response:new Le}),Zu=Lc({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),ep={"Content-Type":"application/json"},Fe=(e={})=>({...bn,headers:ep,parseAs:"auto",querySerializer:Zu,...e});var Ge=(e={})=>{let t=Pn(Fe(),e),n=()=>({...t}),r=y=>(t=Pn(t,y),n()),s=Bc(),c=async y=>{let m={...t,...y,fetch:y.fetch??t.fetch??globalThis.fetch,headers:xt(t.headers,y.headers),serializedBody:void 0};m.security&&await Gc({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let k=xn(m);return{opts:m,url:k}},u=async y=>{let{opts:m,url:k}=await c(y),w={redirect:"follow",...m,body:hn(m)},R=new Request(k,w);for(let I of s.request.fns)I&&(R=await I(R,m));let l=m.fetch,f;try{f=await l(R)}catch(I){let S=I;for(let q of s.error.fns)q&&(S=await q(I,void 0,R,m));if(S=S||{},m.throwOnError)throw S;return m.responseStyle==="data"?void 0:{error:S,request:R,response:void 0}}for(let I of s.response.fns)I&&(f=await I(f,R,m));let a={request:R,response:f};if(f.ok){let I=(m.parseAs==="auto"?Fc(f.headers.get("Content-Type")):m.parseAs)??"json";if(f.status===204||f.headers.get("Content-Length")==="0"){let q;switch(I){case"arrayBuffer":case"blob":case"text":q=await f[I]();break;case"formData":q=new FormData;break;case"stream":q=f.body;break;default:q={};break}return m.responseStyle==="data"?q:{data:q,...a}}let S;switch(I){case"arrayBuffer":case"blob":case"formData":case"text":S=await f[I]();break;case"json":{let q=await f.text();S=q?JSON.parse(q):{};break}case"stream":return m.responseStyle==="data"?f.body:{data:f.body,...a}}return I==="json"&&(m.responseValidator&&await m.responseValidator(S),m.responseTransformer&&(S=await m.responseTransformer(S))),m.responseStyle==="data"?S:{data:S,...a}}let T=await f.text(),v;try{v=JSON.parse(T)}catch{}let P=v??T,j=P;for(let I of s.error.fns)I&&(j=await I(P,f,R,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,...a}},p=y=>m=>u({...m,method:y}),g=y=>async m=>{let{opts:k,url:w}=await c(m);return Mc({...k,body:k.body,headers:k.headers,method:y,onRequest:async(R,l)=>{let f=new Request(R,l);for(let a of s.request.fns)a&&(f=await a(f,k));return f},serializedBody:hn(k),url:w})};return{buildUrl:xn,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:p("TRACE")}};var tp={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},np=Object.entries(tp),Kc=(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&&Kc(n.args,t);return t},rp=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},d=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=Kc(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),g=p.map||s.key;p.in&&(n[p.in][g]=u)}else n.body=u;else for(let[p,g]of Object.entries(u??{})){let y=r.get(p);if(y)if(y.in){let m=y.map||p;n[y.in][m]=g}else n[y.map]=g;else{let m=np.find(([k])=>p.startsWith(k));if(m){let[k,w]=m;n[w][p.slice(k.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[k,w]of Object.entries(s.allowExtra))if(w){n[k][p]=g;break}}}}return rp(n),n};var Hc=Ge(Fe({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??Hc}},kn=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)}},_n=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},wn=class extends b{log(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Sn=class extends b{moveSession(t,n){let r=d([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},vn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Cn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Rn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},Tn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},In=class extends b{generateName(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},An=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},jn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new An({client:this.client})}},En=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new Sn({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new vn({client:this.client})}_console;get console(){return this._console??=new Cn({client:this.client})}_session;get session(){return this._session??=new Rn({client:this.client})}_resource;get resource(){return this._resource??=new Tn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new In({client:this.client})}_workspace;get workspace(){return this._workspace??=new jn({client:this.client})}},$n=class extends b{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=d([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},qn=class extends b{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=d([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new $n({client:this.client})}},Dn=class extends b{subscribe(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},Mn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},Un=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},On=class extends b{remove(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Ln=class extends b{text(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},Fn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},Gn=class extends b{dispose(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},Bn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},Kn=class extends b{raw(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Hn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new Kn({client:this.client})}},zn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},Nn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Wn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Vn=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Jn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Vn({client:this.client})}},Qn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},Xn=class extends b{shells(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},Yn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},Zn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},er=class extends b{authorize(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},tr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new er({client:this.client})}},nr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},rr=class extends b{delete(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},sr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ir=class extends b{start(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=d([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new sr({client:this.client})}},or=class extends b{next(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ar=class extends b{appendPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new or({client:this.client})}},cr=class extends b{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},lr=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},ur=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},pr=class extends b{stage(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},dr=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},gr=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},mr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new pr({client:this.client})}_permission;get permission(){return this._permission??=new dr({client:this.client})}_question;get question(){return this._question??=new gr({client:this.client})}},fr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},yr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},hr=class extends b{key(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},br=class extends b{cancel(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},xr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new hr({client:this.client})}_attempt;get attempt(){return this._attempt??=new br({client:this.client})}},Pr=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},kr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},_r=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},wr=class extends b{_request;get request(){return this._request??=new kr({client:this.client})}_saved;get saved(){return this._saved??=new _r({client:this.client})}},Sr=class extends b{read(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},vr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Cr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},Rr=class extends b{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Tr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},Ir=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Ar=class extends b{_request;get request(){return this._request??=new Ir({client:this.client})}},jr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Er=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},$r=class extends b{_health;get health(){return this._health??=new cr({client:this.client})}_location;get location(){return this._location??=new lr({client:this.client})}_agent;get agent(){return this._agent??=new ur({client:this.client})}_session;get session(){return this._session??=new mr({client:this.client})}_model;get model(){return this._model??=new fr({client:this.client})}_provider;get provider(){return this._provider??=new yr({client:this.client})}_integration;get integration(){return this._integration??=new xr({client:this.client})}_credential;get credential(){return this._credential??=new Pr({client:this.client})}_permission;get permission(){return this._permission??=new wr({client:this.client})}_fs;get fs(){return this._fs??=new Sr({client:this.client})}_command;get command(){return this._command??=new vr({client:this.client})}_skill;get skill(){return this._skill??=new Cr({client:this.client})}_event;get event(){return this._event??=new Rr({client:this.client})}_pty;get pty(){return this._pty??=new Tr({client:this.client})}_question;get question(){return this._question??=new Ar({client:this.client})}_reference;get reference(){return this._reference??=new jr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Er({client:this.client})}},Pt=class e extends b{static __registry=new kn;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new _n({client:this.client})}_app;get app(){return this._app??=new wn({client:this.client})}_experimental;get experimental(){return this._experimental??=new En({client:this.client})}_global;get global(){return this._global??=new qn({client:this.client})}_event;get event(){return this._event??=new Dn({client:this.client})}_config;get config(){return this._config??=new Mn({client:this.client})}_tool;get tool(){return this._tool??=new Un({client:this.client})}_worktree;get worktree(){return this._worktree??=new On({client:this.client})}_find;get find(){return this._find??=new Ln({client:this.client})}_file;get file(){return this._file??=new Fn({client:this.client})}_instance;get instance(){return this._instance??=new Gn({client:this.client})}_path;get path(){return this._path??=new Bn({client:this.client})}_vcs;get vcs(){return this._vcs??=new Hn({client:this.client})}_command;get command(){return this._command??=new zn({client:this.client})}_lsp;get lsp(){return this._lsp??=new Nn({client:this.client})}_formatter;get formatter(){return this._formatter??=new Wn({client:this.client})}_mcp;get mcp(){return this._mcp??=new Jn({client:this.client})}_project;get project(){return this._project??=new Qn({client:this.client})}_pty;get pty(){return this._pty??=new Xn({client:this.client})}_question;get question(){return this._question??=new Yn({client:this.client})}_permission;get permission(){return this._permission??=new Zn({client:this.client})}_provider;get provider(){return this._provider??=new tr({client:this.client})}_session;get session(){return this._session??=new nr({client:this.client})}_part;get part(){return this._part??=new rr({client:this.client})}_sync;get sync(){return this._sync??=new ir({client:this.client})}_tui;get tui(){return this._tui??=new ar({client:this.client})}_v2;get v2(){return this._v2??=new $r({client:this.client})}};function Nc(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let c=e,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||zc(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 ${zc(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function zc(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function sp(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function ip(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=sp(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,p);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function qr(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=Ge(e);return t.interceptors.request.use(n=>ip(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(Nc),new Pt({client:t})}function op(e){return new Promise(t=>setTimeout(t,e))}async function Wc(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(c&&n?.(),s>0&&await op(s)),u=await e(),u)return u;return u}var ap=3e4;function cp(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function Vc(e,t,n=ap){let r=e instanceof Request?e.signal:t?.signal;if(cp(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function Dr(e,t,n){let r=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,c)=>{r.set(c,s)}),n&&!r.has("Authorization")&&r.set("Authorization",`Bearer ${n}`),r}function Jc(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function kt(){return $().getToken()}async function ie(e){return Wc(()=>$().getToken(),e,Be)}function Be(){}function lp(e){}function up(e){}async function ge(){return kt()}async function Mr(e){return ie(e)}function Qc(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function E(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await Mr();if(!s)return Jc();let c=Dr(e,t,s),u=Vc(e,t),p=await Qc(e,t,c,u);if(p.status===401&&r&&s){Be();let g=await Mr({attempts:2,baseDelayMs:200});if(g&&g!==s){let y=Dr(e,t,g);return Qc(e,t,y,u)}}return p}var Se={url:null,sandboxId:null,dbSandboxId:null,version:0},pp=new Set;function Xc(e,t=null,n=null){if(!(Se.url===e&&Se.sandboxId===t&&Se.dbSandboxId===n)){Se={url:e,sandboxId:t,dbSandboxId:n,version:Se.version+1};for(let r of pp)r()}}function Yc(){return Se.url}function dp(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function me(){return dp($().backendUrl||"http://localhost:8008/v1")}function Zc(){let e=$().sandboxId;return e?`${me()}/p/${e}/8000`:""}function gp(e){return`${me()}/p/${e}/8000`}function _t(e){return gp(e)}function G(){let e=Yc();return e||($().billingEnabled??!1?"":Zc())}var A=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},ve=class extends A{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},fe=class e extends Error{status;detail;constructor(t,n,r){super(r||n.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=n,Object.setPrototypeOf(this,e.prototype)}},Ce=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function Re(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new fe(t,{message:r?.message||e.message||"Billing error",...r})}function el(e){return e instanceof fe}function tl(e){if(!(e instanceof fe))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function Ur(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function Or(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Lr(e){let t=Or(e),n=await E(`${t}/env`);if(!n.ok)throw new Error(await Ur(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Fr(e,t,n){let r=Or(e),s=await E(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await Ur(s,"Failed to save secret"))}async function Gr(e,t){let n=Or(e),r=await E(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Ur(r,"Failed to delete secret"))}var nl={list:Lr,set:Fr,delete:Gr};async function rl(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await E(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function ye(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function wt(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Ke(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ye(e)}async function Br(e){let t=Ke(e),n=await E(`${t}/kortix/pty`);if(!n.ok)throw new Error(await wt(n,"Failed to list terminals"));return n.json()}async function Kr(e,t){let n=Ke(e),r=await E(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await wt(r,"Failed to create terminal"));return r.json()}async function Hr(e,t,n){let r=Ke(e),s=await E(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await wt(s,"Failed to update terminal"));return s.json()}async function zr(e,t){let n=Ke(e),r=await E(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await wt(r,"Failed to remove terminal"))}async function Nr(e,t){let n=Ke(t),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),ye(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await ge();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var sl={list:Br,create:Kr,update:Hr,remove:zr,webSocketUrl:Nr};async function _(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await E(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!c.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${c.status}`);return p}async function mp(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return _(e,`/kortix/tasks${r}`)}async function fp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function yp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function hp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function bp(e,t){return _(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function xp(e,t,n){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Pp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function kp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function _p(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function wp(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return _(e,`/kortix/tickets${n}`)}async function Sp(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function vp(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Cp(e,t){return _(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Rp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Tp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Ip(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Ap(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function jp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Ep(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function $p(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function qp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Dp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Mp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Up(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Op(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Lp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Fp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Gp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Bp(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Kp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Hp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function zp(e,t,n=200){return _(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Np(e){return _(e,"/kortix/projects")}async function Wp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Vp(e,t){return _(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Jp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Qp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Xp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Yp(e,t,n="all"){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function Zp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function ed(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function td(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function nd(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function rd(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function sd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function id(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function od(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function ad(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function cd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function ld(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function ud(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var pd=1e4,dd={retryOnAuthError:!1};function Te(e,t,n){return _(e,t,{signal:AbortSignal.timeout(pd),...n},dd)}async function gd(e,t=!1){return(await Te(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function md(e){return(await Te(e,"/kortix/services/templates")).templates??[]}async function fd(e,t){return(await Te(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function yd(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return Te(e,s,{method:r?"DELETE":"POST"})}async function hd(e,t){return Te(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function bd(e,t){return Te(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var St=new Map,vt=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function oe(){let e=G();if(!e)throw new vt;return ee(e)}function ee(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=St.get(e);if(t)return t;if(!yt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=qr({baseUrl:e,fetch:E});return St.set(e,n),n}function xd(e){St.delete(e)}function Pd(){St.clear()}var Ct=new Map;function kd(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Ct.get(e);if(t)return t;let n=qr({baseUrl:e,fetch});return Ct.set(e,n),n}function _d(e){Ct.delete(e)}function wd(){Ct.clear()}async function Sd(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 vd(e){let t=G();if(!t)throw new A("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await E(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new A(`System reload failed (${n.status}): ${await Sd(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function ol(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new A(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Ie(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function Rt(e,t=G()){let n=await E(`${t}${e}`);if(!n.ok)throw new A(await Ie(n),{status:n.status,response:n});return n.json()}var Tt=["/workspace","/tmp","/home","/opt"],Cd=Tt.filter(e=>e!=="/workspace");function Wr(e){return Tt.some(t=>e===t||e.startsWith(`${t}/`))}function Vr(e){return Wr(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function he(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(Cd.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Jr=he;async function ze(e,t=G()){let n=he(e)||".";return(await Rt(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function Ae(e,t=G()){let n=he(e),r=await E(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new A(await Ie(r),{status:r.status,response:r});return r.json()}async function Rd(e,t,n=G()){let r=he(e),s=await E(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new A(await Ie(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new A("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function je(e,t=G()){try{return await Rd(e,void 0,t)}catch{}let n=await Ae(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function Ne(e=G()){return Rt("/file/status",e)}async function We(e,t,n=G()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),Rt(`/find/file?${r.toString()}`,n)}async function Ve(e,t=G()){return(await Rt(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var He=[400,1200],Td=e=>e===408||e===429||e===502||e===503||e===504,il=e=>new Promise(t=>setTimeout(t,e));async function Id(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 al(e,t){let n;for(let s=0;s<=He.length;s++){let c;try{c=await t(e())}catch(p){if(n=p,s===He.length)break;await il(He[s]);continue}if(c.ok)return c.json();let u=await Id(c);if(n=new A(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!Td(c.status)||s===He.length)throw n;await il(He[s])}if(n instanceof A)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new A(`Upload failed: ${r}`)}function Ee(e,t,n,r=G()){return al(()=>{let s=new FormData,c=(t??"").trim();return c&&s.append("path",c.startsWith("/")?c:`/${c}`),n?s.append("file",e,n):s.append("file",e),s},s=>E(`${r}/file/upload`,{method:"POST",body:s}))}function Ad(e,t,n=G()){return al(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await ge();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function Je(e,t=G()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return Ee(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function Qe(e,t,n=G()){return Ad(t,await je(e,n),n)}async function Xe(e,t=G()){let n=await E(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new A(`Delete failed (${n.status}): ${await Ie(n)}`,{status:n.status,response:n});return n.json()}async function Ye(e,t=G()){let n=await E(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new A(`Mkdir failed (${n.status}): ${await Ie(n)}`,{status:n.status,response:n});return n.json()}async function Ze(e,t,n=G()){let r=await E(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new A(`Rename failed (${r.status}): ${await Ie(r)}`,{status:r.status,response:r});return r.json()}async function Qr(){return ol(await oe().project.current())}async function It(){return ol(await oe().global.health())}async function Xr(){try{return(await It()).healthy===!0}catch{return!1}}var cl={list:ze,read:Ae,readBlob:je,status:Ne,findFiles:We,findText:Ve,upload:Ee,create:Je,copy:Qe,remove:Xe,mkdir:Ye,rename:Ze,currentProject:Qr,health:It,isReachable:Xr,toDaemonPath:he,toSandboxAbsolutePath:Vr,toWorkspaceRelative:Jr};var ae=()=>$().backendUrl||"",ul="feature_not_supported",Ed=e=>new Promise(t=>setTimeout(t,e)),$d=new Set([502,503,504]),qd=e=>$d.has(e),Dd=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Md=2,ll=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),Yr=!1;function Ud(e){Yr=e}function Od(){return Yr}async function be(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,p=null,g=!1,y=!1;try{p=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,y=!0,u.abort())},s);let m=await ie(),k=c.body instanceof FormData,w={};if(k||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),Yr&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new ve,success:!1};let R=Dd(c.method),l=R?Md+1:1,f;for(let v=0;v<l;v++){v>0&&await Ed(250*2**(v-1));let P=v===0?u:new AbortController;v>0&&(p=setTimeout(()=>{y=!0,P.abort()},s));try{f=await fetch(e,{...c,headers:w,signal:P.signal,credentials:c.credentials??"omit"})}catch(I){if(p&&(clearTimeout(p),p=null),ll(I)||v===l-1)throw I;continue}if(p&&(clearTimeout(p),p=null),!(R&&qd(f.status)&&v<l-1))break;try{await f.arrayBuffer()}catch{}}if(!f.ok){let v=`HTTP ${f.status}: ${f.statusText}`,P=null;try{P=await f.json(),typeof P.message=="string"?v=P.message:P.error&&typeof P.error=="string"?v=P.error:typeof P.detail=="string"?v=P.detail:typeof P.detail?.message=="string"&&(v=P.detail.message)}catch{}let j=new A(v,{status:f.status,response:f,details:P||void 0,data:P,detail:P?.detail,code:P?.code||P?.error_code||P?.detail?.error_code||f.status.toString()});if(f.status===402&&(j=Re(j)),f.status===403&&P?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}f.status===431&&(j=new Ce(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let I=f.status===501&&P?.code===ul;return n&&!I&&$().onError?.(j,r),{error:j,success:!1}}let a,T=f.headers.get("content-type");return T?.includes("application/json")?a=await f.json():T?.includes("text/")?a=await f.text():a=await f.blob(),{data:a,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let k=ll(m);k&&(g=!0);let w;if(k){if(!y)return{error:new A("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let R=e.replace(ae(),"")||e;w=new A(`Request timed out after ${Math.round(s/1e3)}s: ${R}`,{code:"TIMEOUT",url:e,endpoint:R,timeout:s}),n&&$().onError?.(w,r)}else m instanceof Error?(w=new A(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(w,r)):(w=new A(String(m)),n&&$().onError?.(w,r));return{error:w,success:!1}}}var Ld={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new A(r.message||"Database error",{code:r.code,details:r});return $().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new A(n.message,{name:n.name||"ApiError",stack:n.stack}):new A(String(n));return $().onError?.(r,t),{error:r,success:!1}}}},i={get:(e,t)=>be(`${ae()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>be(`${ae()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>be(`${ae()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>be(`${ae()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>be(`${ae()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],be(`${ae()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],be(`${ae()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function o(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Zr(e){return e.replace(/\/v1\/?$/,"")}async function $e(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Zr(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 es(){return o(await i.get("/accounts"))}async function ts(e){return o(await i.post("/accounts",e))}async function ns(e){return o(await i.get(`/accounts/${e}`))}async function rs(e,t){return o(await i.patch(`/accounts/${e}`,{name:t}))}async function ss(e){return o(await i.get(`/accounts/${e}/members`))}async function is(e,t){return o(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function os(e){return o(await i.get(`/accounts/${e}/invites`))}async function as(e,t){return o(await i.delete(`/accounts/${e}/invites/${t}`))}async function cs(e,t){return o(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function ls(e){return o(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function us(e){return o(await i.post(`/account-invites/${e}/accept`,{}))}async function ps(e){return o(await i.post(`/account-invites/${e}/decline`,{}))}async function ds(e,t){return o(await i.delete(`/accounts/${e}/members/${t}`))}async function gs(e,t,n){return o(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function ms(e){return o(await i.post(`/accounts/${e}/leave`,{}))}async function Fd(e){return $e(e,"/v1/accounts")}async function fs(){let e=await i.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function xe(){return o(await i.get("/projects"))}async function ys(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/projects${t}`))}async function At(e,t){return o(await i.get(`/projects/${e}`,t))}async function hs(e,t,n="write"){return o(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function bs(e,t){return o(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function xs(e){return o(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Gd(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function jt(e,t){let n=o(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 Et(e,t){return o(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function $t(e,t){return o(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Bd(e,t){return o(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function Ps(e){return o(await i.post("/projects",e))}async function ks(e){return o(await i.post("/projects/create-repo",e))}async function _s(e,t={}){return o(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function Kd(){try{return o(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function qt(e,t){return o(await i.patch(`/projects/${e}`,t))}async function ws(e,t,n){return o(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function Ss(e,t){return o(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Hd(e,t){return o(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function zd(e,t){return o(await i.patch(`/projects/${e}/warm-pool`,t))}async function vs(e,t){return o(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function Dt(e){return o(await i.delete(`/projects/${e}`))}async function Nd(e,t){return $e(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Wd(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Zr(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 Cs(e){return o(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function Rs(e){return o(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Ts(e){return o(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Is(e){return o(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function As(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)),o(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function js(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return o(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Es(e){return o(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function $s(e){return o(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function qs(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),o(await i.delete(`/projects/github/installation?${n.toString()}`))}async function Vd(e,t){return o(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Ds(e,t){return o(await i.get(`/projects/${e}/access-requests`,t))}async function Ms(e,t,n="member"){return o(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function Us(e,t){return o(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Os(e){return o(await i.get(`/projects/${e}/access`))}async function Ls(e,t,n){return o(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function Fs(e,t){return o(await i.delete(`/projects/${e}/access/${t}`))}function Jd(e){return"status"in e&&e.status==="invited"}async function Gs(e,t,n,r){return o(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Bs(e){return o(await i.get(`/projects/${e}/access/pending-invites`))}async function Ks(e,t){return o(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Hs(e,t){return o(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function zs(e){return o(await i.get(`/projects/${e}/group-grants`))}async function Ns(e,t,n,r){return o(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 Ws(e,t,n,r){return o(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Vs(e,t){return o(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Js(e){return o(await i.get(`/projects/${e}/resource-grants`))}async function Qs(e,t){return o(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 Xs(e,t){return o(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Ys(e,t){return o(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Zs(e,t){return o(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function ei(e,t,n){return o(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function ti(e){return o(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function ni(e,t){return o(await i.post(`/projects/${e}/secrets`,t))}async function ri(e,t,n){return o(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n}))}async function si(e,t,n){return o(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function ii(e,t,n){return o(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function oi(e,t){return o(await i.put(`/projects/${e}/git-credential`,t))}async function ai(e,t){return o(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function ci(e,t,n){return o(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function li(e,t){return o(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function Mt(e){return o(await i.get(`/projects/${e}/connector-profiles`))}var Qd=Mt;async function Ut(e){return o(await i.get(`/projects/${e}/connector-profiles/all`))}var Xd=Ut;async function Ot(e,t){return o(await i.post(`/projects/${e}/connector-profiles`,t))}var Yd=Ot;async function Lt(e,t){return o(await i.post(`/projects/${e}/connector-profiles/me`,t))}var Zd=Lt;async function Ft(e,t,n){return o(await i.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}var eg=Ft;function Pe(e,t,n){return`/projects/${e}/connector-profiles/${t}/oauth2/${n}`}async function pl(e,t){return o(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/profile`,{}))}var tg=pl;async function dl(e,t,n){return o(await i.put(Pe(e,t,"application"),n))}var ng=dl;async function gl(e,t){return o(await i.get(Pe(e,t,"application")))}var rg=gl;async function ml(e,t,n){return o(await i.post(Pe(e,t,"discover"),n))}var sg=ml;async function fl(e,t,n){return o(await i.post(Pe(e,t,"authorize"),n))}var ig=fl;async function yl(e,t,n){return o(await i.post(Pe(e,t,"device"),n))}var og=yl;async function hl(e,t,n){return o(await i.post(Pe(e,t,`device/${encodeURIComponent(n)}`),{}))}var ag=hl;async function bl(e,t){return o(await i.get(Pe(e,t,"status")))}var cg=bl;async function Gt(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}var lg=Gt;async function Bt(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}var ug=Bt;async function Kt(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/default`,{}))}var pg=Kt;async function Ht(e,t,n={}){return o(await i.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}var dg=Ht;async function zt(e,t){return o(await i.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}var gg=zt;async function ui(e){return o(await i.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function pi(e){return o(await i.post(`/executor/projects/${e}/connectors/sync`,{}))}async function di(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function gi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function mi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function fi(e,t){return o(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function yi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function mg(e,t){throw new Error("Authorization-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function fg(e,t,n){throw new Error("Authorization-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function hi(e,t){return o(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function bi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function xi(e,t){return o(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Pi(e,t){return o(await i.post(`/executor/projects/${e}/connectors`,t))}async function ki(e,t){return o(await i.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function _i(e,t){return o(await i.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function wi(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Si(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function vi(e,t){let n=new URLSearchParams({id:t});return o(await i.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function Ci(){return o(await i.get("/executor/connect-status"))}async function Ri(e,t,n){let r=typeof n=="string"?{value:n}:n;return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function Ti(e,t){return o(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function Ii(e){return o(await i.get(`/executor/projects/${e}/policies`))}async function Ai(e,t,n){return o(await i.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function ji(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function Ei(e){return o(await i.get(`/projects/${e}/snapshots`))}async function Nt(e){return o(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function $i(e,t){return o(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function qi(e){return o(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Di(e,t){return o(await i.post(`/projects/${e}/sandbox-templates`,t))}async function Mi(e,t,n){return o(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Ui(e,t){return o(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Oi(e,t){return o(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Li(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function Fi(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 o(await i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Gi(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)),o(await i.get(`/projects/${e}/files/search?${r.toString()}`))}async function Bi(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),o(await i.get(`/projects/${e}/files/content?${r.toString()}`))}async function Ki(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",c=await ie(),u=`${$().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!p.ok){let g=await p.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function Hi(e){return o(await i.get(`/projects/${e}/branches`))}async function zi(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 o(await i.get(`/projects/${e}/commits${r}`))}async function Ni(e,t){return o(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Wi(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return o(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Vi(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)),o(await i.get(`/projects/${e}/files/history?${r.toString()}`))}async function Ji(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return o(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function Qi(e,t){let n=t?`?status=${t}`:"";return o(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Xi(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}`))}async function Yi(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function Zi(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function eo(e,t){return o(await i.post(`/projects/${e}/change-requests`,t))}async function to(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function no(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function ro(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function so(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function io(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var oo=new Set;function et(e){e&&oo.add(e)}function ao(e){return!!e&&oo.has(e)}function yg(e){e&&oo.delete(e)}async function qe(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope);let r=n.size>0?`?${n}`:"";return o(await i.get(`/projects/${e}/sessions${r}`))}async function co(e,t,n){return o(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function lo(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function uo(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function po(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function go(e,t,n){return o(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function De(e,t){let n=o(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||et(n?.session_id),n}async function mo(e){let t=o(await i.post(`/projects/${e}/sessions/warm`,{}));return et(t.session.session_id),t}async function fo(e,t){let n=o(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return et(n.session_id),n}async function Wt(e,t,n){return o(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function yo(e,t,n,r){let s=n?`?limit=${n}`:"";return o(await i.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function ho(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 o(await i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function bo(e,t,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return o(await i.get(`/projects/${e}/sessions/${t}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function xo(e,t,n){return o(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function Po(e,t){return o(await i.delete(`/projects/${e}/sessions/${t}`))}async function tt(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function nt(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function ko(e,t){return o(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function _o(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function wo(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function So(e){return o(await i.get(`/projects/${e}/triggers`))}async function vo(e,t){return o(await i.post(`/projects/${e}/triggers`,t))}async function Co(e,t,n){return o(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function Ro(e,t){return o(await i.delete(`/projects/${e}/triggers/${t}`))}async function To(e,t){return o(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Io(e,t){return o(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var ce=new Map;function Ao(e,t){return`${e}::${t}`}function xl(e,t){ce.delete(e),ce.set(e,t)}function Pl(e,t){let n=Ao(e,t),r=ce.get(n);return r&&xl(n,r),r}function kl(e,t,n){let r=Ao(e,t);if(!ce.has(r)&&ce.size>=512){let s=ce.keys().next().value;s!==void 0&&ce.delete(s)}xl(r,n)}function _l(e,t){ce.delete(Ao(e,t))}function hg(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 Vt=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 bg(e){return e instanceof Error&&e.name==="SessionStartError"}function xg(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 Vt(s,{status:n,code:r,terminal:!0}):null}async function ke(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=xg(s.error);if(p&&!(p.status===404&&ao(t)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&kl(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:_t(u),sandboxId:u}),c}function Pg(e,t){return["session-start",e,t]}async function jo(e){return o(await i.get(`/projects/${e}/model-defaults`))}async function Eo(e,t){return o(await i.put(`/projects/${e}/model-defaults`,t))}async function $o(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return o(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function kg(e,t){return o(await i.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function qo(e,t,n){let r=wg(n);return o(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function wl(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function _g(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function wg(e){let t=e.connectors_required?wl(e.connectors_required):void 0,n=e.connectors_personal?wl(e.connectors_personal):void 0;if(t&&n&&!_g(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 Sg(e,t){let n=o(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?Do(n.block):null}}async function vg(e,t,n){let r=Do(n),s=o(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?Do(s.block):null}}function Sl(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Cg(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Do(e){let t=e.connectors_required?Sl(e.connectors_required):void 0,n=e.connectors_personal?Sl(e.connectors_personal):void 0;if(t&&n&&!Cg(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 Mo(e,t){return o(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function Uo(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function Oo(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}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Uo():s.data}async function Lo(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}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Uo():s.data}async function Fo(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 o(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function Go(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 o(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Bo(){return o(await i.get("/billing/credit-breakdown"))}async function Ko(e){let t=e!=null?`?days=${e}`:"";return o(await i.get(`/billing/usage-history${t}`))}async function Ho(){return o(await i.get("/billing/tier-configurations"))}async function Rg(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return $e(e,`/v1/billing/account-state${t}`)}async function zo(e){return o(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 No(e,t){return o(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Wo(e,t){return o(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Vo(e,t){return o(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function Jo(e){return o(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function Qo(e,t,n){return o(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function Xo(e){return o(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function Yo(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),o(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Zo(e){return o(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 ea(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function ta(e){return o(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function Tg(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Ig(e){return o(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 Ag(e){return o(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function jg(e){return o(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function na(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 o(await i.get(`/usage${n?`?${n}`:""}`))}function sa(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function Jt(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function Qt(e){return e.size>0?`?${e}`:""}async function ia(e={}){let t=new URLSearchParams;return sa(t,e),e.ownerId&&t.set("owner_id",e.ownerId),Jt(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)),o(await i.get(`/usage/session-costs${Qt(t)}`))}async function Xt(e,t={}){let n=new URLSearchParams;return sa(n,t),o(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${Qt(n)}`))}async function Eg(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),Jt(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)),o(await i.get(`/usage/cost-by-project${Qt(t)}`))}async function $g(e={}){let t=new URLSearchParams;return sa(t,e),e.sessionId&&t.set("session_id",e.sessionId),Jt(t,e),o(await i.get(`/usage/cost-summary${Qt(t)}`))}function ra(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)}Jt(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`${$().backendUrl||""}${r}?${n}`}async function qg(e,t={}){let n=ra(e==="projects"?"projects":"sessions",t),r=await ie(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let g=await s.text().catch(()=>"");throw new Error(g||`Failed to export CSV (HTTP ${s.status})`)}let c=s.headers.get("x-kortix-row-cap"),u=c!=null?Number(c):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function vl(e,t){return o(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function Dg(e){return vl("slack",e)}function Mg(e){return vl("teams",e)}async function oa(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function aa(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Ug={oauth_available:!1,install_url:null};async function ca(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Ug:t.data}async function la(e){return o(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function ua(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 pa(e,t){return o(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function da(e,t){return o(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 ga(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Og={provider:"agentmail",managed_available:!1};async function ma(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?ga(r.data):null}async function fa(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Og:t.data}async function ya(e,t){let n=o(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return ga(n)}async function ha(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 ba(e,t,n){let r=o(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 ga(r)}async function xa(e,t){return o(await i.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function Lg(e){return o(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Fg(e,t,n){return o(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Pa(e){return o(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ka(e,t){return o(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function _a(e){return o(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function wa(e,t){return o(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Sa(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 o(await i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function va(e,t){return o(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Ca(e,t){return o(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ra(e,t){return o(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ta(e,t){return o(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ia(e,t){return o(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Aa(e,t){return o(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function ja(e){return o(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Ea(e,t){return o(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function $a(e,t){return o(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function qa(e){return o(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Da(e,t){return o(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Ma(e,t){return o(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Ua(e,t,n,r,s){return o(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 Gg(e,t){return o(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Oa(e){let t=new FormData;t.append("audio_file",e);let n=await i.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function Bg(){return o(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function Kg(){return o(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function Hg(e){return o(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function zg(){return o(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function Ng(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return o(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function Wg(e){return o(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function x(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 Vg(e){return x(await U(`/accounts/${e}/iam/groups`)).groups}async function Jg(e,t){return x(await U(`/accounts/${e}/iam/groups/${t}`))}async function Qg(e,t){return x(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function Xg(e,t,n){return x(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function Yg(e,t){return x(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function Zg(e,t){return x(await U(`/accounts/${e}/iam/groups/${t}/members`)).members}async function em(e,t,n){return x(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function tm(e,t){return x(await U(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function nm(e,t,n){return x(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function rm(e,t){return x(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function sm(e,t){return x(await U(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function im(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 x(await U(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function om(e,t){return x(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function am(e,t,n){return x(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function cm(e,t){return x(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function lm(e,t){return x(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function um(e,t){return x(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function pm(e){return x(await U(`/accounts/${e}/iam/roles`)).roles}async function dm(e){return x(await U(`/accounts/${e}/iam/agent-identities`)).agents}async function gm(e,t){return x(await U(`/accounts/${e}/iam/roles/${t}/permissions`))}async function mm(e){return x(await U(`/accounts/${e}/iam/actions`)).actions}async function fm(e,t){return x(await U(`/accounts/${e}/iam/roles/${t}/usage`))}async function ym(e,t){return x(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function hm(e,t,n){return x(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function bm(e,t,n){return x(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function xm(e,t){return x(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function Pm(e,t,n){return x(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function km(e){return x(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function _m(e,t){return x(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function wm(e,t){return x(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function Sm(e){return x(await U(`/accounts/${e}/iam/mfa-required`))}async function vm(e){return x(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function Cm(e,t){return x(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function Rm(e){return x(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function Tm(e,t){return x(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Im(e,t){return x(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function Am(e){return x(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function jm(e){return x(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Em(e,t){return x(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function $m(e,t){return x(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function qm(e){return x(await U(`/accounts/${e}/iam/session-policy`))}async function Dm(e,t){return x(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Mm(e){return x(await U(`/accounts/${e}/iam/sessions`)).sessions}async function Um(e,t){return x(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function Om(e){return x(await U(`/accounts/${e}/iam/pat-policy`))}async function Lm(e,t){return x(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Fm(e){return x(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function Gm(e,t){return x(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Bm(e,t){return x(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Km(e,t){return x(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Hm(e){return x(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function zm(e,t){return x(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function Nm(e,t,n){return x(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Wm(e,t){return x(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Vm(e,t={}){let n=new URLSearchParams;t.action&&n.set("action",t.action),t.actor&&n.set("actor",t.actor),t.project_id&&n.set("project_id",t.project_id),t.session_id&&n.set("session_id",t.session_id),t.actor_type&&n.set("actor_type",t.actor_type),t.source&&n.set("source",t.source),t.outcome&&n.set("outcome",t.outcome),t.request_id&&n.set("request_id",t.request_id),t.correlation_id&&n.set("correlation_id",t.correlation_id),t.resource_type&&n.set("resource_type",t.resource_type),t.since&&n.set("since",t.since),t.until&&n.set("until",t.until),t.q&&n.set("q",t.q),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString();return x(await U(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Jm(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),x(await U(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function Qm(e,t,n){return n.length===0?[]:x(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function Xm(e){return x(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function Ym(e,t){return x(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function Zm(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:o(e,"Failed to load account deletion status")}async function ef(e="User requested deletion"){return o(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function tf(){return o(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function nf(){return o(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function rf(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function sf(){return i.get("/admin/api/provider-distribution").then(e=>o(e))}function of(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>o(t))}function af(e){return i.put("/admin/api/provider-distribution",e).then(t=>o(t))}function cf(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>o(t))}function lf(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>o(n))}function uf(){return i.get("/admin/api/provider-fallback").then(e=>o(e))}function pf(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>o(t))}async function df(e){return o(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function gf(e,t){return o(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 La(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 o(await i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Fa(e,t){return o(await i.get(`/projects/${e}/review/items/${t}`))}async function Ga(e,t){return o(await i.post(`/projects/${e}/review/items`,t))}async function Ba(e,t,n){return o(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function Ka(e,t){return o(await i.post(`/projects/${e}/review/bulk`,t))}async function Ha(e){return o(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function za(e){return o(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 Na(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 Yt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Cl(e,t=""){return`${me()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Rl(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 Yt(s,t.status)}return r}async function mf(e){return Rl(Cl(e))}async function ff(e){return Rl(Cl(e,"/messages"))}var Zt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function Tl(e){return`${me()}/public/voice-join/${encodeURIComponent(e)}`}async function Il(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Zt(s,t.status)}return r}async function yf(e){return Il(Tl(e))}async function hf(e,t=0){let n=`${Tl(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return Il(n)}async function Wa(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/accounts/tokens${t}`))}async function Va(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return o(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Ja(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.delete(`/accounts/tokens/${e}${n}`))}async function Qa(e){return o(await i.get(`/projects/${e}/cli-token`))}async function Xa(e,t){return o(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Ya(e,t){return o(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Za(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return o(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function ec(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q);let r=n.toString();return o(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function tc(e){return o(await i.get(`/accounts/${e}/audit/webhooks`))}async function nc(e,t){return o(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function rc(e,t,n){return o(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function sc(e,t){return o(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function ic(e,t){return o(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 oc(e,t){return o(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function bf(e){return o(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function ac(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 o(await i.get(`/marketplace/items${n}`))}async function cc(){return o(await i.get("/marketplace/marketplaces"))}async function lc(){return o(await i.get("/marketplace/marketplaces/featured"))}async function uc(e){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function pc(e,t){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function dc(){return o(await i.get("/marketplace/sources"))}async function gc(e){return o(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function mc(e){return o(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function xf(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function Pf(e){return o(await i.get(`/templates/${encodeURIComponent(e)}`))}async function kf(e,t){return o(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}function _f(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 fc(e,t){let n=(e===void 0?G():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await E(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var te={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var Al=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,jl=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,El=new Set([22,4096,parseInt(te.KORTIX_MASTER,10)]);function wf(e){return jl.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 Sf(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var vf=new Set(["'",'"',"`","<","(","["]),Cf=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Rf(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&&vf.has(e[t]);)t++;for(;n>t&&Cf.has(e[n-1]);)n--;return e.slice(t,n)}function Tf(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var If=/^\/proxy\/(\d{1,5})(\/.*)?$/,Af=/^\/(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 $l(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Af.test(t.pathname)}catch{return!1}}function st(e){if(!e)return null;let t=Rf(Sf(e.trim())),n=hc(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 c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(te.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(If);if(g){let y=parseInt(g[1],10);if(y>=1&&y<=65535)return s=y,c=en(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let p=en(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Tf(e);return r&&r!==e?st(r):null}}function jf(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let c=r.index,u=c+r[0].length;t.some(([g,y])=>c>=g&&u<=y)||t.push([c,u])}return t}function Ef(e,t){return t.some(([n,r])=>e>=n&&e<r)}function ql(e){let t=[],n=new Set,r=jf(e);Al.lastIndex=0;let s;for(;(s=Al.exec(e))!==null;){let c=st(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||El.has(p)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:p,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Ef(s.index,r)}))}return t}function $f(e){return ql(e).length>0}function qf(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Dl(e){return e.sandboxId.trim().length>0}function le(e,t,n){let r=en(t);if(!Dl(n))return Ll(e,r);if(!qf(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${e}${r}`}return`http://p${e}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function Df(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return le(3211,`/open?path=/workspace/${r}`,t)}function Ml(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Mf(e){return`http://localhost:3211${Ml(e)}`}function Ul(){return"/health"}function Uf(e){return le(3211,Ul(),e)}function Of(e,t){return le(e,"/",t)}function Ol(e){let t=st(e);return!(!t||El.has(t.port)||$l(e))}function yc(e,t){if(!e)return e;let n=st(e);return n?Ol(n.originalUrl)?le(n.port,n.path,t):n.originalUrl:e}function Ll(e,t="/"){return`http://localhost:${e}${t}`}var Fl=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function hc(e){let t=e.match(jl);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(Fl);if(n)try{let r=new URL(e);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function Lf(e){try{let t=hc(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function Ff(e){return wf(e)||Fl.test(e)}function Gf(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var rt="/web-proxy/";function Bf(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${rt}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(te.KORTIX_MASTER,10);return`${le(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Kf(e){try{let t=new URL(e),n=t.pathname.indexOf(rt);if(n===-1)return null;let s=t.pathname.slice(n+rt.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],p=s[3]||"/";return`${c}://${u}${p}${t.search}${t.hash}`}catch{return null}}function Hf(e){try{return new URL(e).pathname.includes(rt)}catch{return e.includes(rt)}}function zf(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 Nf(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 Gl="frontend";function tn(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Gl}] ${t}`,...n?[n]:[]);try{oe().app.log({service:Gl,level:e,message:t,extra:n})}catch{}}var ue={debug:(e,t)=>tn("debug",e,t),info:(e,t)=>tn("info",e,t),warn:(e,t)=>tn("warn",e,t),error:(e,t)=>tn("error",e,t)};function Bl(e){return{type:"heartbeat-gap",gapMs:e}}function Kl(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 Wf={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Vf=16,Jf=8,Qf=6e4,Xf=5e3,Yf=250,Zf=1e3,ey=3e4,ty=5,ny=3e3,ry=3e4,sy=2e4,iy=2e3,oy=8;function ay(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Hl(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function nn(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??Wf,p=e.connectTimeoutMs??sy,g=e.heartbeatTimeoutMs??Qf,y=e.maxConsecutiveHardFailures??oy,m=new AbortController,k=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",k,{once:!0}));let w=u.now(),R=[],l,f=0,a=new Map,T=()=>{if(l&&u.clearTimeout(l),l=void 0,R.length===0)return;let P=R;R=[],a.clear(),f=u.now(),w=u.now();for(let j of P)if(j)try{n(j.event)}catch(I){console.warn("[opencode-events] event handler threw, skipping",I)}},v=()=>{if(l)return;let P=u.now()-f;l=u.setTimeout(T,Math.max(0,Vf-P))};return(async()=>{let P=0,j=0;for(;!m.signal.aborted;){let I=!1,S=!1,q,L,h=null,C=u.now(),D=new AbortController,F=Hl(m.signal);F.promise.then(()=>D.abort());try{let H=await new Promise((gn,Oe)=>{let V=!1;L=u.setTimeout(()=>{V||(V=!0,ue.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),D.abort(),Oe(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:D.signal,sseDefaultRetryDelay:ny,sseMaxRetryDelay:ry,sseMaxRetryAttempts:1}).then(Z=>{V||(V=!0,u.clearTimeout(L),gn(Z))},Z=>{V||(V=!0,u.clearTimeout(L),Oe(Z))})}),{stream:O}=H;w=u.now();let W=()=>{u.clearTimeout(q),q=u.setTimeout(()=>{ue.warn("SSE heartbeat timeout, forcing reconnect"),D.abort()},g)};W();let dt=u.now(),Mu=O[Symbol.asyncIterator]();for(;!D.signal.aborted;){let gn=Mu.next().then(se=>({kind:"next",result:se}),se=>({kind:"error",error:se})),Oe=Hl(D.signal),V=await Promise.race([gn,Oe.promise.then(()=>({kind:"aborted"}))]);if(Oe.cleanup(),V.kind==="aborted")break;if(V.kind==="error")throw V.error;if(V.result.done)break;I=!0,W();let Z=V.result.value,gt=Z&&typeof Z=="object"&&"payload"in Z?Z.payload:Z;if(!gt?.type)continue;let mn=ay(gt);if(mn){let se=a.get(mn);se!==void 0&&(R[se]=void 0),a.set(mn,R.length)}R.push({type:gt.type,event:gt}),v(),!(u.now()-dt<Jf)&&(dt=u.now(),await new Promise(se=>u.setTimeout(se,0)))}S=I}catch(H){if(m.signal.aborted)break;h=H;let O=String(H),W=O.includes("401")||O.includes("403")||O.includes("Unauthorized")||O.includes("Token refresh failed");if(ue.error("SSE event stream error",{error:O,retryCount:P,isAuthError:W}),W)try{Be(),await kt(),ue.info("SSE: refreshed auth token after auth error")}catch(dt){ue.error("SSE: failed to refresh auth token",{error:String(dt)})}}finally{u.clearTimeout(q),u.clearTimeout(L),D.abort(),F.cleanup(),T()}if(m.signal.aborted)break;let J=u.now()-C,Q=h?.cause?.status;if(j=!I&&(typeof Q=="number"&&Q>=400||J<iy)?j+1:0,j>=y){ue.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:j,lastError:String(h)});try{s?.({consecutiveFailures:j,lastError:h})}catch(H){console.warn("[opencode-events] onParked handler threw",H)}break}let N=u.now()-w;N>Xf&&r?.(N),S?P=0:(P++,P>1&&ue.warn("SSE event stream reconnecting",{retryCount:P}));let M=S?Yf:Math.min(Zf*2**Math.min(P-1,ty),ey);await new Promise(H=>{let O=u.setTimeout(H,M),W=()=>{u.clearTimeout(O),H()};m.signal.addEventListener("abort",W,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",k),l&&u.clearTimeout(l)}}}function cy(){return oe()}var rn=new Map,it=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 zl(e,t){ft(e,t);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new A(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let f=$().backendUrl??e.backendUrl,a=80,T=n(f);return T&&(a=T.port?Number(T.port):T.protocol==="https:"?443:80),{sandboxId:l,backendPort:a,apiBaseUrl:f}}let s={list:es,get:ns,create:ts,updateName:rs,leave:ms,members:ss,invite:is,removeMember:ds,updateMemberRole:gs,invites:os,cancelInvite:as,resendInvite:cs,tokens:{list:Wa,create:Va,revoke:Ja},audit:{log:Za,export:ec,webhooks:{list:tc,create:nc,update:rc,remove:sc}}},c={accountState:Oo,accountStateMinimal:Lo,transactions:Fo,transactionsSummary:Go,creditBreakdown:Bo,usageHistory:Ko,usageRollup:na,sessionCosts:{list:ia,get:Xt},tierConfigurations:Ho,checkout:{createSession:l=>zo(l),confirmSession:(l,f)=>No(l,f)},subscription:{createPortalSession:(l,f)=>Wo(l,f),cancel:(l,f)=>Vo(l,f),reactivate:l=>Jo(l),scheduleDowngrade:(l,f,a)=>Qo(l,f,a),cancelScheduledChange:l=>Xo(l),prorationPreview:(l,f)=>Yo(l,f)},credits:{purchase:l=>Zo(l),autoTopupSettings:l=>ea(l),configureAutoTopup:l=>ta(l)}},u={describe:ls,accept:us,decline:ps},p={list:xe,listForAccount:ys,get:At,detail:jt,create:Ps,createRepo:ks,provision:_s,update:qt,archive:Dt,llmCatalog:Et,modelPicker:$t,sandboxHealth:Nt,sandboxTemplates:ji,sessions:qe,createSession:De},g={linkRepository:Cs,getInstallation:Rs,listInstallations:Ts,listLinkableInstallations:Is,listRepositories:As,listRepositoryBranches:js,linkInstallation:$s,saveInstallation:Es,deleteInstallation:qs},y={list:Ha,create:za,revoke:Na},m=Ci,k={items:l=>ac(l),item:l=>uc(l),itemFile:(l,f)=>pc(l,f),marketplaces:()=>cc(),featured:()=>lc(),sources:{list:()=>dc(),add:l=>gc(l),remove:l=>mc(l)}};function w(l){let f={list:()=>Mt(l),listAll:()=>Ut(l),reconcile:(...a)=>Ot(l,...a),reconcileMember:(...a)=>Lt(l,...a),updateCredential:(...a)=>Ft(l,...a),revoke:(...a)=>Gt(l,...a),activate:(...a)=>Bt(l,...a),setDefault:(...a)=>Kt(l,...a),pipedreamConnect:(...a)=>Ht(l,...a),pipedreamFinalize:(...a)=>zt(l,...a)};return{get:a=>At(l,a),detail:()=>jt(l),update:a=>qt(l,a),archive:()=>Dt(l),llmCatalog:()=>Et(l),modelPicker:()=>$t(l),sandboxHealth:()=>Nt(l),onboardingComplete:(...a)=>vs(l,...a),tokens:{list:()=>Qa(l),create:a=>Xa(l,a),revoke:a=>Ya(l,a)},setupLinks:{requestSecret:a=>ic(l,a),requestConnector:a=>oc(l,a)},validateManifest:a=>bs(l,a),gitToken:()=>xs(l),secrets:{list:()=>ti(l),upsert:a=>ni(l,a),setStrategy:(...a)=>ri(l,...a),remove:a=>ai(l,a),setPersonal:(...a)=>ci(l,...a),removePersonal:a=>li(l,a),setGitCredential:a=>oi(l,a),startProviderOAuth:(...a)=>si(l,...a),pollProviderOAuth:(...a)=>ii(l,...a)},access:{list:()=>Os(l),invite:(...a)=>Gs(l,...a),update:(...a)=>Ls(l,...a),revoke:a=>Fs(l,a),pendingInvites:()=>Bs(l),resendInvite:(...a)=>Hs(l,...a),revokeInvite:(...a)=>Ks(l,...a),requests:()=>Ds(l),approveRequest:(...a)=>Ms(l,...a),rejectRequest:(...a)=>Us(l,...a),groupGrants:()=>zs(l),attachGroupGrant:(...a)=>Ns(l,...a),updateGroupGrant:(...a)=>Ws(l,...a),detachGroupGrant:a=>Vs(l,a),resourceGrants:{list:()=>Js(l),create:a=>Qs(l,a),remove:a=>Xs(l,a)}},connectors:{list:()=>ui(l),config:(...a)=>hi(l,...a),create:(...a)=>Pi(l,...a),remove:(...a)=>_i(l,...a),sync:()=>pi(l),auth:{discover:(...a)=>ki(l,...a)},setName:(...a)=>bi(l,...a),setCredentialMode:(...a)=>di(l,...a),setAuthorizationStrategy:(...a)=>gi(l,...a),setCredential:(...a)=>Ri(l,...a),setSensitive:(...a)=>mi(l,...a),authorizations:f,profiles:f,policies:{get:(...a)=>fi(l,...a),set:(...a)=>yi(l,...a)},pipedream:{listApps:(...a)=>wi(l,...a),connect:(...a)=>xi(l,...a),finalize:(...a)=>Ti(l,...a)},discover:{list:(...a)=>Si(l,...a),detail:(...a)=>vi(l,...a)}},policies:{list:()=>Ii(l),set:(...a)=>Ai(l,...a)},triggers:{list:()=>So(l),create:(...a)=>vo(l,...a),update:(...a)=>Co(l,...a),remove:(...a)=>Ro(l,...a),fire:(...a)=>Io(l,...a),setActivation:(...a)=>To(l,...a)},files:{list:a=>Fi(l,a),read:(a,T)=>Bi(l,a,T),search:(...a)=>Gi(l,...a),archive:(...a)=>Ki(l,...a),history:(...a)=>Vi(l,...a)},git:{commits:()=>zi(l),commit:a=>Ni(l,a),commitDiff:a=>Wi(l,a),branches:()=>Hi(l),versionDiff:(...a)=>Ji(l,...a),inviteCollaborator:(...a)=>hs(l,...a)},changeRequests:{list:()=>Qi(l),get:a=>Xi(l,a),diff:a=>Yi(l,a),mergePreview:a=>Zi(l,a),open:(...a)=>eo(l,...a),merge:(...a)=>to(l,...a),close:(...a)=>no(l,...a),reopen:(...a)=>ro(l,...a),requestChanges:(...a)=>so(l,...a)},sessions:{list:a=>qe(l,a),create:a=>De(l,a),ensureWarm:()=>mo(l),claimWarm:a=>fo(l,a)},review:{list:a=>La(l,a),get:a=>Fa(l,a),submit:a=>Ga(l,a),act:(...a)=>Ba(l,...a),bulkAct:a=>Ka(l,a)},approvals:{list:a=>Ys(l,a),resolve:(...a)=>ei(l,...a),sessionsNeedingInput:a=>Zs(l,a)},gateway:{logs:a=>Sa(l,a),log:a=>va(l,a),overview:a=>Ca(l,a),series:a=>Ra(l,a),breakdown:a=>Ta(l,a),sessions:a=>Ia(l,a),errors:a=>Aa(l,a),budgets:()=>ja(l),setBudget:a=>Ea(l,a),deleteBudget:a=>$a(l,a),keys:()=>qa(l),createKey:a=>Da(l,a),revokeKey:a=>Ma(l,a),routing:{get:()=>Pa(l),set:a=>ka(l,a),reset:()=>_a(l),preview:a=>wa(l,a)},playground:(a,T,v)=>Ua(l,a,T,v)},channels:{slack:{installation:()=>oa(l),connect:a=>aa(l,a),mode:()=>ca(l),manifest:()=>la(l),disconnect:()=>ua(l),getFile:a=>pa(l,a),uploadFile:a=>da(l,a)},email:{installation:a=>ma(l,a),mode:()=>fa(l),connect:a=>ya(l,a),disconnect:a=>ha(l,a),updatePolicy:(...a)=>ba(l,...a)},voice:{setBotName:a=>xa(l,a)}},updateExperimentalFeature:(...a)=>ws(l,...a),modelDefaults:{get:()=>jo(l),set:a=>Eo(l,a),clear:a=>$o(l,a)},setDefaultAgent:a=>Mo(l,a),sandbox:{list:()=>Li(l),snapshots:()=>Ei(l),rebuildSnapshot:a=>$i(l,a),fixWithAgent:()=>qi(l),createTemplate:a=>Di(l,a),updateTemplate:(...a)=>Mi(l,...a),removeTemplate:a=>Ui(l,a),buildTemplate:a=>Oi(l,a),setProvider:a=>Ss(l,a)},setAgentScope:(...a)=>qo(l,...a),session:a=>R(l,a)}}function R(l,f){let a=null,T,v,P=null;async function j(){P||(P=Wt(l,f,{showErrors:!1}).then(h=>{let C=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",D=C.indexOf("/"),F=D>0&&D<C.length-1?{providerID:C.slice(0,D),modelID:C.slice(D+1)}:void 0,J=h.agent_name?.trim()||void 0;return{model:F,agent:J}}));try{return await P}catch(h){throw P=null,h}}function I(){if(a)return a;let h=Pl(l,f);return h&&(a=h),a}async function S(h){let C=I();if(C)return C;let D=h?.readyTimeoutMs??18e4,F=`${l}
8
- ${f}`,J=rn.get(F);if(J)return a=await J,a;let Q=(async()=>{let X=Date.now()+D,N=()=>Math.max(0,X-Date.now()),M=await ke(l,f,Math.min(3e4,N()));for(;Date.now()<X&&(M==null||(M.stage==="provisioning"||M.stage==="starting")&&M.retriable);)await new Promise(W=>setTimeout(W,Math.min(1e3,N()))),M=await ke(l,f,Math.min(3e4,N()));if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new A(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let H=M.sandbox.external_id;if(!H)throw new A("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let O=_t(H);return Xc(O,H),{opencodeSessionId:M.opencode_session_id,runtimeUrl:O,sandboxId:H}})();rn.set(F,Q);try{return a=await Q,a}finally{rn.get(F)===Q&&rn.delete(F)}}function q(h){let C=I();if(!C)throw new it(h);return C}function L(){a=null,_l(l,f)}return{get:h=>Wt(l,f,h),cost:()=>Xt(f,{projectId:l}),update:h=>xo(l,f,h),delete:()=>(L(),Po(l,f)),start:(...h)=>ke(l,f,...h),restart:()=>(L(),tt(l,f)),stop:()=>(L(),nt(l,f)),setSharing:h=>co(l,f,h),previews:()=>lo(l,f),commit:h=>io(l,f,h),publicShares:{list:()=>uo(l,f),create:(...h)=>po(l,f,...h),revoke:(...h)=>go(l,f,...h)},audit:(h,C)=>yo(l,f,h,C),transcript:h=>ho(l,f,h),voiceTranscript:h=>bo(l,f,h),ensureReady:S,health:h=>fc(I()?.runtimeUrl??null,h),previewUrl:(h,C="/")=>le(h,C,r(q("previewUrl").sandboxId)),proxyUrl:h=>yc(h,r(q("proxyUrl").sandboxId)),setModel:h=>{T=h},changeModel:async h=>{let C=await wo(l,f,h);return P=null,C},scope:()=>ko(l,f),rescope:h=>_o(l,f,h),setAgent:h=>{v=h},send:async(h,C)=>{let{opencodeSessionId:D,runtimeUrl:F}=await S(),J=C?.model??T,Q=C?.agent??v,X=J&&Q?{}:await j(),N=J??X.model,M=Q??X.agent;return ee(F).session.prompt({sessionID:D,parts:[{type:"text",text:h}],...N?{model:N}:{},...M?{agent:M}:{}})},abort:async()=>{let{opencodeSessionId:h,runtimeUrl:C}=await S();return ee(C).session.abort({sessionID:h})},rewind:async h=>{let{opencodeSessionId:C,runtimeUrl:D}=await S();return ee(D).session.revert({sessionID:C,messageID:h})},restoreRewind:async()=>{let{opencodeSessionId:h,runtimeUrl:C}=await S();return ee(C).session.unrevert({sessionID:h})},stream:async h=>{let{runtimeUrl:C}=await S();return nn({client:ee(C),onEvent:h.onEvent,onGapRehydrate:h.onGapRehydrate,signal:h.signal})},get runtime(){return ee(q("runtime").runtimeUrl)},files:{list:async h=>ze(h,(await S()).runtimeUrl),read:async h=>Ae(h,(await S()).runtimeUrl),readBlob:async h=>je(h,(await S()).runtimeUrl),status:async()=>Ne((await S()).runtimeUrl),findFiles:async(h,C)=>We(h,C,(await S()).runtimeUrl),findText:async h=>Ve(h,(await S()).runtimeUrl),upload:async(h,C,D)=>Ee(h,C,D,(await S()).runtimeUrl),create:async h=>Je(h,(await S()).runtimeUrl),copy:async(h,C)=>Qe(h,C,(await S()).runtimeUrl),remove:async h=>Xe(h,(await S()).runtimeUrl),mkdir:async h=>Ye(h,(await S()).runtimeUrl),rename:async(h,C)=>Ze(h,C,(await S()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:p,project:w,session:R,github:g,billing:c,sandboxShares:y,transcribe:Oa,connectStatus:m,marketplace:k,validateToken:fs,runtime:cy}}function Nl(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let r=0;r<16;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=[...t].map(r=>r.toString(16).padStart(2,"0"));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n.slice(10).join("")}`}var bc={thinking:!1,toolDetails:!0,assistantMetadata:!0};function ly(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function uy(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 py(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
6
+ `),X=[],z;for(let O of Q)if(O.startsWith("data:"))X.push(O.replace(/^data:\s*/,""));else if(O.startsWith("event:"))z=O.replace(/^event:\s*/,"");else if(O.startsWith("id:"))_=O.replace(/^id:\s*/,"");else if(O.startsWith("retry:")){let W=Number.parseInt(O.replace(/^retry:\s*/,""),10);Number.isNaN(W)||(f=W)}let M,K=!1;if(X.length){let O=X.join(`
7
+ `);try{M=JSON.parse(O),K=!0}catch{M=O}}K&&(s&&await s(M),r&&(M=await r(M))),n?.({data:M,event:z,id:_,retry:f}),X.length&&(yield M)}}}finally{I.removeEventListener("abort",h),q.releaseLock()}break}catch(x){if(t?.(x),u!==void 0&&a>=u)break;let j=Math.min(f*2**(a-1),p??3e4);await w(j)}}}()}};var Qu=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Xu=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Yu=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},ht=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(g=>encodeURIComponent(g))).join(Xu(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=Qu(r),u=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):we({allowReserved:e,name:n,value:p})).join(c);return r==="label"||r==="matrix"?c+u:u},we=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},bt=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,_])=>{g=[...g,m,e?_:encodeURIComponent(_)]});let y=g.join(",");switch(r){case"form":return`${n}=${y}`;case"label":return`.${y}`;case"matrix":return`;${n}=${y}`;default:return y}}let u=Yu(r),p=Object.entries(s).map(([g,y])=>we({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:y})).join(u);return r==="label"||r==="matrix"?u+p:p};var Zu=/\{[^{}]+\}/g,ep=({path:e,url:t})=>{let n=t,r=t.match(Zu);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,ht({explode:c,name:u,style:p,value:g}));continue}if(typeof g=="object"){n=n.replace(s,bt({explode:c,name:u,style:p,value:g,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${we({name:u,value:g})}`);continue}let y=encodeURIComponent(p==="label"?`.${g}`:g);n=n.replace(s,y)}return n},Gc=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=ep({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function hn(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 Bc=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 bn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Nc=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let p=e[c]||t;if(Array.isArray(u)){let g=ht({allowReserved:p.allowReserved,explode:!0,name:c,style:"form",value:u,...p.array});g&&s.push(g)}else if(typeof u=="object"){let g=bt({allowReserved:p.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...p.object});g&&s.push(g)}else{let g=we({allowReserved:p.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},Kc=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"}},tp=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,Hc=async({security:e,...t})=>{for(let n of e){if(tp(t,n.name))continue;let r=await Bc(n,t.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":t.query||(t.query={}),t.query[s]=r;break;case"cookie":t.headers.append("Cookie",`${s}=${r}`);break;default:t.headers.set(s,r);break}}},xn=e=>Gc({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Nc(e.querySerializer),url:e.url}),Pn=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=xt(e.headers,t.headers),n},np=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},xt=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?np(n):Object.entries(n);for(let[s,c]of r)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},Le=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}},zc=()=>({error:new Le,request:new Le,response:new Le}),rp=Nc({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),sp={"Content-Type":"application/json"},Fe=(e={})=>({...bn,headers:sp,parseAs:"auto",querySerializer:rp,...e});var Ge=(e={})=>{let t=Pn(Fe(),e),n=()=>({...t}),r=y=>(t=Pn(t,y),n()),s=zc(),c=async y=>{let m={...t,...y,fetch:y.fetch??t.fetch??globalThis.fetch,headers:xt(t.headers,y.headers),serializedBody:void 0};m.security&&await Hc({...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 _=xn(m);return{opts:m,url:_}},u=async y=>{let{opts:m,url:_}=await c(y),w={redirect:"follow",...m,body:hn(m)},R=new Request(_,w);for(let A of s.request.fns)A&&(R=await A(R,m));let l=m.fetch,f;try{f=await l(R)}catch(A){let S=A;for(let q of s.error.fns)q&&(S=await q(A,void 0,R,m));if(S=S||{},m.throwOnError)throw S;return m.responseStyle==="data"?void 0:{error:S,request:R,response:void 0}}for(let A of s.response.fns)A&&(f=await A(f,R,m));let a={request:R,response:f};if(f.ok){let A=(m.parseAs==="auto"?Kc(f.headers.get("Content-Type")):m.parseAs)??"json";if(f.status===204||f.headers.get("Content-Length")==="0"){let q;switch(A){case"arrayBuffer":case"blob":case"text":q=await f[A]();break;case"formData":q=new FormData;break;case"stream":q=f.body;break;default:q={};break}return m.responseStyle==="data"?q:{data:q,...a}}let S;switch(A){case"arrayBuffer":case"blob":case"formData":case"text":S=await f[A]();break;case"json":{let q=await f.text();S=q?JSON.parse(q):{};break}case"stream":return m.responseStyle==="data"?f.body:{data:f.body,...a}}return A==="json"&&(m.responseValidator&&await m.responseValidator(S),m.responseTransformer&&(S=await m.responseTransformer(S))),m.responseStyle==="data"?S:{data:S,...a}}let I=await f.text(),v;try{v=JSON.parse(I)}catch{}let x=v??I,j=x;for(let A of s.error.fns)A&&(j=await A(x,f,R,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,...a}},p=y=>m=>u({...m,method:y}),g=y=>async m=>{let{opts:_,url:w}=await c(m);return Fc({..._,body:_.body,headers:_.headers,method:y,onRequest:async(R,l)=>{let f=new Request(R,l);for(let a of s.request.fns)a&&(f=await a(f,_));return f},serializedBody:hn(_),url:w})};return{buildUrl:xn,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:p("TRACE")}};var ip={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},op=Object.entries(ip),Wc=(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&&Wc(n.args,t);return t},ap=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},d=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=Wc(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),g=p.map||s.key;p.in&&(n[p.in][g]=u)}else n.body=u;else for(let[p,g]of Object.entries(u??{})){let y=r.get(p);if(y)if(y.in){let m=y.map||p;n[y.in][m]=g}else n[y.map]=g;else{let m=op.find(([_])=>p.startsWith(_));if(m){let[_,w]=m;n[w][p.slice(_.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[_,w]of Object.entries(s.allowExtra))if(w){n[_][p]=g;break}}}}return ap(n),n};var Vc=Ge(Fe({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??Vc}},_n=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)}},kn=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},wn=class extends b{log(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Sn=class extends b{moveSession(t,n){let r=d([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},vn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Cn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Rn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},Tn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},In=class extends b{generateName(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},An=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},jn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new An({client:this.client})}},En=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new Sn({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new vn({client:this.client})}_console;get console(){return this._console??=new Cn({client:this.client})}_session;get session(){return this._session??=new Rn({client:this.client})}_resource;get resource(){return this._resource??=new Tn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new In({client:this.client})}_workspace;get workspace(){return this._workspace??=new jn({client:this.client})}},$n=class extends b{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=d([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},qn=class extends b{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=d([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new $n({client:this.client})}},Dn=class extends b{subscribe(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},Mn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},Un=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},On=class extends b{remove(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Ln=class extends b{text(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},Fn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},Gn=class extends b{dispose(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},Bn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},Nn=class extends b{raw(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Kn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new Nn({client:this.client})}},Hn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},zn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Wn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Vn=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Jn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Vn({client:this.client})}},Qn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},Xn=class extends b{shells(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},Yn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},Zn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},er=class extends b{authorize(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},tr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new er({client:this.client})}},nr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},rr=class extends b{delete(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},sr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ir=class extends b{start(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=d([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new sr({client:this.client})}},or=class extends b{next(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ar=class extends b{appendPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new or({client:this.client})}},cr=class extends b{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},lr=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},ur=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},pr=class extends b{stage(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},dr=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},gr=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},mr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new pr({client:this.client})}_permission;get permission(){return this._permission??=new dr({client:this.client})}_question;get question(){return this._question??=new gr({client:this.client})}},fr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},yr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},hr=class extends b{key(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},br=class extends b{cancel(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},xr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new hr({client:this.client})}_attempt;get attempt(){return this._attempt??=new br({client:this.client})}},Pr=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},_r=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},kr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},wr=class extends b{_request;get request(){return this._request??=new _r({client:this.client})}_saved;get saved(){return this._saved??=new kr({client:this.client})}},Sr=class extends b{read(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},vr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Cr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},Rr=class extends b{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Tr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},Ir=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Ar=class extends b{_request;get request(){return this._request??=new Ir({client:this.client})}},jr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Er=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},$r=class extends b{_health;get health(){return this._health??=new cr({client:this.client})}_location;get location(){return this._location??=new lr({client:this.client})}_agent;get agent(){return this._agent??=new ur({client:this.client})}_session;get session(){return this._session??=new mr({client:this.client})}_model;get model(){return this._model??=new fr({client:this.client})}_provider;get provider(){return this._provider??=new yr({client:this.client})}_integration;get integration(){return this._integration??=new xr({client:this.client})}_credential;get credential(){return this._credential??=new Pr({client:this.client})}_permission;get permission(){return this._permission??=new wr({client:this.client})}_fs;get fs(){return this._fs??=new Sr({client:this.client})}_command;get command(){return this._command??=new vr({client:this.client})}_skill;get skill(){return this._skill??=new Cr({client:this.client})}_event;get event(){return this._event??=new Rr({client:this.client})}_pty;get pty(){return this._pty??=new Tr({client:this.client})}_question;get question(){return this._question??=new Ar({client:this.client})}_reference;get reference(){return this._reference??=new jr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Er({client:this.client})}},Pt=class e extends b{static __registry=new _n;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new kn({client:this.client})}_app;get app(){return this._app??=new wn({client:this.client})}_experimental;get experimental(){return this._experimental??=new En({client:this.client})}_global;get global(){return this._global??=new qn({client:this.client})}_event;get event(){return this._event??=new Dn({client:this.client})}_config;get config(){return this._config??=new Mn({client:this.client})}_tool;get tool(){return this._tool??=new Un({client:this.client})}_worktree;get worktree(){return this._worktree??=new On({client:this.client})}_find;get find(){return this._find??=new Ln({client:this.client})}_file;get file(){return this._file??=new Fn({client:this.client})}_instance;get instance(){return this._instance??=new Gn({client:this.client})}_path;get path(){return this._path??=new Bn({client:this.client})}_vcs;get vcs(){return this._vcs??=new Kn({client:this.client})}_command;get command(){return this._command??=new Hn({client:this.client})}_lsp;get lsp(){return this._lsp??=new zn({client:this.client})}_formatter;get formatter(){return this._formatter??=new Wn({client:this.client})}_mcp;get mcp(){return this._mcp??=new Jn({client:this.client})}_project;get project(){return this._project??=new Qn({client:this.client})}_pty;get pty(){return this._pty??=new Xn({client:this.client})}_question;get question(){return this._question??=new Yn({client:this.client})}_permission;get permission(){return this._permission??=new Zn({client:this.client})}_provider;get provider(){return this._provider??=new tr({client:this.client})}_session;get session(){return this._session??=new nr({client:this.client})}_part;get part(){return this._part??=new rr({client:this.client})}_sync;get sync(){return this._sync??=new ir({client:this.client})}_tui;get tui(){return this._tui??=new ar({client:this.client})}_v2;get v2(){return this._v2??=new $r({client:this.client})}};function Qc(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let c=e,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||Jc(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 ${Jc(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function Jc(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function cp(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function lp(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=cp(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,p);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function qr(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=Ge(e);return t.interceptors.request.use(n=>lp(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(Qc),new Pt({client:t})}function up(e){return new Promise(t=>setTimeout(t,e))}async function Xc(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(c&&n?.(),s>0&&await up(s)),u=await e(),u)return u;return u}var pp=3e4;function dp(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function Dr(e,t,n=pp){let r=e instanceof Request?e.signal:t?.signal;if(dp(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function Mr(e,t,n){let r=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,c)=>{r.set(c,s)}),n&&!r.has("Authorization")&&r.set("Authorization",`Bearer ${n}`),r}function Yc(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function _t(){return $().getToken()}async function ie(e){return Xc(()=>$().getToken(),e,Be)}function Be(){}function gp(e){}function mp(e){}async function ge(){return _t()}async function Ur(e){return ie(e)}function Zc(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function E(e,t,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},c=await Ur();if(!c)return Yc();let u=Mr(e,t,c),p=s===void 0?Dr(e,t):Dr(e,t,s),g=await Zc(e,t,u,p);if(g.status===401&&r&&c){Be();let y=await Ur({attempts:2,baseDelayMs:200});if(y&&y!==c){let m=Mr(e,t,y);return Zc(e,t,m,p)}}return g}var Se={url:null,sandboxId:null,dbSandboxId:null,version:0},fp=new Set;function el(e,t=null,n=null){if(!(Se.url===e&&Se.sandboxId===t&&Se.dbSandboxId===n)){Se={url:e,sandboxId:t,dbSandboxId:n,version:Se.version+1};for(let r of fp)r()}}function tl(){return Se.url}function yp(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function me(){return yp($().backendUrl||"http://localhost:8008/v1")}function nl(){let e=$().sandboxId;return e?`${me()}/p/${e}/8000`:""}function hp(e){return`${me()}/p/${e}/8000`}function kt(e){return hp(e)}function G(){let e=tl();return e||($().billingEnabled??!1?"":nl())}var T=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},ve=class extends T{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},fe=class e extends Error{status;detail;constructor(t,n,r){super(r||n.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=n,Object.setPrototypeOf(this,e.prototype)}},Ce=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function Re(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new fe(t,{message:r?.message||e.message||"Billing error",...r})}function rl(e){return e instanceof fe}function sl(e){if(!(e instanceof fe))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function Or(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function Lr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Fr(e){let t=Lr(e),n=await E(`${t}/env`);if(!n.ok)throw new Error(await Or(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Gr(e,t,n){let r=Lr(e),s=await E(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await Or(s,"Failed to save secret"))}async function Br(e,t){let n=Lr(e),r=await E(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Or(r,"Failed to delete secret"))}var il={list:Fr,set:Gr,delete:Br};async function ol(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await E(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function ye(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function wt(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Ne(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ye(e)}async function Nr(e){let t=Ne(e),n=await E(`${t}/kortix/pty`);if(!n.ok)throw new Error(await wt(n,"Failed to list terminals"));return n.json()}async function Kr(e,t){let n=Ne(e),r=await E(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await wt(r,"Failed to create terminal"));return r.json()}async function Hr(e,t,n){let r=Ne(e),s=await E(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await wt(s,"Failed to update terminal"));return s.json()}async function zr(e,t){let n=Ne(e),r=await E(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await wt(r,"Failed to remove terminal"))}async function Wr(e,t){let n=Ne(t),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),ye(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await ge();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var al={list:Nr,create:Kr,update:Hr,remove:zr,webSocketUrl:Wr};async function k(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await E(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!c.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${c.status}`);return p}async function bp(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 k(e,`/kortix/tasks${r}`)}async function xp(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function Pp(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function _p(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function kp(e,t){return k(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function wp(e,t,n){return k(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Sp(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function vp(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function Cp(e,t){return k(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Rp(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return k(e,`/kortix/tickets${n}`)}async function Tp(e,t){return k(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Ip(e,t){return k(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Ap(e,t){return k(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function jp(e,t,n){return k(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Ep(e,t,n){return k(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function $p(e,t,n){return k(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function qp(e,t,n){return k(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Dp(e,t,n){return k(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Mp(e,t){return k(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Up(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Op(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Lp(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Fp(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Gp(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Bp(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Np(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Kp(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Hp(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function zp(e,t,n,r){return k(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Wp(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Vp(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Jp(e,t,n=200){return k(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Qp(e){return k(e,"/kortix/projects")}async function Xp(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Yp(e,t){return k(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Zp(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function ed(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function td(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function nd(e,t,n="all"){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function rd(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function sd(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function id(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function od(e,t,n,r){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function ad(e,t,n,r){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function cd(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function ld(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function ud(e,t){return k(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function pd(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function dd(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function gd(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function md(e,t,n){return k(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var fd=1e4,yd={retryOnAuthError:!1};function Te(e,t,n){return k(e,t,{signal:AbortSignal.timeout(fd),...n},yd)}async function hd(e,t=!1){return(await Te(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function bd(e){return(await Te(e,"/kortix/services/templates")).templates??[]}async function xd(e,t){return(await Te(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function Pd(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return Te(e,s,{method:r?"DELETE":"POST"})}async function _d(e,t){return Te(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function kd(e,t){return Te(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var St=new Map,vt=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function oe(){let e=G();if(!e)throw new vt;return ee(e)}function ee(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=St.get(e);if(t)return t;if(!yt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=qr({baseUrl:e,fetch:E});return St.set(e,n),n}function wd(e){St.delete(e)}function Sd(){St.clear()}var Ct=new Map;function vd(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Ct.get(e);if(t)return t;let n=qr({baseUrl:e,fetch});return Ct.set(e,n),n}function Cd(e){Ct.delete(e)}function Rd(){Ct.clear()}async function Td(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 Id(e){let t=G();if(!t)throw new T("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=e==="full"?"/kortix/refresh":"/global/dispose",r=await E(`${t}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",c=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new T(`System reload failed (${r.status}): ${await Td(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!c)throw new T(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(g){throw new T(`System reload returned malformed JSON from ${n}: ${g instanceof Error?g.message:String(g)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode:e,steps:p?[e==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:p?[]:[`the sandbox did not confirm the reload (${n})`]}}function ll(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new T(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Ie(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function Rt(e,t=G()){let n=await E(`${t}${e}`);if(!n.ok)throw new T(await Ie(n),{status:n.status,response:n});return n.json()}var Tt=["/workspace","/tmp","/home","/opt"],Ad=Tt.filter(e=>e!=="/workspace");function Jr(e){return Tt.some(t=>e===t||e.startsWith(`${t}/`))}function Qr(e){return Jr(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function he(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(Ad.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Xr=he;async function He(e,t=G()){let n=he(e)||".";return(await Rt(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function Ae(e,t=G()){let n=he(e),r=await E(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new T(await Ie(r),{status:r.status,response:r});return r.json()}async function jd(e,t,n=G()){let r=he(e),s=await E(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new T(await Ie(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new T("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function je(e,t=G()){try{return await jd(e,void 0,t)}catch{}let n=await Ae(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function ze(e=G()){return Rt("/file/status",e)}async function We(e,t,n=G()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),Rt(`/find/file?${r.toString()}`,n)}async function Ve(e,t=G()){return(await Rt(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var Ke=[400,1200],Ed=e=>e===408||e===429||e===502||e===503||e===504,cl=e=>new Promise(t=>setTimeout(t,e));function $d(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Vr=3e4,qd=15*6e4,Dd=256;function Md(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Vr;let t=Vr+e/Dd;return Math.min(qd,Math.max(Vr,Math.round(t)))}async function Ud(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 ul(e,t){let n;for(let s=0;s<=Ke.length;s++){let c;try{c=await t(e())}catch(p){if(n=p,$d(p)||s===Ke.length)break;await cl(Ke[s]);continue}if(c.ok)return c.json();let u=await Ud(c);if(n=new T(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!Ed(c.status)||s===Ke.length)throw n;await cl(Ke[s])}if(n instanceof T)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new T(`Upload failed: ${r}`)}function Ee(e,t,n,r=G()){let s=Md(e.size);return ul(()=>{let c=new FormData,u=(t??"").trim();return u&&c.append("path",u.startsWith("/")?u:`/${u}`),n?c.append("file",e,n):c.append("file",e),c},c=>E(`${r}/file/upload`,{method:"POST",body:c},{timeoutMs:s}))}function Od(e,t,n=G()){return ul(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await ge();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function Je(e,t=G()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return Ee(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function Qe(e,t,n=G()){return Od(t,await je(e,n),n)}async function Xe(e,t=G()){let n=await E(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new T(`Delete failed (${n.status}): ${await Ie(n)}`,{status:n.status,response:n});return n.json()}async function Ye(e,t=G()){let n=await E(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new T(`Mkdir failed (${n.status}): ${await Ie(n)}`,{status:n.status,response:n});return n.json()}async function Ze(e,t,n=G()){let r=await E(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new T(`Rename failed (${r.status}): ${await Ie(r)}`,{status:r.status,response:r});return r.json()}async function Yr(){return ll(await oe().project.current())}async function It(){return ll(await oe().global.health())}async function Zr(){try{return(await It()).healthy===!0}catch{return!1}}var pl={list:He,read:Ae,readBlob:je,status:ze,findFiles:We,findText:Ve,upload:Ee,create:Je,copy:Qe,remove:Xe,mkdir:Ye,rename:Ze,currentProject:Yr,health:It,isReachable:Zr,toDaemonPath:he,toSandboxAbsolutePath:Qr,toWorkspaceRelative:Xr};var ae=()=>$().backendUrl||"",gl="feature_not_supported",ml="model_not_servable",Fd=e=>new Promise(t=>setTimeout(t,e)),Gd=new Set([502,503,504]),Bd=e=>Gd.has(e),Nd=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Kd=2,dl=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),es=!1;function Hd(e){es=e}function zd(){return es}async function be(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,p=null,g=!1,y=!1;try{p=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,y=!0,u.abort())},s);let m=await ie(),_=c.body instanceof FormData,w={};if(_||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),es&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new ve,success:!1};let R=Nd(c.method),l=R?Kd+1:1,f;for(let v=0;v<l;v++){v>0&&await Fd(250*2**(v-1));let x=v===0?u:new AbortController;v>0&&(p=setTimeout(()=>{y=!0,x.abort()},s));try{f=await fetch(e,{...c,headers:w,signal:x.signal,credentials:c.credentials??"omit"})}catch(A){if(p&&(clearTimeout(p),p=null),dl(A)||v===l-1)throw A;continue}if(p&&(clearTimeout(p),p=null),!(R&&Bd(f.status)&&v<l-1))break;try{await f.arrayBuffer()}catch{}}if(!f.ok){let v=`HTTP ${f.status}: ${f.statusText}`,x=null;try{x=await f.json(),typeof x.message=="string"?v=x.message:x.error&&typeof x.error=="string"?v=x.error:typeof x.detail=="string"?v=x.detail:typeof x.detail?.message=="string"&&(v=x.detail.message)}catch{}let j=new T(v,{status:f.status,response:f,details:x||void 0,data:x,detail:x?.detail,code:x?.code||x?.error_code||x?.detail?.error_code||f.status.toString()});if(f.status===402&&(j=Re(j)),f.status===403&&x?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}f.status===431&&(j=new Ce(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let A=f.status===501&&x?.code===gl,S=f.status===409&&x?.code===ml;return n&&!A&&!S&&$().onError?.(j,r),{error:j,success:!1}}let a,I=f.headers.get("content-type");return I?.includes("application/json")?a=await f.json():I?.includes("text/")?a=await f.text():a=await f.blob(),{data:a,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let _=dl(m);_&&(g=!0);let w;if(_){if(!y)return{error:new T("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let R=e.replace(ae(),"")||e;w=new T(`Request timed out after ${Math.round(s/1e3)}s: ${R}`,{code:"TIMEOUT",url:e,endpoint:R,timeout:s}),n&&$().onError?.(w,r)}else m instanceof Error?(w=new T(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(w,r)):(w=new T(String(m)),n&&$().onError?.(w,r));return{error:w,success:!1}}}var Wd={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new T(r.message||"Database error",{code:r.code,details:r});return $().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new T(n.message,{name:n.name||"ApiError",stack:n.stack}):new T(String(n));return $().onError?.(r,t),{error:r,success:!1}}}},i={get:(e,t)=>be(`${ae()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>be(`${ae()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>be(`${ae()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>be(`${ae()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>be(`${ae()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],be(`${ae()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],be(`${ae()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function o(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function ts(e){return e.replace(/\/v1\/?$/,"")}async function $e(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=ts(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 ns(){return o(await i.get("/accounts"))}async function rs(e){return o(await i.post("/accounts",e))}async function ss(e){return o(await i.get(`/accounts/${e}`))}async function is(e,t){return o(await i.patch(`/accounts/${e}`,{name:t}))}async function os(e){return o(await i.get(`/accounts/${e}/members`))}async function as(e,t){return o(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function cs(e){return o(await i.get(`/accounts/${e}/invites`))}async function ls(e,t){return o(await i.delete(`/accounts/${e}/invites/${t}`))}async function us(e,t){return o(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function ps(e){return o(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function ds(e){return o(await i.post(`/account-invites/${e}/accept`,{}))}async function gs(e){return o(await i.post(`/account-invites/${e}/decline`,{}))}async function ms(e,t){return o(await i.delete(`/accounts/${e}/members/${t}`))}async function fs(e,t,n){return o(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function ys(e){return o(await i.post(`/accounts/${e}/leave`,{}))}async function Vd(e){return $e(e,"/v1/accounts")}async function hs(){let e=await i.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function xe(){return o(await i.get("/projects"))}async function bs(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/projects${t}`))}async function At(e,t){return o(await i.get(`/projects/${e}`,t))}async function xs(e,t,n="write"){return o(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Ps(e,t){return o(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function _s(e){return o(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Jd(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function jt(e,t){let n=o(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 Et(e,t){return o(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function $t(e,t){return o(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Qd(e,t){return o(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function ks(e){return o(await i.post("/projects",e))}async function ws(e){return o(await i.post("/projects/create-repo",e))}async function Ss(e,t={}){return o(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function Xd(){try{return o(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function qt(e,t){return o(await i.patch(`/projects/${e}`,t))}async function vs(e,t,n){return o(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function Cs(e,t){return o(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Yd(e,t){return o(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function Zd(e,t){return o(await i.patch(`/projects/${e}/warm-pool`,t))}async function Rs(e,t){return o(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function Dt(e){return o(await i.delete(`/projects/${e}`))}async function eg(e,t){return $e(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function tg(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=ts(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 Ts(e){return o(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function Is(e){return o(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function As(e){return o(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function js(e){return o(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Es(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)),o(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function $s(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return o(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function qs(e){return o(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function Ds(e){return o(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Ms(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),o(await i.delete(`/projects/github/installation?${n.toString()}`))}async function ng(e,t){return o(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Us(e,t){return o(await i.get(`/projects/${e}/access-requests`,t))}async function Os(e,t,n="member"){return o(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function Ls(e,t){return o(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Fs(e){return o(await i.get(`/projects/${e}/access`))}async function Gs(e,t,n){return o(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function Bs(e,t){return o(await i.delete(`/projects/${e}/access/${t}`))}function rg(e){return"status"in e&&e.status==="invited"}async function Ns(e,t,n,r){return o(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Ks(e){return o(await i.get(`/projects/${e}/access/pending-invites`))}async function Hs(e,t){return o(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function zs(e,t){return o(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Ws(e){return o(await i.get(`/projects/${e}/group-grants`))}async function Vs(e,t,n,r){return o(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 Js(e,t,n,r){return o(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Qs(e,t){return o(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Xs(e){return o(await i.get(`/projects/${e}/resource-grants`))}async function Ys(e,t){return o(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 Zs(e,t){return o(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function ei(e,t){return o(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function ti(e,t){return o(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function ni(e,t,n){return o(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function ri(e){return o(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function si(e,t){return o(await i.post(`/projects/${e}/secrets`,t))}async function ii(e,t,n){return o(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n}))}async function oi(e,t,n){return o(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function ai(e,t,n){return o(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function ci(e,t){return o(await i.put(`/projects/${e}/git-credential`,t))}async function li(e,t){return o(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function ui(e,t,n){return o(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function pi(e,t){return o(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function Mt(e){return o(await i.get(`/projects/${e}/connector-profiles`))}var sg=Mt;async function Ut(e){return o(await i.get(`/projects/${e}/connector-profiles/all`))}var ig=Ut;async function Ot(e,t){return o(await i.post(`/projects/${e}/connector-profiles`,t))}var og=Ot;async function Lt(e,t){return o(await i.post(`/projects/${e}/connector-profiles/me`,t))}var ag=Lt;async function Ft(e,t,n){return o(await i.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}var cg=Ft;function Pe(e,t,n){return`/projects/${e}/connector-profiles/${t}/oauth2/${n}`}async function fl(e,t){return o(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/profile`,{}))}var lg=fl;async function yl(e,t,n){return o(await i.put(Pe(e,t,"application"),n))}var ug=yl;async function hl(e,t){return o(await i.get(Pe(e,t,"application")))}var pg=hl;async function bl(e,t,n){return o(await i.post(Pe(e,t,"discover"),n))}var dg=bl;async function xl(e,t,n){return o(await i.post(Pe(e,t,"authorize"),n))}var gg=xl;async function Pl(e,t,n){return o(await i.post(Pe(e,t,"device"),n))}var mg=Pl;async function _l(e,t,n){return o(await i.post(Pe(e,t,`device/${encodeURIComponent(n)}`),{}))}var fg=_l;async function kl(e,t){return o(await i.get(Pe(e,t,"status")))}var yg=kl;async function Gt(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}var hg=Gt;async function Bt(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}var bg=Bt;async function Nt(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/default`,{}))}var xg=Nt;async function Kt(e,t,n={}){return o(await i.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}var Pg=Kt;async function Ht(e,t){return o(await i.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}var _g=Ht;async function di(e){return o(await i.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function gi(e){return o(await i.post(`/executor/projects/${e}/connectors/sync`,{}))}async function mi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function fi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function yi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function hi(e,t){return o(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function bi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function kg(e,t){throw new Error("Authorization-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function wg(e,t,n){throw new Error("Authorization-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function xi(e,t){return o(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function Pi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function _i(e,t){return o(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function ki(e,t){return o(await i.post(`/executor/projects/${e}/connectors`,t))}async function wi(e,t){return o(await i.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function Si(e,t){return o(await i.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function vi(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Ci(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function Ri(e,t){let n=new URLSearchParams({id:t});return o(await i.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function Ti(){return o(await i.get("/executor/connect-status"))}async function Ii(e,t,n){let r=typeof n=="string"?{value:n}:n;return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function Ai(e,t){return o(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function ji(e){return o(await i.get(`/executor/projects/${e}/policies`))}async function Ei(e,t,n){return o(await i.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function $i(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function qi(e){return o(await i.get(`/projects/${e}/snapshots`))}async function zt(e){return o(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Di(e,t){return o(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Mi(e){return o(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Ui(e,t){return o(await i.post(`/projects/${e}/sandbox-templates`,t))}async function Oi(e,t,n){return o(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Li(e,t){return o(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Fi(e,t){return o(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Gi(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function Bi(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 o(await i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Ni(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)),o(await i.get(`/projects/${e}/files/search?${r.toString()}`))}async function Ki(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),o(await i.get(`/projects/${e}/files/content?${r.toString()}`))}async function Hi(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",c=await ie(),u=`${$().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!p.ok){let g=await p.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function zi(e){return o(await i.get(`/projects/${e}/branches`))}async function Wi(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 o(await i.get(`/projects/${e}/commits${r}`))}async function Vi(e,t){return o(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Ji(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return o(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Qi(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)),o(await i.get(`/projects/${e}/files/history?${r.toString()}`))}async function Xi(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return o(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function Yi(e,t){let n=t?`?status=${t}`:"";return o(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Zi(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}`))}async function eo(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function to(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function no(e,t){return o(await i.post(`/projects/${e}/change-requests`,t))}async function ro(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function so(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function io(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function oo(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function ao(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var co=new Set;function et(e){e&&co.add(e)}function lo(e){return!!e&&co.has(e)}function Sg(e){e&&co.delete(e)}async function qe(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope);let r=n.size>0?`?${n}`:"";return o(await i.get(`/projects/${e}/sessions${r}`))}async function uo(e,t,n){return o(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function po(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function go(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function mo(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function fo(e,t,n){return o(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function De(e,t){let n=o(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||et(n?.session_id),n}async function yo(e){let t=o(await i.post(`/projects/${e}/sessions/warm`,{}));return et(t.session.session_id),t}async function ho(e,t){let n=o(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return et(n.session_id),n}async function Wt(e,t,n){return o(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function bo(e,t,n,r){let s=n?`?limit=${n}`:"";return o(await i.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function xo(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 o(await i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Po(e,t,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return o(await i.get(`/projects/${e}/sessions/${t}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function _o(e,t,n){return o(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function ko(e,t){return o(await i.delete(`/projects/${e}/sessions/${t}`))}async function tt(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function nt(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function wo(e,t){return o(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}async function So(e,t,n={}){return o(await i.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function vo(e,t){return o(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function Co(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function Ro(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function To(e){return o(await i.get(`/projects/${e}/triggers`))}async function Io(e,t){return o(await i.post(`/projects/${e}/triggers`,t))}async function Ao(e,t,n){return o(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function jo(e,t){return o(await i.delete(`/projects/${e}/triggers/${t}`))}async function Eo(e,t){return o(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function $o(e,t){return o(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var ce=new Map;function qo(e,t){return`${e}::${t}`}function wl(e,t){ce.delete(e),ce.set(e,t)}function Sl(e,t){let n=qo(e,t),r=ce.get(n);return r&&wl(n,r),r}function vl(e,t,n){let r=qo(e,t);if(!ce.has(r)&&ce.size>=512){let s=ce.keys().next().value;s!==void 0&&ce.delete(s)}wl(r,n)}function Cl(e,t){ce.delete(qo(e,t))}function vg(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 Vt=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 Cg(e){return e instanceof Error&&e.name==="SessionStartError"}function Rg(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 Vt(s,{status:n,code:r,terminal:!0}):null}async function _e(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=Rg(s.error);if(p&&!(p.status===404&&lo(t)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&vl(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:kt(u),sandboxId:u}),c}function Tg(e,t){return["session-start",e,t]}async function Do(e){return o(await i.get(`/projects/${e}/model-defaults`))}async function Mo(e,t){return o(await i.put(`/projects/${e}/model-defaults`,t))}async function Uo(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return o(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function Ig(e,t){return o(await i.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}async function Oo(e,t,n){let r=jg(n);return o(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function Rl(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Ag(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function jg(e){let t=e.connectors_required?Rl(e.connectors_required):void 0,n=e.connectors_personal?Rl(e.connectors_personal):void 0;if(t&&n&&!Ag(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 Eg(e,t){let n=o(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?Lo(n.block):null}}async function $g(e,t,n){let r=Lo(n),s=o(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?Lo(s.block):null}}function Tl(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function qg(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Lo(e){let t=e.connectors_required?Tl(e.connectors_required):void 0,n=e.connectors_personal?Tl(e.connectors_personal):void 0;if(t&&n&&!qg(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 Fo(e,t){return o(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function Go(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function Bo(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}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Go():s.data}async function No(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Go():s.data}async function Ko(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 o(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function Ho(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 o(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function zo(){return o(await i.get("/billing/credit-breakdown"))}async function Wo(e){let t=e!=null?`?days=${e}`:"";return o(await i.get(`/billing/usage-history${t}`))}async function Vo(){return o(await i.get("/billing/tier-configurations"))}async function Dg(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return $e(e,`/v1/billing/account-state${t}`)}async function Jo(e){return o(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 Qo(e,t){return o(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Xo(e,t){return o(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Yo(e,t){return o(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function Zo(e){return o(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function ea(e,t,n){return o(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function ta(e){return o(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function na(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),o(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function ra(e){return o(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 sa(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function ia(e){return o(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function Mg(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Ug(e){return o(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 Og(e){return o(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function Lg(e){return o(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function oa(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 o(await i.get(`/usage${n?`?${n}`:""}`))}function ca(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function Jt(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function Qt(e){return e.size>0?`?${e}`:""}async function la(e={}){let t=new URLSearchParams;return ca(t,e),e.ownerId&&t.set("owner_id",e.ownerId),Jt(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)),o(await i.get(`/usage/session-costs${Qt(t)}`))}async function Xt(e,t={}){let n=new URLSearchParams;return ca(n,t),o(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${Qt(n)}`))}async function Fg(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),Jt(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)),o(await i.get(`/usage/cost-by-project${Qt(t)}`))}async function Gg(e={}){let t=new URLSearchParams;return ca(t,e),e.sessionId&&t.set("session_id",e.sessionId),Jt(t,e),o(await i.get(`/usage/cost-summary${Qt(t)}`))}function aa(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)}Jt(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`${$().backendUrl||""}${r}?${n}`}async function Bg(e,t={}){let n=aa(e==="projects"?"projects":"sessions",t),r=await ie(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let g=await s.text().catch(()=>"");throw new Error(g||`Failed to export CSV (HTTP ${s.status})`)}let c=s.headers.get("x-kortix-row-cap"),u=c!=null?Number(c):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function Il(e,t){return o(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function Ng(e){return Il("slack",e)}function Kg(e){return Il("teams",e)}async function ua(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function pa(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Hg={oauth_available:!1,install_url:null};async function da(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Hg:t.data}async function ga(e){return o(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function ma(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 fa(e,t){return o(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function ya(e,t){return o(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 ha(e){return{...e,profileId:e.profileId??e.profile_id??null}}var zg={provider:"agentmail",managed_available:!1};async function ba(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?ha(r.data):null}async function xa(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?zg:t.data}async function Pa(e,t){let n=o(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return ha(n)}async function _a(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 ka(e,t,n){let r=o(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 ha(r)}async function wa(e,t){return o(await i.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function Wg(e){return o(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Vg(e,t,n){return o(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Sa(e){return o(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function va(e,t){return o(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Ca(e){return o(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Ra(e,t){return o(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Ta(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 o(await i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Ia(e,t){return o(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Aa(e,t){return o(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function ja(e,t){return o(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ea(e,t){return o(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function $a(e,t){return o(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function qa(e,t){return o(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Da(e){return o(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Ma(e,t){return o(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Ua(e,t){return o(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Oa(e){return o(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function La(e,t){return o(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Fa(e,t){return o(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Ga(e,t,n,r,s){return o(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 Jg(e,t){return o(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Ba(e){let t=new FormData;t.append("audio_file",e);let n=await i.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function Qg(){return o(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function Xg(){return o(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function Yg(e){return o(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function Zg(){return o(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function em(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return o(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function tm(e){return o(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function P(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function U(e){return i.get(e,{showErrors:!1})}async function nm(e){return P(await U(`/accounts/${e}/iam/groups`)).groups}async function rm(e,t){return P(await U(`/accounts/${e}/iam/groups/${t}`))}async function sm(e,t){return P(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function im(e,t,n){return P(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function om(e,t){return P(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function am(e,t){return P(await U(`/accounts/${e}/iam/groups/${t}/members`)).members}async function cm(e,t,n){return P(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function lm(e,t){return P(await U(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function um(e,t,n){return P(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function pm(e,t){return P(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function dm(e,t){return P(await U(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function gm(e,t={}){let n=new URLSearchParams;t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.scopeType&&n.set("scopeType",t.scopeType),t.scopeId!==void 0&&n.set("scopeId",t.scopeId===null?"null":t.scopeId);let r=n.toString();return P(await U(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function mm(e,t){return P(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function fm(e,t,n){return P(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function ym(e,t){return P(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function hm(e,t){return P(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function bm(e,t){return P(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function xm(e){return P(await U(`/accounts/${e}/iam/roles`)).roles}async function Pm(e){return P(await U(`/accounts/${e}/iam/agent-identities`)).agents}async function _m(e,t){return P(await U(`/accounts/${e}/iam/roles/${t}/permissions`))}async function km(e){return P(await U(`/accounts/${e}/iam/actions`)).actions}async function wm(e,t){return P(await U(`/accounts/${e}/iam/roles/${t}/usage`))}async function Sm(e,t){return P(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function vm(e,t,n){return P(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function Cm(e,t,n){return P(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function Rm(e,t){return P(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function Tm(e,t,n){return P(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function Im(e){return P(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function Am(e,t){return P(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function jm(e,t){return P(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function Em(e){return P(await U(`/accounts/${e}/iam/mfa-required`))}async function $m(e){return P(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function qm(e,t){return P(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function Dm(e){return P(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function Mm(e,t){return P(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Um(e,t){return P(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function Om(e){return P(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function Lm(e){return P(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Fm(e,t){return P(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function Gm(e,t){return P(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Bm(e){return P(await U(`/accounts/${e}/iam/session-policy`))}async function Nm(e,t){return P(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Km(e){return P(await U(`/accounts/${e}/iam/sessions`)).sessions}async function Hm(e,t){return P(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function zm(e){return P(await U(`/accounts/${e}/iam/pat-policy`))}async function Wm(e,t){return P(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Vm(e){return P(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function Jm(e,t){return P(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Qm(e,t){return P(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Xm(e,t){return P(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Ym(e){return P(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function Zm(e,t){return P(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function ef(e,t,n){return P(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function tf(e,t){return P(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function nf(e,t={}){let n=new URLSearchParams;t.action&&n.set("action",t.action),t.actor&&n.set("actor",t.actor),t.project_id&&n.set("project_id",t.project_id),t.session_id&&n.set("session_id",t.session_id),t.actor_type&&n.set("actor_type",t.actor_type),t.source&&n.set("source",t.source),t.outcome&&n.set("outcome",t.outcome),t.request_id&&n.set("request_id",t.request_id),t.correlation_id&&n.set("correlation_id",t.correlation_id),t.resource_type&&n.set("resource_type",t.resource_type),t.since&&n.set("since",t.since),t.until&&n.set("until",t.until),t.q&&n.set("q",t.q),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString();return P(await U(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function rf(e,t,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),P(await U(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function sf(e,t,n){return n.length===0?[]:P(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function of(e){return P(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function af(e,t){return P(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function cf(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:o(e,"Failed to load account deletion status")}async function lf(e="User requested deletion"){return o(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function uf(){return o(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function pf(){return o(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function df(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function gf(){return i.get("/admin/api/provider-distribution").then(e=>o(e))}function mf(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>o(t))}function ff(e){return i.put("/admin/api/provider-distribution",e).then(t=>o(t))}function yf(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>o(t))}function hf(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>o(n))}function bf(){return i.get("/admin/api/provider-fallback").then(e=>o(e))}function xf(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>o(t))}async function Pf(e){return o(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function _f(e,t){return o(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 Na(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return o(await i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Ka(e,t){return o(await i.get(`/projects/${e}/review/items/${t}`))}async function Ha(e,t){return o(await i.post(`/projects/${e}/review/items`,t))}async function za(e,t,n){return o(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function Wa(e,t){return o(await i.post(`/projects/${e}/review/bulk`,t))}async function Va(e){return o(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Ja(e){return o(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 Qa(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 Yt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Al(e,t=""){return`${me()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function jl(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 Yt(s,t.status)}return r}async function kf(e){return jl(Al(e))}async function wf(e){return jl(Al(e,"/messages"))}var Zt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function El(e){return`${me()}/public/voice-join/${encodeURIComponent(e)}`}async function $l(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Zt(s,t.status)}return r}async function Sf(e){return $l(El(e))}async function vf(e,t=0){let n=`${El(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return $l(n)}async function Xa(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/accounts/tokens${t}`))}async function Ya(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return o(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Za(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.delete(`/accounts/tokens/${e}${n}`))}async function ec(e){return o(await i.get(`/projects/${e}/cli-token`))}async function tc(e,t){return o(await i.post(`/projects/${e}/cli-token`,t??{}))}async function nc(e,t){return o(await i.delete(`/projects/${e}/cli-token/${t}`))}async function rc(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return o(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function sc(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q);let r=n.toString();return o(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function ic(e){return o(await i.get(`/accounts/${e}/audit/webhooks`))}async function oc(e,t){return o(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function ac(e,t,n){return o(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function cc(e,t){return o(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function lc(e,t){return o(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 uc(e,t){return o(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function Cf(e){return o(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function pc(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 o(await i.get(`/marketplace/items${n}`))}async function dc(){return o(await i.get("/marketplace/marketplaces"))}async function gc(){return o(await i.get("/marketplace/marketplaces/featured"))}async function mc(e){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function fc(e,t){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function yc(){return o(await i.get("/marketplace/sources"))}async function hc(e){return o(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function bc(e){return o(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function Rf(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function Tf(e){return o(await i.get(`/templates/${encodeURIComponent(e)}`))}async function If(e,t){return o(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}function Af(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 xc(e,t){let n=(e===void 0?G():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await E(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var te={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var ql=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Dl=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Ml=new Set([22,4096,parseInt(te.KORTIX_MASTER,10)]);function jf(e){return Dl.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 Ef(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var $f=new Set(["'",'"',"`","<","(","["]),qf=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Df(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&&$f.has(e[t]);)t++;for(;n>t&&qf.has(e[n-1]);)n--;return e.slice(t,n)}function Mf(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Uf=/^\/proxy\/(\d{1,5})(\/.*)?$/,Of=/^\/(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 Ul(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Of.test(t.pathname)}catch{return!1}}function st(e){if(!e)return null;let t=Df(Ef(e.trim())),n=_c(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 c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(te.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(Uf);if(g){let y=parseInt(g[1],10);if(y>=1&&y<=65535)return s=y,c=en(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let p=en(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Mf(e);return r&&r!==e?st(r):null}}function Lf(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let c=r.index,u=c+r[0].length;t.some(([g,y])=>c>=g&&u<=y)||t.push([c,u])}return t}function Ff(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Ol(e){let t=[],n=new Set,r=Lf(e);ql.lastIndex=0;let s;for(;(s=ql.exec(e))!==null;){let c=st(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||Ml.has(p)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:p,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Ff(s.index,r)}))}return t}function Gf(e){return Ol(e).length>0}function Bf(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Ll(e){return e.sandboxId.trim().length>0}function le(e,t,n){let r=en(t);if(!Ll(n))return Nl(e,r);if(!Bf(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${e}${r}`}return`http://p${e}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function Nf(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return le(3211,`/open?path=/workspace/${r}`,t)}function Fl(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Kf(e){return`http://localhost:3211${Fl(e)}`}function Gl(){return"/health"}function Hf(e){return le(3211,Gl(),e)}function zf(e,t){return le(e,"/",t)}function Bl(e){let t=st(e);return!(!t||Ml.has(t.port)||Ul(e))}function Pc(e,t){if(!e)return e;let n=st(e);return n?Bl(n.originalUrl)?le(n.port,n.path,t):n.originalUrl:e}function Nl(e,t="/"){return`http://localhost:${e}${t}`}var Kl=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function _c(e){let t=e.match(Dl);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(Kl);if(n)try{let r=new URL(e);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function Wf(e){try{let t=_c(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function Vf(e){return jf(e)||Kl.test(e)}function Jf(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var rt="/web-proxy/";function Qf(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${rt}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(te.KORTIX_MASTER,10);return`${le(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Xf(e){try{let t=new URL(e),n=t.pathname.indexOf(rt);if(n===-1)return null;let s=t.pathname.slice(n+rt.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],p=s[3]||"/";return`${c}://${u}${p}${t.search}${t.hash}`}catch{return null}}function Yf(e){try{return new URL(e).pathname.includes(rt)}catch{return e.includes(rt)}}function Zf(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 ey(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 Hl="frontend";function tn(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Hl}] ${t}`,...n?[n]:[]);try{oe().app.log({service:Hl,level:e,message:t,extra:n})}catch{}}var ue={debug:(e,t)=>tn("debug",e,t),info:(e,t)=>tn("info",e,t),warn:(e,t)=>tn("warn",e,t),error:(e,t)=>tn("error",e,t)};function zl(e){return{type:"heartbeat-gap",gapMs:e}}function Wl(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 ty={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},ny=16,ry=8,sy=6e4,iy=5e3,oy=250,ay=1e3,cy=3e4,ly=5,uy=3e3,py=3e4,dy=2e4,gy=2e3,my=8;function fy(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Vl(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function nn(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??ty,p=e.connectTimeoutMs??dy,g=e.heartbeatTimeoutMs??sy,y=e.maxConsecutiveHardFailures??my,m=new AbortController,_=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",_,{once:!0}));let w=u.now(),R=[],l,f=0,a=new Map,I=()=>{if(l&&u.clearTimeout(l),l=void 0,R.length===0)return;let x=R;R=[],a.clear(),f=u.now(),w=u.now();for(let j of x)if(j)try{n(j.event)}catch(A){console.warn("[opencode-events] event handler threw, skipping",A)}},v=()=>{if(l)return;let x=u.now()-f;l=u.setTimeout(I,Math.max(0,ny-x))};return(async()=>{let x=0,j=0;for(;!m.signal.aborted;){let A=!1,S=!1,q,L,h=null,C=u.now(),D=new AbortController,F=Vl(m.signal);F.promise.then(()=>D.abort());try{let K=await new Promise((gn,Oe)=>{let V=!1;L=u.setTimeout(()=>{V||(V=!0,ue.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),D.abort(),Oe(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:D.signal,sseDefaultRetryDelay:uy,sseMaxRetryDelay:py,sseMaxRetryAttempts:1}).then(Z=>{V||(V=!0,u.clearTimeout(L),gn(Z))},Z=>{V||(V=!0,u.clearTimeout(L),Oe(Z))})}),{stream:O}=K;w=u.now();let W=()=>{u.clearTimeout(q),q=u.setTimeout(()=>{ue.warn("SSE heartbeat timeout, forcing reconnect"),D.abort()},g)};W();let dt=u.now(),Fu=O[Symbol.asyncIterator]();for(;!D.signal.aborted;){let gn=Fu.next().then(se=>({kind:"next",result:se}),se=>({kind:"error",error:se})),Oe=Vl(D.signal),V=await Promise.race([gn,Oe.promise.then(()=>({kind:"aborted"}))]);if(Oe.cleanup(),V.kind==="aborted")break;if(V.kind==="error")throw V.error;if(V.result.done)break;A=!0,W();let Z=V.result.value,gt=Z&&typeof Z=="object"&&"payload"in Z?Z.payload:Z;if(!gt?.type)continue;let mn=fy(gt);if(mn){let se=a.get(mn);se!==void 0&&(R[se]=void 0),a.set(mn,R.length)}R.push({type:gt.type,event:gt}),v(),!(u.now()-dt<ry)&&(dt=u.now(),await new Promise(se=>u.setTimeout(se,0)))}S=A}catch(K){if(m.signal.aborted)break;h=K;let O=String(K),W=O.includes("401")||O.includes("403")||O.includes("Unauthorized")||O.includes("Token refresh failed");if(ue.error("SSE event stream error",{error:O,retryCount:x,isAuthError:W}),W)try{Be(),await _t(),ue.info("SSE: refreshed auth token after auth error")}catch(dt){ue.error("SSE: failed to refresh auth token",{error:String(dt)})}}finally{u.clearTimeout(q),u.clearTimeout(L),D.abort(),F.cleanup(),I()}if(m.signal.aborted)break;let J=u.now()-C,Q=h?.cause?.status;if(j=!A&&(typeof Q=="number"&&Q>=400||J<gy)?j+1:0,j>=y){ue.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:j,lastError:String(h)});try{s?.({consecutiveFailures:j,lastError:h})}catch(K){console.warn("[opencode-events] onParked handler threw",K)}break}let z=u.now()-w;z>iy&&r?.(z),S?x=0:(x++,x>1&&ue.warn("SSE event stream reconnecting",{retryCount:x}));let M=S?oy:Math.min(ay*2**Math.min(x-1,ly),cy);await new Promise(K=>{let O=u.setTimeout(K,M),W=()=>{u.clearTimeout(O),K()};m.signal.addEventListener("abort",W,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",_),l&&u.clearTimeout(l)}}}function yy(){return oe()}var rn=new Map,it=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 Jl(e,t){ft(e,t);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new T(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let f=$().backendUrl??e.backendUrl,a=80,I=n(f);return I&&(a=I.port?Number(I.port):I.protocol==="https:"?443:80),{sandboxId:l,backendPort:a,apiBaseUrl:f}}let s={list:ns,get:ss,create:rs,updateName:is,leave:ys,members:os,invite:as,removeMember:ms,updateMemberRole:fs,invites:cs,cancelInvite:ls,resendInvite:us,tokens:{list:Xa,create:Ya,revoke:Za},audit:{log:rc,export:sc,webhooks:{list:ic,create:oc,update:ac,remove:cc}}},c={accountState:Bo,accountStateMinimal:No,transactions:Ko,transactionsSummary:Ho,creditBreakdown:zo,usageHistory:Wo,usageRollup:oa,sessionCosts:{list:la,get:Xt},tierConfigurations:Vo,checkout:{createSession:l=>Jo(l),confirmSession:(l,f)=>Qo(l,f)},subscription:{createPortalSession:(l,f)=>Xo(l,f),cancel:(l,f)=>Yo(l,f),reactivate:l=>Zo(l),scheduleDowngrade:(l,f,a)=>ea(l,f,a),cancelScheduledChange:l=>ta(l),prorationPreview:(l,f)=>na(l,f)},credits:{purchase:l=>ra(l),autoTopupSettings:l=>sa(l),configureAutoTopup:l=>ia(l)}},u={describe:ps,accept:ds,decline:gs},p={list:xe,listForAccount:bs,get:At,detail:jt,create:ks,createRepo:ws,provision:Ss,update:qt,archive:Dt,llmCatalog:Et,modelPicker:$t,sandboxHealth:zt,sandboxTemplates:$i,sessions:qe,createSession:De},g={linkRepository:Ts,getInstallation:Is,listInstallations:As,listLinkableInstallations:js,listRepositories:Es,listRepositoryBranches:$s,linkInstallation:Ds,saveInstallation:qs,deleteInstallation:Ms},y={list:Va,create:Ja,revoke:Qa},m=Ti,_={items:l=>pc(l),item:l=>mc(l),itemFile:(l,f)=>fc(l,f),marketplaces:()=>dc(),featured:()=>gc(),sources:{list:()=>yc(),add:l=>hc(l),remove:l=>bc(l)}};function w(l){let f={list:()=>Mt(l),listAll:()=>Ut(l),reconcile:(...a)=>Ot(l,...a),reconcileMember:(...a)=>Lt(l,...a),updateCredential:(...a)=>Ft(l,...a),revoke:(...a)=>Gt(l,...a),activate:(...a)=>Bt(l,...a),setDefault:(...a)=>Nt(l,...a),pipedreamConnect:(...a)=>Kt(l,...a),pipedreamFinalize:(...a)=>Ht(l,...a)};return{get:a=>At(l,a),detail:()=>jt(l),update:a=>qt(l,a),archive:()=>Dt(l),llmCatalog:()=>Et(l),modelPicker:()=>$t(l),sandboxHealth:()=>zt(l),onboardingComplete:(...a)=>Rs(l,...a),tokens:{list:()=>ec(l),create:a=>tc(l,a),revoke:a=>nc(l,a)},setupLinks:{requestSecret:a=>lc(l,a),requestConnector:a=>uc(l,a)},validateManifest:a=>Ps(l,a),gitToken:()=>_s(l),secrets:{list:()=>ri(l),upsert:a=>si(l,a),setStrategy:(...a)=>ii(l,...a),remove:a=>li(l,a),setPersonal:(...a)=>ui(l,...a),removePersonal:a=>pi(l,a),setGitCredential:a=>ci(l,a),startProviderOAuth:(...a)=>oi(l,...a),pollProviderOAuth:(...a)=>ai(l,...a)},access:{list:()=>Fs(l),invite:(...a)=>Ns(l,...a),update:(...a)=>Gs(l,...a),revoke:a=>Bs(l,a),pendingInvites:()=>Ks(l),resendInvite:(...a)=>zs(l,...a),revokeInvite:(...a)=>Hs(l,...a),requests:()=>Us(l),approveRequest:(...a)=>Os(l,...a),rejectRequest:(...a)=>Ls(l,...a),groupGrants:()=>Ws(l),attachGroupGrant:(...a)=>Vs(l,...a),updateGroupGrant:(...a)=>Js(l,...a),detachGroupGrant:a=>Qs(l,a),resourceGrants:{list:()=>Xs(l),create:a=>Ys(l,a),remove:a=>Zs(l,a)}},connectors:{list:()=>di(l),config:(...a)=>xi(l,...a),create:(...a)=>ki(l,...a),remove:(...a)=>Si(l,...a),sync:()=>gi(l),auth:{discover:(...a)=>wi(l,...a)},setName:(...a)=>Pi(l,...a),setCredentialMode:(...a)=>mi(l,...a),setAuthorizationStrategy:(...a)=>fi(l,...a),setCredential:(...a)=>Ii(l,...a),setSensitive:(...a)=>yi(l,...a),authorizations:f,profiles:f,policies:{get:(...a)=>hi(l,...a),set:(...a)=>bi(l,...a)},pipedream:{listApps:(...a)=>vi(l,...a),connect:(...a)=>_i(l,...a),finalize:(...a)=>Ai(l,...a)},discover:{list:(...a)=>Ci(l,...a),detail:(...a)=>Ri(l,...a)}},policies:{list:()=>ji(l),set:(...a)=>Ei(l,...a)},triggers:{list:()=>To(l),create:(...a)=>Io(l,...a),update:(...a)=>Ao(l,...a),remove:(...a)=>jo(l,...a),fire:(...a)=>$o(l,...a),setActivation:(...a)=>Eo(l,...a)},files:{list:a=>Bi(l,a),read:(a,I)=>Ki(l,a,I),search:(...a)=>Ni(l,...a),archive:(...a)=>Hi(l,...a),history:(...a)=>Qi(l,...a)},git:{commits:()=>Wi(l),commit:a=>Vi(l,a),commitDiff:a=>Ji(l,a),branches:()=>zi(l),versionDiff:(...a)=>Xi(l,...a),inviteCollaborator:(...a)=>xs(l,...a)},changeRequests:{list:()=>Yi(l),get:a=>Zi(l,a),diff:a=>eo(l,a),mergePreview:a=>to(l,a),open:(...a)=>no(l,...a),merge:(...a)=>ro(l,...a),close:(...a)=>so(l,...a),reopen:(...a)=>io(l,...a),requestChanges:(...a)=>oo(l,...a)},sessions:{list:a=>qe(l,a),create:a=>De(l,a),ensureWarm:()=>yo(l),claimWarm:a=>ho(l,a)},review:{list:a=>Na(l,a),get:a=>Ka(l,a),submit:a=>Ha(l,a),act:(...a)=>za(l,...a),bulkAct:a=>Wa(l,a)},approvals:{list:a=>ei(l,a),resolve:(...a)=>ni(l,...a),sessionsNeedingInput:a=>ti(l,a)},gateway:{logs:a=>Ta(l,a),log:a=>Ia(l,a),overview:a=>Aa(l,a),series:a=>ja(l,a),breakdown:a=>Ea(l,a),sessions:a=>$a(l,a),errors:a=>qa(l,a),budgets:()=>Da(l),setBudget:a=>Ma(l,a),deleteBudget:a=>Ua(l,a),keys:()=>Oa(l),createKey:a=>La(l,a),revokeKey:a=>Fa(l,a),routing:{get:()=>Sa(l),set:a=>va(l,a),reset:()=>Ca(l),preview:a=>Ra(l,a)},playground:(a,I,v)=>Ga(l,a,I,v)},channels:{slack:{installation:()=>ua(l),connect:a=>pa(l,a),mode:()=>da(l),manifest:()=>ga(l),disconnect:()=>ma(l),getFile:a=>fa(l,a),uploadFile:a=>ya(l,a)},email:{installation:a=>ba(l,a),mode:()=>xa(l),connect:a=>Pa(l,a),disconnect:a=>_a(l,a),updatePolicy:(...a)=>ka(l,...a)},voice:{setBotName:a=>wa(l,a)}},updateExperimentalFeature:(...a)=>vs(l,...a),modelDefaults:{get:()=>Do(l),set:a=>Mo(l,a),clear:a=>Uo(l,a)},setDefaultAgent:a=>Fo(l,a),sandbox:{list:()=>Gi(l),snapshots:()=>qi(l),rebuildSnapshot:a=>Di(l,a),fixWithAgent:()=>Mi(l),createTemplate:a=>Ui(l,a),updateTemplate:(...a)=>Oi(l,...a),removeTemplate:a=>Li(l,a),buildTemplate:a=>Fi(l,a),setProvider:a=>Cs(l,a)},setAgentScope:(...a)=>Oo(l,...a),session:a=>R(l,a)}}function R(l,f){let a=null,I,v,x=null;async function j(){x||(x=Wt(l,f,{showErrors:!1}).then(h=>{let C=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",D=C.indexOf("/"),F=D>0&&D<C.length-1?{providerID:C.slice(0,D),modelID:C.slice(D+1)}:void 0,J=h.agent_name?.trim()||void 0;return{model:F,agent:J}}));try{return await x}catch(h){throw x=null,h}}function A(){if(a)return a;let h=Sl(l,f);return h&&(a=h),a}async function S(h){let C=A();if(C)return C;let D=h?.readyTimeoutMs??18e4,F=`${l}
8
+ ${f}`,J=rn.get(F);if(J)return a=await J,a;let Q=(async()=>{let X=Date.now()+D,z=()=>Math.max(0,X-Date.now()),M=await _e(l,f,Math.min(3e4,z()));for(;Date.now()<X&&(M==null||(M.stage==="provisioning"||M.stage==="starting")&&M.retriable);)await new Promise(W=>setTimeout(W,Math.min(1e3,z()))),M=await _e(l,f,Math.min(3e4,z()));if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new T(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let K=M.sandbox.external_id;if(!K)throw new T("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let O=kt(K);return el(O,K),{opencodeSessionId:M.opencode_session_id,runtimeUrl:O,sandboxId:K}})();rn.set(F,Q);try{return a=await Q,a}finally{rn.get(F)===Q&&rn.delete(F)}}function q(h){let C=A();if(!C)throw new it(h);return C}function L(){a=null,Cl(l,f)}return{get:h=>Wt(l,f,h),cost:()=>Xt(f,{projectId:l}),update:h=>_o(l,f,h),delete:()=>(L(),ko(l,f)),start:(...h)=>_e(l,f,...h),restart:()=>(L(),tt(l,f)),stop:()=>(L(),nt(l,f)),configState:()=>wo(l,f),reloadConfig:h=>(L(),So(l,f,h)),setSharing:h=>uo(l,f,h),previews:()=>po(l,f),commit:h=>ao(l,f,h),publicShares:{list:()=>go(l,f),create:(...h)=>mo(l,f,...h),revoke:(...h)=>fo(l,f,...h)},audit:(h,C)=>bo(l,f,h,C),transcript:h=>xo(l,f,h),voiceTranscript:h=>Po(l,f,h),ensureReady:S,health:h=>xc(A()?.runtimeUrl??null,h),previewUrl:(h,C="/")=>le(h,C,r(q("previewUrl").sandboxId)),proxyUrl:h=>Pc(h,r(q("proxyUrl").sandboxId)),setModel:h=>{I=h},changeModel:async h=>{let C=await Ro(l,f,h);return x=null,C},scope:()=>vo(l,f),rescope:h=>Co(l,f,h),setAgent:h=>{v=h},send:async(h,C)=>{let{opencodeSessionId:D,runtimeUrl:F}=await S(),J=C?.model??I,Q=C?.agent??v,X=J&&Q?{}:await j(),z=J??X.model,M=Q??X.agent;return ee(F).session.prompt({sessionID:D,parts:[{type:"text",text:h}],...z?{model:z}:{},...M?{agent:M}:{}})},abort:async()=>{let{opencodeSessionId:h,runtimeUrl:C}=await S();return ee(C).session.abort({sessionID:h})},rewind:async h=>{let{opencodeSessionId:C,runtimeUrl:D}=await S();return ee(D).session.revert({sessionID:C,messageID:h})},restoreRewind:async()=>{let{opencodeSessionId:h,runtimeUrl:C}=await S();return ee(C).session.unrevert({sessionID:h})},stream:async h=>{let{runtimeUrl:C}=await S();return nn({client:ee(C),onEvent:h.onEvent,onGapRehydrate:h.onGapRehydrate,signal:h.signal})},get runtime(){return ee(q("runtime").runtimeUrl)},files:{list:async h=>He(h,(await S()).runtimeUrl),read:async h=>Ae(h,(await S()).runtimeUrl),readBlob:async h=>je(h,(await S()).runtimeUrl),status:async()=>ze((await S()).runtimeUrl),findFiles:async(h,C)=>We(h,C,(await S()).runtimeUrl),findText:async h=>Ve(h,(await S()).runtimeUrl),upload:async(h,C,D)=>Ee(h,C,D,(await S()).runtimeUrl),create:async h=>Je(h,(await S()).runtimeUrl),copy:async(h,C)=>Qe(h,C,(await S()).runtimeUrl),remove:async h=>Xe(h,(await S()).runtimeUrl),mkdir:async h=>Ye(h,(await S()).runtimeUrl),rename:async(h,C)=>Ze(h,C,(await S()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:p,project:w,session:R,github:g,billing:c,sandboxShares:y,transcribe:Ba,connectStatus:m,marketplace:_,validateToken:hs,runtime:yy}}function Ql(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let r=0;r<16;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=[...t].map(r=>r.toString(16).padStart(2,"0"));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n.slice(10).join("")}`}var kc={thinking:!1,toolDetails:!0,assistantMetadata:!0};function hy(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function by(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 xy(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
9
9
 
10
10
  `;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
11
11
  >
@@ -38,15 +38,15 @@ ${s}
38
38
  ${e.state.error}
39
39
  \`\`\`
40
40
  `),n+=`
41
- `,n}return""}function dy(e,t){if(!t)return`## Assistant
41
+ `,n}return""}function Py(e,t){if(!t)return`## Assistant
42
42
 
43
- `;let n=e.agent?ly(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=uy(e.time.completed-e.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
43
+ `;let n=e.agent?hy(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=by(e.time.completed-e.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
44
44
 
45
45
  `:`## ${n}
46
46
 
47
- `}function gy(e,t,n){let r="";e.role==="user"?r+=`## User
47
+ `}function _y(e,t,n){let r="";e.role==="user"?r+=`## User
48
48
 
49
- `:r+=dy(e,n.assistantMetadata);for(let s of t)r+=py(s,n);return r}function Wl(e,t,n=bc){let r=`# ${e.title||"Untitled Session"}
49
+ `:r+=Py(e,n.assistantMetadata);for(let s of t)r+=xy(s,n);return r}function Xl(e,t,n=kc){let r=`# ${e.title||"Untitled Session"}
50
50
 
51
51
  `;r+=`**Session ID:** \`${e.id}\`
52
52
  `,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
@@ -54,14 +54,14 @@ ${e.state.error}
54
54
 
55
55
  `,r+=`---
56
56
 
57
- `;for(let s of t)r+=gy(s.info,s.parts,n),r+=`---
57
+ `;for(let s of t)r+=_y(s.info,s.parts,n),r+=`---
58
58
 
59
- `;return r}function Vl(e,t){return`session-${e}.md`}function Y(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return ot(r)||t}catch{return t}}return ot(n)||t}catch{return my(t)??t}}return typeof e=="object"?ot(e)||"An error occurred":String(e)}function Ql(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function my(e){let t=Ql(e);if(t)try{return ot(JSON.parse(t))}catch{return}}function ot(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 xc(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Jl(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||ot(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function pe(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,p=xc(u)??xc(Ql(u));return p!==void 0?pe(p):void 0}if(typeof e!="object")return;let t=e,n=Jl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Jl(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=xc(s.responseBody);if(u!==void 0){let p=pe(u);if(p)return p}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let p=pe(u);if(p)return p}}}var fy={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"}},yy=[{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 hy(e){return e.replace(/^oc[-_]/,"")}function at(e){return hy(e).replace(/-/g,"_")}function sn(e){return at(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function on(e){let t=at(e),n=fy[t];if(n)return n;for(let{prefix:r,category:s}of yy)if(t.startsWith(r))return{label:sn(e),category:s};return{label:sn(e),category:"other"}}var by=256*1024;function xy(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Py(e){if(e===void 0)return{};if(e.length>by)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function ky(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Y(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function _y(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=Py(r),u=xy(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let g=ky(s);g&&(u="error",p=g)}return{name:e,title:n||on(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:p}}function wy(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Sy(e){return{kind:"reasoning",id:e.id,text:e.text}}function vy(e){return{kind:"tool",id:e.id,tool:_y(e.tool,e.state)}}function Cy(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 Ry(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Ty(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Iy(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Ay(e){return{kind:"agent",id:e.id,name:e.name}}function jy(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Y(e.error),createdAt:e.time.created}}function Ey(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function $y(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function qy(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Pc(e){switch(e.type){case"text":return wy(e);case"reasoning":return Sy(e);case"tool":return vy(e);case"file":return Cy(e);case"subtask":return Ry(e);case"patch":return Ty(e);case"snapshot":return Iy(e);case"agent":return Ay(e);case"retry":return jy(e);case"compaction":return Ey(e);case"step-start":return $y(e);case"step-finish":return qy(e);default:return{kind:"unknown",raw:e}}}function Dy(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=pe(e);return{name:t,message:n?.message||Y(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function My(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Xl(e){let t=e.parts.map(Pc),n=e.info.role==="assistant"?e.info.error:void 0,r=Dy(n),s=!r&&!t.some(My);return{parts:t,error:r,isEmpty:s}}function de(e){return e.type==="text"}function an(e){return e.type==="reasoning"}function ne(e){return e.type==="tool"}function Yl(e){return e.type==="file"}function Uy(e){return e.type==="agent"}function Oy(e){return e.type==="compaction"}function Ly(e){return e.type==="snapshot"}function Fy(e){return e.type==="patch"}function Gy(e){if(de(e)||an(e))return e.text}function Zl(e){if(!Yl(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function By(e){let t=[],n=[];for(let r of e)Zl(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Ky(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Hy(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var zy=new Set(["todoread","context_info"]);function eu(e){return!zy.has(e.tool)}function Ny(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=e.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Wy(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return Y(n.error)}}function Vy(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ne(r)&&eu(r)&&t.push(r);return t}function Jy(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:tu(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:nu(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:ru(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:kc(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:kc(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 tu(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function kc(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 nu(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Qy(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 ct(e,t=120){if(typeof e!="string")return"";let n=e.split(`
60
- `).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function ru(e){let t=ct(e.description);if(t)return t;let n=ct(e.title,80);if(n)return n;let r=ct(e.message);if(r)return r;let s=ct(e.prompt);if(s)return s;let c=ct(e.agent_id,40);return c?`Agent ${c}`:"Worker task"}function Xy(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function Yy(e,t){return e.find(n=>n.tool?.callID===t)}function Zy(e,t){return e.find(n=>n.tool?.callID===t)}var eh=/\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 th(e){return e?e.replace(eh,""):""}function nh(e){let t=[],n=new Map;for(let s of e)if(s.info.role==="user"){if(n.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};t.push(c),n.set(s.info.id,c)}let r=null;for(let s of e){if(s.info.role==="user"){r=n.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let c=s.info;if(c.parentID){let p=n.get(c.parentID);if(p){p.assistantMessages.push(s);continue}}if(r){r.assistantMessages.push(s);continue}if(t.length>0){t[0].assistantMessages.unshift(s);continue}let u={userMessage:s,assistantMessages:[]};t.push(u)}return t}function rh(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function sh(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(de(n)&&n.text?.trim())return n}}function ih(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function oh(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let c of s.parts){if(!ne(c))continue;let u=c,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:c,message:s})}return r}function ah(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 ch(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,c=r.time.updated??r.time.created,u=s>t,p=c>t;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:c-s}}function su(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(...su(e,s));return r}function iu(e){let t=e.userMessage.parts;if(t.length===0||!t.every(c=>de(c)&&c.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return ne(s)&&s.tool==="bash"}function lh(e){if(iu(e))return e.assistantMessages[0].parts[0]}function uh(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 ph(e,t){return!t||!e?!1:e.type!=="idle"}function dh(e,t){return!e&&!!t}function gh(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Y(n.error)}}function mh(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return pe(n.error)}}function _c(e){if(e){if(ne(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${e.tool}...`}if(an(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(de(e))return"Gathering thoughts..."}}function fh(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=ne(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 g=p.parts.length-1;g>=0;g--){let y=_c(p.parts[g]);if(y)return y}}return"Delegating to agent..."}let c=_c(r);if(c)return c}return"Considering next steps..."}function yh(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 wc=1.2;function ou(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,c=e.cache?.write??0,u=Math.max(0,n-s-c),g=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,k)=>k.contextThreshold-m.contextThreshold)[0]??t,y=u/1e6*g.inputPer1M;return y+=r/1e6*g.outputPer1M,s>0&&(y+=s/1e6*(g.cacheReadPer1M??g.inputPer1M)),c>0&&(y+=c/1e6*(g.cacheWritePer1M??g.inputPer1M)),y}function au(e,t,n,r){let s=e.cost||0;if(s>0)return s;if(!r||!t||!n)return 0;let c=r(t,n);return c?ou(e.tokens,c):0}function cu(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function hh(e,t){let n=0,r=0,s=0,c=0,u=0,p=0,g=!1;for(let{part:y,message:m}of e)if(y.type==="step-finish"){g=!0;let k=y,{providerID:w,modelID:R}=cu(m.info);n+=au(k,w,R,t),r+=k.tokens?.input||0,s+=k.tokens?.output||0,c+=k.tokens?.reasoning||0,u+=k.tokens?.cache?.read||0,p+=k.tokens?.cache?.write||0}if(!g)for(let{message:y}of e){if(y.info.role!=="assistant")continue;let m=y.info,k=lu(m,t);if(k<=0)continue;g=!0,n+=k;let w=m.tokens;w&&(r+=w.input??0,s+=w.output??0,c+=w.reasoning??0,u+=w.cache?.read??0,p+=w.cache?.write??0)}if(g)return{cost:n*wc,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:p}}}function lu(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?ou({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function bh(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=cu(s),p=0,g=!1;for(let y of r.parts)y.type==="step-finish"&&(g=!0,p+=au(y,c,u,t));g||(p+=lu(s,t)),n+=p}return n*wc}function xh(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function Ph(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function kh(e){if(!e||e.type!=="retry")return;let t=e;return{attempt:t.attempt,message:t.message.length>60?`${t.message.slice(0,60)}...`:t.message,next:t.next}}function _h(e){if(!(!e||e.type!=="retry"))return Y(e.message)}function wh(e){return(e.info.summary?.diffs?.length??0)>0}var Sh=4e3;function lt(e,t=Sh){return e.length>t?`${e.slice(0,t)}
61
- \u2026`:e}function uu(e){if(e!==void 0)try{return lt(JSON.stringify(e,null,2))}catch{return}}function B(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function Me(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function vh(e){let t=B(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Me(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(c=>{let u=Me(c)??{};return{title:B(u.title)??"",url:B(u.url,u.link)??"",snippet:B(u.snippet,u.description,u.source)}});return{kind:"web-search",query:B(n.query)??t,results:s.length>0?s:void 0,answer:B(n.answer)}}var Ch=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function Rh(e,t,n){let r="",s=0;for(;;){let c=e.indexOf(t,s);if(c===-1)return r+e.slice(s);let u=e.indexOf(n,c+t.length);if(u===-1)return r+e.slice(s);r+=e.slice(s,c),s=u+n.length}}var Th=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Ih(e){let t=-1;for(let n of Th){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var Ah=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function jh(e){return e.replace(Ah,"")}function Eh(e){let t=B(e.input?.command)??"",n=e.output??"",r=n.match(Ch),s=r?Number(r[1]):void 0,u=jh(Ih(Rh(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:u||void 0,exitCode:s}}function vc(e){return B(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function $h(e){let t=e.status==="error"?e.error:e.output&&lt(e.output)||void 0;return{kind:"file-read",path:vc(e),preview:t}}function qh(e){let t=B(e.input?.content),n=e.status==="error"?e.error:lt(t??e.output??"")||void 0;return{kind:"file-write",path:vc(e),preview:n}}var Dh=256*1024;function Mh(e,t){if(e.length+t.length>Dh)return;let n=e.split(`
59
+ `;return r}function Yl(e,t){return`session-${e}.md`}function Y(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return ot(r)||t}catch{return t}}return ot(n)||t}catch{return ky(t)??t}}return typeof e=="object"?ot(e)||"An error occurred":String(e)}function eu(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function ky(e){let t=eu(e);if(t)try{return ot(JSON.parse(t))}catch{return}}function ot(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 wc(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Zl(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||ot(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function pe(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,p=wc(u)??wc(eu(u));return p!==void 0?pe(p):void 0}if(typeof e!="object")return;let t=e,n=Zl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Zl(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=wc(s.responseBody);if(u!==void 0){let p=pe(u);if(p)return p}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let p=pe(u);if(p)return p}}}var wy={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"}},Sy=[{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 vy(e){return e.replace(/^oc[-_]/,"")}function at(e){return vy(e).replace(/-/g,"_")}function sn(e){return at(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function on(e){let t=at(e),n=wy[t];if(n)return n;for(let{prefix:r,category:s}of Sy)if(t.startsWith(r))return{label:sn(e),category:s};return{label:sn(e),category:"other"}}var Cy=256*1024;function Ry(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Ty(e){if(e===void 0)return{};if(e.length>Cy)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Iy(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Y(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function Ay(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=Ty(r),u=Ry(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let g=Iy(s);g&&(u="error",p=g)}return{name:e,title:n||on(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:p}}function jy(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Ey(e){return{kind:"reasoning",id:e.id,text:e.text}}function $y(e){return{kind:"tool",id:e.id,tool:Ay(e.tool,e.state)}}function qy(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 Dy(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function My(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Uy(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Oy(e){return{kind:"agent",id:e.id,name:e.name}}function Ly(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Y(e.error),createdAt:e.time.created}}function Fy(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function Gy(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function By(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Sc(e){switch(e.type){case"text":return jy(e);case"reasoning":return Ey(e);case"tool":return $y(e);case"file":return qy(e);case"subtask":return Dy(e);case"patch":return My(e);case"snapshot":return Uy(e);case"agent":return Oy(e);case"retry":return Ly(e);case"compaction":return Fy(e);case"step-start":return Gy(e);case"step-finish":return By(e);default:return{kind:"unknown",raw:e}}}function Ny(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=pe(e);return{name:t,message:n?.message||Y(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function Ky(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function tu(e){let t=e.parts.map(Sc),n=e.info.role==="assistant"?e.info.error:void 0,r=Ny(n),s=!r&&!t.some(Ky);return{parts:t,error:r,isEmpty:s}}function de(e){return e.type==="text"}function an(e){return e.type==="reasoning"}function ne(e){return e.type==="tool"}function nu(e){return e.type==="file"}function Hy(e){return e.type==="agent"}function zy(e){return e.type==="compaction"}function Wy(e){return e.type==="snapshot"}function Vy(e){return e.type==="patch"}function Jy(e){if(de(e)||an(e))return e.text}function ru(e){if(!nu(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function Qy(e){let t=[],n=[];for(let r of e)ru(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Xy(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Yy(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var Zy=new Set(["todoread","context_info"]);function su(e){return!Zy.has(e.tool)}function eh(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=e.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function th(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return Y(n.error)}}function nh(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ne(r)&&su(r)&&t.push(r);return t}function rh(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:iu(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:ou(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:au(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:vc(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:vc(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 iu(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function vc(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 ou(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function sh(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 ct(e,t=120){if(typeof e!="string")return"";let n=e.split(`
60
+ `).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function au(e){let t=ct(e.description);if(t)return t;let n=ct(e.title,80);if(n)return n;let r=ct(e.message);if(r)return r;let s=ct(e.prompt);if(s)return s;let c=ct(e.agent_id,40);return c?`Agent ${c}`:"Worker task"}function ih(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function oh(e,t){return e.find(n=>n.tool?.callID===t)}function ah(e,t){return e.find(n=>n.tool?.callID===t)}var ch=/\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 lh(e){return e?e.replace(ch,""):""}function uh(e){let t=[],n=new Map;for(let s of e)if(s.info.role==="user"){if(n.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};t.push(c),n.set(s.info.id,c)}let r=null;for(let s of e){if(s.info.role==="user"){r=n.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let c=s.info;if(c.parentID){let p=n.get(c.parentID);if(p){p.assistantMessages.push(s);continue}}if(r){r.assistantMessages.push(s);continue}if(t.length>0){t[0].assistantMessages.unshift(s);continue}let u={userMessage:s,assistantMessages:[]};t.push(u)}return t}function ph(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function dh(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(de(n)&&n.text?.trim())return n}}function gh(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function mh(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let c of s.parts){if(!ne(c))continue;let u=c,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:c,message:s})}return r}function fh(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 yh(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,c=r.time.updated??r.time.created,u=s>t,p=c>t;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:c-s}}function cu(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(...cu(e,s));return r}function lu(e){let t=e.userMessage.parts;if(t.length===0||!t.every(c=>de(c)&&c.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return ne(s)&&s.tool==="bash"}function hh(e){if(lu(e))return e.assistantMessages[0].parts[0]}function bh(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 xh(e,t){return!t||!e?!1:e.type!=="idle"}function Ph(e,t){return!e&&!!t}function _h(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Y(n.error)}}function kh(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return pe(n.error)}}function Cc(e){if(e){if(ne(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${e.tool}...`}if(an(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(de(e))return"Gathering thoughts..."}}function wh(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=ne(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 g=p.parts.length-1;g>=0;g--){let y=Cc(p.parts[g]);if(y)return y}}return"Delegating to agent..."}let c=Cc(r);if(c)return c}return"Considering next steps..."}function Sh(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 Rc=1.2;function uu(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,c=e.cache?.write??0,u=Math.max(0,n-s-c),g=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,_)=>_.contextThreshold-m.contextThreshold)[0]??t,y=u/1e6*g.inputPer1M;return y+=r/1e6*g.outputPer1M,s>0&&(y+=s/1e6*(g.cacheReadPer1M??g.inputPer1M)),c>0&&(y+=c/1e6*(g.cacheWritePer1M??g.inputPer1M)),y}function pu(e,t,n,r){let s=e.cost||0;if(s>0)return s;if(!r||!t||!n)return 0;let c=r(t,n);return c?uu(e.tokens,c):0}function du(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function vh(e,t){let n=0,r=0,s=0,c=0,u=0,p=0,g=!1;for(let{part:y,message:m}of e)if(y.type==="step-finish"){g=!0;let _=y,{providerID:w,modelID:R}=du(m.info);n+=pu(_,w,R,t),r+=_.tokens?.input||0,s+=_.tokens?.output||0,c+=_.tokens?.reasoning||0,u+=_.tokens?.cache?.read||0,p+=_.tokens?.cache?.write||0}if(!g)for(let{message:y}of e){if(y.info.role!=="assistant")continue;let m=y.info,_=gu(m,t);if(_<=0)continue;g=!0,n+=_;let w=m.tokens;w&&(r+=w.input??0,s+=w.output??0,c+=w.reasoning??0,u+=w.cache?.read??0,p+=w.cache?.write??0)}if(g)return{cost:n*Rc,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:p}}}function gu(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?uu({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function Ch(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=du(s),p=0,g=!1;for(let y of r.parts)y.type==="step-finish"&&(g=!0,p+=pu(y,c,u,t));g||(p+=gu(s,t)),n+=p}return n*Rc}function Rh(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function Th(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function Ih(e){if(!e||e.type!=="retry")return;let t=e;return{attempt:t.attempt,message:t.message.length>60?`${t.message.slice(0,60)}...`:t.message,next:t.next}}function Ah(e){if(!(!e||e.type!=="retry"))return Y(e.message)}function jh(e){return(e.info.summary?.diffs?.length??0)>0}var Eh=4e3;function lt(e,t=Eh){return e.length>t?`${e.slice(0,t)}
61
+ \u2026`:e}function mu(e){if(e!==void 0)try{return lt(JSON.stringify(e,null,2))}catch{return}}function B(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function Me(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function $h(e){let t=B(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Me(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(c=>{let u=Me(c)??{};return{title:B(u.title)??"",url:B(u.url,u.link)??"",snippet:B(u.snippet,u.description,u.source)}});return{kind:"web-search",query:B(n.query)??t,results:s.length>0?s:void 0,answer:B(n.answer)}}var qh=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function Dh(e,t,n){let r="",s=0;for(;;){let c=e.indexOf(t,s);if(c===-1)return r+e.slice(s);let u=e.indexOf(n,c+t.length);if(u===-1)return r+e.slice(s);r+=e.slice(s,c),s=u+n.length}}var Mh=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Uh(e){let t=-1;for(let n of Mh){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var Oh=/\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 Lh(e){return e.replace(Oh,"")}function Fh(e){let t=B(e.input?.command)??"",n=e.output??"",r=n.match(qh),s=r?Number(r[1]):void 0,u=Lh(Uh(Dh(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:u||void 0,exitCode:s}}function Ic(e){return B(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function Gh(e){let t=e.status==="error"?e.error:e.output&&lt(e.output)||void 0;return{kind:"file-read",path:Ic(e),preview:t}}function Bh(e){let t=B(e.input?.content),n=e.status==="error"?e.error:lt(t??e.output??"")||void 0;return{kind:"file-write",path:Ic(e),preview:n}}var Nh=256*1024;function Kh(e,t){if(e.length+t.length>Nh)return;let n=e.split(`
62
62
  `),r=t.split(`
63
- `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let c=n.length,u=r.length;for(;c>s&&u>s&&n[c-1]===r[u-1];)c--,u--;let p=[];for(let g=0;g<s;g++)p.push({type:"unchanged",text:n[g]});for(let g=s;g<c;g++)p.push({type:"removed",text:n[g]});for(let g=s;g<u;g++)p.push({type:"added",text:r[g]});for(let g=c;g<n.length;g++)p.push({type:"unchanged",text:n[g]});return p}function Uh(e){let t=B(e.input?.oldString),n=B(e.input?.newString),r=t!==void 0&&n!==void 0?Mh(t,n):void 0;return{kind:"file-edit",path:vc(e),diff:r}}var du=/^Found\s+(\d+)\s+match/i,Oh=/^(\/[^:]+?):\s*/,pu=/Line\s+(\d+):/g;function Lh(e){let t=e.trim(),n=t.match(du),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let c of r.split(/\n\n+/)){let u=c.trim();if(!u)continue;let p=u.match(Oh);if(!p)continue;let g=p[1],y=u.slice(p[0].length),m=[],k;for(pu.lastIndex=0;(k=pu.exec(y))!==null;)m.push({line:Number(k[1]),contentStart:k.index+k[0].length,headerStart:k.index});for(let w=0;w<m.length;w++){let R=w+1<m.length?m[w+1].headerStart:y.length,l=y.slice(m[w].contentStart,R).trim();s.push({path:g,line:m[w].line,content:l.endsWith(";")?l.slice(0,-1):l})}}return s}function Fh(e){return e.trim().split(`
64
- `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Gh(e){let t=B(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=du.test(e.output.trim())?Lh(e.output):Fh(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Bh(e){let t=B(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=B(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function Sc(e){let t=Me(e)??{};return{content:B(t.content)??"",status:B(t.status)??"pending",priority:B(t.priority)}}function Kh(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Sc)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Sc)};let n=Me(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Sc)}:{kind:"todo",items:[]}}function Hh(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Me(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=Me(p),y=g&&B(g.label);return y?[{label:y,description:g?B(g.description):void 0}]:[]});return{question:B(s.question)??"",header:B(s.header),options:u}})}}function zh(e){let n=e.input&&Object.keys(e.input).length>0?uu(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?lt(e.outputParsed):uu(e.outputParsed):e.outputText!==void 0?r=lt(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function gu(e){switch(at(e.name)){case"web_search":case"websearch":case"image_search":return vh(e);case"bash":return Eh(e);case"read":return $h(e);case"write":return qh(e);case"edit":case"morph_edit":return Uh(e);case"grep":case"glob":return Gh(e);case"task":return Bh(e);case"todowrite":return Kh(e);case"question":case"ask":return Hh(e);default:return zh(e)}}function cn(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Nh(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 Wh(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 Cc(e,t,n){return e!==void 0?e:Nh(cn(t),n)}var Vh={get disableMobileAdvertising(){return Cc($().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Cc($().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Cc($().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var ut="kortix-active-instance",mu=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function fu(e){return mu.some(t=>e===t||e.startsWith(`${t}/`))}function Ue(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 Jh(e){let t=Ue(e);return!!t&&t.innerPath===""}function Qh(e){let t=Ue(e);return!t||!t.innerPath?e:t.innerPath}function yu(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=Ue(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return fu(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function hu(e){return e?Ue(e)?.instanceId??null:null}function Xh(){return typeof window>"u"?null:hu(window.location.pathname)||bu()}function bu(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${ut}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function Yh(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${ut}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${ut}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${ut}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Zh(e,t){return t?yu(t,e):e}function eb(e){let t=Ue(e);return t?t.innerPath||"/dashboard":e}function xu(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 Pu(e){let t=xu(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 Rc(e){let t=Pu(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function tb(e){return Rc(e)!==null}function ku(e){let t=Rc(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),p=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:xu(e)||"The sandbox is running, but OpenCode returned an error."}}function z(){let e=cn("BACKEND_URL")||$().backendUrl;return e||"http://localhost:8008/v1"}function pt(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=pt(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return pt(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var _u=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function wu(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function nb(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 Tc(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${z()}/p/${n.external_id}/${te.KORTIX_MASTER}`:""),status:nb(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 Ic(){let e=await xe(),t=[];for(let n of e){let r=await qe(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Tc(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return c!==0?c:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function _e(e){let t=await Ic();return e?t.find(n=>n.sandbox.sandbox_id===e||n.sandbox.external_id===e||n.session.session_id===e||n.runtime?.external_id===e)??null:t[0]??null}async function ln(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await E(`${z()}${e}`,{...t,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new A(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=Re(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function Ac(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${z()}/p/${e.external_id}/${te.KORTIX_MASTER}`}function rb(e,t){return e.external_id?`${z()}/p/${e.external_id}/${t}`:null}async function sb(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Su(e){let t=await _e();if(t)return{sandbox:t.sandbox,created:!1};let r=(await xe())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await De(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await ke(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Tc(r,s,c),created:!0}}async function ib(){return(await _e().catch(()=>null))?.sandbox??null}async function ob(e){return{sandbox:(await Su(e)).sandbox}}async function ab(e){let t=pt(e);return t?(await _e(t).catch(()=>null))?.sandbox??null:null}async function cb(e,t){throw await _e(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function lb(e){let t=pt(e);return(await Ic().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function ub(){if(typeof window>"u")return null;let e=z(),t=Array.from(new Set([e,..._u]));for(let n of t)try{let r=await fetch(wu(n),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!r.ok)continue;let s=await r.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function pb(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await _e(e);if(!t)throw new Error("Project session sandbox not found");await tt(t.project.project_id,t.session.session_id)}async function db(e){if(!e)throw new Error("No sandbox selected to stop");let t=await _e(e);if(!t)throw new Error("Project session sandbox not found");await nt(t.project.project_id,t.session.session_id)}async function gb(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function mb(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function fb(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function yb(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function hb(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function bb(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function xb(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function Pb(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function kb(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function _b(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function jc(e,t,n){let r=Ac(e),s=await E(`${ye(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function wb(e,t){return jc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function Sb(e,t,n,r="member"){await jc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function vb(e,t,n){await jc(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Cb(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Rb(e){let t=await ln(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function Tb(e){let t=await ln(`/platform/invites/${encodeURIComponent(e)}/accept`,{method:"POST"});if(!t.success||!t.data)throw new Error(t.error||"Failed to accept invite");return t.data}async function Ib(e){let t=await ln(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function Ab(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function jb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Eb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function $b(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function qb(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Db(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var vu=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Mb(e){return vu.includes(e)}async function Ub(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 Ob(e){let t=e?`?channel=${e}`:"",n=await fetch(`${z()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await Cu(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Cu(e){let t=e?`?channel=${e}`:"",n=await fetch(`${z()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function Lb(){let e=await fetch(`${z()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function Fb(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Gb(e){}async function Bb(e){}async function Kb(e){return{serverTypes:[],location:e||"hel1"}}async function Hb(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function zb(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function Nb(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function Wb(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function Vb(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function Jb(e,t){return`${z()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var re=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function un(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Ec(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 pn(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function dn(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 K(e,t,n){let r=n?.body!==void 0,s=await fetch(`${un(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Ec(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),c=await pn(s);if(!s.ok)throw new re(dn(s,c),s.status,c);return c}function Qb(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 Xb(e,t){return K(`/marketplace/items${Qb(t)}`,e)}function Yb(e){return K("/marketplace/marketplaces",e)}function Zb(e,t){return K(`/marketplace/items/${encodeURIComponent(e)}`,t)}function ex(e,t,n){return K(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function tx(e,t){return K("/access/check-email",t,{method:"POST",body:{email:e}})}function nx(e,t){return K("/access/request-access",t,{method:"POST",body:e})}function rx(e){return K("/auth/logout",e,{method:"POST",body:{}})}function sx(e,t){return K(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function ix(e,t){return K("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function ox(e,t){return K(`/setup-links/connector/${encodeURIComponent(e)}`,t)}function ax(e,t){return K(`/setup-links/connector/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function cx(e,t){return K(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function lx(e,t,n){return K(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function ux(e,t){return K(`/p/public-share/${encodeURIComponent(e)}`,t)}function px(e,t,n){return K(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function dx(e){return K("/system/maintenance",e)}function gx(e,t){return K("/system/maintenance",t,{method:"PUT",body:e})}function mx(e){return K("/user-roles",e)}function fx(e,t){return K("/system/demo-request",t,{method:"POST",body:e})}async function yx(e,t,n){let r=new URLSearchParams({format:t.format});t.action&&r.set("action",t.action),t.actor&&r.set("actor",t.actor),t.project_id&&r.set("project_id",t.project_id),t.session_id&&r.set("session_id",t.session_id),t.actor_type&&r.set("actor_type",t.actor_type),t.source&&r.set("source",t.source),t.outcome&&r.set("outcome",t.outcome),t.request_id&&r.set("request_id",t.request_id),t.correlation_id&&r.set("correlation_id",t.correlation_id),t.resource_type&&r.set("resource_type",t.resource_type),t.since&&r.set("since",t.since),t.until&&r.set("until",t.until),t.q&&r.set("q",t.q);let s=await fetch(`${un(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Ec(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let c=await pn(s);throw new re(dn(s,c),s.status,c)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count")}}async function hx(e,t){let n=await fetch(`${un(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Ec(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await pn(n);throw new re(dn(n,r),n.status,r)}if(!n.body)throw new re("No response body",n.status,null);return n.body}var bx=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Ru(e,t){return bx.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${un(e)}/`):null}async function xx(e,t,n){let r=Ru(e,t);if(!r)throw new re("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),c=await pn(s);if(!s.ok)throw new re(dn(s,c),s.status,c);return c}async function Px(){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 kx(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 _x(e){let t=await i.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function wx(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 Sx(){let e=await i.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function Tu(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 vx(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let c=new Set;if(t)try{c.add(new URL(t).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(n.origin)}catch{return!1}}function $c(e,t){return vx(e,t)?(t?Tu(t):null)??Tu(e):null}function Cx(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function Rx(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function Tx(e,t={}){let n=$c(e,t.serverUrl);if(!n)return!1;let r=await ge();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}function qc(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Ix(e,t){return`${qc(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function Ax(e,t){return`${qc(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function Iu(e,t){return`${qc(e)}/presentation/convert-to-${t}`}async function jx(e,t,n,r){let s=Iu(t,e),c=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),g=!1;for(;;){let y=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=y.headers.get("content-type")||"";if(y.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let l=await y.blob();if(l.size===0)throw new Error("Downloaded file is empty");return l}if(y.status===202){if(g||(g=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((l,f)=>{let a=setTimeout(l,c);r?.signal?.addEventListener("abort",()=>{clearTimeout(a),f(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let w=await y.text().catch(()=>""),R=y.statusText;try{let l=JSON.parse(w);R=String(l.error||l.detail||l.message||R)}catch{w&&(R=w)}throw new Error(`Failed to download ${e.toUpperCase()}: ${R} (HTTP ${y.status})`)}}function ju(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let c=new URLSearchParams({limit:String(r)});s&&c.set("before",s);let u=await e.getToken?.(),p=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function Eu(e){return Ex(ju(e))}function $u(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=ju(e),s=async c=>{let u=await e.getToken?.(),p=await t(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new Dc({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function Ex(e){let t=new Map,n=new Set,r;do{let s=await e({limit:50,...r?{before:r}:{}});for(let c of s.messages)t.set(c.info.id,c);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...t.values()].sort((s,c)=>s.info.id.localeCompare(c.info.id))}var $x={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Au=500,Dc=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??$x,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0}),this.setBusy(!0)}observePromptStatus(t){if(this.promptObservationPhase!=="idle"){if(t.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.setBusy(!1)}setBusy(t){if(!t){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t),r=await this.loadCompleteTurn(n,"tail",t);if(this.destroyed)return;this.containsNewPromptReply(r.messages)&&this.observePromptActivity(),this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t)}async loadCompleteTurn(t,n,r,s){let c=[...t.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),g=t.nextCursor;for(let y of t.messages)y.info.role==="user"&&u.add(y.info.id);for(;g&&c.some(y=>y.info.role==="assistant"&&!!y.info.parentID&&!u.has(y.info.parentID));){if(p.has(g))throw new Error(`Session history cursor repeated: ${g}`);p.add(g);let y=await this.loadPage(n,r,g);c.unshift(...y.messages);for(let m of y.messages)m.info.role==="user"&&u.add(m.info.id);g=y.nextCursor}return{messages:c,nextCursor:g}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.reconcile("poll"),await this.reconcileStatus(),this.lastActivityAt=this.scheduler.now())}containsNewPromptReply(t){if(this.promptObservationPhase==="idle")return!1;let n=new Set(t.filter(r=>r.info.role==="user"&&!this.knownUserMessageIds.has(r.info.id)).map(r=>r.info.id));return n.size===0?!1:t.some(r=>r.info.role==="assistant"&&!!r.info.parentID&&n.has(r.info.parentID))}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let t=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.stopLivenessTimer())};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(t,Au):setTimeout(t,Au)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder&&n.isPromptObservedBusy===this.snapshot.isPromptObservedBusy)){this.snapshot=n;for(let r of this.listeners)r()}}};function qu(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Du(e){let{url:t,token:n,method:r="GET",body:s,onEvent:c,onOpen:u,onError:p,signal:g}=e,y=new Map,m=null,k=!1;function w(T,v){c?.(T,v);let P=y.get(T);if(P)for(let j of P)try{j(v)}catch{}}async function R(){if(k)return;m=new AbortController;let T=g?AbortSignal.any([m.signal,g]):m.signal;try{let v={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(v["Content-Type"]="application/json");let P=await fetch(t,{method:r,headers:v,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:T,credentials:"include"});if(!P.ok)throw new Error(`SSE connection failed: ${P.status} ${P.statusText}`);if(!P.body)throw new Error("SSE response has no body");u?.();let j=P.body.getReader(),I=new TextDecoder,S="",q="message",L="";for(;!k;){let{done:h,value:C}=await j.read();if(h)break;S+=I.decode(C,{stream:!0});let D=S.split(`
63
+ `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let c=n.length,u=r.length;for(;c>s&&u>s&&n[c-1]===r[u-1];)c--,u--;let p=[];for(let g=0;g<s;g++)p.push({type:"unchanged",text:n[g]});for(let g=s;g<c;g++)p.push({type:"removed",text:n[g]});for(let g=s;g<u;g++)p.push({type:"added",text:r[g]});for(let g=c;g<n.length;g++)p.push({type:"unchanged",text:n[g]});return p}function Hh(e){let t=B(e.input?.oldString),n=B(e.input?.newString),r=t!==void 0&&n!==void 0?Kh(t,n):void 0;return{kind:"file-edit",path:Ic(e),diff:r}}var yu=/^Found\s+(\d+)\s+match/i,zh=/^(\/[^:]+?):\s*/,fu=/Line\s+(\d+):/g;function Wh(e){let t=e.trim(),n=t.match(yu),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let c of r.split(/\n\n+/)){let u=c.trim();if(!u)continue;let p=u.match(zh);if(!p)continue;let g=p[1],y=u.slice(p[0].length),m=[],_;for(fu.lastIndex=0;(_=fu.exec(y))!==null;)m.push({line:Number(_[1]),contentStart:_.index+_[0].length,headerStart:_.index});for(let w=0;w<m.length;w++){let R=w+1<m.length?m[w+1].headerStart:y.length,l=y.slice(m[w].contentStart,R).trim();s.push({path:g,line:m[w].line,content:l.endsWith(";")?l.slice(0,-1):l})}}return s}function Vh(e){return e.trim().split(`
64
+ `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Jh(e){let t=B(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=yu.test(e.output.trim())?Wh(e.output):Vh(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Qh(e){let t=B(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=B(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function Tc(e){let t=Me(e)??{};return{content:B(t.content)??"",status:B(t.status)??"pending",priority:B(t.priority)}}function Xh(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Tc)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Tc)};let n=Me(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Tc)}:{kind:"todo",items:[]}}function Yh(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Me(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=Me(p),y=g&&B(g.label);return y?[{label:y,description:g?B(g.description):void 0}]:[]});return{question:B(s.question)??"",header:B(s.header),options:u}})}}function Zh(e){let n=e.input&&Object.keys(e.input).length>0?mu(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?lt(e.outputParsed):mu(e.outputParsed):e.outputText!==void 0?r=lt(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function hu(e){switch(at(e.name)){case"web_search":case"websearch":case"image_search":return $h(e);case"bash":return Fh(e);case"read":return Gh(e);case"write":return Bh(e);case"edit":case"morph_edit":return Hh(e);case"grep":case"glob":return Jh(e);case"task":return Qh(e);case"todowrite":return Xh(e);case"question":case"ask":return Yh(e);default:return Zh(e)}}function cn(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function eb(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 tb(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 Ac(e,t,n){return e!==void 0?e:eb(cn(t),n)}var nb={get disableMobileAdvertising(){return Ac($().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Ac($().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Ac($().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var ut="kortix-active-instance",bu=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function xu(e){return bu.some(t=>e===t||e.startsWith(`${t}/`))}function Ue(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 rb(e){let t=Ue(e);return!!t&&t.innerPath===""}function sb(e){let t=Ue(e);return!t||!t.innerPath?e:t.innerPath}function Pu(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=Ue(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return xu(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function _u(e){return e?Ue(e)?.instanceId??null:null}function ib(){return typeof window>"u"?null:_u(window.location.pathname)||ku()}function ku(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${ut}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function ob(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${ut}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${ut}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${ut}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function ab(e,t){return t?Pu(t,e):e}function cb(e){let t=Ue(e);return t?t.innerPath||"/dashboard":e}function wu(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 Su(e){let t=wu(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 jc(e){let t=Su(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function lb(e){return jc(e)!==null}function vu(e){let t=jc(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),p=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:wu(e)||"The sandbox is running, but OpenCode returned an error."}}function H(){let e=cn("BACKEND_URL")||$().backendUrl;return e||"http://localhost:8008/v1"}function pt(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=pt(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return pt(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var Cu=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Ru(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function ub(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 Ec(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?`${H()}/p/${n.external_id}/${te.KORTIX_MASTER}`:""),status:ub(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 $c(){let e=await xe(),t=[];for(let n of e){let r=await qe(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Ec(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return c!==0?c:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function ke(e){let t=await $c();return e?t.find(n=>n.sandbox.sandbox_id===e||n.sandbox.external_id===e||n.session.session_id===e||n.runtime?.external_id===e)??null:t[0]??null}async function ln(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await E(`${H()}${e}`,{...t,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new T(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=Re(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function qc(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`${H()}/p/${e.external_id}/${te.KORTIX_MASTER}`}function pb(e,t){return e.external_id?`${H()}/p/${e.external_id}/${t}`:null}async function db(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Tu(e){let t=await ke();if(t)return{sandbox:t.sandbox,created:!1};let r=(await xe())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await De(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await _e(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Ec(r,s,c),created:!0}}async function gb(){return(await ke().catch(()=>null))?.sandbox??null}async function mb(e){return{sandbox:(await Tu(e)).sandbox}}async function fb(e){let t=pt(e);return t?(await ke(t).catch(()=>null))?.sandbox??null:null}async function yb(e,t){throw await ke(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function hb(e){let t=pt(e);return(await $c().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function bb(){if(typeof window>"u")return null;let e=H(),t=Array.from(new Set([e,...Cu]));for(let n of t)try{let r=await fetch(Ru(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 xb(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await ke(e);if(!t)throw new Error("Project session sandbox not found");await tt(t.project.project_id,t.session.session_id)}async function Pb(e){if(!e)throw new Error("No sandbox selected to stop");let t=await ke(e);if(!t)throw new Error("Project session sandbox not found");await nt(t.project.project_id,t.session.session_id)}async function _b(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function kb(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function wb(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function Sb(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function vb(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function Cb(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function Rb(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function Tb(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Ib(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Ab(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Dc(e,t,n){let r=qc(e),s=await E(`${ye(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function jb(e,t){return Dc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function Eb(e,t,n,r="member"){await Dc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function $b(e,t,n){await Dc(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function qb(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Db(e){let t=await ln(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function Mb(e){let t=await ln(`/platform/invites/${encodeURIComponent(e)}/accept`,{method:"POST"});if(!t.success||!t.data)throw new Error(t.error||"Failed to accept invite");return t.data}async function Ub(e){let t=await ln(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function Ob(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Lb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Fb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Gb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Bb(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Nb(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Iu=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Kb(e){return Iu.includes(e)}async function Hb(e){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:e?.version??null,error:null,startedAt:null,updatedAt:null}}async function zb(e){let t=e?`?channel=${e}`:"",n=await fetch(`${H()}/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 Au(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Au(e){let t=e?`?channel=${e}`:"",n=await fetch(`${H()}/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 Wb(){let e=await fetch(`${H()}/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 Vb(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Jb(e){}async function Qb(e){}async function Xb(e){return{serverTypes:[],location:e||"hel1"}}async function Yb(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function Zb(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function ex(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function tx(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function nx(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function rx(e,t){return`${H()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var re=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function un(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Mc(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 pn(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function dn(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(`${un(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Mc(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),c=await pn(s);if(!s.ok)throw new re(dn(s,c),s.status,c);return c}function sx(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString();return n?`?${n}`:""}function ix(e,t){return N(`/marketplace/items${sx(t)}`,e)}function ox(e){return N("/marketplace/marketplaces",e)}function ax(e,t){return N(`/marketplace/items/${encodeURIComponent(e)}`,t)}function cx(e,t,n){return N(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function lx(e,t){return N("/access/check-email",t,{method:"POST",body:{email:e}})}function ux(e,t){return N("/access/request-access",t,{method:"POST",body:e})}function px(e){return N("/auth/logout",e,{method:"POST",body:{}})}function dx(e,t){return N(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function gx(e,t){return N("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function mx(e,t){return N(`/setup-links/connector/${encodeURIComponent(e)}`,t)}function fx(e,t){return N(`/setup-links/connector/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function yx(e,t){return N(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function hx(e,t,n){return N(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function bx(e,t){return N(`/p/public-share/${encodeURIComponent(e)}`,t)}function xx(e,t,n){return N(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function Px(e){return N("/system/maintenance",e)}function _x(e,t){return N("/system/maintenance",t,{method:"PUT",body:e})}function kx(e){return N("/user-roles",e)}function wx(e,t){return N("/system/demo-request",t,{method:"POST",body:e})}async function Sx(e,t,n){let r=new URLSearchParams({format:t.format});t.action&&r.set("action",t.action),t.actor&&r.set("actor",t.actor),t.project_id&&r.set("project_id",t.project_id),t.session_id&&r.set("session_id",t.session_id),t.actor_type&&r.set("actor_type",t.actor_type),t.source&&r.set("source",t.source),t.outcome&&r.set("outcome",t.outcome),t.request_id&&r.set("request_id",t.request_id),t.correlation_id&&r.set("correlation_id",t.correlation_id),t.resource_type&&r.set("resource_type",t.resource_type),t.since&&r.set("since",t.since),t.until&&r.set("until",t.until),t.q&&r.set("q",t.q);let s=await fetch(`${un(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Mc(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let c=await pn(s);throw new re(dn(s,c),s.status,c)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count")}}async function vx(e,t){let n=await fetch(`${un(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Mc(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await pn(n);throw new re(dn(n,r),n.status,r)}if(!n.body)throw new re("No response body",n.status,null);return n.body}var Cx=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ju(e,t){return Cx.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${un(e)}/`):null}async function Rx(e,t,n){let r=ju(e,t);if(!r)throw new re("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),c=await pn(s);if(!s.ok)throw new re(dn(s,c),s.status,c);return c}async function Tx(){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 Ix(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 Ax(e){let t=await i.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function jx(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 Ex(){let e=await i.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function Eu(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 $x(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let c=new Set;if(t)try{c.add(new URL(t).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(n.origin)}catch{return!1}}function Uc(e,t){return $x(e,t)?(t?Eu(t):null)??Eu(e):null}function qx(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function Dx(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function Mx(e,t={}){let n=Uc(e,t.serverUrl);if(!n)return!1;let r=await ge();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}function Oc(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Ux(e,t){return`${Oc(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function Ox(e,t){return`${Oc(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function $u(e,t){return`${Oc(e)}/presentation/convert-to-${t}`}async function Lx(e,t,n,r){let s=$u(t,e),c=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),g=!1;for(;;){let y=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=y.headers.get("content-type")||"";if(y.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let l=await y.blob();if(l.size===0)throw new Error("Downloaded file is empty");return l}if(y.status===202){if(g||(g=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((l,f)=>{let a=setTimeout(l,c);r?.signal?.addEventListener("abort",()=>{clearTimeout(a),f(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let w=await y.text().catch(()=>""),R=y.statusText;try{let l=JSON.parse(w);R=String(l.error||l.detail||l.message||R)}catch{w&&(R=w)}throw new Error(`Failed to download ${e.toUpperCase()}: ${R} (HTTP ${y.status})`)}}function Du(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let c=new URLSearchParams({limit:String(r)});s&&c.set("before",s);let u=await e.getToken?.(),p=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function Mu(e){return Fx(Du(e))}function Uu(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=Du(e),s=async c=>{let u=await e.getToken?.(),p=await t(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new Lc({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function Fx(e){let t=new Map,n=new Set,r;do{let s=await e({limit:50,...r?{before:r}:{}});for(let c of s.messages)t.set(c.info.id,c);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...t.values()].sort((s,c)=>s.info.id.localeCompare(c.info.id))}var Gx={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},qu=500,Lc=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??Gx,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0}),this.setBusy(!0)}observePromptStatus(t){if(this.promptObservationPhase!=="idle"){if(t.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.setBusy(!1)}setBusy(t){if(!t){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t),r=await this.loadCompleteTurn(n,"tail",t);if(this.destroyed)return;this.containsNewPromptReply(r.messages)&&this.observePromptActivity(),this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t)}async loadCompleteTurn(t,n,r,s){let c=[...t.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),g=t.nextCursor;for(let y of t.messages)y.info.role==="user"&&u.add(y.info.id);for(;g&&c.some(y=>y.info.role==="assistant"&&!!y.info.parentID&&!u.has(y.info.parentID));){if(p.has(g))throw new Error(`Session history cursor repeated: ${g}`);p.add(g);let y=await this.loadPage(n,r,g);c.unshift(...y.messages);for(let m of y.messages)m.info.role==="user"&&u.add(m.info.id);g=y.nextCursor}return{messages:c,nextCursor:g}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.reconcile("poll"),await this.reconcileStatus(),this.lastActivityAt=this.scheduler.now())}containsNewPromptReply(t){if(this.promptObservationPhase==="idle")return!1;let n=new Set(t.filter(r=>r.info.role==="user"&&!this.knownUserMessageIds.has(r.info.id)).map(r=>r.info.id));return n.size===0?!1:t.some(r=>r.info.role==="assistant"&&!!r.info.parentID&&n.has(r.info.parentID))}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let t=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.stopLivenessTimer())};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(t,qu):setTimeout(t,qu)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder&&n.isPromptObservedBusy===this.snapshot.isPromptObservedBusy)){this.snapshot=n;for(let r of this.listeners)r()}}};function Ou(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Lu(e){let{url:t,token:n,method:r="GET",body:s,onEvent:c,onOpen:u,onError:p,signal:g}=e,y=new Map,m=null,_=!1;function w(I,v){c?.(I,v);let x=y.get(I);if(x)for(let j of x)try{j(v)}catch{}}async function R(){if(_)return;m=new AbortController;let I=g?AbortSignal.any([m.signal,g]):m.signal;try{let v={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(v["Content-Type"]="application/json");let x=await fetch(t,{method:r,headers:v,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:I,credentials:"include"});if(!x.ok)throw new Error(`SSE connection failed: ${x.status} ${x.statusText}`);if(!x.body)throw new Error("SSE response has no body");u?.();let j=x.body.getReader(),A=new TextDecoder,S="",q="message",L="";for(;!_;){let{done:h,value:C}=await j.read();if(h)break;S+=A.decode(C,{stream:!0});let D=S.split(`
65
65
  `);S=D.pop()||"";for(let F of D)F===""?L&&(w(q,L.trimEnd()),q="message",L=""):F.startsWith("event: ")?q=F.slice(7).trim():F.startsWith("data: ")?L+=(L?`
66
66
  `:"")+F.slice(6):F.startsWith("data:")&&(L+=(L?`
67
- `:"")+F.slice(5))}}catch(v){if(k||v instanceof DOMException&&v.name==="AbortError")return;p?.(v instanceof Error?v:new Error(String(v)))}}function l(){k=!0,m?.abort(),m=null,y.clear()}function f(T,v){let P=y.get(T)??new Set;P.add(v),y.set(T,P)}function a(T,v){y.get(T)?.delete(v)}return{connect:R,close:l,addEventListener:f,removeEventListener:a}}function qx(e,t){return Du({...t,url:qu(e)})}return Bu(Dx);})();
67
+ `:"")+F.slice(5))}}catch(v){if(_||v instanceof DOMException&&v.name==="AbortError")return;p?.(v instanceof Error?v:new Error(String(v)))}}function l(){_=!0,m?.abort(),m=null,y.clear()}function f(I,v){let x=y.get(I)??new Set;x.add(v),y.set(I,x)}function a(I,v){y.get(I)?.delete(v)}return{connect:R,close:l,addEventListener:f,removeEventListener:a}}function Bx(e,t){return Lu({...t,url:Ou(e)})}return zu(Nx);})();