@kortix/sdk 0.10.13 → 0.10.14

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 (119) hide show
  1. package/README.md +34 -11
  2. package/dist/browser/session-sync/session-sync-registry.d.ts +39 -0
  3. package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -0
  4. package/dist/browser/session-sync/session-sync-registry.js +146 -0
  5. package/dist/browser/session-sync/session-sync-registry.js.map +1 -0
  6. package/dist/core/client/kortix.d.ts +20 -4
  7. package/dist/core/client/kortix.d.ts.map +1 -1
  8. package/dist/core/client/kortix.js +35 -3
  9. package/dist/core/client/kortix.js.map +1 -1
  10. package/dist/core/http/api-client.d.ts +9 -0
  11. package/dist/core/http/api-client.d.ts.map +1 -1
  12. package/dist/core/http/api-client.js +27 -1
  13. package/dist/core/http/api-client.js.map +1 -1
  14. package/dist/core/http/config.d.ts +1 -0
  15. package/dist/core/http/config.d.ts.map +1 -1
  16. package/dist/core/http/config.js.map +1 -1
  17. package/dist/core/http/feature-flags.d.ts +1 -0
  18. package/dist/core/http/feature-flags.d.ts.map +1 -1
  19. package/dist/core/http/feature-flags.js +2 -13
  20. package/dist/core/http/feature-flags.js.map +1 -1
  21. package/dist/core/rest/projects-client/connectors.d.ts +37 -0
  22. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  23. package/dist/core/rest/projects-client/connectors.js +9 -0
  24. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  25. package/dist/core/rest/projects-client/github.d.ts +30 -1
  26. package/dist/core/rest/projects-client/github.d.ts.map +1 -1
  27. package/dist/core/rest/projects-client/github.js +12 -1
  28. package/dist/core/rest/projects-client/github.js.map +1 -1
  29. package/dist/core/rest/projects-client/model-defaults.d.ts +1 -1
  30. package/dist/core/rest/projects-client/model-defaults.d.ts.map +1 -1
  31. package/dist/core/rest/projects-client/model-defaults.js.map +1 -1
  32. package/dist/core/rest/projects-client/projects.d.ts +82 -2
  33. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  34. package/dist/core/rest/projects-client/projects.js +18 -6
  35. package/dist/core/rest/projects-client/projects.js.map +1 -1
  36. package/dist/core/rest/projects-client/session-sandbox.d.ts +10 -3
  37. package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -1
  38. package/dist/core/rest/projects-client/session-sandbox.js +48 -10
  39. package/dist/core/rest/projects-client/session-sandbox.js.map +1 -1
  40. package/dist/core/rest/projects-client/sessions.d.ts +46 -2
  41. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  42. package/dist/core/rest/projects-client/sessions.js +3 -2
  43. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  44. package/dist/core/rest/projects-client/triggers.d.ts +43 -11
  45. package/dist/core/rest/projects-client/triggers.d.ts.map +1 -1
  46. package/dist/core/rest/projects-client/triggers.js.map +1 -1
  47. package/dist/core/session-sync/session-sync-controller.d.ts +89 -0
  48. package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -0
  49. package/dist/core/session-sync/session-sync-controller.js +248 -0
  50. package/dist/core/session-sync/session-sync-controller.js.map +1 -0
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +1 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/kortix.esm.min.js +31 -31
  56. package/dist/kortix.global.js +31 -31
  57. package/dist/node/server.d.ts +0 -21
  58. package/dist/node/server.d.ts.map +1 -1
  59. package/dist/node/server.js +23 -1
  60. package/dist/node/server.js.map +1 -1
  61. package/dist/react/index.d.ts +1 -0
  62. package/dist/react/index.d.ts.map +1 -1
  63. package/dist/react/index.js +5 -0
  64. package/dist/react/index.js.map +1 -1
  65. package/dist/react/model-flatten.d.ts.map +1 -1
  66. package/dist/react/model-flatten.js +4 -0
  67. package/dist/react/model-flatten.js.map +1 -1
  68. package/dist/react/provider-selection.d.ts.map +1 -1
  69. package/dist/react/provider-selection.js +3 -2
  70. package/dist/react/provider-selection.js.map +1 -1
  71. package/dist/react/pty-query-state.d.ts +3 -0
  72. package/dist/react/pty-query-state.d.ts.map +1 -0
  73. package/dist/react/pty-query-state.js +7 -0
  74. package/dist/react/pty-query-state.js.map +1 -0
  75. package/dist/react/session-start-stash.d.ts.map +1 -1
  76. package/dist/react/session-start-stash.js +17 -4
  77. package/dist/react/session-start-stash.js.map +1 -1
  78. package/dist/react/use-model-store.d.ts.map +1 -1
  79. package/dist/react/use-model-store.js +3 -5
  80. package/dist/react/use-model-store.js.map +1 -1
  81. package/dist/react/use-opencode-events/handle-event.d.ts +2 -0
  82. package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
  83. package/dist/react/use-opencode-events/handle-event.js +13 -28
  84. package/dist/react/use-opencode-events/handle-event.js.map +1 -1
  85. package/dist/react/use-opencode-events/index.d.ts.map +1 -1
  86. package/dist/react/use-opencode-events/index.js +7 -13
  87. package/dist/react/use-opencode-events/index.js.map +1 -1
  88. package/dist/react/use-opencode-local.d.ts +6 -7
  89. package/dist/react/use-opencode-local.d.ts.map +1 -1
  90. package/dist/react/use-opencode-local.js +18 -32
  91. package/dist/react/use-opencode-local.js.map +1 -1
  92. package/dist/react/use-opencode-pty.d.ts +2 -0
  93. package/dist/react/use-opencode-pty.d.ts.map +1 -1
  94. package/dist/react/use-opencode-pty.js +15 -7
  95. package/dist/react/use-opencode-pty.js.map +1 -1
  96. package/dist/react/use-opencode-sessions/no-compaction-model-error.d.ts +31 -0
  97. package/dist/react/use-opencode-sessions/no-compaction-model-error.d.ts.map +1 -0
  98. package/dist/react/use-opencode-sessions/no-compaction-model-error.js +34 -0
  99. package/dist/react/use-opencode-sessions/no-compaction-model-error.js.map +1 -0
  100. package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -1
  101. package/dist/react/use-opencode-sessions/sessions.js +12 -2
  102. package/dist/react/use-opencode-sessions/sessions.js.map +1 -1
  103. package/dist/react/use-session-prefetch.d.ts +4 -14
  104. package/dist/react/use-session-prefetch.d.ts.map +1 -1
  105. package/dist/react/use-session-prefetch.js +13 -73
  106. package/dist/react/use-session-prefetch.js.map +1 -1
  107. package/dist/react/use-session-send.d.ts +1 -0
  108. package/dist/react/use-session-send.d.ts.map +1 -1
  109. package/dist/react/use-session-send.js +2 -1
  110. package/dist/react/use-session-send.js.map +1 -1
  111. package/dist/react/use-session-sync.d.ts +10 -8
  112. package/dist/react/use-session-sync.d.ts.map +1 -1
  113. package/dist/react/use-session-sync.js +39 -327
  114. package/dist/react/use-session-sync.js.map +1 -1
  115. package/dist/transcript.d.ts +30 -1
  116. package/dist/transcript.d.ts.map +1 -1
  117. package/dist/transcript.js +13 -16
  118. package/dist/transcript.js.map +1 -1
  119. package/package.json +2 -2
@@ -1,64 +1,64 @@
1
- "use strict";var Kortix=(()=>{var Dt=Object.defineProperty;var Il=Object.getOwnPropertyDescriptor;var Al=Object.getOwnPropertyNames;var jl=Object.prototype.hasOwnProperty;var El=(e,t)=>{for(var r in t)Dt(e,r,{get:t[r],enumerable:!0})},ql=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Al(t))!jl.call(e,s)&&s!==r&&Dt(e,s,{get:()=>t[s],enumerable:!(n=Il(t,s))||n.enumerable});return e};var $l=e=>ql(Dt({},"__esModule",{value:!0}),e);var Kf={};El(Kf,{ACTIVE_INSTANCE_COOKIE:()=>He,ApiError:()=>C,AuthError:()=>de,BillingError:()=>re,COST_MARKUP:()=>Na,DEFAULT_TRANSCRIPT_OPTIONS:()=>La,DESTRUCTIVE_PHASES:()=>vl,INSTANCE_SCOPED_ROUTES:()=>fl,PublicSessionShareError:()=>Pt,RequestTooLargeError:()=>ge,RuntimeNotReadyError:()=>at,SANDBOX_PORTS:()=>W,SessionNotReadyError:()=>Fe,SessionStartError:()=>kt,__getConfigResolver:()=>Ul,__setConfigResolver:()=>Ml,acceptAccountInvite:()=>Dn,acceptInvite:()=>df,actReviewItem:()=>la,activateConnectionProfile:()=>Ms,addMarketplaceSource:()=>$a,addSandboxMember:()=>Zm,allDescendantIds:()=>sl,appendPreviewToken:()=>Bf,approveProjectAccessRequest:()=>is,approveTask:()=>gu,archiveProject:()=>bt,assignTicket:()=>Pu,attachGroupToProject:()=>fs,authenticatedFetch:()=>R,backendApi:()=>o,buildInstancePath:()=>hl,buildPreviewAuthEndpoint:()=>Ff,buildSandboxTemplate:()=>ui,buildWebProxyUrl:()=>Sd,bulkActReviewItems:()=>ua,cancelAccountInvite:()=>En,cancelSandbox:()=>Xm,cancelSandboxUpdate:()=>Cf,cancelScheduledChange:()=>bo,cancelSubscription:()=>fo,childMapByParent:()=>Kg,claimComputer:()=>jf,classifyPart:()=>Ga,classifyTurn:()=>Qc,clearModelDefault:()=>eo,clearSessionFresh:()=>Hp,closeChangeRequest:()=>Ti,closeMilestone:()=>Ju,collectTurnParts:()=>Lg,commentTicket:()=>_u,commitSessionChanges:()=>ji,computeStatusFromPart:()=>Ka,configureAutoTopup:()=>wo,configureKortix:()=>Qe,confirmCheckoutSession:()=>go,connectEmail:()=>qo,connectSlack:()=>So,createAccount:()=>Cn,createAccountAuditWebhook:()=>_a,createAccountToken:()=>fa,createBackup:()=>ff,createCheckoutSession:()=>po,createConnector:()=>Vs,createGatewayKey:()=>ra,createInstance:()=>Tf,createKortix:()=>Hc,createKortixPty:()=>un,createMilestone:()=>Wu,createPortalSession:()=>mo,createProject:()=>Hn,createProjectAgent:()=>qu,createProjectCliToken:()=>ba,createProjectRepo:()=>Vn,createProjectResourceGrant:()=>xs,createProjectSession:()=>xe,createProjectTrigger:()=>Vi,createSandbox:()=>Km,createSandboxShare:()=>da,createSandboxTemplate:()=>ai,createSessionPublicShare:()=>Oi,createTask:()=>uu,createTicket:()=>bu,declineAccountInvite:()=>Mn,declineInvite:()=>gf,deleteBackup:()=>hf,deleteConnector:()=>zs,deleteCredential:()=>rp,deleteEnv:()=>cn,deleteGatewayBudget:()=>ea,deleteGitHubInstallation:()=>ns,deleteInstance:()=>If,deleteKortixProject:()=>Bu,deleteMilestone:()=>Qu,deletePersonalProjectSecret:()=>js,deleteProjectAgent:()=>Du,deleteProjectResourceGrant:()=>ks,deleteProjectSecret:()=>Is,deleteProjectSession:()=>Ni,deleteProjectTrigger:()=>zi,deleteSandboxTemplate:()=>li,deleteTask:()=>mu,deleteTicket:()=>Su,describeAccountInvite:()=>$n,detachGroupFromProject:()=>hs,detectLocalhostUrls:()=>Oc,disconnectEmail:()=>$o,disconnectGitHubApp:()=>Of,disconnectSlack:()=>Ro,discoverConnectorAuth:()=>Ws,discoverLocalSandbox:()=>Wm,dropClientForUrl:()=>pp,dropPublicClientForUrl:()=>mp,ensurePmSession:()=>ju,ensureSandbox:()=>Sl,env:()=>bc,exportAccountAudit:()=>Pa,extractGatewayErrorDetails:()=>ee,extractInstanceRoute:()=>_e,featureFlags:()=>Am,fetchAccountStateWithToken:()=>Qp,fetchAccountsWithToken:()=>Mp,fetchProjectArchive:()=>fi,fetchProjectsForAccountWithToken:()=>Gp,files:()=>Cc,findLastTextPart:()=>Fg,fireProjectTrigger:()=>Xi,fixSandboxWithAgent:()=>oi,formatBillingErrorForUI:()=>hc,formatCost:()=>tm,formatDuration:()=>Yg,formatOpenCodeRuntimeError:()=>Om,formatTokens:()=>rm,formatTranscript:()=>Wc,generateSessionId:()=>Vc,getAccount:()=>Rn,getAccountState:()=>so,getAccountStateMinimal:()=>io,getActiveInstanceIdFromCookie:()=>xl,getAgentCardLabel:()=>nl,getAgentConfig:()=>Jp,getAgentPersona:()=>Mu,getAllVersions:()=>_f,getAnsweredQuestionParts:()=>Bg,getAuthToken:()=>je,getAuthTokenWithRetry:()=>rn,getAutoTopupSettings:()=>Po,getBillingCreditBreakdown:()=>co,getBillingTierConfigurations:()=>uo,getBillingTransactionsSummary:()=>ao,getBillingUsageHistory:()=>lo,getChangeRequest:()=>_i,getChangeRequestDiff:()=>Si,getChangeRequestMergePreview:()=>vi,getChildSessionError:()=>Ig,getChildSessionId:()=>Tg,getChildSessionToolParts:()=>Ag,getClient:()=>X,getClientForUrl:()=>se,getConnectStatus:()=>Ys,getConnectorConfig:()=>Ks,getConnectorPolicies:()=>Gs,getCurrentInstanceIdFromPathname:()=>bl,getCurrentInstanceIdFromWindow:()=>qm,getDefaultAccountState:()=>no,getDiagnostics:()=>qg,getDirectory:()=>rl,getDiscoverIntegration:()=>Qs,getEmailInstallation:()=>jo,getEmailMode:()=>Eo,getFileWithDir:()=>Ba,getFilename:()=>tl,getFullChangelog:()=>Cl,getGatewayBreakdown:()=>Jo,getGatewayBudgets:()=>Yo,getGatewayErrors:()=>Qo,getGatewayKeys:()=>ta,getGatewayLog:()=>Vo,getGatewayOverview:()=>Wo,getGatewayRoutingPolicy:()=>Go,getGatewaySeries:()=>zo,getGatewaySessions:()=>Xo,getGitHubAppStatus:()=>$f,getGitHubInstallation:()=>Yn,getHiddenToolParts:()=>vg,getInvite:()=>pf,getJustavpsServerTypes:()=>Rf,getKortixProject:()=>Lu,getKortixProjectBySession:()=>Fu,getKortixPtyWebSocketUrl:()=>gn,getLatestSandboxVersion:()=>wf,getManagedGitStatus:()=>Lp,getMarketplaceCatalogItem:()=>ja,getMarketplaceCatalogItemFile:()=>Ea,getMeetVoices:()=>Mo,getMilestone:()=>Hu,getModelDefaults:()=>Yi,getOpenCodeConfigInvalidError:()=>Wa,getPartText:()=>_g,getPermissionForTool:()=>$g,getProject:()=>gt,getProjectActivity:()=>Uu,getProjectCommit:()=>bi,getProjectCommitDiff:()=>xi,getProjectDetail:()=>mt,getProjectFileHistory:()=>ki,getProjectGitToken:()=>Nn,getProjectLlmCatalog:()=>ft,getProjectLlmCatalogProviders:()=>Op,getProjectModelPicker:()=>yt,getProjectSandboxHealth:()=>xt,getProjectSession:()=>Fi,getProrationPreview:()=>xo,getProviders:()=>Gm,getProxyBaseUrl:()=>kd,getPublicClientForUrl:()=>gp,getPublicSessionShare:()=>nd,getPublicSessionShareMessages:()=>sd,getQuestionForTool:()=>Dg,getRetryInfo:()=>nm,getRetryMessage:()=>sm,getReviewItem:()=>aa,getSSHConnection:()=>xf,getSandbox:()=>Bm,getSandboxById:()=>Nm,getSandboxMemberScopes:()=>sf,getSandboxPortUrl:()=>Fm,getSandboxProvisionStatus:()=>Ef,getSandboxProvisionStreamUrl:()=>qf,getSandboxUpdateStatus:()=>Pf,getSandboxUrl:()=>Xa,getServiceLogs:()=>ap,getSessionAudit:()=>Gi,getSessionCost:()=>em,getSessionHealth:()=>Ma,getSessionPreviewCandidates:()=>Mi,getSessionTranscript:()=>Bi,getShellModePart:()=>Hg,getSlackChannelFile:()=>To,getSlackInstallation:()=>_o,getSlackManifest:()=>Co,getSlackMode:()=>vo,getSupabaseAccessToken:()=>nt,getSupabaseAccessTokenWithRetry:()=>ue,getTask:()=>au,getTaskStatus:()=>lu,getTemplate:()=>id,getTicket:()=>yu,getToolInfo:()=>jg,getTranscriptFilename:()=>zc,getTurnCost:()=>Zg,getTurnError:()=>Jg,getTurnErrorDetails:()=>Xg,getTurnStatus:()=>Qg,getVersionDiff:()=>Pi,getViewerSandboxScopes:()=>nf,getWorkingState:()=>Wg,grantSandboxProjectAccess:()=>cf,groupMessagesIntoTurns:()=>Og,hasDiffs:()=>im,hasLocalhostUrls:()=>bd,heartbeatGapEvent:()=>Bc,humanizeToolName:()=>Ct,installTemplate:()=>od,invalidateTokenCache:()=>Ae,inviteAccountMember:()=>An,inviteProjectMember:()=>us,inviteRepoCollaborator:()=>Bn,isAdminBypassEnabled:()=>$p,isAgentPart:()=>xg,isAppRouteUrl:()=>Uc,isAttachment:()=>Zc,isBillingError:()=>yc,isCompactionPart:()=>kg,isConfigured:()=>Ye,isDestructivePhase:()=>kf,isExternalUrl:()=>Rd,isFilePart:()=>Yc,isInstanceDetailPath:()=>jm,isInstanceScopedAppPath:()=>yl,isInviteSent:()=>Np,isLastUserMessage:()=>Vg,isManagedGithubProject:()=>Up,isOpenCodeConfigInvalidError:()=>Um,isPatchPart:()=>wg,isPreviewUrl:()=>_d,isProxiableLocalhostUrl:()=>Lc,isReasoningPart:()=>Tt,isRuntimeReady:()=>ad,isSessionFresh:()=>$i,isSessionStartError:()=>Vp,isShellMode:()=>il,isSnapshotPart:()=>Pg,isSubdomainPreviewUrl:()=>Gf,isTextPart:()=>te,isToolPart:()=>z,isToolPartHidden:()=>Cg,isWebProxyUrl:()=>Cd,kortixPty:()=>kc,leaveAccount:()=>Ln,linkRepository:()=>Qn,listAccountAudit:()=>ka,listAccountAuditWebhooks:()=>wa,listAccountInvites:()=>jn,listAccountMembers:()=>In,listAccountTokens:()=>ma,listAccounts:()=>vn,listBackups:()=>mf,listBillingTransactions:()=>oo,listChangeRequests:()=>wi,listChannelBindings:()=>ed,listColumns:()=>vu,listConnectionProfiles:()=>Es,listConnectors:()=>Us,listCredentialEvents:()=>Zu,listCredentials:()=>Yu,listDiscoverIntegrations:()=>Xs,listEnv:()=>on,listFeaturedMarketplaces:()=>Aa,listFields:()=>Ru,listGatewayLogs:()=>Ho,listGitHubInstallations:()=>Zn,listGitHubRepositories:()=>es,listGitHubRepositoryBranches:()=>ts,listKortixProjectSessions:()=>Gu,listKortixProjects:()=>Ou,listKortixPty:()=>ln,listMarketplaceCatalogItems:()=>Ta,listMarketplaceSources:()=>qa,listMarketplaces:()=>Ia,listMilestoneEvents:()=>Vu,listMilestones:()=>Nu,listPendingApprovals:()=>Ps,listPendingProjectInvites:()=>ps,listPipedreamApps:()=>Js,listProjectAccess:()=>as,listProjectAccessRequests:()=>ss,listProjectAgents:()=>Eu,listProjectBranches:()=>yi,listProjectCliTokens:()=>ha,listProjectCommits:()=>hi,listProjectFiles:()=>di,listProjectGroupGrants:()=>ms,listProjectPolicies:()=>ti,listProjectResourceGrants:()=>bs,listProjectSandboxTemplates:()=>ni,listProjectSandboxes:()=>pi,listProjectSecrets:()=>Ss,listProjectSessions:()=>be,listProjectSnapshots:()=>si,listProjectTriggers:()=>Hi,listProjects:()=>oe,listProjectsForAccount:()=>Gn,listReviewItems:()=>oa,listSandboxMembers:()=>Ym,listSandboxProjectMembers:()=>af,listSandboxShares:()=>pa,listSandboxes:()=>Vm,listServiceTemplates:()=>op,listServices:()=>ip,listSessionPublicShares:()=>Ui,listSessionsNeedingInput:()=>ws,listTaskEvents:()=>cu,listTasks:()=>ou,listTemplates:()=>Iu,listTicketEvents:()=>hu,listTickets:()=>fu,markInstanceError:()=>Af,markSessionFresh:()=>qi,mergeChangeRequest:()=>Ri,narrowChatEvent:()=>Kc,normalizeAppPathname:()=>Mm,normalizeExternalInput:()=>Td,normalizeToolName:()=>Be,openChangeRequest:()=>Ci,openEventStream:()=>St,parseBillingError:()=>me,parseFlagOverride:()=>Im,parseLocalhostUrl:()=>Le,parseOpenCodeErrorPayload:()=>Pl,parseSubdomainUrl:()=>Oa,parseWebProxyUrl:()=>vd,patchKortixProject:()=>Ku,pipedreamConnect:()=>Hs,pipedreamFinalize:()=>ei,platformConfig:()=>T,pollProjectProviderOAuth:()=>Rs,previewGatewayRoute:()=>No,previewMeetVoice:()=>Lo,provisionProject:()=>Wn,provisionProjectWithToken:()=>Bp,proxyLocalhostUrl:()=>Ua,proxyUrlToInternal:()=>wd,purchaseCredits:()=>ko,reactivateSandbox:()=>Qm,reactivateSubscription:()=>yo,readProjectFile:()=>mi,rebuildProjectSnapshot:()=>ii,reconcileConnectionProfile:()=>qs,reconcileServices:()=>lp,registerService:()=>up,rejectProjectAccessRequest:()=>os,relativizePath:()=>Eg,removeAccountAuditWebhook:()=>va,removeAccountMember:()=>Un,removeKortixPty:()=>dn,removeMarketplaceSource:()=>Da,removeSandboxMember:()=>ef,renameSandbox:()=>Hm,reopenChangeRequest:()=>Ii,reopenMilestone:()=>Xu,replaceColumns:()=>Cu,replaceFields:()=>Tu,replaceTemplates:()=>Au,requestChangesOnChangeRequest:()=>Ai,requestProjectAccess:()=>Kp,requestProjectConnector:()=>Ra,requestProjectSecret:()=>Ca,resendAccountInvite:()=>qn,resendPendingProjectInvite:()=>gs,resetClient:()=>dp,resetGatewayRoutingPolicy:()=>Ko,resetPublicClient:()=>fp,resetSandboxUpdateStatus:()=>vf,resolveApproval:()=>_s,restartProjectSession:()=>Me,restartSandbox:()=>zm,restoreBackup:()=>yf,revealCredential:()=>tp,revokeAccountToken:()=>ya,revokeConnectionProfile:()=>Ds,revokeGatewayKey:()=>na,revokePendingProjectInvite:()=>ds,revokeProjectAccess:()=>ls,revokeProjectCliToken:()=>xa,revokeSandboxInvite:()=>uf,revokeSandboxProjectAccess:()=>lf,revokeSandboxShare:()=>ga,revokeSessionPublicShare:()=>Li,rewriteLocalhostUrl:()=>Pe,runGatewayPlayground:()=>sa,saveGitHubInstallation:()=>rs,scheduleDowngrade:()=>ho,searchProjectFiles:()=>gi,serviceAction:()=>cp,sessionStartKey:()=>zp,setActiveInstanceCookie:()=>$m,setAdminBypass:()=>qp,setAgentScope:()=>to,setBootstrapAuthToken:()=>ru,setCachedAuthToken:()=>tu,setConnectorCredential:()=>Zs,setConnectorCredentialMode:()=>Ls,setConnectorName:()=>Ns,setConnectorPolicies:()=>Bs,setConnectorSensitive:()=>Fs,setEnv:()=>an,setGatewayBudget:()=>Zo,setGatewayRoutingPolicy:()=>Bo,setGitHubAppFromExisting:()=>Mf,setGitHubAppPat:()=>Uf,setMeetBotName:()=>Oo,setMeetVoice:()=>Uo,setModelDefault:()=>Zi,setPersonalProjectSecret:()=>As,setProjectOnboardingComplete:()=>Xn,setProjectPolicies:()=>ri,setProjectSessionSharing:()=>Di,setProjectTriggersActivation:()=>Ji,setupSSH:()=>bf,shouldHideResponsePart:()=>zg,shouldShowToolPart:()=>el,sortSessions:()=>Ng,speakInMeeting:()=>Fo,splitUserParts:()=>Sg,startGitHubAppManifest:()=>Df,startProjectProviderOAuth:()=>Cs,startProjectSession:()=>ke,startTask:()=>du,stopProjectSession:()=>Ue,stopSandbox:()=>Jm,stripAnsi:()=>Ug,stripInstancePrefix:()=>Em,stripTrailingSlashes:()=>ne,submitReviewItem:()=>ca,supabaseClient:()=>Dp,syncConnectors:()=>Os,systemReload:()=>hp,toInstanceAwarePath:()=>Dm,toInternalUrl:()=>Pd,toolInfo:()=>Rt,toolViewModel:()=>gl,transcribeAudio:()=>ia,triggerSandboxUpdate:()=>Sf,triggersRequest:()=>xc,turnHasSteps:()=>Gg,unassignTicket:()=>wu,unwrapError:()=>K,updateAccountAuditWebhook:()=>Sa,updateAccountMemberRole:()=>On,updateAccountName:()=>Tn,updateAgentConfig:()=>Xp,updateChannelBinding:()=>td,updateConnectionProfileCredential:()=>$s,updateEmailPolicy:()=>Do,updateExperimentalFeature:()=>zn,updateKortixPty:()=>pn,updateMilestone:()=>zu,updateProject:()=>ht,updateProjectAccess:()=>cs,updateProjectAgent:()=>$u,updateProjectDefaultAgent:()=>ro,updateProjectGroupGrant:()=>ys,updateProjectSandboxProvider:()=>Jn,updateProjectSession:()=>Ki,updateProjectTrigger:()=>Wi,updateSandboxMemberRole:()=>tf,updateSandboxMemberScope:()=>of,updateSandboxMemberSpendCap:()=>rf,updateSandboxTemplate:()=>ci,updateTask:()=>pu,updateTemplateWarmPool:()=>Fp,updateTicket:()=>xu,updateTicketStatus:()=>ku,uploadSlackChannelFile:()=>Io,upsertCredential:()=>ep,upsertProjectGitCredential:()=>Ts,upsertProjectSecret:()=>vs,validateProjectManifest:()=>Kn,validateToken:()=>Fn,verifyGatewayProvider:()=>rd});var Dl={backendUrl:"",getToken:async()=>null},Mt=null,Xe=null;function Ml(e){Xe=e}function Ul(){return Xe}function Qe(e,t){t?.global!==!1&&(Mt=e)}function T(){return Xe?.()??Mt??Dl}function Ye(){return Mt!==null||Xe?.()!==void 0}var Ya=({onRequest:e,onSseError:t,onSseEvent:r,responseTransformer:n,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:d,sseSleepFn:g,url:h,...m})=>{let x,w=g??(i=>new Promise(P=>setTimeout(P,i)));return{stream:async function*(){let i=c??3e3,P=0,_=m.signal??new AbortController().signal;for(;!_.aborted;){P++;let D=m.headers instanceof Headers?m.headers:new Headers(m.headers);x!==void 0&&D.set("Last-Event-ID",x);try{let j={redirect:"follow",...m,body:m.serializedBody,headers:D,signal:_},v=new Request(h,j);e&&(v=await e(h,j));let A=await(m.fetch??globalThis.fetch)(v);if(!A.ok)throw new Error(`SSE failed: ${A.status} ${A.statusText}`);if(!A.body)throw new Error("No body in SSE response");let f=A.body.pipeThrough(new TextDecoderStream).getReader(),S="",U=()=>{try{f.cancel()}catch{}};_.addEventListener("abort",U);try{for(;;){let{done:N,value:M}=await f.read();if(N)break;S+=M,S=S.replace(/\r\n/g,`
1
+ "use strict";var Kortix=(()=>{var $t=Object.defineProperty;var Ul=Object.getOwnPropertyDescriptor;var Ol=Object.getOwnPropertyNames;var Ll=Object.prototype.hasOwnProperty;var Fl=(e,t)=>{for(var n in t)$t(e,n,{get:t[n],enumerable:!0})},Gl=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ol(t))!Ll.call(e,s)&&s!==n&&$t(e,s,{get:()=>t[s],enumerable:!(r=Ul(t,s))||r.enumerable});return e};var Bl=e=>Gl($t({},"__esModule",{value:!0}),e);var ty={};Fl(ty,{ACTIVE_INSTANCE_COOKIE:()=>Ve,ApiError:()=>C,AuthError:()=>ye,BillingError:()=>ie,COST_MARKUP:()=>Wa,DEFAULT_TRANSCRIPT_OPTIONS:()=>Ba,DESTRUCTIVE_PHASES:()=>jl,FEATURE_NOT_SUPPORTED_CODE:()=>$c,INSTANCE_SCOPED_ROUTES:()=>kl,PublicSessionShareError:()=>Pt,RequestTooLargeError:()=>he,RuntimeNotReadyError:()=>at,SANDBOX_PORTS:()=>J,SessionNotReadyError:()=>Ge,SessionStartError:()=>kt,__getConfigResolver:()=>Hl,__setConfigResolver:()=>Nl,acceptAccountInvite:()=>$r,acceptInvite:()=>wf,actReviewItem:()=>da,activateConnectionProfile:()=>Us,addMarketplaceSource:()=>Ua,addSandboxMember:()=>uf,allDescendantIds:()=>ul,appendPreviewToken:()=>Yf,approveProjectAccessRequest:()=>is,approveTask:()=>Pu,archiveProject:()=>bt,assignTicket:()=>Iu,attachGroupToProject:()=>fs,authenticatedFetch:()=>R,backendApi:()=>o,buildInstancePath:()=>wl,buildPreviewAuthEndpoint:()=>Xf,buildSandboxTemplate:()=>gi,buildWebProxyUrl:()=>qd,bulkActReviewItems:()=>ga,cancelAccountInvite:()=>jr,cancelSandbox:()=>af,cancelSandboxUpdate:()=>Mf,cancelScheduledChange:()=>Po,cancelSubscription:()=>bo,childMapByParent:()=>Zg,claimComputer:()=>Gf,classifyPart:()=>Na,classifyTurn:()=>rl,clearModelDefault:()=>ro,clearSessionFresh:()=>ed,closeChangeRequest:()=>Ai,closeMilestone:()=>rp,collectTurnParts:()=>Jg,commentTicket:()=>Au,commitSessionChanges:()=>qi,computeStatusFromPart:()=>Va,configureAutoTopup:()=>vo,configureKortix:()=>Qe,confirmCheckoutSession:()=>yo,connectEmail:()=>Mo,connectSlack:()=>Ro,createAccount:()=>Sr,createAccountAuditWebhook:()=>Ca,createAccountToken:()=>ba,createBackup:()=>vf,createCheckoutSession:()=>fo,createConnector:()=>Js,createGatewayKey:()=>ia,createHttpSessionSyncController:()=>Dl,createInstance:()=>Of,createKortix:()=>Qc,createKortixPty:()=>cr,createMilestone:()=>tp,createPortalSession:()=>ho,createProject:()=>Kr,createProjectAgent:()=>Gu,createProjectCliToken:()=>Pa,createProjectRepo:()=>Nr,createProjectResourceGrant:()=>xs,createProjectSession:()=>_e,createProjectTrigger:()=>Ji,createSandbox:()=>Zm,createSandboxShare:()=>fa,createSandboxTemplate:()=>ui,createSessionPublicShare:()=>Gi,createTask:()=>bu,createTicket:()=>Cu,declineAccountInvite:()=>qr,declineInvite:()=>_f,deleteBackup:()=>Rf,deleteConnector:()=>Qs,deleteCredential:()=>up,deleteEnv:()=>or,deleteGatewayBudget:()=>ra,deleteGitHubInstallation:()=>rs,deleteInstance:()=>Lf,deleteKortixProject:()=>Xu,deleteMilestone:()=>ip,deletePersonalProjectSecret:()=>As,deleteProjectAgent:()=>Ku,deleteProjectResourceGrant:()=>ks,deleteProjectSecret:()=>Is,deleteProjectSession:()=>Wi,deleteProjectTrigger:()=>Qi,deleteSandboxTemplate:()=>di,deleteTask:()=>wu,deleteTicket:()=>Eu,describeAccountInvite:()=>Er,detachGroupFromProject:()=>hs,detectLocalhostUrls:()=>Nc,disconnectEmail:()=>Uo,disconnectGitHubApp:()=>zf,disconnectSlack:()=>jo,discoverConnectorAuth:()=>Xs,discoverLocalSandbox:()=>rf,dropClientForUrl:()=>xp,dropPublicClientForUrl:()=>wp,ensurePmSession:()=>Lu,ensureSandbox:()=>Il,env:()=>_c,exportAccountAudit:()=>Sa,extractGatewayErrorDetails:()=>re,extractInstanceRoute:()=>Ce,featureFlags:()=>Fm,fetchAccountStateWithToken:()=>ad,fetchAccountsWithToken:()=>Np,fetchProjectArchive:()=>bi,fetchProjectsForAccountWithToken:()=>Xp,files:()=>Ac,findLastTextPart:()=>Xg,fireProjectTrigger:()=>Zi,fixSandboxWithAgent:()=>li,formatBillingErrorForUI:()=>wc,formatCost:()=>pm,formatDuration:()=>cm,formatOpenCodeRuntimeError:()=>zm,formatTokens:()=>dm,formatTranscript:()=>Zc,generateSessionId:()=>Yc,getAccount:()=>vr,getAccountState:()=>ao,getAccountStateMinimal:()=>co,getActiveInstanceIdFromCookie:()=>Sl,getAgentCardLabel:()=>ll,getAgentConfig:()=>id,getAgentPersona:()=>Nu,getAllVersions:()=>$f,getAnsweredQuestionParts:()=>Yg,getAuthToken:()=>Ee,getAuthTokenWithRetry:()=>tr,getAutoTopupSettings:()=>So,getBillingCreditBreakdown:()=>po,getBillingTierConfigurations:()=>mo,getBillingTransactionsSummary:()=>uo,getBillingUsageHistory:()=>go,getChangeRequest:()=>Ci,getChangeRequestDiff:()=>Ri,getChangeRequestMergePreview:()=>Ti,getChildSessionError:()=>Lg,getChildSessionId:()=>Og,getChildSessionToolParts:()=>Fg,getClient:()=>Z,getClientForUrl:()=>ae,getConnectStatus:()=>ti,getConnectorConfig:()=>Vs,getConnectorPolicies:()=>Ns,getCurrentInstanceIdFromPathname:()=>_l,getCurrentInstanceIdFromWindow:()=>Km,getDefaultAccountState:()=>oo,getDiagnostics:()=>Kg,getDirectory:()=>cl,getDiscoverIntegration:()=>ei,getEmailInstallation:()=>qo,getEmailMode:()=>Do,getFileWithDir:()=>Ha,getFilename:()=>al,getFullChangelog:()=>Al,getGatewayBreakdown:()=>Yo,getGatewayBudgets:()=>ta,getGatewayErrors:()=>ea,getGatewayKeys:()=>sa,getGatewayLog:()=>Jo,getGatewayOverview:()=>Xo,getGatewayRoutingPolicy:()=>No,getGatewaySeries:()=>Qo,getGatewaySessions:()=>Zo,getGitHubAppStatus:()=>Nf,getGitHubInstallation:()=>Xr,getHiddenToolParts:()=>Dg,getInvite:()=>Pf,getJustavpsServerTypes:()=>Uf,getKortixProject:()=>Wu,getKortixProjectBySession:()=>zu,getKortixPtyWebSocketUrl:()=>pr,getLatestSandboxVersion:()=>Ef,getManagedGitStatus:()=>Wp,getMarketplaceCatalogItem:()=>qa,getMarketplaceCatalogItemFile:()=>Da,getMeetVoices:()=>Lo,getMilestone:()=>Zu,getModelDefaults:()=>to,getOpenCodeConfigInvalidError:()=>Qa,getPartText:()=>$g,getPermissionForTool:()=>Ng,getProject:()=>gt,getProjectActivity:()=>Hu,getProjectCommit:()=>Pi,getProjectCommitDiff:()=>wi,getProjectDetail:()=>mt,getProjectFileHistory:()=>_i,getProjectGitToken:()=>Br,getProjectLlmCatalog:()=>ft,getProjectLlmCatalogProviders:()=>Vp,getProjectModelPicker:()=>yt,getProjectSandboxHealth:()=>xt,getProjectSandboxProviderTransition:()=>zp,getProjectSession:()=>Ki,getProrationPreview:()=>wo,getProviders:()=>Qm,getProxyBaseUrl:()=>jd,getPublicClientForUrl:()=>Pp,getPublicSessionShare:()=>gd,getPublicSessionShareMessages:()=>md,getQuestionForTool:()=>Hg,getRetryInfo:()=>gm,getRetryMessage:()=>mm,getReviewItem:()=>ua,getSSHConnection:()=>If,getSandbox:()=>Ym,getSandboxById:()=>ef,getSandboxMemberScopes:()=>ff,getSandboxPortUrl:()=>Xm,getSandboxProvisionStatus:()=>Bf,getSandboxProvisionStreamUrl:()=>Kf,getSandboxUpdateStatus:()=>Af,getSandboxUrl:()=>ec,getServiceLogs:()=>fp,getSessionAudit:()=>Ni,getSessionCost:()=>um,getSessionHealth:()=>La,getSessionPreviewCandidates:()=>Li,getSessionTranscript:()=>Hi,getShellModePart:()=>tm,getSlackChannelFile:()=>Ao,getSlackInstallation:()=>Co,getSlackManifest:()=>Io,getSlackMode:()=>To,getSupabaseAccessToken:()=>rt,getSupabaseAccessTokenWithRetry:()=>me,getTask:()=>fu,getTaskStatus:()=>hu,getTemplate:()=>fd,getTicket:()=>Su,getToolInfo:()=>Gg,getTranscriptFilename:()=>el,getTurnCost:()=>lm,getTurnError:()=>im,getTurnErrorDetails:()=>om,getTurnStatus:()=>am,getVersionDiff:()=>Si,getViewerSandboxScopes:()=>mf,getWorkingState:()=>rm,grantSandboxProjectAccess:()=>bf,groupMessagesIntoTurns:()=>zg,hasDiffs:()=>fm,hasLocalhostUrls:()=>Td,heartbeatGapEvent:()=>zc,humanizeToolName:()=>Ct,installTemplate:()=>yd,invalidateTokenCache:()=>Ae,inviteAccountMember:()=>Tr,inviteProjectMember:()=>us,inviteRepoCollaborator:()=>Fr,isAdminBypassEnabled:()=>Bp,isAgentPart:()=>Ig,isAppRouteUrl:()=>Kc,isAttachment:()=>il,isBillingError:()=>Pc,isCompactionPart:()=>jg,isConfigured:()=>Ye,isDestructivePhase:()=>jf,isExternalUrl:()=>Ud,isFilePart:()=>sl,isInstanceDetailPath:()=>Gm,isInstanceScopedAppPath:()=>Pl,isInviteSent:()=>Zp,isLastUserMessage:()=>nm,isManagedGithubProject:()=>Hp,isOpenCodeConfigInvalidError:()=>Wm,isPatchPart:()=>Eg,isPreviewUrl:()=>$d,isProxiableLocalhostUrl:()=>Hc,isReasoningPart:()=>Tt,isRuntimeReady:()=>hd,isSessionFresh:()=>Ui,isSessionStartError:()=>nd,isShellMode:()=>pl,isSnapshotPart:()=>Ag,isSubdomainPreviewUrl:()=>Qf,isTextPart:()=>se,isToolPart:()=>X,isToolPartHidden:()=>Mg,isWebProxyUrl:()=>Md,kortixPty:()=>vc,leaveAccount:()=>Ur,linkGitHubInstallation:()=>ns,linkRepository:()=>Jr,listAccountAudit:()=>_a,listAccountAuditWebhooks:()=>va,listAccountInvites:()=>Ir,listAccountMembers:()=>Rr,listAccountTokens:()=>ha,listAccounts:()=>_r,listBackups:()=>Sf,listBillingTransactions:()=>lo,listChangeRequests:()=>vi,listChannelBindings:()=>ud,listColumns:()=>$u,listConnectionProfiles:()=>Es,listConnectors:()=>Fs,listCredentialEvents:()=>ap,listCredentials:()=>op,listDiscoverIntegrations:()=>Zs,listEnv:()=>sr,listFeaturedMarketplaces:()=>$a,listFields:()=>Du,listGatewayLogs:()=>zo,listGitHubInstallations:()=>Qr,listGitHubRepositories:()=>Zr,listGitHubRepositoryBranches:()=>es,listKortixProjectSessions:()=>Ju,listKortixProjects:()=>Vu,listKortixPty:()=>ar,listLinkableGitHubInstallations:()=>Yr,listMarketplaceCatalogItems:()=>Aa,listMarketplaceSources:()=>Ma,listMarketplaces:()=>Ea,listMilestoneEvents:()=>ep,listMilestones:()=>Yu,listPendingApprovals:()=>Ps,listPendingProjectInvites:()=>ps,listPipedreamApps:()=>Ys,listProjectAccess:()=>as,listProjectAccessRequests:()=>ss,listProjectAgents:()=>Fu,listProjectBranches:()=>xi,listProjectCliTokens:()=>ka,listProjectCommits:()=>ki,listProjectFiles:()=>fi,listProjectGroupGrants:()=>ms,listProjectPolicies:()=>si,listProjectResourceGrants:()=>bs,listProjectSandboxTemplates:()=>oi,listProjectSandboxes:()=>mi,listProjectSecrets:()=>Ss,listProjectSessions:()=>we,listProjectSnapshots:()=>ai,listProjectTriggers:()=>zi,listProjects:()=>le,listProjectsForAccount:()=>Lr,listReviewItems:()=>la,listSandboxMembers:()=>lf,listSandboxProjectMembers:()=>hf,listSandboxShares:()=>ma,listSandboxes:()=>nf,listServiceTemplates:()=>mp,listServices:()=>gp,listSessionPublicShares:()=>Fi,listSessionsNeedingInput:()=>ws,listTaskEvents:()=>yu,listTasks:()=>mu,listTemplates:()=>Uu,listTicketEvents:()=>vu,listTickets:()=>_u,loadHttpSessionHistory:()=>ql,markInstanceError:()=>Ff,markSessionFresh:()=>Mi,mergeChangeRequest:()=>ji,narrowChatEvent:()=>Jc,normalizeAppPathname:()=>Vm,normalizeExternalInput:()=>Od,normalizeToolName:()=>Ke,openChangeRequest:()=>Ii,openEventStream:()=>St,parseBillingError:()=>be,parseFlagOverride:()=>Lm,parseLocalhostUrl:()=>Fe,parseOpenCodeErrorPayload:()=>Cl,parseSubdomainUrl:()=>Ga,parseWebProxyUrl:()=>Dd,patchKortixProject:()=>Qu,pipedreamConnect:()=>zs,pipedreamConnectConnectionProfile:()=>Os,pipedreamFinalize:()=>ri,pipedreamFinalizeConnectionProfile:()=>Ls,platformConfig:()=>I,pollProjectProviderOAuth:()=>Rs,previewGatewayRoute:()=>Wo,previewMeetVoice:()=>Bo,projectSessionStartSeed:()=>td,provisionProject:()=>Hr,provisionProjectWithToken:()=>Qp,proxyLocalhostUrl:()=>Fa,proxyUrlToInternal:()=>Ed,purchaseCredits:()=>_o,reactivateSandbox:()=>cf,reactivateSubscription:()=>xo,readProjectFile:()=>hi,rebuildProjectSnapshot:()=>ci,reconcileConnectionProfile:()=>$s,reconcileMemberConnectionProfile:()=>qs,reconcileServices:()=>hp,registerService:()=>bp,rejectProjectAccessRequest:()=>os,relativizePath:()=>Bg,removeAccountAuditWebhook:()=>Ta,removeAccountMember:()=>Dr,removeKortixPty:()=>ur,removeMarketplaceSource:()=>Oa,removeSandboxMember:()=>pf,renameSandbox:()=>tf,reopenChangeRequest:()=>Ei,reopenMilestone:()=>sp,replaceColumns:()=>qu,replaceFields:()=>Mu,replaceTemplates:()=>Ou,requestChangesOnChangeRequest:()=>$i,requestProjectAccess:()=>Yp,requestProjectConnector:()=>ja,requestProjectSecret:()=>Ia,resendAccountInvite:()=>Ar,resendPendingProjectInvite:()=>gs,resetClient:()=>kp,resetGatewayRoutingPolicy:()=>Vo,resetPublicClient:()=>_p,resetSandboxUpdateStatus:()=>Df,resolveApproval:()=>_s,restartProjectSession:()=>Ue,restartSandbox:()=>sf,restoreBackup:()=>Cf,revealCredential:()=>lp,revokeAccountToken:()=>xa,revokeConnectionProfile:()=>Ms,revokeGatewayKey:()=>oa,revokePendingProjectInvite:()=>ds,revokeProjectAccess:()=>ls,revokeProjectCliToken:()=>wa,revokeSandboxInvite:()=>kf,revokeSandboxProjectAccess:()=>xf,revokeSandboxShare:()=>ya,revokeSessionPublicShare:()=>Bi,rewriteLocalhostUrl:()=>Se,runGatewayPlayground:()=>aa,saveGitHubInstallation:()=>ts,scheduleDowngrade:()=>ko,searchProjectFiles:()=>yi,serviceAction:()=>yp,sessionStartKey:()=>sd,setActiveInstanceCookie:()=>Nm,setAdminBypass:()=>Gp,setAgentScope:()=>so,setBootstrapAuthToken:()=>uu,setCachedAuthToken:()=>lu,setConnectorCredential:()=>ni,setConnectorCredentialMode:()=>Bs,setConnectorName:()=>Ws,setConnectorPolicies:()=>Hs,setConnectorSensitive:()=>Ks,setEnv:()=>ir,setGatewayBudget:()=>na,setGatewayRoutingPolicy:()=>Ho,setGitHubAppFromExisting:()=>Vf,setGitHubAppPat:()=>Wf,setMeetBotName:()=>Go,setMeetVoice:()=>Fo,setModelDefault:()=>no,setPersonalProjectSecret:()=>js,setProjectOnboardingComplete:()=>zr,setProjectPolicies:()=>ii,setProjectSessionSharing:()=>Oi,setProjectTriggersActivation:()=>Yi,setupSSH:()=>Tf,shouldHideResponsePart:()=>sm,shouldShowToolPart:()=>ol,sortSessions:()=>em,speakInMeeting:()=>Ko,splitUserParts:()=>qg,startGitHubAppManifest:()=>Hf,startProjectProviderOAuth:()=>Cs,startProjectSession:()=>ue,startTask:()=>ku,stopProjectSession:()=>Oe,stopSandbox:()=>of,stripAnsi:()=>Wg,stripInstancePrefix:()=>Bm,stripTrailingSlashes:()=>oe,submitReviewItem:()=>pa,supabaseClient:()=>Kp,syncConnectors:()=>Gs,systemReload:()=>vp,toInstanceAwarePath:()=>Hm,toInternalUrl:()=>Ad,toolInfo:()=>Rt,toolViewModel:()=>xl,transcribeAudio:()=>ca,triggerSandboxUpdate:()=>qf,triggersRequest:()=>Sc,turnHasSteps:()=>Qg,unassignTicket:()=>ju,unwrapError:()=>W,updateAccountAuditWebhook:()=>Ra,updateAccountMemberRole:()=>Mr,updateAccountName:()=>Cr,updateAgentConfig:()=>od,updateChannelBinding:()=>pd,updateConnectionProfileCredential:()=>Ds,updateEmailPolicy:()=>Oo,updateExperimentalFeature:()=>Vr,updateKortixPty:()=>lr,updateMilestone:()=>np,updateProject:()=>ht,updateProjectAccess:()=>cs,updateProjectAgent:()=>Bu,updateProjectDefaultAgent:()=>io,updateProjectGroupGrant:()=>ys,updateProjectSandboxProvider:()=>Wr,updateProjectSession:()=>Vi,updateProjectTrigger:()=>Xi,updateSandboxMemberRole:()=>df,updateSandboxMemberScope:()=>yf,updateSandboxMemberSpendCap:()=>gf,updateSandboxTemplate:()=>pi,updateTask:()=>xu,updateTemplateWarmPool:()=>Jp,updateTicket:()=>Ru,updateTicketStatus:()=>Tu,uploadSlackChannelFile:()=>Eo,upsertCredential:()=>cp,upsertProjectGitCredential:()=>Ts,upsertProjectSecret:()=>vs,validateProjectManifest:()=>Gr,validateToken:()=>Or,verifyGatewayProvider:()=>dd});var Kl={backendUrl:"",getToken:async()=>null},qt=null,Xe=null;function Nl(e){Xe=e}function Hl(){return Xe}function Qe(e,t){t?.global!==!1&&(qt=e)}function I(){return Xe?.()??qt??Kl}function Ye(){return qt!==null||Xe?.()!==void 0}var rc=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:d,sseSleepFn:g,url:h,...m})=>{let k,w=g??(i=>new Promise(P=>setTimeout(P,i)));return{stream:async function*(){let i=c??3e3,P=0,_=m.signal??new AbortController().signal;for(;!_.aborted;){P++;let D=m.headers instanceof Headers?m.headers:new Headers(m.headers);k!==void 0&&D.set("Last-Event-ID",k);try{let A={redirect:"follow",...m,body:m.serializedBody,headers:D,signal:_},S=new Request(h,A);e&&(S=await e(h,A));let j=await(m.fetch??globalThis.fetch)(S);if(!j.ok)throw new Error(`SSE failed: ${j.status} ${j.statusText}`);if(!j.body)throw new Error("No body in SSE response");let f=j.body.pipeThrough(new TextDecoderStream).getReader(),v="",L=()=>{try{f.cancel()}catch{}};_.addEventListener("abort",L);try{for(;;){let{done:N,value:U}=await f.read();if(N)break;v+=U,v=v.replace(/\r\n/g,`
2
2
  `).replace(/\r/g,`
3
- `);let O=S.split(`
3
+ `);let G=v.split(`
4
4
 
5
- `);S=O.pop()??"";for(let ce of O){let We=ce.split(`
6
- `),Se=[],ve;for(let E of We)if(E.startsWith("data:"))Se.push(E.replace(/^data:\s*/,""));else if(E.startsWith("event:"))ve=E.replace(/^event:\s*/,"");else if(E.startsWith("id:"))x=E.replace(/^id:\s*/,"");else if(E.startsWith("retry:")){let B=Number.parseInt(E.replace(/^retry:\s*/,""),10);Number.isNaN(B)||(i=B)}let H,F=!1;if(Se.length){let E=Se.join(`
7
- `);try{H=JSON.parse(E),F=!0}catch{H=E}}F&&(s&&await s(H),n&&(H=await n(H))),r?.({data:H,event:ve,id:x,retry:i}),Se.length&&(yield H)}}}finally{_.removeEventListener("abort",U),f.releaseLock()}break}catch(j){if(t?.(j),u!==void 0&&P>=u)break;let v=Math.min(i*2**(P-1),d??3e4);await w(v)}}}()}};var Ol=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ll=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Fl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ze=({allowReserved:e,explode:t,name:r,style:n,value:s})=>{if(!t){let d=(e?s:s.map(g=>encodeURIComponent(g))).join(Ll(n));switch(n){case"label":return`.${d}`;case"matrix":return`;${r}=${d}`;case"simple":return d;default:return`${r}=${d}`}}let c=Ol(n),u=s.map(d=>n==="label"||n==="simple"?e?d:encodeURIComponent(d):le({allowReserved:e,name:r,value:d})).join(c);return n==="label"||n==="matrix"?c+u:u},le=({allowReserved:e,name:t,value:r})=>{if(r==null)return"";if(typeof r=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?r:encodeURIComponent(r)}`},et=({allowReserved:e,explode:t,name:r,style:n,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${r}=${s.toISOString()}`;if(n!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,x])=>{g=[...g,m,e?x:encodeURIComponent(x)]});let h=g.join(",");switch(n){case"form":return`${r}=${h}`;case"label":return`.${h}`;case"matrix":return`;${r}=${h}`;default:return h}}let u=Fl(n),d=Object.entries(s).map(([g,h])=>le({allowReserved:e,name:n==="deepObject"?`${r}[${g}]`:g,value:h})).join(u);return n==="label"||n==="matrix"?u+d:d};var Gl=/\{[^{}]+\}/g,Bl=({path:e,url:t})=>{let r=t,n=t.match(Gl);if(n)for(let s of n){let c=!1,u=s.substring(1,s.length-1),d="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),d="label"):u.startsWith(";")&&(u=u.substring(1),d="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){r=r.replace(s,Ze({explode:c,name:u,style:d,value:g}));continue}if(typeof g=="object"){r=r.replace(s,et({explode:c,name:u,style:d,value:g,valueOnly:!0}));continue}if(d==="matrix"){r=r.replace(s,`;${le({name:u,value:g})}`);continue}let h=encodeURIComponent(d==="label"?`.${g}`:g);r=r.replace(s,h)}return r},Za=({baseUrl:e,path:t,query:r,querySerializer:n,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=Bl({path:t,url:u}));let d=r?n(r):"";return d.startsWith("?")&&(d=d.substring(1)),d&&(u+=`?${d}`),u};function Ut(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 ec=async(e,t)=>{let r=typeof t=="function"?await t(e):t;if(r)return e.scheme==="bearer"?`Bearer ${r}`:e.scheme==="basic"?`Basic ${btoa(r)}`:r};var Ot={bodySerializer:e=>JSON.stringify(e,(t,r)=>typeof r=="bigint"?r.toString():r)};var tc=({parameters:e={},...t}={})=>n=>{let s=[];if(n&&typeof n=="object")for(let c in n){let u=n[c];if(u==null)continue;let d=e[c]||t;if(Array.isArray(u)){let g=Ze({allowReserved:d.allowReserved,explode:!0,name:c,style:"form",value:u,...d.array});g&&s.push(g)}else if(typeof u=="object"){let g=et({allowReserved:d.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...d.object});g&&s.push(g)}else{let g=le({allowReserved:d.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},rc=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(r=>t.startsWith(r)))return"blob";if(t.startsWith("text/"))return"text"}},Kl=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,nc=async({security:e,...t})=>{for(let r of e){if(Kl(t,r.name))continue;let n=await ec(r,t.auth);if(!n)continue;let s=r.name??"Authorization";switch(r.in){case"query":t.query||(t.query={}),t.query[s]=n;break;case"cookie":t.headers.append("Cookie",`${s}=${n}`);break;default:t.headers.set(s,n);break}}},Lt=e=>Za({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:tc(e.querySerializer),url:e.url}),Ft=(e,t)=>{let r={...e,...t};return r.baseUrl?.endsWith("/")&&(r.baseUrl=r.baseUrl.substring(0,r.baseUrl.length-1)),r.headers=tt(e.headers,t.headers),r},Nl=e=>{let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t},tt=(...e)=>{let t=new Headers;for(let r of e){if(!r)continue;let n=r instanceof Headers?Nl(r):Object.entries(r);for(let[s,c]of n)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},Re=class{fns=[];clear(){this.fns=[]}eject(t){let r=this.getInterceptorIndex(t);this.fns[r]&&(this.fns[r]=null)}exists(t){let r=this.getInterceptorIndex(t);return!!this.fns[r]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,r){let n=this.getInterceptorIndex(t);return this.fns[n]?(this.fns[n]=r,t):!1}use(t){return this.fns.push(t),this.fns.length-1}},sc=()=>({error:new Re,request:new Re,response:new Re}),Hl=tc({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Vl={"Content-Type":"application/json"},Te=(e={})=>({...Ot,headers:Vl,parseAs:"auto",querySerializer:Hl,...e});var Ie=(e={})=>{let t=Ft(Te(),e),r=()=>({...t}),n=h=>(t=Ft(t,h),r()),s=sc(),c=async h=>{let m={...t,...h,fetch:h.fetch??t.fetch??globalThis.fetch,headers:tt(t.headers,h.headers),serializedBody:void 0};m.security&&await nc({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let x=Lt(m);return{opts:m,url:x}},u=async h=>{let{opts:m,url:x}=await c(h),w={redirect:"follow",...m,body:Ut(m)},k=new Request(x,w);for(let I of s.request.fns)I&&(k=await I(k,m));let l=m.fetch,i;try{i=await l(k)}catch(I){let A=I;for(let f of s.error.fns)f&&(A=await f(I,void 0,k,m));if(A=A||{},m.throwOnError)throw A;return m.responseStyle==="data"?void 0:{error:A,request:k,response:void 0}}for(let I of s.response.fns)I&&(i=await I(i,k,m));let P={request:k,response:i};if(i.ok){let I=(m.parseAs==="auto"?rc(i.headers.get("Content-Type")):m.parseAs)??"json";if(i.status===204||i.headers.get("Content-Length")==="0"){let f;switch(I){case"arrayBuffer":case"blob":case"text":f=await i[I]();break;case"formData":f=new FormData;break;case"stream":f=i.body;break;default:f={};break}return m.responseStyle==="data"?f:{data:f,...P}}let A;switch(I){case"arrayBuffer":case"blob":case"formData":case"text":A=await i[I]();break;case"json":{let f=await i.text();A=f?JSON.parse(f):{};break}case"stream":return m.responseStyle==="data"?i.body:{data:i.body,...P}}return I==="json"&&(m.responseValidator&&await m.responseValidator(A),m.responseTransformer&&(A=await m.responseTransformer(A))),m.responseStyle==="data"?A:{data:A,...P}}let _=await i.text(),D;try{D=JSON.parse(_)}catch{}let j=D??_,v=j;for(let I of s.error.fns)I&&(v=await I(j,i,k,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...P}},d=h=>m=>u({...m,method:h}),g=h=>async m=>{let{opts:x,url:w}=await c(m);return Ya({...x,body:x.body,headers:x.headers,method:h,onRequest:async(k,l)=>{let i=new Request(k,l);for(let P of s.request.fns)P&&(i=await P(i,x));return i},serializedBody:Ut(x),url:w})};return{buildUrl:Lt,connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),getConfig:r,head:d("HEAD"),interceptors:s,options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),request:u,setConfig:n,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:d("TRACE")}};var Wl={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},zl=Object.entries(Wl),ic=(e,t)=>{t||(t=new Map);for(let r of e)"in"in r?r.key&&t.set(r.key,{in:r.in,map:r.map}):"key"in r?t.set(r.key,{map:r.map}):r.args&&ic(r.args,t);return t},Jl=e=>{for(let[t,r]of Object.entries(e))r&&typeof r=="object"&&!Object.keys(r).length&&delete e[t]},p=(e,t)=>{let r={body:{},headers:{},path:{},query:{}},n=ic(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let d=n.get(s.key),g=d.map||s.key;d.in&&(r[d.in][g]=u)}else r.body=u;else for(let[d,g]of Object.entries(u??{})){let h=n.get(d);if(h)if(h.in){let m=h.map||d;r[h.in][m]=g}else r[h.map]=g;else{let m=zl.find(([x])=>d.startsWith(x));if(m){let[x,w]=m;r[w][d.slice(x.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[x,w]of Object.entries(s.allowExtra))if(w){r[x][d]=g;break}}}}return Jl(r),r};var oc=Ie(Te({baseUrl:"http://localhost:4096"}));var y=class{client;constructor(t){this.client=t?.client??oc}},Gt=class{defaultKey="default";instances=new Map;get(t){let r=this.instances.get(t??this.defaultKey);if(!r)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return r}set(t,r){this.instances.set(r??this.defaultKey,t)}},Bt=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"}]}]);return(r?.client??this.client).delete({url:"/auth/{providerID}",...r,...n})}set(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(r?.client??this.client).put({url:"/auth/{providerID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Kt=class extends y{log(t,r){let n=p([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(r?.client??this.client).post({url:"/log",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}agents(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/agent",...r,...n})}skills(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/skill",...r,...n})}},Nt=class extends y{moveSession(t,r){let n=p([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(r?.client??this.client).post({url:"/experimental/control-plane/move-session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Ht=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/capabilities",...r,...n})}},Vt=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/console",...r,...n})}listOrgs(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/console/orgs",...r,...n})}switchOrg(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(r?.client??this.client).post({url:"/experimental/console/switch",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Wt=class extends y{list(t,r){let n=p([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(r?.client??this.client).get({url:"/experimental/session",...r,...n})}background(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...r,...n})}},zt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/resource",...r,...n})}},Jt=class extends y{generateName(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(r?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Xt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/workspace/adapter",...r,...n})}},Qt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/workspace",...r,...n})}create(t,r){let n=p([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(r?.client??this.client).post({url:"/experimental/workspace",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}syncList(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/experimental/workspace/sync-list",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/workspace/status",...r,...n})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/experimental/workspace/{id}",...r,...n})}warp(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(r?.client??this.client).post({url:"/experimental/workspace/warp",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_adapter;get adapter(){return this._adapter??=new Xt({client:this.client})}},Yt=class extends y{_controlPlane;get controlPlane(){return this._controlPlane??=new Nt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Ht({client:this.client})}_console;get console(){return this._console??=new Vt({client:this.client})}_session;get session(){return this._session??=new Wt({client:this.client})}_resource;get resource(){return this._resource??=new zt({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Jt({client:this.client})}_workspace;get workspace(){return this._workspace??=new Qt({client:this.client})}},Zt=class extends y{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,r){let n=p([t],[{args:[{key:"config",map:"body"}]}]);return(r?.client??this.client).patch({url:"/global/config",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},er=class extends y{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,r){let n=p([t],[{args:[{in:"body",key:"target"}]}]);return(r?.client??this.client).post({url:"/global/upgrade",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_config;get config(){return this._config??=new Zt({client:this.client})}},tr=class extends y{subscribe(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).sse.get({url:"/event",...r,...n})}},rr=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/config",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(r?.client??this.client).patch({url:"/config",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}providers(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/config/providers",...r,...n})}},nr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(r?.client??this.client).get({url:"/experimental/tool",...r,...n})}ids(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/tool/ids",...r,...n})}},sr=class extends y{remove(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(r?.client??this.client).delete({url:"/experimental/worktree",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/worktree",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(r?.client??this.client).post({url:"/experimental/worktree",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}reset(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(r?.client??this.client).post({url:"/experimental/worktree/reset",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},ir=class extends y{text(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(r?.client??this.client).get({url:"/find",...r,...n})}files(t,r){let n=p([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(r?.client??this.client).get({url:"/find/file",...r,...n})}symbols(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(r?.client??this.client).get({url:"/find/symbol",...r,...n})}},or=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(r?.client??this.client).get({url:"/file",...r,...n})}read(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(r?.client??this.client).get({url:"/file/content",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/file/status",...r,...n})}},ar=class extends y{dispose(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/instance/dispose",...r,...n})}},cr=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/path",...r,...n})}},lr=class extends y{raw(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/vcs/diff/raw",...r,...n})}},ur=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/vcs",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/vcs/status",...r,...n})}diff(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(r?.client??this.client).get({url:"/vcs/diff",...r,...n})}apply(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(r?.client??this.client).post({url:"/vcs/apply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_diff;get diff2(){return this._diff??=new lr({client:this.client})}},pr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/command",...r,...n})}},dr=class extends y{status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/lsp",...r,...n})}},gr=class extends y{status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/formatter",...r,...n})}},mr=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/mcp/{name}/auth",...r,...n})}start(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/auth",...r,...n})}callback(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/auth/callback",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}authenticate(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...r,...n})}},fr=class extends y{status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/mcp",...r,...n})}add(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(r?.client??this.client).post({url:"/mcp",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connect(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/connect",...r,...n})}disconnect(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/disconnect",...r,...n})}_auth;get auth(){return this._auth??=new mr({client:this.client})}},yr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/project",...r,...n})}current(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/project/current",...r,...n})}initGit(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/project/git/init",...r,...n})}update(t,r){let n=p([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(r?.client??this.client).patch({url:"/project/{projectID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}directories(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/project/{projectID}/directories",...r,...n})}},hr=class extends y{shells(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/pty/shells",...r,...n})}list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/pty",...r,...n})}create(t,r){let n=p([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(r?.client??this.client).post({url:"/pty",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/pty/{ptyID}",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/pty/{ptyID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(r?.client??this.client).put({url:"/pty/{ptyID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connectToken(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...r,...n})}connect(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(r?.client??this.client).get({url:"/pty/{ptyID}/connect",...r,...n})}},br=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/question",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(r?.client??this.client).post({url:"/question/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}reject(t,r){let n=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/question/{requestID}/reject",...r,...n})}},xr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/permission",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(r?.client??this.client).post({url:"/permission/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}respond(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},kr=class extends y{authorize(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(r?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}callback(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(r?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Pr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/provider",...r,...n})}auth(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/provider/auth",...r,...n})}_oauth;get oauth(){return this._oauth??=new kr({client:this.client})}},wr=class extends y{list(t,r){let n=p([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(r?.client??this.client).get({url:"/session",...r,...n})}create(t,r){let n=p([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(r?.client??this.client).post({url:"/session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/status",...r,...n})}delete(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}",...r,...n})}update(t,r){let n=p([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(r?.client??this.client).patch({url:"/session/{sessionID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}children(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/children",...r,...n})}todo(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/todo",...r,...n})}diff(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/diff",...r,...n})}messages(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/message",...r,...n})}prompt(t,r){let n=p([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(r?.client??this.client).post({url:"/session/{sessionID}/message",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}deleteMessage(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...r,...n})}message(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...r,...n})}fork(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/fork",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}abort(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/abort",...r,...n})}init(t,r){let n=p([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(r?.client??this.client).post({url:"/session/{sessionID}/init",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}unshare(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}/share",...r,...n})}share(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/share",...r,...n})}summarize(t,r){let n=p([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(r?.client??this.client).post({url:"/session/{sessionID}/summarize",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}promptAsync(t,r){let n=p([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(r?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}command(t,r){let n=p([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(r?.client??this.client).post({url:"/session/{sessionID}/command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}shell(t,r){let n=p([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(r?.client??this.client).post({url:"/session/{sessionID}/shell",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}revert(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/revert",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}unrevert(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/unrevert",...r,...n})}},_r=class extends y{delete(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...r,...n})}update(t,r){let n=p([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(r?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Sr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(r?.client??this.client).post({url:"/sync/history",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},vr=class extends y{start(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/sync/start",...r,...n})}replay(t,r){let n=p([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(r?.client??this.client).post({url:"/sync/replay",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}steal(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/sync/steal",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_history;get history(){return this._history??=new Sr({client:this.client})}},Cr=class extends y{next(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/tui/control/next",...r,...n})}response(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(r?.client??this.client).post({url:"/tui/control/response",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Rr=class extends y{appendPrompt(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(r?.client??this.client).post({url:"/tui/append-prompt",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}openHelp(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-help",...r,...n})}openSessions(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-sessions",...r,...n})}openThemes(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-themes",...r,...n})}openModels(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-models",...r,...n})}submitPrompt(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/submit-prompt",...r,...n})}clearPrompt(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/clear-prompt",...r,...n})}executeCommand(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(r?.client??this.client).post({url:"/tui/execute-command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}showToast(t,r){let n=p([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(r?.client??this.client).post({url:"/tui/show-toast",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}publish(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(r?.client??this.client).post({url:"/tui/publish",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}selectSession(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/tui/select-session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_control;get control(){return this._control??=new Cr({client:this.client})}},Tr=class extends y{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Ir=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/location",...r,...n})}},Ar=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/agent",...r,...n})}},jr=class extends y{stage(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}clear(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...r,...n})}commit(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...r,...n})}},Er=class extends y{list(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/permission",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},qr=class extends y{list(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/question",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}reject(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...r,...n})}},$r=class extends y{list(t,r){let n=p([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(r?.client??this.client).get({url:"/api/session",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(r?.client??this.client).post({url:"/api/session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}get(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}",...r,...n})}switchAgent(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/agent",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}switchModel(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/model",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}prompt(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}compact(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/compact",...r,...n})}wait(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/wait",...r,...n})}context(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/context",...r,...n})}messages(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/message",...r,...n})}_revert;get revert(){return this._revert??=new jr({client:this.client})}_permission;get permission(){return this._permission??=new Er({client:this.client})}_question;get question(){return this._question??=new qr({client:this.client})}},Dr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/model",...r,...n})}},Mr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/provider",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/provider/{providerID}",...r,...n})}},Ur=class extends y{key(t,r){let n=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(r?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}oauth(t,r){let n=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(r?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Or=class extends y{cancel(t,r){let n=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...r,...n})}complete(t,r){let n=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(r?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Lr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/integration",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/integration/{integrationID}",...r,...n})}_connect;get connect(){return this._connect??=new Ur({client:this.client})}_attempt;get attempt(){return this._attempt??=new Or({client:this.client})}},Fr=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).delete({url:"/api/credential/{credentialID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(r?.client??this.client).patch({url:"/api/credential/{credentialID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Gr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/permission/request",...r,...n})}},Br=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"projectID"}]}]);return(r?.client??this.client).get({url:"/api/permission/saved",...r,...n})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"id"}]}]);return(r?.client??this.client).delete({url:"/api/permission/saved/{id}",...r,...n})}},Kr=class extends y{_request;get request(){return this._request??=new Gr({client:this.client})}_saved;get saved(){return this._saved??=new Br({client:this.client})}},Nr=class extends y{read(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/fs/read/*",...r,...n})}list(t,r){let n=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(r?.client??this.client).get({url:"/api/fs/list",...r,...n})}find(t,r){let n=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(r?.client??this.client).get({url:"/api/fs/find",...r,...n})}},Hr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/command",...r,...n})}},Vr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/skill",...r,...n})}},Wr=class extends y{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},zr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/pty",...r,...n})}create(t,r){let n=p([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(r?.client??this.client).post({url:"/api/pty",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).delete({url:"/api/pty/{ptyID}",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/pty/{ptyID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(r?.client??this.client).put({url:"/api/pty/{ptyID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connectToken(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...r,...n})}connect(t,r){let n=p([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(r?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...r,...n})}},Jr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/question/request",...r,...n})}},Xr=class extends y{_request;get request(){return this._request??=new Jr({client:this.client})}},Qr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/reference",...r,...n})}},Yr=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(r?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}create(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(r?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}refresh(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...r,...n})}},Zr=class extends y{_health;get health(){return this._health??=new Tr({client:this.client})}_location;get location(){return this._location??=new Ir({client:this.client})}_agent;get agent(){return this._agent??=new Ar({client:this.client})}_session;get session(){return this._session??=new $r({client:this.client})}_model;get model(){return this._model??=new Dr({client:this.client})}_provider;get provider(){return this._provider??=new Mr({client:this.client})}_integration;get integration(){return this._integration??=new Lr({client:this.client})}_credential;get credential(){return this._credential??=new Fr({client:this.client})}_permission;get permission(){return this._permission??=new Kr({client:this.client})}_fs;get fs(){return this._fs??=new Nr({client:this.client})}_command;get command(){return this._command??=new Hr({client:this.client})}_skill;get skill(){return this._skill??=new Vr({client:this.client})}_event;get event(){return this._event??=new Wr({client:this.client})}_pty;get pty(){return this._pty??=new zr({client:this.client})}_question;get question(){return this._question??=new Xr({client:this.client})}_reference;get reference(){return this._reference??=new Qr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Yr({client:this.client})}},rt=class e extends y{static __registry=new Gt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Bt({client:this.client})}_app;get app(){return this._app??=new Kt({client:this.client})}_experimental;get experimental(){return this._experimental??=new Yt({client:this.client})}_global;get global(){return this._global??=new er({client:this.client})}_event;get event(){return this._event??=new tr({client:this.client})}_config;get config(){return this._config??=new rr({client:this.client})}_tool;get tool(){return this._tool??=new nr({client:this.client})}_worktree;get worktree(){return this._worktree??=new sr({client:this.client})}_find;get find(){return this._find??=new ir({client:this.client})}_file;get file(){return this._file??=new or({client:this.client})}_instance;get instance(){return this._instance??=new ar({client:this.client})}_path;get path(){return this._path??=new cr({client:this.client})}_vcs;get vcs(){return this._vcs??=new ur({client:this.client})}_command;get command(){return this._command??=new pr({client:this.client})}_lsp;get lsp(){return this._lsp??=new dr({client:this.client})}_formatter;get formatter(){return this._formatter??=new gr({client:this.client})}_mcp;get mcp(){return this._mcp??=new fr({client:this.client})}_project;get project(){return this._project??=new yr({client:this.client})}_pty;get pty(){return this._pty??=new hr({client:this.client})}_question;get question(){return this._question??=new br({client:this.client})}_permission;get permission(){return this._permission??=new xr({client:this.client})}_provider;get provider(){return this._provider??=new Pr({client:this.client})}_session;get session(){return this._session??=new wr({client:this.client})}_part;get part(){return this._part??=new _r({client:this.client})}_sync;get sync(){return this._sync??=new vr({client:this.client})}_tui;get tui(){return this._tui??=new Rr({client:this.client})}_v2;get v2(){return this._v2??=new Zr({client:this.client})}};function cc(e,t,r,n){if(!n?.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||ac(r,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 ${ac(r,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function ac(e,t){let r=e?.method??"?",n=e?.url??"?",s=t?.status,c=t?.statusText;return`${r} ${n}${s?" \u2192 "+s:""}${c?" "+c:""}`}function Xl(e,t,r){if(e)return t&&(e===t||r&&e===r(t))?t:e}function Ql(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let r=new URL(e.url),n=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let d=Xl(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(d){for(let g of r.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])r.searchParams.has(g)||r.searchParams.set(g,d);n=!0}}if(!n)return e;let s=new Request(r,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function en(e){e?.fetch||(e={...e,fetch:n=>(n.timeout=!1,fetch(n))}),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=Ie(e);return t.interceptors.request.use(r=>Ql(r,{directory:e?.directory,workspace:e?.experimental_workspaceID})),t.interceptors.response.use(r=>{if(r.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 r}),t.interceptors.error.use(cc),new rt({client:t})}function Yl(e){return new Promise(t=>setTimeout(t,e))}async function lc(e,t,r){let n=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let d=0;d<n;d++)if(d>0&&(c&&r?.(),s>0&&await Yl(s)),u=await e(),u)return u;return u}var Zl=3e4;function eu(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function uc(e,t,r=Zl){let n=e instanceof Request?e.signal:t?.signal;if(eu(e))return n??void 0;let s=AbortSignal.timeout(r);return n?typeof AbortSignal.any=="function"?AbortSignal.any([n,s]):n:s}function tn(e,t,r){let n=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,c)=>{n.set(c,s)}),r&&!n.has("Authorization")&&n.set("Authorization",`Bearer ${r}`),n}function pc(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function nt(){return T().getToken()}async function ue(e){return lc(()=>T().getToken(),e,Ae)}function Ae(){}function tu(e){}function ru(e){}async function je(){return nt()}async function rn(e){return ue(e)}function dc(e,t,r,n){if(e instanceof Request){let s=new Request(e,{headers:r,...n?{signal:n}:{}});return fetch(s)}return fetch(e,{...t,headers:r,...n?{signal:n}:{}})}async function R(e,t,r){let{retryOnAuthError:n=!0}=r??{},s=await rn();if(!s)return pc();let c=tn(e,t,s),u=uc(e,t),d=await dc(e,t,c,u);if(d.status===401&&n&&s){Ae();let g=await rn({attempts:2,baseDelayMs:200});if(g&&g!==s){let h=tn(e,t,g);return dc(e,t,h,u)}}return d}var pe={url:null,sandboxId:null,dbSandboxId:null,version:0},nu=new Set;function gc(e,t=null,r=null){if(!(pe.url===e&&pe.sandboxId===t&&pe.dbSandboxId===r)){pe={url:e,sandboxId:t,dbSandboxId:r,version:pe.version+1};for(let n of nu)n()}}function mc(){return pe.url}function su(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Ee(){return su(T().backendUrl||"http://localhost:8008/v1")}function fc(){let e=T().sandboxId||"";return`${Ee()}/p/${e}/8000`}function iu(e){return`${Ee()}/p/${e}/8000`}function st(e){return iu(e)}function q(){let e=mc();return e||(T().billingEnabled??!1?"":fc())}var C=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,r={}){super(t),this.name="ApiError";let{name:n,stack:s,...c}=r;Object.assign(this,c),n&&(this.name=n),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)}},de=class extends C{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},re=class e extends Error{status;detail;constructor(t,r,n){super(n||r.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=r,Object.setPrototypeOf(this,e.prototype)}},ge=class e extends Error{status;detail;constructor(t=431,r,n){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(n||r?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:r?.message||s,suggestion:r?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function me(e){let t=e.response?.status||e.status;if(t!==402)return e;let r=e.response?.data||e.data||e.detail||{},n=r?.detail||r;return new re(t,{message:n?.message||e.message||"Billing error",...n})}function yc(e){return e instanceof re}function hc(e){if(!(e instanceof re))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 nn(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function sn(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function on(e){let t=sn(e),r=await R(`${t}/env`);if(!r.ok)throw new Error(await nn(r,"Failed to load secrets"));return(await r.json()).secrets??{}}async function an(e,t,r){let n=sn(e),s=await R(`${n}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:r})});if(!s.ok)throw new Error(await nn(s,"Failed to save secret"))}async function cn(e,t){let r=sn(e),n=await R(`${r}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!n.ok)throw new Error(await nn(n,"Failed to delete secret"))}var bc={list:on,set:an,delete:cn};async function xc(e,t,r){let n=e;for(;n.endsWith("/");)n=n.slice(0,-1);let s=await R(`${n}/kortix/triggers${t}`,{...r,headers:{"Content-Type":"application/json",...r?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function ne(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 it(e,t){let r=await e.json().catch(()=>({}));return r?.error||r?.message||e.statusText||t}function qe(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ne(e)}async function ln(e){let t=qe(e),r=await R(`${t}/kortix/pty`);if(!r.ok)throw new Error(await it(r,"Failed to list terminals"));return r.json()}async function un(e,t){let r=qe(e),n=await R(`${r}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!n.ok)throw new Error(await it(n,"Failed to create terminal"));return n.json()}async function pn(e,t,r){let n=qe(e),s=await R(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!s.ok)throw new Error(await it(s,"Failed to update terminal"));return s.json()}async function dn(e,t){let r=qe(e),n=await R(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!n.ok)throw new Error(await it(n,"Failed to remove terminal"))}async function gn(e,t){let r=qe(t),s=`${(()=>{try{let d=new URL(r);return d.protocol==="https:"?d.protocol="wss:":d.protocol==="http:"&&(d.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&d.protocol==="ws:"&&(d.protocol="wss:"),ne(d.toString())}catch{return r.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await je();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var kc={list:ln,create:un,update:pn,remove:dn,webSocketUrl:gn};async function b(e,t,r,n){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await R(`${s}${t}`,{...r,headers:{"Content-Type":"application/json",...r?.headers}},n),u=await c.text(),d={};try{d=u?JSON.parse(u):{}}catch{d={}}if(!c.ok)throw new Error(d?.error||d?.message||d?.details||u.slice(0,200)||`Request failed with ${c.status}`);return d}async function ou(e,t={}){let r=new URLSearchParams;t.projectId&&r.set("project_id",t.projectId),t.status&&r.set("status",t.status);let n=r.toString()?`?${r}`:"";return b(e,`/kortix/tasks${n}`)}async function au(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function cu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function lu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function uu(e,t){return b(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function pu(e,t,r){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)})}async function du(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function gu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function mu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function fu(e,t){let r=t?`?project_id=${encodeURIComponent(t)}`:"";return b(e,`/kortix/tickets${r}`)}async function yu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function hu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function bu(e,t){return b(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function xu(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)})}async function ku(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(r)})}async function Pu(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(r)})}async function wu(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(r)})}async function _u(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(r)})}async function Su(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function vu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Cu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:r})})}async function Ru(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Tu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:r})})}async function Iu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Au(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:r})})}async function ju(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Eu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function qu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(r)})}async function $u(e,t,r,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(r)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Du(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(r)}`,{method:"DELETE"})}async function Mu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(r)}/persona`)}async function Uu(e,t,r=200){return b(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${r}`)}async function Ou(e){return b(e,"/kortix/projects")}async function Lu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Fu(e,t){return b(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Gu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Bu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Ku(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Nu(e,t,r="all"){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${r}`)}async function Hu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}`)}async function Vu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}/events`)}async function Wu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(r)})}async function zu(e,t,r,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Ju(e,t,r,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}/close`,{method:"POST",body:JSON.stringify(n)})}async function Xu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}/reopen`,{method:"POST"})}async function Qu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}`,{method:"DELETE"})}async function Yu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function Zu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(r)}/events`)}async function ep(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(r)})}async function tp(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(r)}`)}async function rp(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(r)}`,{method:"DELETE"})}var np=1e4,sp={retryOnAuthError:!1};function fe(e,t,r){return b(e,t,{signal:AbortSignal.timeout(np),...r},sp)}async function ip(e,t=!1){return(await fe(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function op(e){return(await fe(e,"/kortix/services/templates")).templates??[]}async function ap(e,t){return(await fe(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function cp(e,t,r){let n=r==="delete",s=n?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${r}`;return fe(e,s,{method:n?"DELETE":"POST"})}async function lp(e,t){return fe(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function up(e,t){return fe(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var ot=new Map,at=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function X(){let e=q();if(!e)throw new at;return se(e)}function se(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=ot.get(e);if(t)return t;if(!Ye())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let r=en({baseUrl:e,fetch:R});return ot.set(e,r),r}function pp(e){ot.delete(e)}function dp(){ot.clear()}var ct=new Map;function gp(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=ct.get(e);if(t)return t;let r=en({baseUrl:e,fetch});return ct.set(e,r),r}function mp(e){ct.delete(e)}function fp(){ct.clear()}async function yp(e){let t=await e.text().catch(()=>"");try{let r=JSON.parse(t);return r?.error||r?.message||t||e.statusText||`HTTP ${e.status}`}catch{return t||e.statusText||`HTTP ${e.status}`}}async function hp(e){let t=q();if(!t)throw new C("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let r=await R(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!r.ok)throw new C(`System reload failed (${r.status}): ${await yp(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});return r.json()}function wc(e){if(e.error){let t=e.error,r=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new C(r,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function ye(e){let t=await e.text().catch(()=>""),r=null;try{r=JSON.parse(t)}catch{}return r?.error||t||e.statusText||`HTTP ${e.status}`}async function lt(e,t=q()){let r=await R(`${t}${e}`);if(!r.ok)throw new C(await ye(r),{status:r.status,response:r});return r.json()}var _c=["/workspace","/tmp","/home","/opt"],bp=_c.filter(e=>e!=="/workspace");function xp(e){return _c.some(t=>e===t||e.startsWith(`${t}/`))}function kp(e){return xp(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function De(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(bp.some(r=>t===r||t.startsWith(`${r}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Pp=De;async function mn(e,t=q()){let r=De(e)||".";return(await lt(`/file?path=${encodeURIComponent(r)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function ut(e,t=q()){let r=De(e),n=await R(`${t}/file/content?path=${encodeURIComponent(r)}`);if(!n.ok)throw new C(await ye(n),{status:n.status,response:n});return n.json()}async function wp(e,t,r=q()){let n=De(e),s=await R(`${r}/file/raw?path=${encodeURIComponent(n)}`);if(!s.ok)throw new C(await ye(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new C("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 pt(e,t=q()){try{return await wp(e,void 0,t)}catch{}let r=await ut(e,t);if(r.encoding==="base64"&&r.content){let n=Uint8Array.from(atob(r.content),s=>s.charCodeAt(0));return new Blob([n],{type:r.mimeType||"application/octet-stream"})}return new Blob([r.content??""],{type:r.mimeType||"text/plain;charset=utf-8"})}function fn(e=q()){return lt("/file/status",e)}async function yn(e,t,r=q()){let n=new URLSearchParams({query:e});return t?.type&&n.set("type",t.type),t?.limit&&n.set("limit",String(t.limit)),lt(`/find/file?${n.toString()}`,r)}async function hn(e,t=q()){return(await lt(`/find?pattern=${encodeURIComponent(e)}`,t)).map(n=>({path:typeof n.path=="string"?n.path:n.path?.text??"",lines:typeof n.lines=="string"?n.lines:n.lines?.text??"",line_number:n.line_number,absolute_offset:n.absolute_offset,submatches:(n.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var $e=[400,1200],_p=e=>e===408||e===429||e===502||e===503||e===504,Pc=e=>new Promise(t=>setTimeout(t,e));async function Sp(e){let t=await e.text().catch(()=>""),r=null;try{r=t?JSON.parse(t):null}catch{}let n=r?.error||r?.message||r?.data?.message;return typeof n=="string"&&n.trim()?n.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 Sc(e,t){let r;for(let s=0;s<=$e.length;s++){let c;try{c=await t(e())}catch(d){if(r=d,s===$e.length)break;await Pc($e[s]);continue}if(c.ok)return c.json();let u=await Sp(c);if(r=new C(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!_p(c.status)||s===$e.length)throw r;await Pc($e[s])}if(r instanceof C)throw r;let n=r instanceof Error?r.message:String(r||"request failed");throw new C(`Upload failed: ${n}`)}function dt(e,t,r,n=q()){return Sc(()=>{let s=new FormData,c=(t??"").trim();return c&&s.append("path",c.startsWith("/")?c:`/${c}`),r?s.append("file",e,r):s.append("file",e),s},s=>R(`${n}/file/upload`,{method:"POST",body:s}))}function vp(e,t,r=q()){return Sc(()=>{let n=new FormData;return n.append(e,t,e.split("/").pop()||"file"),n},async n=>{let s={},c=await je();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${r}/file/upload`,{method:"POST",body:n,headers:s})})}function bn(e,t=q()){let r=e.trim(),s=(r.startsWith("/")?r:`/${r}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return dt(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function xn(e,t,r=q()){return vp(t,await pt(e,r),r)}async function kn(e,t=q()){let r=await R(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!r.ok)throw new C(`Delete failed (${r.status}): ${await ye(r)}`,{status:r.status,response:r});return r.json()}async function Pn(e,t=q()){let r=await R(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!r.ok)throw new C(`Mkdir failed (${r.status}): ${await ye(r)}`,{status:r.status,response:r});return r.json()}async function wn(e,t,r=q()){let n=await R(`${r}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!n.ok)throw new C(`Rename failed (${n.status}): ${await ye(n)}`,{status:n.status,response:n});return n.json()}async function Cp(){return wc(await X().project.current())}async function vc(){return wc(await X().global.health())}async function Rp(){try{return(await vc()).healthy===!0}catch{return!1}}var Cc={list:mn,read:ut,readBlob:pt,status:fn,findFiles:yn,findText:hn,upload:dt,create:bn,copy:xn,remove:kn,mkdir:Pn,rename:wn,currentProject:Cp,health:vc,isReachable:Rp,toDaemonPath:De,toSandboxAbsolutePath:kp,toWorkspaceRelative:Pp};var Q=()=>T().backendUrl||"",Ip=e=>new Promise(t=>setTimeout(t,e)),Ap=new Set([502,503,504]),Rc=e=>Ap.has(e),jp=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Ep=2,_n=!1;function qp(e){_n=e}function $p(){return _n}async function ie(e,t={}){let{showErrors:r=!0,errorContext:n,timeout:s=3e4,...c}=t,u=new AbortController,d=null,g=!1,h=!1;try{d=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,h=!0,u.abort())},s);let m=await ue(),x=c.body instanceof FormData,w={};if(x||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),_n&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new de,success:!1};let k=await fetch(e,{...c,headers:w,signal:u.signal,credentials:c.credentials??"omit"});if(d&&(clearTimeout(d),d=null),!k.ok&&jp(c.method)&&Rc(k.status))for(let P=0;P<Ep;P++){try{await k.arrayBuffer()}catch{}await Ip(250*2**P);let _=new AbortController,D=setTimeout(()=>{_.abort()},s);try{k=await fetch(e,{...c,headers:w,signal:_.signal,credentials:c.credentials??"omit"})}catch{break}finally{D&&(clearTimeout(D),D=null)}if(k.ok||!Rc(k.status))break}if(!k.ok){let P=`HTTP ${k.status}: ${k.statusText}`,_=null;try{_=await k.json(),typeof _.message=="string"?P=_.message:_.error&&typeof _.error=="string"?P=_.error:typeof _.detail=="string"?P=_.detail:typeof _.detail?.message=="string"&&(P=_.detail.message)}catch{}let D=new C(P,{status:k.status,response:k,details:_||void 0,data:_,detail:_?.detail,code:_?.code||_?.error_code||_?.detail?.error_code||k.status.toString()});if(k.status===402&&(D=me(D)),k.status===403&&_?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}return k.status===431&&(D=new ge(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."})),r&&T().onError?.(D,n),{error:D,success:!1}}let l,i=k.headers.get("content-type");return i?.includes("application/json")?l=await k.json():i?.includes("text/")?l=await k.text():l=await k.blob(),{data:l,success:!0}}catch(m){d&&(clearTimeout(d),d=null);let x=m?.name==="AbortError"||m?.name==="AbortSignal"||m instanceof Error&&m.message.includes("aborted");x&&(g=!0);let w;if(x){if(!h)return{error:new C("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let k=e.replace(Q(),"")||e;w=new C(`Request timed out after ${Math.round(s/1e3)}s: ${k}`,{code:"TIMEOUT",url:e,endpoint:k,timeout:s}),r&&T().onError?.(w,n)}else m instanceof Error?(w=new C(m.message,{name:m.name||"ApiError",stack:m.stack}),r&&T().onError?.(w,n)):(w=new C(String(m)),r&&T().onError?.(w,n));return{error:w,success:!1}}}var Dp={async execute(e,t){try{let{data:r,error:n}=await e();if(n){let s=new C(n.message||"Database error",{code:n.code,details:n});return T().onError?.(s,t),{error:s,success:!1}}return{data:r,success:!0}}catch(r){let n=r instanceof Error?new C(r.message,{name:r.name||"ApiError",stack:r.stack}):new C(String(r));return T().onError?.(n,t),{error:n,success:!1}}}},o={get:(e,t)=>ie(`${Q()}${e}`,{...t,method:"GET"}),post:(e,t,r)=>ie(`${Q()}${e}`,{...r,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,r)=>ie(`${Q()}${e}`,{...r,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,r)=>ie(`${Q()}${e}`,{...r,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ie(`${Q()}${e}`,{...t,method:"DELETE"}),upload:(e,t,r)=>{let{headers:n,...s}=r||{},c={...n};return delete c["Content-Type"],ie(`${Q()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,r)=>{let{headers:n,...s}=r||{},c={...n};return delete c["Content-Type"],ie(`${Q()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Sn(e){return e.replace(/\/v1\/?$/,"")}async function he(e,t){if(!e.backendUrl||!e.accessToken)return null;let r=Sn(e.backendUrl);try{let n=await fetch(`${r}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return n.ok?await n.json():null}catch{return null}}async function vn(){return a(await o.get("/accounts"))}async function Cn(e){return a(await o.post("/accounts",e))}async function Rn(e){return a(await o.get(`/accounts/${e}`))}async function Tn(e,t){return a(await o.patch(`/accounts/${e}`,{name:t}))}async function In(e){return a(await o.get(`/accounts/${e}/members`))}async function An(e,t){return a(await o.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function jn(e){return a(await o.get(`/accounts/${e}/invites`))}async function En(e,t){return a(await o.delete(`/accounts/${e}/invites/${t}`))}async function qn(e,t){return a(await o.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function $n(e){return a(await o.get(`/account-invites/${e}`,{showErrors:!1}))}async function Dn(e){return a(await o.post(`/account-invites/${e}/accept`,{}))}async function Mn(e){return a(await o.post(`/account-invites/${e}/decline`,{}))}async function Un(e,t){return a(await o.delete(`/accounts/${e}/members/${t}`))}async function On(e,t,r){return a(await o.patch(`/accounts/${e}/members/${t}`,{role:r}))}async function Ln(e){return a(await o.post(`/accounts/${e}/leave`,{}))}async function Mp(e){return he(e,"/v1/accounts")}async function Fn(){let e=await o.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function oe(){return a(await o.get("/projects"))}async function Gn(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/projects${t}`))}async function gt(e,t){return a(await o.get(`/projects/${e}`,t))}async function Bn(e,t,r="write"){return a(await o.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:r}))}async function Kn(e,t){return a(await o.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function Nn(e){return a(await o.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Up(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function mt(e,t){return a(await o.get(`/projects/${e}/detail`,{showErrors:!1,...t}))}async function ft(e,t){return a(await o.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function yt(e,t){return a(await o.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Op(e,t){return a(await o.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function Hn(e){return a(await o.post("/projects",e))}async function Vn(e){return a(await o.post("/projects/create-repo",e))}async function Wn(e){return a(await o.post("/projects/provision",{seed_starter:!0,...e}))}async function Lp(){try{return a(await o.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function ht(e,t){return a(await o.patch(`/projects/${e}`,t))}async function zn(e,t,r){return a(await o.patch(`/projects/${e}/experimental`,{feature:t,enabled:r}))}async function Jn(e,t){return a(await o.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Fp(e,t){return a(await o.patch(`/projects/${e}/warm-pool`,t))}async function Xn(e,t){return a(await o.patch(`/projects/${e}/onboarding`,{completed:t}))}async function bt(e){return a(await o.delete(`/projects/${e}`))}async function Gp(e,t){return he(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Bp(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let r=Sn(e.backendUrl);try{let n=await fetch(`${r}/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(n.ok){let s=await n.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return n.status===403?{ok:!1,limitReached:(await n.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function Qn(e){return a(await o.post("/projects/link-repository",e,{showErrors:!1}))}async function Yn(e){return a(await o.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Zn(e){return a(await o.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function es(e,t){let r=new URLSearchParams({account_id:e});return t&&r.set("installation_id",t),a(await o.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function ts(e,t,r){let n=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:r});return a(await o.get(`/projects/github/repository-branches?${n.toString()}`,{showErrors:!1}))}async function rs(e){return a(await o.post("/projects/github/installation",e,{showErrors:!1}))}async function ns(e,t){let r=new URLSearchParams({account_id:e});return t&&r.set("installation_id",t),a(await o.delete(`/projects/github/installation?${r.toString()}`))}async function Kp(e,t){return a(await o.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function ss(e,t){return a(await o.get(`/projects/${e}/access-requests`,t))}async function is(e,t,r="member"){return a(await o.post(`/projects/${e}/access-requests/${t}/approve`,{role:r}))}async function os(e,t){return a(await o.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function as(e){return a(await o.get(`/projects/${e}/access`))}async function cs(e,t,r){return a(await o.put(`/projects/${e}/access/${t}`,{role:r}))}async function ls(e,t){return a(await o.delete(`/projects/${e}/access/${t}`))}function Np(e){return"status"in e&&e.status==="invited"}async function us(e,t,r,n){return a(await o.post(`/projects/${e}/access/invite`,{email:t,role:r,...n!==void 0?{expires_at:n}:{}}))}async function ps(e){return a(await o.get(`/projects/${e}/access/pending-invites`))}async function ds(e,t){return a(await o.delete(`/projects/${e}/access/pending-invites/${t}`))}async function gs(e,t){return a(await o.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function ms(e){return a(await o.get(`/projects/${e}/group-grants`))}async function fs(e,t,r,n){return a(await o.post(`/projects/${e}/group-grants`,n===void 0?{group_id:t,role:r}:{group_id:t,role:r,expires_at:n}))}async function ys(e,t,r,n){return a(await o.patch(`/projects/${e}/group-grants/${t}`,n===void 0?{role:r}:{role:r,expires_at:n}))}async function hs(e,t){return a(await o.delete(`/projects/${e}/group-grants/${t}`))}async function bs(e){return a(await o.get(`/projects/${e}/resource-grants`))}async function xs(e,t){return a(await o.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function ks(e,t){return a(await o.delete(`/projects/${e}/resource-grants/${t}`))}async function Ps(e,t){return a(await o.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function ws(e,t){return a(await o.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function _s(e,t,r,n="once"){return a(await o.post(`/projects/${e}/approvals/${t}`,{decision:r,scope:n}))}async function Ss(e){return a(await o.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function vs(e,t){return a(await o.post(`/projects/${e}/secrets`,t))}async function Cs(e,t,r){return a(await o.post(`/projects/${e}/oauth/${t}/start`,{sharing:r?.sharing}))}async function Rs(e,t,r){return a(await o.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:r}))}async function Ts(e,t){return a(await o.put(`/projects/${e}/git-credential`,t))}async function Is(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function As(e,t,r){return a(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,r))}async function js(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function Es(e){return a(await o.get(`/projects/${e}/connector-profiles`))}async function qs(e,t){return a(await o.post(`/projects/${e}/connector-profiles`,t))}async function $s(e,t,r){return a(await o.put(`/projects/${e}/connector-profiles/${t}/credential`,r))}async function Ds(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function Ms(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function Us(e){return a(await o.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function Os(e){return a(await o.post(`/executor/projects/${e}/connectors/sync`,{}))}async function Ls(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:r}))}async function Fs(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:r}))}async function Gs(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Bs(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:r}))}async function Ks(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function Ns(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:r}))}async function Hs(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Vs(e,t){return a(await o.post(`/executor/projects/${e}/connectors`,t))}async function Ws(e,t){return a(await o.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function zs(e,t){return a(await o.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Js(e,t,r){let n=new URLSearchParams;t&&n.set("q",t),r&&n.set("cursor",r);let s=n.toString();return a(await o.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Xs(e,t,r){let n=new URLSearchParams;t&&n.set("q",t),r&&n.set("cursor",r);let s=n.toString();return a(await o.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function Qs(e,t){let r=new URLSearchParams({id:t});return a(await o.get(`/executor/projects/${e}/discover/integrations/detail?${r.toString()}`))}async function Ys(){return a(await o.get("/executor/connect-status"))}async function Zs(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,{value:r}))}async function ei(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function ti(e){return a(await o.get(`/executor/projects/${e}/policies`))}async function ri(e,t,r){return a(await o.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:r}))}async function ni(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function si(e){return a(await o.get(`/projects/${e}/snapshots`))}async function xt(e){return a(await o.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function ii(e,t){return a(await o.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function oi(e){return a(await o.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function ai(e,t){return a(await o.post(`/projects/${e}/sandbox-templates`,t))}async function ci(e,t,r){return a(await o.patch(`/projects/${e}/sandbox-templates/${t}`,r))}async function li(e,t){return a(await o.delete(`/projects/${e}/sandbox-templates/${t}`))}async function ui(e,t){return a(await o.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function pi(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function di(e,t){let r=new URLSearchParams;t?.ref&&r.set("ref",t.ref),t?.path&&r.set("path",t.path);let n=r.toString()?`?${r.toString()}`:"";return a(await o.get(`/projects/${e}/files${n}`,{showErrors:!1}))}async function gi(e,t,r){let n=new URLSearchParams({q:t});return r?.content&&n.set("content","1"),r?.ref&&n.set("ref",r.ref),r?.limit&&n.set("limit",String(r.limit)),a(await o.get(`/projects/${e}/files/search?${n.toString()}`))}async function mi(e,t,r){let n=new URLSearchParams({path:t});return r&&n.set("ref",r),a(await o.get(`/projects/${e}/files/content?${n.toString()}`))}async function fi(e,t,r){let n=new URLSearchParams;t&&n.set("ref",t),r&&n.set("path",r);let s=n.toString()?`?${n.toString()}`:"",c=await ue(),u=`${T().backendUrl||""}/projects/${e}/files/archive${s}`,d=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!d.ok){let g=await d.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${d.status})`)}return await d.blob()}async function yi(e){return a(await o.get(`/projects/${e}/branches`))}async function hi(e,t){let r=new URLSearchParams;t?.ref&&r.set("ref",t.ref),t?.path&&r.set("path",t.path),t?.limit!=null&&r.set("limit",String(t.limit)),t?.skip!=null&&r.set("skip",String(t.skip));let n=r.toString()?`?${r.toString()}`:"";return a(await o.get(`/projects/${e}/commits${n}`))}async function bi(e,t){return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function xi(e,t,r){let n=new URLSearchParams;r?.path&&n.set("path",r.path);let s=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function ki(e,t,r){let n=new URLSearchParams({path:t});return r?.ref&&n.set("ref",r.ref),r?.limit!=null&&n.set("limit",String(r.limit)),r?.skip!=null&&n.set("skip",String(r.skip)),a(await o.get(`/projects/${e}/files/history?${n.toString()}`))}async function Pi(e,t){let r=new URLSearchParams({from:t.from,into:t.into});return a(await o.get(`/projects/${e}/version-diff?${r.toString()}`))}async function wi(e,t){let r=t?`?status=${t}`:"";return a(await o.get(`/projects/${e}/change-requests${r}`,{showErrors:!1,timeout:15e3}))}async function _i(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}`))}async function Si(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/diff`))}async function vi(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Ci(e,t){return a(await o.post(`/projects/${e}/change-requests`,t))}async function Ri(e,t,r){return a(await o.post(`/projects/${e}/change-requests/${t}/merge`,r??{},{showErrors:!1}))}async function Ti(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function Ii(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function Ai(e,t,r){return a(await o.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:r}))}async function ji(e,t,r){return a(await o.post(`/projects/${e}/sessions/${t}/commit-push`,r??{}))}var Ei=new Set;function qi(e){e&&Ei.add(e)}function $i(e){return!!e&&Ei.has(e)}function Hp(e){e&&Ei.delete(e)}async function be(e){return a(await o.get(`/projects/${e}/sessions`))}async function Di(e,t,r){return a(await o.put(`/projects/${e}/sessions/${t}/sharing`,r))}async function Mi(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/previews`))}async function Ui(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Oi(e,t,r){return a(await o.post(`/projects/${e}/sessions/${t}/public-shares`,r))}async function Li(e,t,r){return a(await o.delete(`/projects/${e}/sessions/${t}/public-shares/${r}`))}async function xe(e,t){let r=a(await o.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||qi(r?.session_id),r}async function Fi(e,t,r){return a(await o.get(`/projects/${e}/sessions/${t}`,{showErrors:r?.showErrors}))}async function Gi(e,t,r,n){let s=r?`?limit=${r}`:"";return a(await o.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:n?.showErrors}))}async function Bi(e,t,r){let n=new URLSearchParams;r?.limit!=null&&n.set("limit",String(r.limit)),r?.chars!=null&&n.set("chars",String(r.chars));let s=n.toString();return a(await o.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Ki(e,t,r){return a(await o.patch(`/projects/${e}/sessions/${t}`,r))}async function Ni(e,t){return a(await o.delete(`/projects/${e}/sessions/${t}`))}async function Me(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function Ue(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function Hi(e){return a(await o.get(`/projects/${e}/triggers`))}async function Vi(e,t){return a(await o.post(`/projects/${e}/triggers`,t))}async function Wi(e,t,r){return a(await o.patch(`/projects/${e}/triggers/${t}`,r))}async function zi(e,t){return a(await o.delete(`/projects/${e}/triggers/${t}`))}async function Ji(e,t){return a(await o.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Xi(e,t){return a(await o.post(`/projects/${e}/triggers/${t}/fire`,{}))}var Y=new Map;function Qi(e,t){return`${e}::${t}`}function Tc(e,t){Y.delete(e),Y.set(e,t)}function Ic(e,t){let r=Qi(e,t),n=Y.get(r);return n&&Tc(r,n),n}function Ac(e,t,r){let n=Qi(e,t);if(!Y.has(n)&&Y.size>=512){let s=Y.keys().next().value;s!==void 0&&Y.delete(s)}Tc(n,r)}function jc(e,t){Y.delete(Qi(e,t))}var kt=class extends Error{status;code;terminal;constructor(t,r){super(t),this.name="SessionStartError",this.status=r.status,this.code=r.code,this.terminal=r.terminal}};function Vp(e){return e instanceof Error&&e.name==="SessionStartError"}function Wp(e){let t=e,r=t?.status,n=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return r&&r>=400&&r<500&&r!==408&&r!==429?new kt(s,{status:r,code:n,terminal:!0}):null}async function ke(e,t,r){let n=r&&r>0?`?wait_ms=${Math.floor(r)}`:"",s=await o.post(`/projects/${e}/sessions/${t}/start${n}`,{},{showErrors:!1});if(!s.success||!s.data){let d=Wp(s.error);if(d&&!(d.status===404&&$i(t)))throw d;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&Ac(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:st(u),sandboxId:u}),c}function zp(e,t){return["session-start",e,t]}async function Yi(e){return a(await o.get(`/projects/${e}/model-defaults`))}async function Zi(e,t){return a(await o.put(`/projects/${e}/model-defaults`,t))}async function eo(e,t){let r=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await o.delete(`/projects/${e}/model-defaults?${r}`))}async function to(e,t,r){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}async function Jp(e,t){return a(await o.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function Xp(e,t,r){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r))}async function ro(e,t){return a(await o.put(`/projects/${e}/default-agent`,{agent:t}))}function no(){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 so(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let r=t.toString(),n=r?`?${r}`:"",s=await o.get(`/billing/account-state${n}`,{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?no():s.data}async function io(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let r=t.toString(),n=r?`?${r}`:"",s=await o.get(`/billing/account-state/minimal${n}`,{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?no():s.data}async function oo(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 r=t.toString();return a(await o.get(`/billing/transactions${r?`?${r}`:""}`))}async function ao(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let r=t.toString();return a(await o.get(`/billing/transactions/summary${r?`?${r}`:""}`))}async function co(){return a(await o.get("/billing/credit-breakdown"))}async function lo(e){let t=e!=null?`?days=${e}`:"";return a(await o.get(`/billing/usage-history${t}`))}async function uo(){return a(await o.get("/billing/tier-configurations"))}async function Qp(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return he(e,`/v1/billing/account-state${t}`)}async function po(e){return a(await o.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function go(e,t){return a(await o.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function mo(e,t){return a(await o.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function fo(e,t){return a(await o.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function yo(e){return a(await o.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function ho(e,t,r){return a(await o.post("/billing/schedule-downgrade",{account_id:r,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function bo(e){return a(await o.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function xo(e,t){let r=new URLSearchParams({new_price_id:e});return t&&r.set("account_id",t),a(await o.get(`/billing/proration-preview?${r.toString()}`),"Failed to load proration preview")}async function ko(e){return a(await o.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function Po(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function wo(e){return a(await o.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function _o(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function So(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Yp={oauth_available:!1,install_url:null};async function vo(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Yp:t.data}async function Co(e){return a(await o.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Ro(e){let t=await o.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function To(e,t){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Io(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Ao(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Zp={provider:"agentmail",managed_available:!1};async function jo(e,t){let r=t?`?connector_slug=${encodeURIComponent(t)}`:"",n=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${r}`,{showErrors:!1});return n.success&&n.data?Ao(n.data):null}async function Eo(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Zp:t.data}async function qo(e,t){let r=a(await o.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Ao(r)}async function $o(e,t){let r=t?`?connector_slug=${encodeURIComponent(t)}`:"",n=await o.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${r}`,{showErrors:!1});if(!n.success)throw new Error(n.error?.message??"Failed to disconnect email")}async function Do(e,t,r){let n=a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:r},{showErrors:!1}),"Failed to update email policy");return Ao(n)}async function Mo(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/meet/voices`,{showErrors:!1});return t.success?t.data??null:null}async function Uo(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/voice`,{voice:t},{showErrors:!1}),"Failed to save voice")}async function Oo(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function Lo(e,t){let r=await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/voices/${encodeURIComponent(t)}/preview`,{},{showErrors:!1});return!r.success||!r.data?.b64?null:r.data.b64}async function ed(e){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function td(e,t,r){return a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,r,{showErrors:!1}),"Failed to update channel binding")}async function Fo(e,t,r,n){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/speak`,{bot_id:t,text:r,voice:n},{showErrors:!1}),"Failed to speak in meeting")}async function Go(e){return a(await o.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Bo(e,t){return a(await o.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Ko(e){return a(await o.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function No(e,t){return a(await o.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Ho(e,t){let r=new URLSearchParams;t?.limit&&r.set("limit",String(t.limit)),t?.offset&&r.set("offset",String(t.offset)),t?.ok!==void 0&&r.set("ok",String(t.ok));let n=r.toString();return a(await o.get(`/projects/${e}/gateway/logs${n?`?${n}`:""}`),"Gateway request failed")}async function Vo(e,t){return a(await o.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Wo(e,t){return a(await o.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function zo(e,t){return a(await o.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Jo(e,t){return a(await o.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Xo(e,t){return a(await o.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Qo(e,t){return a(await o.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Yo(e){return a(await o.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Zo(e,t){return a(await o.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function ea(e,t){return a(await o.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function ta(e){return a(await o.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function ra(e,t){return a(await o.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function na(e,t){return a(await o.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function sa(e,t,r,n,s){return a(await o.post(`/projects/${e}/gateway/playground`,{prompt:t,models:r,...n?{system:n}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function rd(e,t){return a(await o.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function ia(e){let t=new FormData;t.append("audio_file",e);let r=await o.upload("/transcription",t,{showErrors:!0});if(r.error)throw new Error(`Error transcribing audio: ${r.error.message} (${r.error.status})`);return r.data}async function oa(e,t){let r=new URLSearchParams;t?.segment&&r.set("segment",t.segment),t?.kind&&r.set("kind",t.kind);let n=r.toString();return a(await o.get(`/projects/${e}/review/items${n?`?${n}`:""}`,{showErrors:!1}))}async function aa(e,t){return a(await o.get(`/projects/${e}/review/items/${t}`))}async function ca(e,t){return a(await o.post(`/projects/${e}/review/items`,t))}async function la(e,t,r){return a(await o.post(`/projects/${e}/review/items/${t}/act`,r))}async function ua(e,t){return a(await o.post(`/projects/${e}/review/bulk`,t))}async function pa(e){return a(await o.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function da(e){return a(await o.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function ga(e,t){let r=await o.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!r.success)throw new Error(r.error?.message??"Failed to revoke public link")}var Pt=class extends Error{constructor(r,n){super(r);this.status=n;this.name="PublicSessionShareError"}status};function Ec(e,t=""){return`${Ee()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function qc(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),r=await t.text().catch(()=>""),n=null;try{n=r?JSON.parse(r):null}catch{}if(!t.ok){let s=(n&&typeof n=="object"&&"error"in n&&typeof n.error=="string"?n.error:null)||t.statusText||`HTTP ${t.status}`;throw new Pt(s,t.status)}return n}async function nd(e){return qc(Ec(e))}async function sd(e){return qc(Ec(e,"/messages"))}async function ma(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/accounts/tokens${t}`))}async function fa(e){let{accountId:t,expiresAt:r,projectId:n,name:s}=e;return a(await o.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...r?{expires_at:r}:{},...n?{project_id:n}:{}}))}async function ya(e,t){let r=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await o.delete(`/accounts/tokens/${e}${r}`))}async function ha(e){return a(await o.get(`/projects/${e}/cli-token`))}async function ba(e,t){return a(await o.post(`/projects/${e}/cli-token`,t??{}))}async function xa(e,t){return a(await o.delete(`/projects/${e}/cli-token/${t}`))}async function ka(e,t){let r=new URLSearchParams;t?.action&&r.set("action",t.action),t?.since&&r.set("since",t.since),t?.cursor&&r.set("cursor",t.cursor),t?.limit!=null&&r.set("limit",String(t.limit));let n=r.toString();return a(await o.get(`/accounts/${e}/audit${n?`?${n}`:""}`))}async function Pa(e,t){let r=new URLSearchParams;t?.format&&r.set("format",t.format),t?.action&&r.set("action",t.action),t?.since&&r.set("since",t.since);let n=r.toString();return a(await o.get(`/accounts/${e}/audit/export${n?`?${n}`:""}`))}async function wa(e){return a(await o.get(`/accounts/${e}/audit/webhooks`))}async function _a(e,t){return a(await o.post(`/accounts/${e}/audit/webhooks`,t))}async function Sa(e,t,r){return a(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,r))}async function va(e,t){return a(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Ca(e,t){return a(await o.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function Ra(e,t){return a(await o.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function Ta(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);let r=t.toString()?`?${t.toString()}`:"";return a(await o.get(`/marketplace/items${r}`))}async function Ia(){return a(await o.get("/marketplace/marketplaces"))}async function Aa(){return a(await o.get("/marketplace/marketplaces/featured"))}async function ja(e){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function Ea(e,t){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function qa(){return a(await o.get("/marketplace/sources"))}async function $a(e){return a(await o.post("/marketplace/sources",e),"Failed to add marketplace source")}async function Da(e){return a(await o.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function id(e){return a(await o.get(`/templates/${encodeURIComponent(e)}`))}async function od(e,t){return a(await o.post(`/templates/${encodeURIComponent(e)}/install`,t))}function ad(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 Ma(e,t){let r=(e===void 0?q():e)||null;if(!r)return{status:0,ok:!1,health:null,body:""};let n=await R(`${r}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await n.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:n.status,ok:n.ok,health:c,body:s}}var W={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var $c=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Dc=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Mc=new Set([22,4096,parseInt(W.KORTIX_MASTER,10)]);function cd(e){return Dc.test(e)}function wt(e){if(!e)return"/";let t=e,r=t.indexOf("](");r!==-1&&(t=t.slice(0,r));let n=t.toLowerCase().indexOf("%5d(");return n!==-1&&(t=t.slice(0,n)),t?t.startsWith("/")?t:`/${t}`:"/"}function ld(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var ud=new Set(["'",'"',"`","<","(","["]),pd=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function dd(e){let t=0,r=e.length;for(;t<r&&(e[t]===" "||e[t]===" ");)t++;for(;r>t&&(e[r-1]===" "||e[r-1]===" ");)r--;for(;t<r&&ud.has(e[t]);)t++;for(;r>t&&pd.has(e[r-1]);)r--;return e.slice(t,r)}function gd(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var md=/^\/proxy\/(\d{1,5})(\/.*)?$/,fd=/^\/(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 Uc(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:fd.test(t.pathname)}catch{return!1}}function Le(e){if(!e)return null;let t=dd(ld(e.trim())),r=Oa(t);if(r){let n=wt(r.path||"/");return{originalUrl:`http://localhost:${r.port}${n}`,port:r.port,path:n}}try{let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:"||n.hostname!=="localhost"&&n.hostname!=="127.0.0.1"||!n.port)return null;let s=parseInt(n.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${n.pathname||"/"}${n.search}${n.hash}`,u=parseInt(W.KORTIX_MASTER,10);if(s===u){let g=n.pathname.match(md);if(g){let h=parseInt(g[1],10);if(h>=1&&h<=65535)return s=h,c=wt(`${g[2]||"/"}${n.search}${n.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let d=wt(c);return{originalUrl:`${n.protocol}//${n.hostname}:${s}${d}`,port:s,path:d}}catch{let n=gd(e);return n&&n!==e?Le(n):null}}function yd(e){let t=[],r=/```[\s\S]*?```/g,n;for(;(n=r.exec(e))!==null;)t.push([n.index,n.index+n[0].length]);let s=/`[^`\n]+`/g;for(;(n=s.exec(e))!==null;){let c=n.index,u=c+n[0].length;t.some(([g,h])=>c>=g&&u<=h)||t.push([c,u])}return t}function hd(e,t){return t.some(([r,n])=>e>=r&&e<n)}function Oc(e){let t=[],r=new Set,n=yd(e);$c.lastIndex=0;let s;for(;(s=$c.exec(e))!==null;){let c=Le(s[0]);if(!c)continue;let{originalUrl:u,port:d,path:g}=c;d<1||d>65535||Mc.has(d)||r.has(u)||(r.add(u),t.push({originalUrl:u,port:d,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:hd(s.index,n)}))}return t}function bd(e){return Oc(e).length>0}function xd(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Pe(e,t,r){let n=wt(t);if(!xd(r.apiBaseUrl)){let s=r.apiBaseUrl.length;for(;s>0&&r.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${r.apiBaseUrl.slice(0,s)}/p/${r.sandboxId}/${e}${n}`}return`http://p${e}-${r.sandboxId}.localhost:${r.backendPort}${n}`}function kd(e,t){return Pe(e,"/",t)}function Lc(e){let t=Le(e);return!(!t||Mc.has(t.port)||Uc(e))}function Ua(e,t){if(!e)return e;let r=Le(e);return r?Lc(r.originalUrl)?Pe(r.port,r.path,t):r.originalUrl:e}function Pd(e,t="/"){return`http://localhost:${e}${t}`}var Fc=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Oa(e){let t=e.match(Dc);if(t)return{port:parseInt(t[1],10),sandboxId:t[2],backendPort:t[3]?parseInt(t[3],10):80,path:t[4]||"/"};let r=e.match(Fc);if(r)try{let n=new URL(e);return{port:parseInt(r[2],10),sandboxId:r[1],backendPort:parseInt(n.port,10)||(n.protocol==="https:"?443:80),path:r[3]||"/"}}catch{return null}return null}function wd(e){try{let t=Oa(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function _d(e){return cd(e)||Fc.test(e)}var Oe="/web-proxy/";function Sd(e,t){try{let r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:")return null;let n=r.protocol.replace(":",""),s=`${Oe}${n}/${r.host}${r.pathname}${r.search}${r.hash}`,c=parseInt(W.KORTIX_MASTER,10);return`${Pe(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function vd(e){try{let t=new URL(e),r=t.pathname.indexOf(Oe);if(r===-1)return null;let s=t.pathname.slice(r+Oe.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],d=s[3]||"/";return`${c}://${u}${d}${t.search}${t.hash}`}catch{return null}}function Cd(e){try{return new URL(e).pathname.includes(Oe)}catch{return e.includes(Oe)}}function Rd(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 Td(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 Gc="frontend";function _t(e,t,r){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Gc}] ${t}`,...r?[r]:[]);try{X().app.log({service:Gc,level:e,message:t,extra:r})}catch{}}var Z={debug:(e,t)=>_t("debug",e,t),info:(e,t)=>_t("info",e,t),warn:(e,t)=>_t("warn",e,t),error:(e,t)=>_t("error",e,t)};function Bc(e){return{type:"heartbeat-gap",gapMs:e}}function Kc(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 Id={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Ad=16,jd=8,Ed=6e4,qd=5e3,$d=250,Dd=1e3,Md=3e4,Ud=5,Od=3e3,Ld=3e4,Fd=2e4,Gd=2e3,Bd=8;function Kd(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Nc(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(n=>{t=()=>n(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function St(e){let{client:t,onEvent:r,onGapRehydrate:n,onParked:s,signal:c}=e,u=e.timers??Id,d=e.connectTimeoutMs??Fd,g=e.heartbeatTimeoutMs??Ed,h=e.maxConsecutiveHardFailures??Bd,m=new AbortController,x=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",x,{once:!0}));let w=u.now(),k=[],l,i=0,P=new Map,_=()=>{if(l&&u.clearTimeout(l),l=void 0,k.length===0)return;let j=k;k=[],P.clear(),i=u.now(),w=u.now();for(let v of j)if(v)try{r(v.event)}catch(I){console.warn("[opencode-events] event handler threw, skipping",I)}},D=()=>{if(l)return;let j=u.now()-i;l=u.setTimeout(_,Math.max(0,Ad-j))};return(async()=>{let j=0,v=0;for(;!m.signal.aborted;){let I=!1,A=!1,f,S,U=null,N=u.now(),M=new AbortController,O=Nc(m.signal);O.promise.then(()=>M.abort());try{let F=await new Promise((qt,Ce)=>{let G=!1;S=u.setTimeout(()=>{G||(G=!0,Z.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:d}),M.abort(),Ce(new Error(`SSE connect timed out after ${d}ms`)))},d),t.global.event({signal:M.signal,sseDefaultRetryDelay:Od,sseMaxRetryDelay:Ld,sseMaxRetryAttempts:1}).then(V=>{G||(G=!0,u.clearTimeout(S),qt(V))},V=>{G||(G=!0,u.clearTimeout(S),Ce(V))})}),{stream:E}=F;w=u.now();let B=()=>{u.clearTimeout(f),f=u.setTimeout(()=>{Z.warn("SSE heartbeat timeout, forcing reconnect"),M.abort()},g)};B();let ze=u.now(),Tl=E[Symbol.asyncIterator]();for(;!M.signal.aborted;){let qt=Tl.next().then(J=>({kind:"next",result:J}),J=>({kind:"error",error:J})),Ce=Nc(M.signal),G=await Promise.race([qt,Ce.promise.then(()=>({kind:"aborted"}))]);if(Ce.cleanup(),G.kind==="aborted")break;if(G.kind==="error")throw G.error;if(G.result.done)break;I=!0,B();let V=G.result.value,Je=V&&typeof V=="object"&&"payload"in V?V.payload:V;if(!Je?.type)continue;let $t=Kd(Je);if($t){let J=P.get($t);J!==void 0&&(k[J]=void 0),P.set($t,k.length)}k.push({type:Je.type,event:Je}),D(),!(u.now()-ze<jd)&&(ze=u.now(),await new Promise(J=>u.setTimeout(J,0)))}A=I}catch(F){if(m.signal.aborted)break;U=F;let E=String(F),B=E.includes("401")||E.includes("403")||E.includes("Unauthorized")||E.includes("Token refresh failed");if(Z.error("SSE event stream error",{error:E,retryCount:j,isAuthError:B}),B)try{Ae(),await nt(),Z.info("SSE: refreshed auth token after auth error")}catch(ze){Z.error("SSE: failed to refresh auth token",{error:String(ze)})}}finally{u.clearTimeout(f),u.clearTimeout(S),M.abort(),O.cleanup(),_()}if(m.signal.aborted)break;let ce=u.now()-N,We=U?.cause?.status;if(v=!I&&(typeof We=="number"&&We>=400||ce<Gd)?v+1:0,v>=h){Z.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(U)});try{s?.({consecutiveFailures:v,lastError:U})}catch(F){console.warn("[opencode-events] onParked handler threw",F)}break}let ve=u.now()-w;ve>qd&&n?.(ve),A?j=0:(j++,j>1&&Z.warn("SSE event stream reconnecting",{retryCount:j}));let H=A?$d:Math.min(Dd*2**Math.min(j-1,Ud),Md);await new Promise(F=>{let E=u.setTimeout(F,H),B=()=>{u.clearTimeout(E),F()};m.signal.addEventListener("abort",B,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",x),l&&u.clearTimeout(l)}}}function Nd(){return X()}var vt=new Map,Fe=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 Hc(e,t){Qe(e,t);function r(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 C(`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 n(l){let i=T().backendUrl??e.backendUrl,P=80,_=r(i);return _&&(P=_.port?Number(_.port):_.protocol==="https:"?443:80),{sandboxId:l,backendPort:P,apiBaseUrl:i}}let s={list:vn,get:Rn,create:Cn,updateName:Tn,leave:Ln,members:In,invite:An,removeMember:Un,updateMemberRole:On,invites:jn,cancelInvite:En,resendInvite:qn,tokens:{list:ma,create:fa,revoke:ya},audit:{log:ka,export:Pa,webhooks:{list:wa,create:_a,update:Sa,remove:va}}},c={accountState:so,accountStateMinimal:io,transactions:oo,transactionsSummary:ao,creditBreakdown:co,usageHistory:lo,tierConfigurations:uo,checkout:{createSession:l=>po(l),confirmSession:(l,i)=>go(l,i)},subscription:{createPortalSession:(l,i)=>mo(l,i),cancel:(l,i)=>fo(l,i),reactivate:l=>yo(l),scheduleDowngrade:(l,i,P)=>ho(l,i,P),cancelScheduledChange:l=>bo(l),prorationPreview:(l,i)=>xo(l,i)},credits:{purchase:l=>ko(l),autoTopupSettings:l=>Po(l),configureAutoTopup:l=>wo(l)}},u={describe:$n,accept:Dn,decline:Mn},d={list:oe,listForAccount:Gn,get:gt,detail:mt,create:Hn,createRepo:Vn,provision:Wn,update:ht,archive:bt,llmCatalog:ft,modelPicker:yt,sandboxHealth:xt,sandboxTemplates:ni,sessions:be,createSession:xe},g={linkRepository:Qn,getInstallation:Yn,listInstallations:Zn,listRepositories:es,listRepositoryBranches:ts,saveInstallation:rs,deleteInstallation:ns},h={list:pa,create:da,revoke:ga},m=Ys,x={items:l=>Ta(l),item:l=>ja(l),itemFile:(l,i)=>Ea(l,i),marketplaces:()=>Ia(),featured:()=>Aa(),sources:{list:()=>qa(),add:l=>$a(l),remove:l=>Da(l)}};function w(l){return{get:i=>gt(l,i),detail:()=>mt(l),update:i=>ht(l,i),archive:()=>bt(l),llmCatalog:()=>ft(l),modelPicker:()=>yt(l),sandboxHealth:()=>xt(l),onboardingComplete:(...i)=>Xn(l,...i),tokens:{list:()=>ha(l),create:i=>ba(l,i),revoke:i=>xa(l,i)},setupLinks:{requestSecret:i=>Ca(l,i),requestConnector:i=>Ra(l,i)},validateManifest:i=>Kn(l,i),gitToken:()=>Nn(l),secrets:{list:()=>Ss(l),upsert:i=>vs(l,i),remove:i=>Is(l,i),setPersonal:(...i)=>As(l,...i),removePersonal:i=>js(l,i),setGitCredential:i=>Ts(l,i),startProviderOAuth:(...i)=>Cs(l,...i),pollProviderOAuth:(...i)=>Rs(l,...i)},access:{list:()=>as(l),invite:(...i)=>us(l,...i),update:(...i)=>cs(l,...i),revoke:i=>ls(l,i),pendingInvites:()=>ps(l),resendInvite:(...i)=>gs(l,...i),revokeInvite:(...i)=>ds(l,...i),requests:()=>ss(l),approveRequest:(...i)=>is(l,...i),rejectRequest:(...i)=>os(l,...i),groupGrants:()=>ms(l),attachGroupGrant:(...i)=>fs(l,...i),updateGroupGrant:(...i)=>ys(l,...i),detachGroupGrant:i=>hs(l,i),resourceGrants:{list:()=>bs(l),create:i=>xs(l,i),remove:i=>ks(l,i)}},connectors:{list:()=>Us(l),config:(...i)=>Ks(l,...i),create:(...i)=>Vs(l,...i),remove:(...i)=>zs(l,...i),sync:()=>Os(l),auth:{discover:(...i)=>Ws(l,...i)},setName:(...i)=>Ns(l,...i),setCredentialMode:(...i)=>Ls(l,...i),setCredential:(...i)=>Zs(l,...i),setSensitive:(...i)=>Fs(l,...i),profiles:{list:()=>Es(l),reconcile:(...i)=>qs(l,...i),updateCredential:(...i)=>$s(l,...i),revoke:(...i)=>Ds(l,...i),activate:(...i)=>Ms(l,...i)},policies:{get:(...i)=>Gs(l,...i),set:(...i)=>Bs(l,...i)},pipedream:{listApps:(...i)=>Js(l,...i),connect:(...i)=>Hs(l,...i),finalize:(...i)=>ei(l,...i)},discover:{list:(...i)=>Xs(l,...i),detail:(...i)=>Qs(l,...i)}},policies:{list:()=>ti(l),set:(...i)=>ri(l,...i)},triggers:{list:()=>Hi(l),create:(...i)=>Vi(l,...i),update:(...i)=>Wi(l,...i),remove:(...i)=>zi(l,...i),fire:(...i)=>Xi(l,...i),setActivation:(...i)=>Ji(l,...i)},files:{list:i=>di(l,i),read:(i,P)=>mi(l,i,P),search:(...i)=>gi(l,...i),archive:(...i)=>fi(l,...i),history:(...i)=>ki(l,...i)},git:{commits:()=>hi(l),commit:i=>bi(l,i),commitDiff:i=>xi(l,i),branches:()=>yi(l),versionDiff:(...i)=>Pi(l,...i),inviteCollaborator:(...i)=>Bn(l,...i)},changeRequests:{list:()=>wi(l),get:i=>_i(l,i),diff:i=>Si(l,i),mergePreview:i=>vi(l,i),open:(...i)=>Ci(l,...i),merge:(...i)=>Ri(l,...i),close:(...i)=>Ti(l,...i),reopen:(...i)=>Ii(l,...i),requestChanges:(...i)=>Ai(l,...i)},sessions:{list:()=>be(l),create:i=>xe(l,i)},review:{list:i=>oa(l,i),get:i=>aa(l,i),submit:i=>ca(l,i),act:(...i)=>la(l,...i),bulkAct:i=>ua(l,i)},approvals:{list:i=>Ps(l,i),resolve:(...i)=>_s(l,...i),sessionsNeedingInput:i=>ws(l,i)},gateway:{logs:i=>Ho(l,i),log:i=>Vo(l,i),overview:i=>Wo(l,i),series:i=>zo(l,i),breakdown:i=>Jo(l,i),sessions:i=>Xo(l,i),errors:i=>Qo(l,i),budgets:()=>Yo(l),setBudget:i=>Zo(l,i),deleteBudget:i=>ea(l,i),keys:()=>ta(l),createKey:i=>ra(l,i),revokeKey:i=>na(l,i),routing:{get:()=>Go(l),set:i=>Bo(l,i),reset:()=>Ko(l),preview:i=>No(l,i)},playground:(i,P,_)=>sa(l,i,P,_)},channels:{slack:{installation:()=>_o(l),connect:i=>So(l,i),mode:()=>vo(l),manifest:()=>Co(l),disconnect:()=>Ro(l),getFile:i=>To(l,i),uploadFile:i=>Io(l,i)},email:{installation:i=>jo(l,i),mode:()=>Eo(l),connect:i=>qo(l,i),disconnect:i=>$o(l,i),updatePolicy:(...i)=>Do(l,...i)},meet:{voices:()=>Mo(l),setVoice:i=>Uo(l,i),setBotName:i=>Oo(l,i),previewVoice:i=>Lo(l,i),speak:(i,P,_)=>Fo(l,i,P,_)}},updateExperimentalFeature:(...i)=>zn(l,...i),modelDefaults:{get:()=>Yi(l),set:i=>Zi(l,i),clear:i=>eo(l,i)},setDefaultAgent:i=>ro(l,i),sandbox:{list:()=>pi(l),snapshots:()=>si(l),rebuildSnapshot:i=>ii(l,i),fixWithAgent:()=>oi(l),createTemplate:i=>ai(l,i),updateTemplate:(...i)=>ci(l,...i),removeTemplate:i=>li(l,i),buildTemplate:i=>ui(l,i),setProvider:i=>Jn(l,i)},setAgentScope:(...i)=>to(l,...i),session:i=>k(l,i)}}function k(l,i){let P=null,_,D;function j(){if(P)return P;let f=Ic(l,i);return f&&(P=f),P}async function v(){let f=j();if(f)return f;let S=`${l}
8
- ${i}`,U=vt.get(S);if(U)return P=await U,P;let N=(async()=>{let M=await ke(l,i,3e4);if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new C(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let O=M.sandbox.external_id;if(!O)throw new C("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let ce=st(O);return gc(ce,O),{opencodeSessionId:M.opencode_session_id,runtimeUrl:ce,sandboxId:O}})();vt.set(S,N);try{return P=await N,P}finally{vt.get(S)===N&&vt.delete(S)}}function I(f){let S=j();if(!S)throw new Fe(f);return S}function A(){P=null,jc(l,i)}return{get:f=>Fi(l,i,f),update:f=>Ki(l,i,f),delete:()=>(A(),Ni(l,i)),start:(...f)=>ke(l,i,...f),restart:()=>(A(),Me(l,i)),stop:()=>(A(),Ue(l,i)),setSharing:f=>Di(l,i,f),previews:()=>Mi(l,i),commit:f=>ji(l,i,f),publicShares:{list:()=>Ui(l,i),create:(...f)=>Oi(l,i,...f),revoke:(...f)=>Li(l,i,...f)},audit:(f,S)=>Gi(l,i,f,S),transcript:f=>Bi(l,i,f),ensureReady:v,health:f=>Ma(j()?.runtimeUrl??null,f),previewUrl:(f,S="/")=>Pe(f,S,n(I("previewUrl").sandboxId)),proxyUrl:f=>Ua(f,n(I("proxyUrl").sandboxId)),setModel:f=>{_=f},setAgent:f=>{D=f},send:async(f,S)=>{let{opencodeSessionId:U,runtimeUrl:N}=await v(),M=S?.model??_,O=S?.agent??D;return se(N).session.prompt({sessionID:U,parts:[{type:"text",text:f}],...M?{model:M}:{},...O?{agent:O}:{}})},abort:async()=>{let{opencodeSessionId:f,runtimeUrl:S}=await v();return se(S).session.abort({sessionID:f})},stream:async f=>{let{runtimeUrl:S}=await v();return St({client:se(S),onEvent:f.onEvent,onGapRehydrate:f.onGapRehydrate,signal:f.signal})},get runtime(){return se(I("runtime").runtimeUrl)},files:{list:async f=>mn(f,(await v()).runtimeUrl),read:async f=>ut(f,(await v()).runtimeUrl),readBlob:async f=>pt(f,(await v()).runtimeUrl),status:async()=>fn((await v()).runtimeUrl),findFiles:async(f,S)=>yn(f,S,(await v()).runtimeUrl),findText:async f=>hn(f,(await v()).runtimeUrl),upload:async(f,S,U)=>dt(f,S,U,(await v()).runtimeUrl),create:async f=>bn(f,(await v()).runtimeUrl),copy:async(f,S)=>xn(f,S,(await v()).runtimeUrl),remove:async f=>kn(f,(await v()).runtimeUrl),mkdir:async f=>Pn(f,(await v()).runtimeUrl),rename:async(f,S)=>wn(f,S,(await v()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:d,project:w,session:k,github:g,billing:c,sandboxShares:h,transcribe:ia,connectStatus:m,marketplace:x,validateToken:Fn,runtime:Nd}}function Vc(){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 n=0;n<16;n++)t[n]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let r=[...t].map(n=>n.toString(16).padStart(2,"0"));return`${r[0]}${r[1]}${r[2]}${r[3]}-${r[4]}${r[5]}-${r[6]}${r[7]}-${r[8]}${r[9]}-${r.slice(10).join("")}`}var La={thinking:!1,toolDetails:!0,assistantMetadata:!0};function Hd(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Vd(e){let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let r=Math.floor(t/60),n=t%60;return`${r}m ${n.toFixed(0)}s`}function Wd(e,t){if(e.type==="text"&&!("synthetic"in e&&e.synthetic))return`${e.text}
5
+ `);v=G.pop()??"";for(let de of G){let Q=de.split(`
6
+ `),M=[],H;for(let E of Q)if(E.startsWith("data:"))M.push(E.replace(/^data:\s*/,""));else if(E.startsWith("event:"))H=E.replace(/^event:\s*/,"");else if(E.startsWith("id:"))k=E.replace(/^id:\s*/,"");else if(E.startsWith("retry:")){let V=Number.parseInt(E.replace(/^retry:\s*/,""),10);Number.isNaN(V)||(i=V)}let B,O=!1;if(M.length){let E=M.join(`
7
+ `);try{B=JSON.parse(E),O=!0}catch{B=E}}O&&(s&&await s(B),r&&(B=await r(B))),n?.({data:B,event:H,id:k,retry:i}),M.length&&(yield B)}}}finally{_.removeEventListener("abort",L),f.releaseLock()}break}catch(A){if(t?.(A),u!==void 0&&P>=u)break;let S=Math.min(i*2**(P-1),d??3e4);await w(S)}}}()}};var Vl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Wl=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},zl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ze=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let d=(e?s:s.map(g=>encodeURIComponent(g))).join(Wl(r));switch(r){case"label":return`.${d}`;case"matrix":return`;${n}=${d}`;case"simple":return d;default:return`${n}=${d}`}}let c=Vl(r),u=s.map(d=>r==="label"||r==="simple"?e?d:encodeURIComponent(d):ge({allowReserved:e,name:n,value:d})).join(c);return r==="label"||r==="matrix"?c+u:u},ge=({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)}`},et=({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 h=g.join(",");switch(r){case"form":return`${n}=${h}`;case"label":return`.${h}`;case"matrix":return`;${n}=${h}`;default:return h}}let u=zl(r),d=Object.entries(s).map(([g,h])=>ge({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:h})).join(u);return r==="label"||r==="matrix"?u+d:d};var Jl=/\{[^{}]+\}/g,Xl=({path:e,url:t})=>{let n=t,r=t.match(Jl);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),d="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),d="label"):u.startsWith(";")&&(u=u.substring(1),d="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,Ze({explode:c,name:u,style:d,value:g}));continue}if(typeof g=="object"){n=n.replace(s,et({explode:c,name:u,style:d,value:g,valueOnly:!0}));continue}if(d==="matrix"){n=n.replace(s,`;${ge({name:u,value:g})}`);continue}let h=encodeURIComponent(d==="label"?`.${g}`:g);n=n.replace(s,h)}return n},sc=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=Xl({path:t,url:u}));let d=n?r(n):"";return d.startsWith("?")&&(d=d.substring(1)),d&&(u+=`?${d}`),u};function Dt(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 ic=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 Mt={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var oc=({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 d=e[c]||t;if(Array.isArray(u)){let g=Ze({allowReserved:d.allowReserved,explode:!0,name:c,style:"form",value:u,...d.array});g&&s.push(g)}else if(typeof u=="object"){let g=et({allowReserved:d.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...d.object});g&&s.push(g)}else{let g=ge({allowReserved:d.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},ac=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"}},Ql=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,cc=async({security:e,...t})=>{for(let n of e){if(Ql(t,n.name))continue;let r=await ic(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}}},Ut=e=>sc({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:oc(e.querySerializer),url:e.url}),Ot=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=tt(e.headers,t.headers),n},Yl=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},tt=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?Yl(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},Te=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}},lc=()=>({error:new Te,request:new Te,response:new Te}),Zl=oc({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),eu={"Content-Type":"application/json"},Ie=(e={})=>({...Mt,headers:eu,parseAs:"auto",querySerializer:Zl,...e});var je=(e={})=>{let t=Ot(Ie(),e),n=()=>({...t}),r=h=>(t=Ot(t,h),n()),s=lc(),c=async h=>{let m={...t,...h,fetch:h.fetch??t.fetch??globalThis.fetch,headers:tt(t.headers,h.headers),serializedBody:void 0};m.security&&await cc({...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=Ut(m);return{opts:m,url:k}},u=async h=>{let{opts:m,url:k}=await c(h),w={redirect:"follow",...m,body:Dt(m)},x=new Request(k,w);for(let T of s.request.fns)T&&(x=await T(x,m));let l=m.fetch,i;try{i=await l(x)}catch(T){let j=T;for(let f of s.error.fns)f&&(j=await f(T,void 0,x,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,request:x,response:void 0}}for(let T of s.response.fns)T&&(i=await T(i,x,m));let P={request:x,response:i};if(i.ok){let T=(m.parseAs==="auto"?ac(i.headers.get("Content-Type")):m.parseAs)??"json";if(i.status===204||i.headers.get("Content-Length")==="0"){let f;switch(T){case"arrayBuffer":case"blob":case"text":f=await i[T]();break;case"formData":f=new FormData;break;case"stream":f=i.body;break;default:f={};break}return m.responseStyle==="data"?f:{data:f,...P}}let j;switch(T){case"arrayBuffer":case"blob":case"formData":case"text":j=await i[T]();break;case"json":{let f=await i.text();j=f?JSON.parse(f):{};break}case"stream":return m.responseStyle==="data"?i.body:{data:i.body,...P}}return T==="json"&&(m.responseValidator&&await m.responseValidator(j),m.responseTransformer&&(j=await m.responseTransformer(j))),m.responseStyle==="data"?j:{data:j,...P}}let _=await i.text(),D;try{D=JSON.parse(_)}catch{}let A=D??_,S=A;for(let T of s.error.fns)T&&(S=await T(A,i,x,m));if(S=S||{},m.throwOnError)throw S;return m.responseStyle==="data"?void 0:{error:S,...P}},d=h=>m=>u({...m,method:h}),g=h=>async m=>{let{opts:k,url:w}=await c(m);return rc({...k,body:k.body,headers:k.headers,method:h,onRequest:async(x,l)=>{let i=new Request(x,l);for(let P of s.request.fns)P&&(i=await P(i,k));return i},serializedBody:Dt(k),url:w})};return{buildUrl:Ut,connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),getConfig:n,head:d("HEAD"),interceptors:s,options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("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:d("TRACE")}};var tu={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},nu=Object.entries(tu),uc=(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&&uc(n.args,t);return t},ru=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},p=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=uc(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let d=r.get(s.key),g=d.map||s.key;d.in&&(n[d.in][g]=u)}else n.body=u;else for(let[d,g]of Object.entries(u??{})){let h=r.get(d);if(h)if(h.in){let m=h.map||d;n[h.in][m]=g}else n[h.map]=g;else{let m=nu.find(([k])=>d.startsWith(k));if(m){let[k,w]=m;n[w][d.slice(k.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[k,w]of Object.entries(s.allowExtra))if(w){n[k][d]=g;break}}}}return ru(n),n};var pc=je(Ie({baseUrl:"http://localhost:4096"}));var y=class{client;constructor(t){this.client=t?.client??pc}},Lt=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)}},Ft=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=p([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}})}},Gt=class extends y{log(t,n){let r=p([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=p([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=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Bt=class extends y{moveSession(t,n){let r=p([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}})}},Kt=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Nt=class extends y{get(t,n){let r=p([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=p([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=p([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}})}},Ht=class extends y{list(t,n){let r=p([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=p([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})}},Vt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},Wt=class extends y{generateName(t,n){let r=p([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}})}},zt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},Jt=class extends y{list(t,n){let r=p([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=p([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=p([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=p([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=p([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=p([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 zt({client:this.client})}},Xt=class extends y{_controlPlane;get controlPlane(){return this._controlPlane??=new Bt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Kt({client:this.client})}_console;get console(){return this._console??=new Nt({client:this.client})}_session;get session(){return this._session??=new Ht({client:this.client})}_resource;get resource(){return this._resource??=new Vt({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Wt({client:this.client})}_workspace;get workspace(){return this._workspace??=new Jt({client:this.client})}},Qt=class extends y{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=p([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}})}},Yt=class extends y{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=p([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 Qt({client:this.client})}},Zt=class extends y{subscribe(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},en=class extends y{get(t,n){let r=p([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=p([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=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},tn=class extends y{list(t,n){let r=p([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=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},nn=class extends y{remove(t,n){let r=p([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=p([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=p([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=p([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}})}},rn=class extends y{text(t,n){let r=p([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=p([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=p([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})}},sn=class extends y{list(t,n){let r=p([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=p([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=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},on=class extends y{dispose(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},an=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},cn=class extends y{raw(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},ln=class extends y{get(t,n){let r=p([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=p([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=p([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=p([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 cn({client:this.client})}},un=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},pn=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},dn=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},gn=class extends y{remove(t,n){let r=p([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=p([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=p([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=p([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})}},mn=class extends y{status(t,n){let r=p([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=p([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=p([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=p([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 gn({client:this.client})}},fn=class extends y{list(t,n){let r=p([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=p([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=p([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=p([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=p([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})}},yn=class extends y{shells(t,n){let r=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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})}},hn=class extends y{list(t,n){let r=p([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=p([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=p([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})}},bn=class extends y{list(t,n){let r=p([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=p([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=p([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}})}},xn=class extends y{authorize(t,n){let r=p([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=p([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}})}},kn=class extends y{list(t,n){let r=p([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=p([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 xn({client:this.client})}},Pn=class extends y{list(t,n){let r=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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})}},wn=class extends y{delete(t,n){let r=p([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=p([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}})}},_n=class extends y{list(t,n){let r=p([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}})}},Sn=class extends y{start(t,n){let r=p([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=p([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=p([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 _n({client:this.client})}},vn=class extends y{next(t,n){let r=p([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=p([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}})}},Cn=class extends y{appendPrompt(t,n){let r=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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=p([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 vn({client:this.client})}},Rn=class extends y{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Tn=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},In=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},jn=class extends y{stage(t,n){let r=p([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=p([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=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},An=class extends y{list(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=p([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}})}},En=class extends y{list(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=p([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=p([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})}},$n=class extends y{list(t,n){let r=p([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=p([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=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=p([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=p([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=p([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=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=p([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 jn({client:this.client})}_permission;get permission(){return this._permission??=new An({client:this.client})}_question;get question(){return this._question??=new En({client:this.client})}},qn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Dn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Mn=class extends y{key(t,n){let r=p([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=p([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}})}},Un=class extends y{cancel(t,n){let r=p([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=p([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=p([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}})}},On=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=p([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 Mn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Un({client:this.client})}},Ln=class extends y{remove(t,n){let r=p([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=p([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}})}},Fn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Gn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Bn=class extends y{_request;get request(){return this._request??=new Fn({client:this.client})}_saved;get saved(){return this._saved??=new Gn({client:this.client})}},Kn=class extends y{read(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=p([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=p([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})}},Nn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Hn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},Vn=class extends y{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Wn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=p([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=p([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=p([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=p([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=p([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=p([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})}},zn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Jn=class extends y{_request;get request(){return this._request??=new zn({client:this.client})}},Xn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Qn=class extends y{remove(t,n){let r=p([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=p([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=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},Yn=class extends y{_health;get health(){return this._health??=new Rn({client:this.client})}_location;get location(){return this._location??=new Tn({client:this.client})}_agent;get agent(){return this._agent??=new In({client:this.client})}_session;get session(){return this._session??=new $n({client:this.client})}_model;get model(){return this._model??=new qn({client:this.client})}_provider;get provider(){return this._provider??=new Dn({client:this.client})}_integration;get integration(){return this._integration??=new On({client:this.client})}_credential;get credential(){return this._credential??=new Ln({client:this.client})}_permission;get permission(){return this._permission??=new Bn({client:this.client})}_fs;get fs(){return this._fs??=new Kn({client:this.client})}_command;get command(){return this._command??=new Nn({client:this.client})}_skill;get skill(){return this._skill??=new Hn({client:this.client})}_event;get event(){return this._event??=new Vn({client:this.client})}_pty;get pty(){return this._pty??=new Wn({client:this.client})}_question;get question(){return this._question??=new Jn({client:this.client})}_reference;get reference(){return this._reference??=new Xn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Qn({client:this.client})}},nt=class e extends y{static __registry=new Lt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Ft({client:this.client})}_app;get app(){return this._app??=new Gt({client:this.client})}_experimental;get experimental(){return this._experimental??=new Xt({client:this.client})}_global;get global(){return this._global??=new Yt({client:this.client})}_event;get event(){return this._event??=new Zt({client:this.client})}_config;get config(){return this._config??=new en({client:this.client})}_tool;get tool(){return this._tool??=new tn({client:this.client})}_worktree;get worktree(){return this._worktree??=new nn({client:this.client})}_find;get find(){return this._find??=new rn({client:this.client})}_file;get file(){return this._file??=new sn({client:this.client})}_instance;get instance(){return this._instance??=new on({client:this.client})}_path;get path(){return this._path??=new an({client:this.client})}_vcs;get vcs(){return this._vcs??=new ln({client:this.client})}_command;get command(){return this._command??=new un({client:this.client})}_lsp;get lsp(){return this._lsp??=new pn({client:this.client})}_formatter;get formatter(){return this._formatter??=new dn({client:this.client})}_mcp;get mcp(){return this._mcp??=new mn({client:this.client})}_project;get project(){return this._project??=new fn({client:this.client})}_pty;get pty(){return this._pty??=new yn({client:this.client})}_question;get question(){return this._question??=new hn({client:this.client})}_permission;get permission(){return this._permission??=new bn({client:this.client})}_provider;get provider(){return this._provider??=new kn({client:this.client})}_session;get session(){return this._session??=new Pn({client:this.client})}_part;get part(){return this._part??=new wn({client:this.client})}_sync;get sync(){return this._sync??=new Sn({client:this.client})}_tui;get tui(){return this._tui??=new Cn({client:this.client})}_v2;get v2(){return this._v2??=new Yn({client:this.client})}};function gc(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||dc(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 ${dc(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function dc(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function su(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function iu(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 d=su(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(d){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,d);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 Zn(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=je(e);return t.interceptors.request.use(n=>iu(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(gc),new nt({client:t})}function ou(e){return new Promise(t=>setTimeout(t,e))}async function mc(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let d=0;d<r;d++)if(d>0&&(c&&n?.(),s>0&&await ou(s)),u=await e(),u)return u;return u}var au=3e4;function cu(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function fc(e,t,n=au){let r=e instanceof Request?e.signal:t?.signal;if(cu(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function er(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 rt(){return I().getToken()}async function me(e){return mc(()=>I().getToken(),e,Ae)}function Ae(){}function lu(e){}function uu(e){}async function Ee(){return rt()}async function tr(e){return me(e)}function hc(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 R(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await tr();if(!s)return yc();let c=er(e,t,s),u=fc(e,t),d=await hc(e,t,c,u);if(d.status===401&&r&&s){Ae();let g=await tr({attempts:2,baseDelayMs:200});if(g&&g!==s){let h=er(e,t,g);return hc(e,t,h,u)}}return d}var fe={url:null,sandboxId:null,dbSandboxId:null,version:0},pu=new Set;function bc(e,t=null,n=null){if(!(fe.url===e&&fe.sandboxId===t&&fe.dbSandboxId===n)){fe={url:e,sandboxId:t,dbSandboxId:n,version:fe.version+1};for(let r of pu)r()}}function xc(){return fe.url}function du(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function $e(){return du(I().backendUrl||"http://localhost:8008/v1")}function kc(){let e=I().sandboxId||"";return`${$e()}/p/${e}/8000`}function gu(e){return`${$e()}/p/${e}/8000`}function st(e){return gu(e)}function $(){let e=xc();return e||(I().billingEnabled??!1?"":kc())}var C=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)}},ye=class extends C{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},ie=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)}},he=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 be(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 ie(t,{message:r?.message||e.message||"Billing error",...r})}function Pc(e){return e instanceof ie}function wc(e){if(!(e instanceof ie))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 nr(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function rr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function sr(e){let t=rr(e),n=await R(`${t}/env`);if(!n.ok)throw new Error(await nr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function ir(e,t,n){let r=rr(e),s=await R(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await nr(s,"Failed to save secret"))}async function or(e,t){let n=rr(e),r=await R(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await nr(r,"Failed to delete secret"))}var _c={list:sr,set:ir,delete:or};async function Sc(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await R(`${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 oe(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function it(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function qe(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return oe(e)}async function ar(e){let t=qe(e),n=await R(`${t}/kortix/pty`);if(!n.ok)throw new Error(await it(n,"Failed to list terminals"));return n.json()}async function cr(e,t){let n=qe(e),r=await R(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await it(r,"Failed to create terminal"));return r.json()}async function lr(e,t,n){let r=qe(e),s=await R(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await it(s,"Failed to update terminal"));return s.json()}async function ur(e,t){let n=qe(e),r=await R(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await it(r,"Failed to remove terminal"))}async function pr(e,t){let n=qe(t),s=`${(()=>{try{let d=new URL(n);return d.protocol==="https:"?d.protocol="wss:":d.protocol==="http:"&&(d.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&d.protocol==="ws:"&&(d.protocol="wss:"),oe(d.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await Ee();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var vc={list:ar,create:cr,update:lr,remove:ur,webSocketUrl:pr};async function b(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await R(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),d={};try{d=u?JSON.parse(u):{}}catch{d={}}if(!c.ok)throw new Error(d?.error||d?.message||d?.details||u.slice(0,200)||`Request failed with ${c.status}`);return d}async function mu(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 b(e,`/kortix/tasks${r}`)}async function fu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function yu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function hu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function bu(e,t){return b(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function xu(e,t,n){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function ku(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Pu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function wu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function _u(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return b(e,`/kortix/tickets${n}`)}async function Su(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function vu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Cu(e,t){return b(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Ru(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Tu(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Iu(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function ju(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Au(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Eu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function $u(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function qu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Du(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Mu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Uu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Ou(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Lu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Fu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Gu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Bu(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Ku(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Nu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Hu(e,t,n=200){return b(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Vu(e){return b(e,"/kortix/projects")}async function Wu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function zu(e,t){return b(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Ju(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Xu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Qu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Yu(e,t,n="all"){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function Zu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function ep(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function tp(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function np(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function rp(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function sp(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function ip(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function op(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function ap(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function cp(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function lp(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function up(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var pp=1e4,dp={retryOnAuthError:!1};function xe(e,t,n){return b(e,t,{signal:AbortSignal.timeout(pp),...n},dp)}async function gp(e,t=!1){return(await xe(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function mp(e){return(await xe(e,"/kortix/services/templates")).templates??[]}async function fp(e,t){return(await xe(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function yp(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return xe(e,s,{method:r?"DELETE":"POST"})}async function hp(e,t){return xe(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function bp(e,t){return xe(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var ot=new Map,at=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function Z(){let e=$();if(!e)throw new at;return ae(e)}function ae(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=ot.get(e);if(t)return t;if(!Ye())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Zn({baseUrl:e,fetch:R});return ot.set(e,n),n}function xp(e){ot.delete(e)}function kp(){ot.clear()}var ct=new Map;function Pp(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=ct.get(e);if(t)return t;let n=Zn({baseUrl:e,fetch});return ct.set(e,n),n}function wp(e){ct.delete(e)}function _p(){ct.clear()}async function Sp(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 vp(e){let t=$();if(!t)throw new C("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await R(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new C(`System reload failed (${n.status}): ${await Sp(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function Rc(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 C(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function ke(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 lt(e,t=$()){let n=await R(`${t}${e}`);if(!n.ok)throw new C(await ke(n),{status:n.status,response:n});return n.json()}var Tc=["/workspace","/tmp","/home","/opt"],Cp=Tc.filter(e=>e!=="/workspace");function Rp(e){return Tc.some(t=>e===t||e.startsWith(`${t}/`))}function Tp(e){return Rp(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function Me(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(Cp.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Ip=Me;async function dr(e,t=$()){let n=Me(e)||".";return(await lt(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function ut(e,t=$()){let n=Me(e),r=await R(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new C(await ke(r),{status:r.status,response:r});return r.json()}async function jp(e,t,n=$()){let r=Me(e),s=await R(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new C(await ke(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new C("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 pt(e,t=$()){try{return await jp(e,void 0,t)}catch{}let n=await ut(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 gr(e=$()){return lt("/file/status",e)}async function mr(e,t,n=$()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),lt(`/find/file?${r.toString()}`,n)}async function fr(e,t=$()){return(await lt(`/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 De=[400,1200],Ap=e=>e===408||e===429||e===502||e===503||e===504,Cc=e=>new Promise(t=>setTimeout(t,e));async function Ep(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 Ic(e,t){let n;for(let s=0;s<=De.length;s++){let c;try{c=await t(e())}catch(d){if(n=d,s===De.length)break;await Cc(De[s]);continue}if(c.ok)return c.json();let u=await Ep(c);if(n=new C(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!Ap(c.status)||s===De.length)throw n;await Cc(De[s])}if(n instanceof C)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new C(`Upload failed: ${r}`)}function dt(e,t,n,r=$()){return Ic(()=>{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=>R(`${r}/file/upload`,{method:"POST",body:s}))}function $p(e,t,n=$()){return Ic(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await Ee();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function yr(e,t=$()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return dt(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function hr(e,t,n=$()){return $p(t,await pt(e,n),n)}async function br(e,t=$()){let n=await R(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new C(`Delete failed (${n.status}): ${await ke(n)}`,{status:n.status,response:n});return n.json()}async function xr(e,t=$()){let n=await R(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new C(`Mkdir failed (${n.status}): ${await ke(n)}`,{status:n.status,response:n});return n.json()}async function kr(e,t,n=$()){let r=await R(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new C(`Rename failed (${r.status}): ${await ke(r)}`,{status:r.status,response:r});return r.json()}async function qp(){return Rc(await Z().project.current())}async function jc(){return Rc(await Z().global.health())}async function Dp(){try{return(await jc()).healthy===!0}catch{return!1}}var Ac={list:dr,read:ut,readBlob:pt,status:gr,findFiles:mr,findText:fr,upload:dt,create:yr,copy:hr,remove:br,mkdir:xr,rename:kr,currentProject:qp,health:jc,isReachable:Dp,toDaemonPath:Me,toSandboxAbsolutePath:Tp,toWorkspaceRelative:Ip};var ee=()=>I().backendUrl||"",$c="feature_not_supported",Up=e=>new Promise(t=>setTimeout(t,e)),Op=new Set([502,503,504]),Ec=e=>Op.has(e),Lp=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Fp=2,Pr=!1;function Gp(e){Pr=e}function Bp(){return Pr}async function ce(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,d=null,g=!1,h=!1;try{d=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,h=!0,u.abort())},s);let m=await me(),k=c.body instanceof FormData,w={};if(k||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),Pr&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new ye,success:!1};let x=await fetch(e,{...c,headers:w,signal:u.signal,credentials:c.credentials??"omit"});if(d&&(clearTimeout(d),d=null),!x.ok&&Lp(c.method)&&Ec(x.status))for(let P=0;P<Fp;P++){try{await x.arrayBuffer()}catch{}await Up(250*2**P);let _=new AbortController,D=setTimeout(()=>{_.abort()},s);try{x=await fetch(e,{...c,headers:w,signal:_.signal,credentials:c.credentials??"omit"})}catch{break}finally{D&&(clearTimeout(D),D=null)}if(x.ok||!Ec(x.status))break}if(!x.ok){let P=`HTTP ${x.status}: ${x.statusText}`,_=null;try{_=await x.json(),typeof _.message=="string"?P=_.message:_.error&&typeof _.error=="string"?P=_.error:typeof _.detail=="string"?P=_.detail:typeof _.detail?.message=="string"&&(P=_.detail.message)}catch{}let D=new C(P,{status:x.status,response:x,details:_||void 0,data:_,detail:_?.detail,code:_?.code||_?.error_code||_?.detail?.error_code||x.status.toString()});if(x.status===402&&(D=be(D)),x.status===403&&_?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}x.status===431&&(D=new he(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let A=x.status===501&&_?.code===$c;return n&&!A&&I().onError?.(D,r),{error:D,success:!1}}let l,i=x.headers.get("content-type");return i?.includes("application/json")?l=await x.json():i?.includes("text/")?l=await x.text():l=await x.blob(),{data:l,success:!0}}catch(m){d&&(clearTimeout(d),d=null);let k=m?.name==="AbortError"||m?.name==="AbortSignal"||m instanceof Error&&m.message.includes("aborted");k&&(g=!0);let w;if(k){if(!h)return{error:new C("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let x=e.replace(ee(),"")||e;w=new C(`Request timed out after ${Math.round(s/1e3)}s: ${x}`,{code:"TIMEOUT",url:e,endpoint:x,timeout:s}),n&&I().onError?.(w,r)}else m instanceof Error?(w=new C(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&I().onError?.(w,r)):(w=new C(String(m)),n&&I().onError?.(w,r));return{error:w,success:!1}}}var Kp={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new C(r.message||"Database error",{code:r.code,details:r});return I().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new C(n.message,{name:n.name||"ApiError",stack:n.stack}):new C(String(n));return I().onError?.(r,t),{error:r,success:!1}}}},o={get:(e,t)=>ce(`${ee()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>ce(`${ee()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>ce(`${ee()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>ce(`${ee()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ce(`${ee()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],ce(`${ee()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],ce(`${ee()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function wr(e){return e.replace(/\/v1\/?$/,"")}async function Pe(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=wr(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 _r(){return a(await o.get("/accounts"))}async function Sr(e){return a(await o.post("/accounts",e))}async function vr(e){return a(await o.get(`/accounts/${e}`))}async function Cr(e,t){return a(await o.patch(`/accounts/${e}`,{name:t}))}async function Rr(e){return a(await o.get(`/accounts/${e}/members`))}async function Tr(e,t){return a(await o.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Ir(e){return a(await o.get(`/accounts/${e}/invites`))}async function jr(e,t){return a(await o.delete(`/accounts/${e}/invites/${t}`))}async function Ar(e,t){return a(await o.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function Er(e){return a(await o.get(`/account-invites/${e}`,{showErrors:!1}))}async function $r(e){return a(await o.post(`/account-invites/${e}/accept`,{}))}async function qr(e){return a(await o.post(`/account-invites/${e}/decline`,{}))}async function Dr(e,t){return a(await o.delete(`/accounts/${e}/members/${t}`))}async function Mr(e,t,n){return a(await o.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function Ur(e){return a(await o.post(`/accounts/${e}/leave`,{}))}async function Np(e){return Pe(e,"/v1/accounts")}async function Or(){let e=await o.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function le(){return a(await o.get("/projects"))}async function Lr(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/projects${t}`))}async function gt(e,t){return a(await o.get(`/projects/${e}`,t))}async function Fr(e,t,n="write"){return a(await o.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Gr(e,t){return a(await o.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function Br(e){return a(await o.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Hp(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function mt(e,t){return a(await o.get(`/projects/${e}/detail`,{showErrors:!1,...t}))}async function ft(e,t){return a(await o.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function yt(e,t){return a(await o.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Vp(e,t){return a(await o.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function Kr(e){return a(await o.post("/projects",e))}async function Nr(e){return a(await o.post("/projects/create-repo",e))}async function Hr(e){return a(await o.post("/projects/provision",{...e.repository_source_project_id?{}:{seed_starter:!0},...e}))}async function Wp(){try{return a(await o.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function ht(e,t){return a(await o.patch(`/projects/${e}`,t))}async function Vr(e,t,n){return a(await o.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function Wr(e,t){return a(await o.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function zp(e,t){return a(await o.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function Jp(e,t){return a(await o.patch(`/projects/${e}/warm-pool`,t))}async function zr(e,t){return a(await o.patch(`/projects/${e}/onboarding`,{completed:t}))}async function bt(e){return a(await o.delete(`/projects/${e}`))}async function Xp(e,t){return Pe(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Qp(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=wr(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({...t.repository_source_project_id?{}:{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 Jr(e){return a(await o.post("/projects/link-repository",e,{showErrors:!1}))}async function Xr(e){return a(await o.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Qr(e){return a(await o.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Yr(e){return a(await o.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Zr(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await o.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function es(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return a(await o.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function ts(e){return a(await o.post("/projects/github/installation",e,{showErrors:!1}))}async function ns(e){return a(await o.post("/projects/github/installations/link",e,{showErrors:!1}))}async function rs(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),a(await o.delete(`/projects/github/installation?${n.toString()}`))}async function Yp(e,t){return a(await o.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function ss(e,t){return a(await o.get(`/projects/${e}/access-requests`,t))}async function is(e,t,n="member"){return a(await o.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function os(e,t){return a(await o.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function as(e){return a(await o.get(`/projects/${e}/access`))}async function cs(e,t,n){return a(await o.put(`/projects/${e}/access/${t}`,{role:n}))}async function ls(e,t){return a(await o.delete(`/projects/${e}/access/${t}`))}function Zp(e){return"status"in e&&e.status==="invited"}async function us(e,t,n,r){return a(await o.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function ps(e){return a(await o.get(`/projects/${e}/access/pending-invites`))}async function ds(e,t){return a(await o.delete(`/projects/${e}/access/pending-invites/${t}`))}async function gs(e,t){return a(await o.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function ms(e){return a(await o.get(`/projects/${e}/group-grants`))}async function fs(e,t,n,r){return a(await o.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function ys(e,t,n,r){return a(await o.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function hs(e,t){return a(await o.delete(`/projects/${e}/group-grants/${t}`))}async function bs(e){return a(await o.get(`/projects/${e}/resource-grants`))}async function xs(e,t){return a(await o.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function ks(e,t){return a(await o.delete(`/projects/${e}/resource-grants/${t}`))}async function Ps(e,t){return a(await o.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function ws(e,t){return a(await o.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function _s(e,t,n,r="once"){return a(await o.post(`/projects/${e}/approvals/${t}`,{decision:n,scope:r}))}async function Ss(e){return a(await o.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function vs(e,t){return a(await o.post(`/projects/${e}/secrets`,t))}async function Cs(e,t,n){return a(await o.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function Rs(e,t,n){return a(await o.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Ts(e,t){return a(await o.put(`/projects/${e}/git-credential`,t))}async function Is(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function js(e,t,n){return a(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function As(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function Es(e){return a(await o.get(`/projects/${e}/connector-profiles`))}async function $s(e,t){return a(await o.post(`/projects/${e}/connector-profiles`,t))}async function qs(e,t){return a(await o.post(`/projects/${e}/connector-profiles/me`,t))}async function Ds(e,t,n){return a(await o.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}async function Ms(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function Us(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function Os(e,t,n={}){return a(await o.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}async function Ls(e,t){return a(await o.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}async function Fs(e){return a(await o.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function Gs(e){return a(await o.post(`/executor/projects/${e}/connectors/sync`,{}))}async function Bs(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function Ks(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function Ns(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Hs(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function Vs(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function Ws(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function zs(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Js(e,t){return a(await o.post(`/executor/projects/${e}/connectors`,t))}async function Xs(e,t){return a(await o.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function Qs(e,t){return a(await o.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Ys(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return a(await o.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Zs(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return a(await o.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function ei(e,t){let n=new URLSearchParams({id:t});return a(await o.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function ti(){return a(await o.get("/executor/connect-status"))}async function ni(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,{value:n}))}async function ri(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function si(e){return a(await o.get(`/executor/projects/${e}/policies`))}async function ii(e,t,n){return a(await o.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function oi(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function ai(e){return a(await o.get(`/projects/${e}/snapshots`))}async function xt(e){return a(await o.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function ci(e,t){return a(await o.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function li(e){return a(await o.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function ui(e,t){return a(await o.post(`/projects/${e}/sandbox-templates`,t))}async function pi(e,t,n){return a(await o.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function di(e,t){return a(await o.delete(`/projects/${e}/sandbox-templates/${t}`))}async function gi(e,t){return a(await o.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function mi(e){return a(await o.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 a(await o.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function yi(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),a(await o.get(`/projects/${e}/files/search?${r.toString()}`))}async function hi(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),a(await o.get(`/projects/${e}/files/content?${r.toString()}`))}async function bi(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 me(),u=`${I().backendUrl||""}/projects/${e}/files/archive${s}`,d=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!d.ok){let g=await d.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${d.status})`)}return await d.blob()}async function xi(e){return a(await o.get(`/projects/${e}/branches`))}async function ki(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/commits${r}`))}async function Pi(e,t){return a(await o.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 a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function _i(e,t,n){let r=new URLSearchParams({path:t});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),a(await o.get(`/projects/${e}/files/history?${r.toString()}`))}async function Si(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return a(await o.get(`/projects/${e}/version-diff?${n.toString()}`))}async function vi(e,t){let n=t?`?status=${t}`:"";return a(await o.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Ci(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}`))}async function Ri(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/diff`))}async function Ti(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Ii(e,t){return a(await o.post(`/projects/${e}/change-requests`,t))}async function ji(e,t,n){return a(await o.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function Ai(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function Ei(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function $i(e,t,n){return a(await o.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function qi(e,t,n){return a(await o.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var Di=new Set;function Mi(e){e&&Di.add(e)}function Ui(e){return!!e&&Di.has(e)}function ed(e){e&&Di.delete(e)}async function we(e,t){let n=t?.scope&&t.scope!=="visible"?`?scope=${t.scope}`:"";return a(await o.get(`/projects/${e}/sessions${n}`))}async function Oi(e,t,n){return a(await o.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function Li(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/previews`))}async function Fi(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Gi(e,t,n){return a(await o.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function Bi(e,t,n){return a(await o.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function _e(e,t){let n=a(await o.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||Mi(n?.session_id),n}async function Ki(e,t,n){return a(await o.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function Ni(e,t,n,r){let s=n?`?limit=${n}`:"";return a(await o.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function Hi(e,t,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return a(await o.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Vi(e,t,n){return a(await o.patch(`/projects/${e}/sessions/${t}`,n))}async function Wi(e,t){return a(await o.delete(`/projects/${e}/sessions/${t}`))}async function Ue(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function Oe(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function zi(e){return a(await o.get(`/projects/${e}/triggers`))}async function Ji(e,t){return a(await o.post(`/projects/${e}/triggers`,t))}async function Xi(e,t,n){return a(await o.patch(`/projects/${e}/triggers/${t}`,n))}async function Qi(e,t){return a(await o.delete(`/projects/${e}/triggers/${t}`))}async function Yi(e,t){return a(await o.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Zi(e,t){return a(await o.post(`/projects/${e}/triggers/${t}/fire`,{}))}var te=new Map;function eo(e,t){return`${e}::${t}`}function qc(e,t){te.delete(e),te.set(e,t)}function Dc(e,t){let n=eo(e,t),r=te.get(n);return r&&qc(n,r),r}function Mc(e,t,n){let r=eo(e,t);if(!te.has(r)&&te.size>=512){let s=te.keys().next().value;s!==void 0&&te.delete(s)}qc(r,n)}function Uc(e,t){te.delete(eo(e,t))}function td(e){if(e.status!=="running"||!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 kt=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 nd(e){return e instanceof Error&&e.name==="SessionStartError"}function rd(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 kt(s,{status:n,code:r,terminal:!0}):null}async function ue(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await o.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let d=rd(s.error);if(d&&!(d.status===404&&Ui(t)))throw d;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&Mc(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:st(u),sandboxId:u}),c}function sd(e,t){return["session-start",e,t]}async function to(e){return a(await o.get(`/projects/${e}/model-defaults`))}async function no(e,t){return a(await o.put(`/projects/${e}/model-defaults`,t))}async function ro(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await o.delete(`/projects/${e}/model-defaults?${n}`))}async function so(e,t,n){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,n))}async function id(e,t){return a(await o.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function od(e,t,n){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,n))}async function io(e,t){return a(await o.put(`/projects/${e}/default-agent`,{agent:t}))}function oo(){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 ao(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?oo():s.data}async function co(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?oo():s.data}async function lo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return a(await o.get(`/billing/transactions${n?`?${n}`:""}`))}async function uo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return a(await o.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function po(){return a(await o.get("/billing/credit-breakdown"))}async function go(e){let t=e!=null?`?days=${e}`:"";return a(await o.get(`/billing/usage-history${t}`))}async function mo(){return a(await o.get("/billing/tier-configurations"))}async function ad(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Pe(e,`/v1/billing/account-state${t}`)}async function fo(e){return a(await o.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function yo(e,t){return a(await o.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function ho(e,t){return a(await o.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function bo(e,t){return a(await o.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function xo(e){return a(await o.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function ko(e,t,n){return a(await o.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function Po(e){return a(await o.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function wo(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),a(await o.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function _o(e){return a(await o.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function So(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function vo(e){return a(await o.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function Co(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function Ro(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var cd={oauth_available:!1,install_url:null};async function To(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?cd:t.data}async function Io(e){return a(await o.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function jo(e){let t=await o.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function Ao(e,t){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Eo(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function $o(e){return{...e,profileId:e.profileId??e.profile_id??null}}var ld={provider:"agentmail",managed_available:!1};async function qo(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?$o(r.data):null}async function Do(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?ld:t.data}async function Mo(e,t){let n=a(await o.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return $o(n)}async function Uo(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function Oo(e,t,n){let r=a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return $o(r)}async function Lo(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/meet/voices`,{showErrors:!1});return t.success?t.data??null:null}async function Fo(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/voice`,{voice:t},{showErrors:!1}),"Failed to save voice")}async function Go(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function Bo(e,t){let n=await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/voices/${encodeURIComponent(t)}/preview`,{},{showErrors:!1});return!n.success||!n.data?.b64?null:n.data.b64}async function ud(e){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function pd(e,t,n){return a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Ko(e,t,n,r){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/speak`,{bot_id:t,text:n,voice:r},{showErrors:!1}),"Failed to speak in meeting")}async function No(e){return a(await o.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Ho(e,t){return a(await o.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Vo(e){return a(await o.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Wo(e,t){return a(await o.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function zo(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return a(await o.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Jo(e,t){return a(await o.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Xo(e,t){return a(await o.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Qo(e,t){return a(await o.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Yo(e,t){return a(await o.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Zo(e,t){return a(await o.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function ea(e,t){return a(await o.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function ta(e){return a(await o.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function na(e,t){return a(await o.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function ra(e,t){return a(await o.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function sa(e){return a(await o.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function ia(e,t){return a(await o.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function oa(e,t){return a(await o.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function aa(e,t,n,r,s){return a(await o.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function dd(e,t){return a(await o.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function ca(e){let t=new FormData;t.append("audio_file",e);let n=await o.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function 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 a(await o.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function ua(e,t){return a(await o.get(`/projects/${e}/review/items/${t}`))}async function pa(e,t){return a(await o.post(`/projects/${e}/review/items`,t))}async function da(e,t,n){return a(await o.post(`/projects/${e}/review/items/${t}/act`,n))}async function ga(e,t){return a(await o.post(`/projects/${e}/review/bulk`,t))}async function ma(e){return a(await o.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function fa(e){return a(await o.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function ya(e,t){let n=await o.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Pt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Oc(e,t=""){return`${$e()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Lc(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 Pt(s,t.status)}return r}async function gd(e){return Lc(Oc(e))}async function md(e){return Lc(Oc(e,"/messages"))}async function ha(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/accounts/tokens${t}`))}async function ba(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return a(await o.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function xa(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await o.delete(`/accounts/tokens/${e}${n}`))}async function ka(e){return a(await o.get(`/projects/${e}/cli-token`))}async function Pa(e,t){return a(await o.post(`/projects/${e}/cli-token`,t??{}))}async function wa(e,t){return a(await o.delete(`/projects/${e}/cli-token/${t}`))}async function _a(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return a(await o.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Sa(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since);let r=n.toString();return a(await o.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function va(e){return a(await o.get(`/accounts/${e}/audit/webhooks`))}async function Ca(e,t){return a(await o.post(`/accounts/${e}/audit/webhooks`,t))}async function Ra(e,t,n){return a(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Ta(e,t){return a(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Ia(e,t){return a(await o.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function ja(e,t){return a(await o.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function Aa(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);let n=t.toString()?`?${t.toString()}`:"";return a(await o.get(`/marketplace/items${n}`))}async function Ea(){return a(await o.get("/marketplace/marketplaces"))}async function $a(){return a(await o.get("/marketplace/marketplaces/featured"))}async function qa(e){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function Da(e,t){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function Ma(){return a(await o.get("/marketplace/sources"))}async function Ua(e){return a(await o.post("/marketplace/sources",e),"Failed to add marketplace source")}async function Oa(e){return a(await o.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function fd(e){return a(await o.get(`/templates/${encodeURIComponent(e)}`))}async function yd(e,t){return a(await o.post(`/templates/${encodeURIComponent(e)}/install`,t))}function hd(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 La(e,t){let n=(e===void 0?$():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await R(`${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 J={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var Fc=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Gc=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Bc=new Set([22,4096,parseInt(J.KORTIX_MASTER,10)]);function bd(e){return Gc.test(e)}function wt(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 xd(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var kd=new Set(["'",'"',"`","<","(","["]),Pd=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function wd(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&&kd.has(e[t]);)t++;for(;n>t&&Pd.has(e[n-1]);)n--;return e.slice(t,n)}function _d(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Sd=/^\/proxy\/(\d{1,5})(\/.*)?$/,vd=/^\/(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 Kc(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:vd.test(t.pathname)}catch{return!1}}function Fe(e){if(!e)return null;let t=wd(xd(e.trim())),n=Ga(t);if(n){let r=wt(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(J.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(Sd);if(g){let h=parseInt(g[1],10);if(h>=1&&h<=65535)return s=h,c=wt(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let d=wt(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${d}`,port:s,path:d}}catch{let r=_d(e);return r&&r!==e?Fe(r):null}}function Cd(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,h])=>c>=g&&u<=h)||t.push([c,u])}return t}function Rd(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Nc(e){let t=[],n=new Set,r=Cd(e);Fc.lastIndex=0;let s;for(;(s=Fc.exec(e))!==null;){let c=Fe(s[0]);if(!c)continue;let{originalUrl:u,port:d,path:g}=c;d<1||d>65535||Bc.has(d)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:d,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Rd(s.index,r)}))}return t}function Td(e){return Nc(e).length>0}function Id(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Se(e,t,n){let r=wt(t);if(!Id(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 jd(e,t){return Se(e,"/",t)}function Hc(e){let t=Fe(e);return!(!t||Bc.has(t.port)||Kc(e))}function Fa(e,t){if(!e)return e;let n=Fe(e);return n?Hc(n.originalUrl)?Se(n.port,n.path,t):n.originalUrl:e}function Ad(e,t="/"){return`http://localhost:${e}${t}`}var Vc=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Ga(e){let t=e.match(Gc);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(Vc);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 Ed(e){try{let t=Ga(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function $d(e){return bd(e)||Vc.test(e)}var Le="/web-proxy/";function qd(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Le}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(J.KORTIX_MASTER,10);return`${Se(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Dd(e){try{let t=new URL(e),n=t.pathname.indexOf(Le);if(n===-1)return null;let s=t.pathname.slice(n+Le.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],d=s[3]||"/";return`${c}://${u}${d}${t.search}${t.hash}`}catch{return null}}function Md(e){try{return new URL(e).pathname.includes(Le)}catch{return e.includes(Le)}}function Ud(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 Od(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 Wc="frontend";function _t(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Wc}] ${t}`,...n?[n]:[]);try{Z().app.log({service:Wc,level:e,message:t,extra:n})}catch{}}var ne={debug:(e,t)=>_t("debug",e,t),info:(e,t)=>_t("info",e,t),warn:(e,t)=>_t("warn",e,t),error:(e,t)=>_t("error",e,t)};function zc(e){return{type:"heartbeat-gap",gapMs:e}}function Jc(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 Ld={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Fd=16,Gd=8,Bd=6e4,Kd=5e3,Nd=250,Hd=1e3,Vd=3e4,Wd=5,zd=3e3,Jd=3e4,Xd=2e4,Qd=2e3,Yd=8;function Zd(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Xc(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 St(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??Ld,d=e.connectTimeoutMs??Xd,g=e.heartbeatTimeoutMs??Bd,h=e.maxConsecutiveHardFailures??Yd,m=new AbortController,k=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",k,{once:!0}));let w=u.now(),x=[],l,i=0,P=new Map,_=()=>{if(l&&u.clearTimeout(l),l=void 0,x.length===0)return;let A=x;x=[],P.clear(),i=u.now(),w=u.now();for(let S of A)if(S)try{n(S.event)}catch(T){console.warn("[opencode-events] event handler threw, skipping",T)}},D=()=>{if(l)return;let A=u.now()-i;l=u.setTimeout(_,Math.max(0,Fd-A))};return(async()=>{let A=0,S=0;for(;!m.signal.aborted;){let T=!1,j=!1,f,v,L=null,N=u.now(),U=new AbortController,G=Xc(m.signal);G.promise.then(()=>U.abort());try{let O=await new Promise((At,Re)=>{let K=!1;v=u.setTimeout(()=>{K||(K=!0,ne.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:d}),U.abort(),Re(new Error(`SSE connect timed out after ${d}ms`)))},d),t.global.event({signal:U.signal,sseDefaultRetryDelay:zd,sseMaxRetryDelay:Jd,sseMaxRetryAttempts:1}).then(z=>{K||(K=!0,u.clearTimeout(v),At(z))},z=>{K||(K=!0,u.clearTimeout(v),Re(z))})}),{stream:E}=O;w=u.now();let V=()=>{u.clearTimeout(f),f=u.setTimeout(()=>{ne.warn("SSE heartbeat timeout, forcing reconnect"),U.abort()},g)};V();let ze=u.now(),Ml=E[Symbol.asyncIterator]();for(;!U.signal.aborted;){let At=Ml.next().then(Y=>({kind:"next",result:Y}),Y=>({kind:"error",error:Y})),Re=Xc(U.signal),K=await Promise.race([At,Re.promise.then(()=>({kind:"aborted"}))]);if(Re.cleanup(),K.kind==="aborted")break;if(K.kind==="error")throw K.error;if(K.result.done)break;T=!0,V();let z=K.result.value,Je=z&&typeof z=="object"&&"payload"in z?z.payload:z;if(!Je?.type)continue;let Et=Zd(Je);if(Et){let Y=P.get(Et);Y!==void 0&&(x[Y]=void 0),P.set(Et,x.length)}x.push({type:Je.type,event:Je}),D(),!(u.now()-ze<Gd)&&(ze=u.now(),await new Promise(Y=>u.setTimeout(Y,0)))}j=T}catch(O){if(m.signal.aborted)break;L=O;let E=String(O),V=E.includes("401")||E.includes("403")||E.includes("Unauthorized")||E.includes("Token refresh failed");if(ne.error("SSE event stream error",{error:E,retryCount:A,isAuthError:V}),V)try{Ae(),await rt(),ne.info("SSE: refreshed auth token after auth error")}catch(ze){ne.error("SSE: failed to refresh auth token",{error:String(ze)})}}finally{u.clearTimeout(f),u.clearTimeout(v),U.abort(),G.cleanup(),_()}if(m.signal.aborted)break;let de=u.now()-N,Q=L?.cause?.status;if(S=!T&&(typeof Q=="number"&&Q>=400||de<Qd)?S+1:0,S>=h){ne.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:S,lastError:String(L)});try{s?.({consecutiveFailures:S,lastError:L})}catch(O){console.warn("[opencode-events] onParked handler threw",O)}break}let H=u.now()-w;H>Kd&&r?.(H),j?A=0:(A++,A>1&&ne.warn("SSE event stream reconnecting",{retryCount:A}));let B=j?Nd:Math.min(Hd*2**Math.min(A-1,Wd),Vd);await new Promise(O=>{let E=u.setTimeout(O,B),V=()=>{u.clearTimeout(E),O()};m.signal.addEventListener("abort",V,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",k),l&&u.clearTimeout(l)}}}function eg(){return Z()}var vt=new Map,Ge=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 Qc(e,t){Qe(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 C(`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 i=I().backendUrl??e.backendUrl,P=80,_=n(i);return _&&(P=_.port?Number(_.port):_.protocol==="https:"?443:80),{sandboxId:l,backendPort:P,apiBaseUrl:i}}let s={list:_r,get:vr,create:Sr,updateName:Cr,leave:Ur,members:Rr,invite:Tr,removeMember:Dr,updateMemberRole:Mr,invites:Ir,cancelInvite:jr,resendInvite:Ar,tokens:{list:ha,create:ba,revoke:xa},audit:{log:_a,export:Sa,webhooks:{list:va,create:Ca,update:Ra,remove:Ta}}},c={accountState:ao,accountStateMinimal:co,transactions:lo,transactionsSummary:uo,creditBreakdown:po,usageHistory:go,tierConfigurations:mo,checkout:{createSession:l=>fo(l),confirmSession:(l,i)=>yo(l,i)},subscription:{createPortalSession:(l,i)=>ho(l,i),cancel:(l,i)=>bo(l,i),reactivate:l=>xo(l),scheduleDowngrade:(l,i,P)=>ko(l,i,P),cancelScheduledChange:l=>Po(l),prorationPreview:(l,i)=>wo(l,i)},credits:{purchase:l=>_o(l),autoTopupSettings:l=>So(l),configureAutoTopup:l=>vo(l)}},u={describe:Er,accept:$r,decline:qr},d={list:le,listForAccount:Lr,get:gt,detail:mt,create:Kr,createRepo:Nr,provision:Hr,update:ht,archive:bt,llmCatalog:ft,modelPicker:yt,sandboxHealth:xt,sandboxTemplates:oi,sessions:we,createSession:_e},g={linkRepository:Jr,getInstallation:Xr,listInstallations:Qr,listLinkableInstallations:Yr,listRepositories:Zr,listRepositoryBranches:es,linkInstallation:ns,saveInstallation:ts,deleteInstallation:rs},h={list:ma,create:fa,revoke:ya},m=ti,k={items:l=>Aa(l),item:l=>qa(l),itemFile:(l,i)=>Da(l,i),marketplaces:()=>Ea(),featured:()=>$a(),sources:{list:()=>Ma(),add:l=>Ua(l),remove:l=>Oa(l)}};function w(l){return{get:i=>gt(l,i),detail:()=>mt(l),update:i=>ht(l,i),archive:()=>bt(l),llmCatalog:()=>ft(l),modelPicker:()=>yt(l),sandboxHealth:()=>xt(l),onboardingComplete:(...i)=>zr(l,...i),tokens:{list:()=>ka(l),create:i=>Pa(l,i),revoke:i=>wa(l,i)},setupLinks:{requestSecret:i=>Ia(l,i),requestConnector:i=>ja(l,i)},validateManifest:i=>Gr(l,i),gitToken:()=>Br(l),secrets:{list:()=>Ss(l),upsert:i=>vs(l,i),remove:i=>Is(l,i),setPersonal:(...i)=>js(l,...i),removePersonal:i=>As(l,i),setGitCredential:i=>Ts(l,i),startProviderOAuth:(...i)=>Cs(l,...i),pollProviderOAuth:(...i)=>Rs(l,...i)},access:{list:()=>as(l),invite:(...i)=>us(l,...i),update:(...i)=>cs(l,...i),revoke:i=>ls(l,i),pendingInvites:()=>ps(l),resendInvite:(...i)=>gs(l,...i),revokeInvite:(...i)=>ds(l,...i),requests:()=>ss(l),approveRequest:(...i)=>is(l,...i),rejectRequest:(...i)=>os(l,...i),groupGrants:()=>ms(l),attachGroupGrant:(...i)=>fs(l,...i),updateGroupGrant:(...i)=>ys(l,...i),detachGroupGrant:i=>hs(l,i),resourceGrants:{list:()=>bs(l),create:i=>xs(l,i),remove:i=>ks(l,i)}},connectors:{list:()=>Fs(l),config:(...i)=>Vs(l,...i),create:(...i)=>Js(l,...i),remove:(...i)=>Qs(l,...i),sync:()=>Gs(l),auth:{discover:(...i)=>Xs(l,...i)},setName:(...i)=>Ws(l,...i),setCredentialMode:(...i)=>Bs(l,...i),setCredential:(...i)=>ni(l,...i),setSensitive:(...i)=>Ks(l,...i),profiles:{list:()=>Es(l),reconcile:(...i)=>$s(l,...i),reconcileMember:(...i)=>qs(l,...i),updateCredential:(...i)=>Ds(l,...i),revoke:(...i)=>Ms(l,...i),activate:(...i)=>Us(l,...i),pipedreamConnect:(...i)=>Os(l,...i),pipedreamFinalize:(...i)=>Ls(l,...i)},policies:{get:(...i)=>Ns(l,...i),set:(...i)=>Hs(l,...i)},pipedream:{listApps:(...i)=>Ys(l,...i),connect:(...i)=>zs(l,...i),finalize:(...i)=>ri(l,...i)},discover:{list:(...i)=>Zs(l,...i),detail:(...i)=>ei(l,...i)}},policies:{list:()=>si(l),set:(...i)=>ii(l,...i)},triggers:{list:()=>zi(l),create:(...i)=>Ji(l,...i),update:(...i)=>Xi(l,...i),remove:(...i)=>Qi(l,...i),fire:(...i)=>Zi(l,...i),setActivation:(...i)=>Yi(l,...i)},files:{list:i=>fi(l,i),read:(i,P)=>hi(l,i,P),search:(...i)=>yi(l,...i),archive:(...i)=>bi(l,...i),history:(...i)=>_i(l,...i)},git:{commits:()=>ki(l),commit:i=>Pi(l,i),commitDiff:i=>wi(l,i),branches:()=>xi(l),versionDiff:(...i)=>Si(l,...i),inviteCollaborator:(...i)=>Fr(l,...i)},changeRequests:{list:()=>vi(l),get:i=>Ci(l,i),diff:i=>Ri(l,i),mergePreview:i=>Ti(l,i),open:(...i)=>Ii(l,...i),merge:(...i)=>ji(l,...i),close:(...i)=>Ai(l,...i),reopen:(...i)=>Ei(l,...i),requestChanges:(...i)=>$i(l,...i)},sessions:{list:i=>we(l,i),create:i=>_e(l,i)},review:{list:i=>la(l,i),get:i=>ua(l,i),submit:i=>pa(l,i),act:(...i)=>da(l,...i),bulkAct:i=>ga(l,i)},approvals:{list:i=>Ps(l,i),resolve:(...i)=>_s(l,...i),sessionsNeedingInput:i=>ws(l,i)},gateway:{logs:i=>zo(l,i),log:i=>Jo(l,i),overview:i=>Xo(l,i),series:i=>Qo(l,i),breakdown:i=>Yo(l,i),sessions:i=>Zo(l,i),errors:i=>ea(l,i),budgets:()=>ta(l),setBudget:i=>na(l,i),deleteBudget:i=>ra(l,i),keys:()=>sa(l),createKey:i=>ia(l,i),revokeKey:i=>oa(l,i),routing:{get:()=>No(l),set:i=>Ho(l,i),reset:()=>Vo(l),preview:i=>Wo(l,i)},playground:(i,P,_)=>aa(l,i,P,_)},channels:{slack:{installation:()=>Co(l),connect:i=>Ro(l,i),mode:()=>To(l),manifest:()=>Io(l),disconnect:()=>jo(l),getFile:i=>Ao(l,i),uploadFile:i=>Eo(l,i)},email:{installation:i=>qo(l,i),mode:()=>Do(l),connect:i=>Mo(l,i),disconnect:i=>Uo(l,i),updatePolicy:(...i)=>Oo(l,...i)},meet:{voices:()=>Lo(l),setVoice:i=>Fo(l,i),setBotName:i=>Go(l,i),previewVoice:i=>Bo(l,i),speak:(i,P,_)=>Ko(l,i,P,_)}},updateExperimentalFeature:(...i)=>Vr(l,...i),modelDefaults:{get:()=>to(l),set:i=>no(l,i),clear:i=>ro(l,i)},setDefaultAgent:i=>io(l,i),sandbox:{list:()=>mi(l),snapshots:()=>ai(l),rebuildSnapshot:i=>ci(l,i),fixWithAgent:()=>li(l),createTemplate:i=>ui(l,i),updateTemplate:(...i)=>pi(l,...i),removeTemplate:i=>di(l,i),buildTemplate:i=>gi(l,i),setProvider:i=>Wr(l,i)},setAgentScope:(...i)=>so(l,...i),session:i=>x(l,i)}}function x(l,i){let P=null,_,D;function A(){if(P)return P;let f=Dc(l,i);return f&&(P=f),P}async function S(f){let v=A();if(v)return v;let L=f?.readyTimeoutMs??18e4,N=`${l}
8
+ ${i}`,U=vt.get(N);if(U)return P=await U,P;let G=(async()=>{let de=Date.now()+L,Q=()=>Math.max(0,de-Date.now()),M=await ue(l,i,Math.min(3e4,Q()));for(;Date.now()<de&&(M==null||(M.stage==="provisioning"||M.stage==="starting")&&M.retriable);)await new Promise(O=>setTimeout(O,Math.min(1e3,Q()))),M=await ue(l,i,Math.min(3e4,Q()));if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new C(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let H=M.sandbox.external_id;if(!H)throw new C("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let B=st(H);return bc(B,H),{opencodeSessionId:M.opencode_session_id,runtimeUrl:B,sandboxId:H}})();vt.set(N,G);try{return P=await G,P}finally{vt.get(N)===G&&vt.delete(N)}}function T(f){let v=A();if(!v)throw new Ge(f);return v}function j(){P=null,Uc(l,i)}return{get:f=>Ki(l,i,f),update:f=>Vi(l,i,f),delete:()=>(j(),Wi(l,i)),start:(...f)=>ue(l,i,...f),restart:()=>(j(),Ue(l,i)),stop:()=>(j(),Oe(l,i)),setSharing:f=>Oi(l,i,f),previews:()=>Li(l,i),commit:f=>qi(l,i,f),publicShares:{list:()=>Fi(l,i),create:(...f)=>Gi(l,i,...f),revoke:(...f)=>Bi(l,i,...f)},audit:(f,v)=>Ni(l,i,f,v),transcript:f=>Hi(l,i,f),ensureReady:S,health:f=>La(A()?.runtimeUrl??null,f),previewUrl:(f,v="/")=>Se(f,v,r(T("previewUrl").sandboxId)),proxyUrl:f=>Fa(f,r(T("proxyUrl").sandboxId)),setModel:f=>{_=f},setAgent:f=>{D=f},send:async(f,v)=>{let{opencodeSessionId:L,runtimeUrl:N}=await S(),U=v?.model??_,G=v?.agent??D;return ae(N).session.prompt({sessionID:L,parts:[{type:"text",text:f}],...U?{model:U}:{},...G?{agent:G}:{}})},abort:async()=>{let{opencodeSessionId:f,runtimeUrl:v}=await S();return ae(v).session.abort({sessionID:f})},stream:async f=>{let{runtimeUrl:v}=await S();return St({client:ae(v),onEvent:f.onEvent,onGapRehydrate:f.onGapRehydrate,signal:f.signal})},get runtime(){return ae(T("runtime").runtimeUrl)},files:{list:async f=>dr(f,(await S()).runtimeUrl),read:async f=>ut(f,(await S()).runtimeUrl),readBlob:async f=>pt(f,(await S()).runtimeUrl),status:async()=>gr((await S()).runtimeUrl),findFiles:async(f,v)=>mr(f,v,(await S()).runtimeUrl),findText:async f=>fr(f,(await S()).runtimeUrl),upload:async(f,v,L)=>dt(f,v,L,(await S()).runtimeUrl),create:async f=>yr(f,(await S()).runtimeUrl),copy:async(f,v)=>hr(f,v,(await S()).runtimeUrl),remove:async f=>br(f,(await S()).runtimeUrl),mkdir:async f=>xr(f,(await S()).runtimeUrl),rename:async(f,v)=>kr(f,v,(await S()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:d,project:w,session:x,github:g,billing:c,sandboxShares:h,transcribe:ca,connectStatus:m,marketplace:k,validateToken:Or,runtime:eg}}function Yc(){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 Ba={thinking:!1,toolDetails:!0,assistantMetadata:!0};function tg(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function ng(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 rg(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
  >
12
- > ${(e.text||"").replace(/\n/g,`
12
+ > ${(e.text??"").replace(/\n/g,`
13
13
  > `)}
14
14
 
15
- `:"";if(e.type==="tool"){let r=e,n=`**Tool: ${r.tool}**
16
- `;if(t.toolDetails&&r.state?.input)try{let s=typeof r.state.input=="string"?r.state.input:JSON.stringify(r.state.input,null,2);n+=`
15
+ `:"";if(e.type==="tool"){let n=`**Tool: ${e.tool??"unknown"}**
16
+ `;if(t.toolDetails&&e.state?.input)try{let r=typeof e.state.input=="string"?e.state.input:JSON.stringify(e.state.input,null,2);n+=`
17
17
  <details>
18
18
  <summary>Input</summary>
19
19
 
20
20
  \`\`\`json
21
- ${s}
21
+ ${r}
22
22
  \`\`\`
23
23
 
24
24
  </details>
25
- `}catch{}if(t.toolDetails&&r.state?.status==="completed"&&r.state?.output){let s=r.state.output,c=s.length>2e3?s.slice(0,2e3)+`
26
- ... (truncated)`:s;n+=`
25
+ `}catch{}if(t.toolDetails&&e.state?.status==="completed"&&e.state.output){let r=e.state.output,s=r.length>2e3?r.slice(0,2e3)+`
26
+ ... (truncated)`:r;n+=`
27
27
  <details>
28
28
  <summary>Output</summary>
29
29
 
30
30
  \`\`\`
31
- ${c}
31
+ ${s}
32
32
  \`\`\`
33
33
 
34
34
  </details>
35
- `}return t.toolDetails&&r.state?.status==="error"&&r.state?.error&&(n+=`
35
+ `}return t.toolDetails&&e.state?.status==="error"&&e.state.error&&(n+=`
36
36
  **Error:**
37
37
  \`\`\`
38
- ${r.state.error}
38
+ ${e.state.error}
39
39
  \`\`\`
40
40
  `),n+=`
41
- `,n}return""}function zd(e,t){if(!t)return`## Assistant
41
+ `,n}return""}function sg(e,t){if(!t)return`## Assistant
42
42
 
43
- `;let r=e.agent?Hd(e.agent):"Assistant",n=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=Vd(e.time.completed-e.time.created));let c=[n,s].filter(Boolean).join(" \xB7 ");return c?`## ${r} (${c})
43
+ `;let n=e.agent?tg(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=ng(e.time.completed-e.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
44
44
 
45
- `:`## ${r}
45
+ `:`## ${n}
46
46
 
47
- `}function Jd(e,t,r){let n="";e.role==="user"?n+=`## User
47
+ `}function ig(e,t,n){let r="";e.role==="user"?r+=`## User
48
48
 
49
- `:n+=zd(e,r.assistantMetadata);for(let s of t)n+=Wd(s,r);return n}function Wc(e,t,r=La){let n=`# ${e.title||"Untitled Session"}
49
+ `:r+=sg(e,n.assistantMetadata);for(let s of t)r+=rg(s,n);return r}function Zc(e,t,n=Ba){let r=`# ${e.title||"Untitled Session"}
50
50
 
51
- `;n+=`**Session ID:** \`${e.id}\`
52
- `,n+=`**Created:** ${new Date(e.time.created).toLocaleString()}
53
- `,n+=`**Updated:** ${new Date(e.time.updated).toLocaleString()}
51
+ `;r+=`**Session ID:** \`${e.id}\`
52
+ `,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
53
+ `,r+=`**Updated:** ${new Date(e.time.updated).toLocaleString()}
54
54
 
55
- `,n+=`---
55
+ `,r+=`---
56
56
 
57
- `;for(let s of t)n+=Jd(s.info,s.parts,r),n+=`---
57
+ `;for(let s of t)r+=ig(s.info,s.parts,n),r+=`---
58
58
 
59
- `;return n}function zc(e,t){return`session-${e}.md`}function K(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let r=JSON.parse(t);if(typeof r=="string"){t=r;try{let n=JSON.parse(t);return Ge(n)||t}catch{return t}}return Ge(r)||t}catch{return Xd(t)??t}}return typeof e=="object"?Ge(e)||"An error occurred":String(e)}function Xc(e){let t=e.indexOf("{"),r=e.lastIndexOf("}");if(!(t===-1||r===-1||r<=t))return e.slice(t,r+1)}function Xd(e){let t=Xc(e);if(t)try{return Ge(JSON.parse(t))}catch{return}}function Ge(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 r=t.data;if(typeof r?.message=="string")return r.message;let n=t.error;if(typeof n?.message=="string")return n.message}function Fa(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Jc(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,r=typeof e.code=="string"&&e.code?e.code:void 0,n=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&&!r&&!n&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||Ge(e)||"",provider:t,code:r,suggestion:n,upstreamStatus:s,requestId:c}}function ee(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,d=Fa(u)??Fa(Xc(u));return d!==void 0?ee(d):void 0}if(typeof e!="object")return;let t=e,r=Jc(t);if(r)return r;let n=t.error;if(n&&typeof n=="object"&&!Array.isArray(n)){let u=Jc(n);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Fa(s.responseBody);if(u!==void 0){let d=ee(u);if(d)return d}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let d=ee(u);if(d)return d}}}var Qd={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"}},Yd=[{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 Zd(e){return e.replace(/^oc[-_]/,"")}function Be(e){return Zd(e).replace(/-/g,"_")}function Ct(e){return Be(e).split(/[_\s]+/).filter(Boolean).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}function Rt(e){let t=Be(e),r=Qd[t];if(r)return r;for(let{prefix:n,category:s}of Yd)if(t.startsWith(n))return{label:Ct(e),category:s};return{label:Ct(e),category:"other"}}var eg=256*1024;function tg(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function rg(e){if(e===void 0)return{};if(e.length>eg)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function ng(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,r=t.success===!1,n=t.error,s=typeof n=="string"&&n.length>0||typeof n=="object"&&n!==null;if(!(!r&&!s))return s?K(n):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function sg(e,t){let r="title"in t?t.title:void 0,n=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=rg(n),u=tg(t),d=t.status==="error"?t.error:void 0;if(u==="done"){let g=ng(s);g&&(u="error",d=g)}return{name:e,title:r||Rt(e).label,status:u,input:t.input,output:n,outputParsed:s,outputText:c,error:d}}function ig(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function og(e){return{kind:"reasoning",id:e.id,text:e.text}}function ag(e){return{kind:"tool",id:e.id,tool:sg(e.tool,e.state)}}function cg(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 lg(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function ug(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function pg(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function dg(e){return{kind:"agent",id:e.id,name:e.name}}function gg(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:K(e.error),createdAt:e.time.created}}function mg(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function fg(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function yg(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Ga(e){switch(e.type){case"text":return ig(e);case"reasoning":return og(e);case"tool":return ag(e);case"file":return cg(e);case"subtask":return lg(e);case"patch":return ug(e);case"snapshot":return pg(e);case"agent":return dg(e);case"retry":return gg(e);case"compaction":return mg(e);case"step-start":return fg(e);case"step-finish":return yg(e);default:return{kind:"unknown",raw:e}}}function hg(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",r=ee(e);return{name:t,message:r?.message||K(e),provider:r?.provider,code:r?.code,suggestion:r?.suggestion,upstreamStatus:r?.upstreamStatus,requestId:r?.requestId}}function bg(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Qc(e){let t=e.parts.map(Ga),r=e.info.role==="assistant"?e.info.error:void 0,n=hg(r),s=!n&&!t.some(bg);return{parts:t,error:n,isEmpty:s}}function te(e){return e.type==="text"}function Tt(e){return e.type==="reasoning"}function z(e){return e.type==="tool"}function Yc(e){return e.type==="file"}function xg(e){return e.type==="agent"}function kg(e){return e.type==="compaction"}function Pg(e){return e.type==="snapshot"}function wg(e){return e.type==="patch"}function _g(e){if(te(e)||Tt(e))return e.text}function Zc(e){if(!Yc(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function Sg(e){let t=[],r=[];for(let n of e)Zc(n)?t.push(n):r.push(n);return{attachments:t,stickyParts:r}}function vg(e,t){let r=[];return e?.tool&&r.push(e.tool),t?.tool&&r.push(t.tool),r}function Cg(e,t,r){return r.some(n=>n.messageID===t&&n.callID===e.callID)}var Rg=new Set(["todoread","context_info"]);function el(e){return!Rg.has(e.tool)}function Tg(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 n=e.state?.metadata?.sessionId;if(typeof n=="string"&&n)return n;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 r=e.tool?.replace(/-/g,"_")||"";if(r==="session_spawn"||r==="session_start_background"){let n=e.state?.output;if(n){let s=n.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Ig(e){if(e)for(let t=e.length-1;t>=0;t--){let r=e[t]?.info;if(r?.role==="assistant"&&r.error)return K(r.error)}}function Ag(e){let t=[];for(let r of e)if(r.info.role==="assistant")for(let n of r.parts)z(n)&&el(n)&&t.push(n);return t}function jg(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:tl(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:rl(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 r=t.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[r]||"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:nl(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:Ba(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Ba(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 tl(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Ba(e){if(!e)return;let t=e.split("/"),r=t[t.length-1]||e;if(t.length<=1)return r;let n=t[t.length-2];return n?`${r} /${n}`:r}function rl(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Eg(e,t){if(!t)return e;if(e.startsWith(t)){let r=e.slice(t.length);return r.startsWith("/")?r.slice(1):r}return e}function Ke(e,t=120){if(typeof e!="string")return"";let r=e.split(`
60
- `).map(n=>n.trim()).find(Boolean);return r?r.length>t?`${r.slice(0,t).trim()}\u2026`:r:""}function nl(e){let t=Ke(e.description);if(t)return t;let r=Ke(e.title,80);if(r)return r;let n=Ke(e.message);if(n)return n;let s=Ke(e.prompt);if(s)return s;let c=Ke(e.agent_id,40);return c?`Agent ${c}`:"Worker task"}function qg(e,t){return!e||!t?[]:(e[t]??[]).filter(n=>n.severity===1).slice(0,3)}function $g(e,t){return e.find(r=>r.tool?.callID===t)}function Dg(e,t){return e.find(r=>r.tool?.callID===t)}var Mg=/\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 Ug(e){return e?e.replace(Mg,""):""}function Og(e){let t=[],r=new Map;for(let s of e)if(s.info.role==="user"){if(r.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};t.push(c),r.set(s.info.id,c)}let n=null;for(let s of e){if(s.info.role==="user"){n=r.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let c=s.info;if(c.parentID){let d=r.get(c.parentID);if(d){d.assistantMessages.push(s);continue}}if(n){n.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 Lg(e){let t=[];for(let r of e.assistantMessages)for(let n of r.parts)t.push({part:n,message:r});return t}function Fg(e){for(let t=e.length-1;t>=0;t--){let r=e[t].part;if(te(r)&&r.text?.trim())return r}}function Gg(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Bg(e,t,r){if(r)return[];let n=[];for(let s of e.assistantMessages)for(let c of s.parts){if(!z(c))continue;let u=c,d=u.state?.metadata?.answers;u.tool==="question"&&(d?.length??0)>0&&n.push({part:c,message:s})}return n}function Kg(e){let t=new Map;for(let r of e){if(!r.parentID)continue;let n=t.get(r.parentID);n?n.push(r.id):t.set(r.parentID,[r.id])}return t}function Ng(e){let t=e-6e4;return(r,n)=>{let s=r.time.updated??r.time.created,c=n.time.updated??n.time.created,u=s>t,d=c>t;return u&&d?r.id<n.id?-1:r.id>n.id?1:0:u&&!d?-1:!u&&d?1:c-s}}function sl(e,t){let r=e.get(t);if(!r||r.length===0)return[];let n=[];for(let s of r)n.push(s),n.push(...sl(e,s));return n}function il(e){let t=e.userMessage.parts;if(t.length===0||!t.every(c=>te(c)&&c.synthetic)||e.assistantMessages.length!==1)return!1;let n=e.assistantMessages[0].parts;if(n.length!==1)return!1;let s=n[0];return z(s)&&s.tool==="bash"}function Hg(e){if(il(e))return e.assistantMessages[0].parts[0]}function Vg(e,t){for(let r=t.length-1;r>=0;r--)if(t[r].info.role==="user")return t[r].info.id===e;return!1}function Wg(e,t){return!t||!e?!1:e.type!=="idle"}function zg(e,t){return!e&&!!t}function Jg(e){for(let t of e.assistantMessages){let r=t.info;if(r.error)return K(r.error)}}function Xg(e){for(let t of e.assistantMessages){let r=t.info;if(r.error)return ee(r.error)}}function Ka(e){if(e){if(z(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(Tt(e)){let t=e.text?.trimStart();if(t){let r=t.match(/^\*\*(.+?)\*\*/);if(r)return`Thinking about ${r[1].trim()}...`}return"Thinking..."}if(te(e))return"Gathering thoughts..."}}function Qg(e,t){for(let r=e.length-1;r>=0;r--){let n=e[r].part,s=z(n)?n: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 d=t[u];if(d.info.role==="assistant")for(let g=d.parts.length-1;g>=0;g--){let h=Ka(d.parts[g]);if(h)return h}}return"Delegating to agent..."}let c=Ka(n);if(c)return c}return"Considering next steps..."}function Yg(e){if(!Number.isFinite(e)||e<1e3)return"";let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let r=Math.floor(t/60),n=t%60;return n>0?`${r}m ${n}s`:`${r}m`}var Na=1.2;function ol(e,t){if(!e)return 0;let r=e.input??0,n=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,c=e.cache?.write??0,d=Math.max(0,r-s-c)/1e6*t.inputPer1M;return d+=n/1e6*t.outputPer1M,s>0&&(d+=s/1e6*(t.cacheReadPer1M??t.inputPer1M)),c>0&&(d+=c/1e6*t.inputPer1M),d}function al(e,t,r,n){let s=e.cost||0;if(s>0)return s;if(!n||!t||!r)return 0;let c=n(t,r);return c?ol(e.tokens,c):0}function cl(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function Zg(e,t){let r=0,n=0,s=0,c=0,u=0,d=0,g=!1;for(let{part:h,message:m}of e)if(h.type==="step-finish"){g=!0;let x=h,{providerID:w,modelID:k}=cl(m.info);r+=al(x,w,k,t),n+=x.tokens?.input||0,s+=x.tokens?.output||0,c+=x.tokens?.reasoning||0,u+=x.tokens?.cache?.read||0,d+=x.tokens?.cache?.write||0}if(!g)for(let{message:h}of e){if(h.info.role!=="assistant")continue;let m=h.info,x=ll(m,t);if(x<=0)continue;g=!0,r+=x;let w=m.tokens;w&&(n+=w.input??0,s+=w.output??0,c+=w.reasoning??0,u+=w.cache?.read??0,d+=w.cache?.write??0)}if(g)return{cost:r*Na,tokens:{input:n,output:s,reasoning:c,cacheRead:u,cacheWrite:d}}}function ll(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let r=t(e.providerID,e.modelID);return r?ol({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},r):0}function em(e,t){let r=0;for(let n of e){if(n.info?.role!=="assistant")continue;let s=n.info,{providerID:c,modelID:u}=cl(s),d=0,g=!1;for(let h of n.parts)h.type==="step-finish"&&(g=!0,d+=al(h,c,u,t));g||(d+=ll(s,t)),r+=d}return r*Na}function tm(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function rm(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function nm(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 sm(e){if(!(!e||e.type!=="retry"))return K(e.message)}function im(e){return(e.info.summary?.diffs?.length??0)>0}var om=4e3;function Ne(e,t=om){return e.length>t?`${e.slice(0,t)}
61
- \u2026`:e}function ul(e){if(e!==void 0)try{return Ne(JSON.stringify(e,null,2))}catch{return}}function $(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function we(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function am(e){let t=$(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let r=we(e.outputParsed);if(!r)return{kind:"web-search",query:t};let s=(Array.isArray(r.results)?r.results:Array.isArray(r.images)?r.images:[]).slice(0,50).map(c=>{let u=we(c)??{};return{title:$(u.title)??"",url:$(u.url,u.link)??"",snippet:$(u.snippet,u.description,u.source)}});return{kind:"web-search",query:$(r.query)??t,results:s.length>0?s:void 0,answer:$(r.answer)}}var cm=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function lm(e,t,r){let n="",s=0;for(;;){let c=e.indexOf(t,s);if(c===-1)return n+e.slice(s);let u=e.indexOf(r,c+t.length);if(u===-1)return n+e.slice(s);n+=e.slice(s,c),s=u+r.length}}var um=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function pm(e){let t=-1;for(let r of um){let n=e.indexOf(r);n!==-1&&(t===-1||n<t)&&(t=n)}return t===-1?e:e.slice(0,t)}var dm=/\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 gm(e){return e.replace(dm,"")}function mm(e){let t=$(e.input?.command)??"",r=e.output??"",n=r.match(cm),s=n?Number(n[1]):void 0,u=gm(pm(lm(r,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:u||void 0,exitCode:s}}function Va(e){return $(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function fm(e){let t=e.status==="error"?e.error:e.output&&Ne(e.output)||void 0;return{kind:"file-read",path:Va(e),preview:t}}function ym(e){let t=$(e.input?.content),r=e.status==="error"?e.error:Ne(t??e.output??"")||void 0;return{kind:"file-write",path:Va(e),preview:r}}var hm=256*1024;function bm(e,t){if(e.length+t.length>hm)return;let r=e.split(`
62
- `),n=t.split(`
63
- `),s=0;for(;s<r.length&&s<n.length&&r[s]===n[s];)s++;let c=r.length,u=n.length;for(;c>s&&u>s&&r[c-1]===n[u-1];)c--,u--;let d=[];for(let g=0;g<s;g++)d.push({type:"unchanged",text:r[g]});for(let g=s;g<c;g++)d.push({type:"removed",text:r[g]});for(let g=s;g<u;g++)d.push({type:"added",text:n[g]});for(let g=c;g<r.length;g++)d.push({type:"unchanged",text:r[g]});return d}function xm(e){let t=$(e.input?.oldString),r=$(e.input?.newString),n=t!==void 0&&r!==void 0?bm(t,r):void 0;return{kind:"file-edit",path:Va(e),diff:n}}var dl=/^Found\s+(\d+)\s+match/i,km=/^(\/[^:]+?):\s*/,pl=/Line\s+(\d+):/g;function Pm(e){let t=e.trim(),r=t.match(dl),n=r?t.slice(r[0].length).trim():t;if(!n)return[];let s=[];for(let c of n.split(/\n\n+/)){let u=c.trim();if(!u)continue;let d=u.match(km);if(!d)continue;let g=d[1],h=u.slice(d[0].length),m=[],x;for(pl.lastIndex=0;(x=pl.exec(h))!==null;)m.push({line:Number(x[1]),contentStart:x.index+x[0].length,headerStart:x.index});for(let w=0;w<m.length;w++){let k=w+1<m.length?m[w+1].headerStart:h.length,l=h.slice(m[w].contentStart,k).trim();s.push({path:g,line:m[w].line,content:l.endsWith(";")?l.slice(0,-1):l})}}return s}function wm(e){return e.trim().split(`
64
- `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function _m(e){let t=$(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let r=dl.test(e.output.trim())?Pm(e.output):wm(e.output);return{kind:"search",pattern:t,matches:r.length>0?r.slice(0,200):void 0}}function Sm(e){let t=$(e.input?.description,e.input?.title,e.input?.prompt)??e.title,r=$(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:r}}function Ha(e){let t=we(e)??{};return{content:$(t.content)??"",status:$(t.status)??"pending",priority:$(t.priority)}}function vm(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Ha)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Ha)};let r=we(e.outputParsed);return r&&Array.isArray(r.todos)?{kind:"todo",items:r.todos.map(Ha)}:{kind:"todo",items:[]}}function Cm(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(n=>{let s=we(n)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(d=>{let g=we(d),h=g&&$(g.label);return h?[{label:h,description:g?$(g.description):void 0}]:[]});return{question:$(s.question)??"",header:$(s.header),options:u}})}}function Rm(e){let r=e.input&&Object.keys(e.input).length>0?ul(e.input):void 0,n;return e.outputParsed!==void 0?n=typeof e.outputParsed=="string"?Ne(e.outputParsed):ul(e.outputParsed):e.outputText!==void 0?n=Ne(e.outputText):n=e.error,{kind:"generic",label:e.title,inputPretty:r,outputPretty:n}}function gl(e){switch(Be(e.name)){case"web_search":case"websearch":case"image_search":return am(e);case"bash":return mm(e);case"read":return fm(e);case"write":return ym(e);case"edit":case"morph_edit":return xm(e);case"grep":case"glob":return _m(e);case"task":return Sm(e);case"todowrite":return vm(e);case"question":case"ask":return Cm(e);default:return Rm(e)}}var It=[{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"us.anthropic.claude-opus-4-8",transport:"bedrock",pricingRef:"anthropic/claude-opus-4-8",tier:"flagship",vision:!0,limit:{context:1e6,output:64e3}},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"us.anthropic.claude-sonnet-4-6",transport:"bedrock",pricingRef:"anthropic/claude-sonnet-4-6",tier:"balanced",vision:!0,limit:{context:1e6,output:64e3}},{id:"glm-5.2",name:"GLM 5.2",upstreamModelId:"z-ai/glm-5.2",transport:"openrouter",pricingRef:"z-ai/glm-5.2",tier:"balanced",vision:!1,limit:{context:1e6,output:131072},openrouterProvider:{order:["z-ai"],allow_fallbacks:!0}},{id:"qwen3.7-max",name:"Qwen3.7 Max",upstreamModelId:"qwen/qwen3.7-max",transport:"openrouter",pricingRef:"qwen/qwen3.7-max",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",upstreamModelId:"deepseek/deepseek-v4-pro",transport:"openrouter",pricingRef:"deepseek/deepseek-v4-pro",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"deepseek/deepseek-v4-flash",transport:"openrouter",pricingRef:"deepseek/deepseek-v4-flash",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}}],Kx=new Map(It.map(e=>[e.id,e]));var Nx=It.map(e=>e.id),Hx=(It.find(e=>e.tier==="flagship")??It[0]).id;var ml=!1;function At(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Tm(e,t){if(e==null)return t;let r=e.trim().toLowerCase();return["1","true","yes","y","on"].includes(r)?!0:["0","false","no","n","off"].includes(r)?!1:t}function Im(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 jt(e,t,r){return e!==void 0?e:Tm(At(t),r)}var Am={get disableMobileAdvertising(){return jt(T().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return jt(T().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return jt(T().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return jt(T().featureFlags?.enableAutoModel,"NEXT_PUBLIC_ENABLE_AUTO_MODEL",ml)}};var He="kortix-active-instance",fl=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function yl(e){return fl.some(t=>e===t||e.startsWith(`${t}/`))}function _e(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let r=decodeURIComponent(t[1]),n=t[2]??"";return{instanceId:r,innerPath:n?`/${n}`:""}}function jm(e){let t=_e(e);return!!t&&t.innerPath===""}function Em(e){let t=_e(e);return!t||!t.innerPath?e:t.innerPath}function hl(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let r=_e(t);return r?`/instances/${encodeURIComponent(e)}${r.innerPath}`:t}return yl(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function bl(e){return e?_e(e)?.instanceId??null:null}function qm(){return typeof window>"u"?null:bl(window.location.pathname)||xl()}function xl(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${He}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function $m(e){if(typeof document>"u")return;let t=r=>{document.cookie=r};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${He}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${He}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${He}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Dm(e,t){return t?hl(t,e):e}function Mm(e){let t=_e(e);return t?t.innerPath||"/dashboard":e}function kl(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 Pl(e){let t=kl(e).trim();if(!t)return null;let r=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],n=t.indexOf("{");n>=0&&r.push(t.slice(n));for(let s of r)if(s)try{return JSON.parse(s)}catch{}return null}function Wa(e){let t=Pl(e);if(!t||typeof t!="object")return null;let r=t;return r.name==="ConfigInvalidError"?r:null}function Um(e){return Wa(e)!==null}function Om(e){let t=Wa(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("."),d=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. ${d}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:kl(e)||"The sandbox is running, but OpenCode returned an error."}}function L(){let e=At("BACKEND_URL")||T().backendUrl;return e||"http://localhost:8008/v1"}function Ve(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 r=Ve(t);if(r)return r}return}if(e&&typeof e=="object"){let t=e;return Ve(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var wl=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function _l(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function Lm(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 za(e,t,r){let n=r?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:r?.sandbox_id||t.sandbox_id||t.session_id,external_id:n,name:t.name||`${e.name} session`,provider:r?.provider||t.sandbox_provider||"daytona",base_url:r?.base_url||t.sandbox_url||(r?.external_id?`${L()}/p/${r.external_id}/${W.KORTIX_MASTER}`:""),status:Lm(r?.status||t.status),metadata:{...t.metadata??{},project_id:e.project_id,session_id:t.session_id,project_name:e.name,runtime_status:r?.status,error:t.error},created_at:r?.created_at||t.created_at,updated_at:r?.updated_at||t.updated_at}}async function Ja(){let e=await oe(),t=[];for(let r of e){let n=await be(r.project_id).catch(()=>[]);for(let s of n)t.push({project:r,session:s,runtime:null,sandbox:za(r,s,null)})}return t.sort((r,n)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[r.sandbox.status]??99)-(s[n.sandbox.status]??99);return c!==0?c:Date.parse(n.sandbox.updated_at)-Date.parse(r.sandbox.updated_at)})}async function ae(e){let t=await Ja();return e?t.find(r=>r.sandbox.sandbox_id===e||r.sandbox.external_id===e||r.session.session_id===e||r.runtime?.external_id===e)??null:t[0]??null}async function Et(e,t={}){let r={"Content-Type":"application/json",...t.headers},n=t.signal??AbortSignal.timeout(3e4),s=await R(`${L()}${e}`,{...t,headers:r,signal:n}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let d=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new C(d,{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=me(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function Xa(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`${L()}/p/${e.external_id}/${W.KORTIX_MASTER}`}function Fm(e,t){return e.external_id?`${L()}/p/${e.external_id}/${t}`:null}async function Gm(){let e=await o.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Sl(e){let t=await ae();if(t)return{sandbox:t.sandbox,created:!1};let n=(await oe())[0];if(!n)throw new Error("Create a project before starting a sandbox");let s=await xe(n.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await ke(n.project_id,s.session_id))?.sandbox??null;return{sandbox:za(n,s,c),created:!0}}async function Bm(){return(await ae().catch(()=>null))?.sandbox??null}async function Km(e){return{sandbox:(await Sl(e)).sandbox}}async function Nm(e){let t=Ve(e);return t?(await ae(t).catch(()=>null))?.sandbox??null:null}async function Hm(e,t){throw await ae(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function Vm(e){let t=Ve(e);return(await Ja().catch(()=>[])).map(n=>n.sandbox).filter(n=>!t||n.sandbox_id===t||n.external_id===t)}async function Wm(){if(typeof window>"u")return null;let e=L(),t=Array.from(new Set([e,...wl]));for(let r of t)try{let n=await fetch(_l(r),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!n.ok)continue;let s=await n.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function zm(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await ae(e);if(!t)throw new Error("Project session sandbox not found");await Me(t.project.project_id,t.session.session_id)}async function Jm(e){if(!e)throw new Error("No sandbox selected to stop");let t=await ae(e);if(!t)throw new Error("Project session sandbox not found");await Ue(t.project.project_id,t.session.session_id)}async function Xm(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function Qm(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Ym(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function Zm(e,t,r="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function ef(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function tf(e,t,r){throw new Error("Sandbox members moved to project access; update project access instead")}async function rf(e,t,r){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function nf(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function sf(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function of(e,t,r,n){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Qa(e,t,r){let n=Xa(e),s=await R(`${ne(n)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...r});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function af(e,t){return Qa(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function cf(e,t,r,n="member"){await Qa(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:r,role:n})})}async function lf(e,t,r){await Qa(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(r)}`,{method:"DELETE"})}async function uf(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function pf(e){let t=await Et(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function df(e){let t=await Et(`/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 gf(e){let t=await Et(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function mf(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function ff(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function yf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function hf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function bf(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function xf(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var vl=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function kf(e){return vl.includes(e)}async function Pf(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 wf(e){let t=e?`?channel=${e}`:"",r=await fetch(`${L()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!r.ok)throw new Error(`Version check failed: ${r.status}`);let n=await r.json();try{let s=await Cl(e||"stable");n.changelog=s.find(c=>c.version===n.version)??s[0]??null}catch{n.changelog=null}return n}async function Cl(e){let t=e?`?channel=${e}`:"",r=await fetch(`${L()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!r.ok)throw new Error(`Changelog fetch failed: ${r.status}`);return(await r.json()).changelog}async function _f(){let e=await fetch(`${L()}/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 Sf(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function vf(e){}async function Cf(e){}async function Rf(e){return{serverTypes:[],location:e||"hel1"}}async function Tf(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function If(e){let t=await o.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function Af(e,t){await o.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function jf(){let e=await o.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function Ef(e){let t=await o.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function qf(e,t){return`${L()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}async function $f(){let e=await o.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function Df(e={}){let t=await o.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function Mf(e){let t=await o.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function Uf(e){let t=await o.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function Of(){let e=await o.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function Rl(e){try{let t=new URL(e);if(/^\/proxy\/\d+(?:\/|$)/.test(t.pathname))return`${t.origin}/v1/p/auth`;let r=t.pathname.indexOf("/p/");return r!==-1?`${t.origin}${t.pathname.slice(0,r)}/p/auth`:`${t.origin}/v1/p/auth`}catch{return null}}function Lf(e,t){try{let r=new URL(e),n=r.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(n)||/^\/proxy\/\d+(?:\/|$)/.test(n)))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(r.origin)}catch{return!1}}function Ff(e,t){return Lf(e,t)?(t?Rl(t):null)??Rl(e):null}function Gf(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function Bf(e,t){try{let r=new URL(e);return r.searchParams.set("token",t),r.toString()}catch{return e}}return $l(Kf);})();
59
+ `;return r}function el(e,t){return`session-${e}.md`}function W(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 Be(r)||t}catch{return t}}return Be(n)||t}catch{return og(t)??t}}return typeof e=="object"?Be(e)||"An error occurred":String(e)}function nl(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function og(e){let t=nl(e);if(t)try{return Be(JSON.parse(t))}catch{return}}function Be(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 Ka(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function tl(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||Be(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function re(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,d=Ka(u)??Ka(nl(u));return d!==void 0?re(d):void 0}if(typeof e!="object")return;let t=e,n=tl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=tl(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Ka(s.responseBody);if(u!==void 0){let d=re(u);if(d)return d}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let d=re(u);if(d)return d}}}var ag={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"}},cg=[{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 lg(e){return e.replace(/^oc[-_]/,"")}function Ke(e){return lg(e).replace(/-/g,"_")}function Ct(e){return Ke(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Rt(e){let t=Ke(e),n=ag[t];if(n)return n;for(let{prefix:r,category:s}of cg)if(t.startsWith(r))return{label:Ct(e),category:s};return{label:Ct(e),category:"other"}}var ug=256*1024;function pg(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function dg(e){if(e===void 0)return{};if(e.length>ug)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function gg(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?W(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function mg(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=dg(r),u=pg(t),d=t.status==="error"?t.error:void 0;if(u==="done"){let g=gg(s);g&&(u="error",d=g)}return{name:e,title:n||Rt(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:d}}function fg(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function yg(e){return{kind:"reasoning",id:e.id,text:e.text}}function hg(e){return{kind:"tool",id:e.id,tool:mg(e.tool,e.state)}}function bg(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 xg(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function kg(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Pg(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function wg(e){return{kind:"agent",id:e.id,name:e.name}}function _g(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:W(e.error),createdAt:e.time.created}}function Sg(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function vg(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function Cg(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Na(e){switch(e.type){case"text":return fg(e);case"reasoning":return yg(e);case"tool":return hg(e);case"file":return bg(e);case"subtask":return xg(e);case"patch":return kg(e);case"snapshot":return Pg(e);case"agent":return wg(e);case"retry":return _g(e);case"compaction":return Sg(e);case"step-start":return vg(e);case"step-finish":return Cg(e);default:return{kind:"unknown",raw:e}}}function Rg(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=re(e);return{name:t,message:n?.message||W(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function Tg(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function rl(e){let t=e.parts.map(Na),n=e.info.role==="assistant"?e.info.error:void 0,r=Rg(n),s=!r&&!t.some(Tg);return{parts:t,error:r,isEmpty:s}}function se(e){return e.type==="text"}function Tt(e){return e.type==="reasoning"}function X(e){return e.type==="tool"}function sl(e){return e.type==="file"}function Ig(e){return e.type==="agent"}function jg(e){return e.type==="compaction"}function Ag(e){return e.type==="snapshot"}function Eg(e){return e.type==="patch"}function $g(e){if(se(e)||Tt(e))return e.text}function il(e){if(!sl(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function qg(e){let t=[],n=[];for(let r of e)il(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Dg(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Mg(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var Ug=new Set(["todoread","context_info"]);function ol(e){return!Ug.has(e.tool)}function Og(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 Lg(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return W(n.error)}}function Fg(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)X(r)&&ol(r)&&t.push(r);return t}function Gg(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:al(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:cl(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:ll(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:Ha(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Ha(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 al(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Ha(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 cl(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Bg(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 Ne(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 ll(e){let t=Ne(e.description);if(t)return t;let n=Ne(e.title,80);if(n)return n;let r=Ne(e.message);if(r)return r;let s=Ne(e.prompt);if(s)return s;let c=Ne(e.agent_id,40);return c?`Agent ${c}`:"Worker task"}function Kg(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function Ng(e,t){return e.find(n=>n.tool?.callID===t)}function Hg(e,t){return e.find(n=>n.tool?.callID===t)}var Vg=/\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 Wg(e){return e?e.replace(Vg,""):""}function zg(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 d=n.get(c.parentID);if(d){d.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 Jg(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function Xg(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(se(n)&&n.text?.trim())return n}}function Qg(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Yg(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let c of s.parts){if(!X(c))continue;let u=c,d=u.state?.metadata?.answers;u.tool==="question"&&(d?.length??0)>0&&r.push({part:c,message:s})}return r}function Zg(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 em(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,d=c>t;return u&&d?n.id<r.id?-1:n.id>r.id?1:0:u&&!d?-1:!u&&d?1:c-s}}function ul(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(...ul(e,s));return r}function pl(e){let t=e.userMessage.parts;if(t.length===0||!t.every(c=>se(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 X(s)&&s.tool==="bash"}function tm(e){if(pl(e))return e.assistantMessages[0].parts[0]}function nm(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 rm(e,t){return!t||!e?!1:e.type!=="idle"}function sm(e,t){return!e&&!!t}function im(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return W(n.error)}}function om(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return re(n.error)}}function Va(e){if(e){if(X(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(Tt(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(se(e))return"Gathering thoughts..."}}function am(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=X(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 d=t[u];if(d.info.role==="assistant")for(let g=d.parts.length-1;g>=0;g--){let h=Va(d.parts[g]);if(h)return h}}return"Delegating to agent..."}let c=Va(r);if(c)return c}return"Considering next steps..."}function cm(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 Wa=1.2;function dl(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,d=Math.max(0,n-s-c)/1e6*t.inputPer1M;return d+=r/1e6*t.outputPer1M,s>0&&(d+=s/1e6*(t.cacheReadPer1M??t.inputPer1M)),c>0&&(d+=c/1e6*t.inputPer1M),d}function gl(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?dl(e.tokens,c):0}function ml(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function lm(e,t){let n=0,r=0,s=0,c=0,u=0,d=0,g=!1;for(let{part:h,message:m}of e)if(h.type==="step-finish"){g=!0;let k=h,{providerID:w,modelID:x}=ml(m.info);n+=gl(k,w,x,t),r+=k.tokens?.input||0,s+=k.tokens?.output||0,c+=k.tokens?.reasoning||0,u+=k.tokens?.cache?.read||0,d+=k.tokens?.cache?.write||0}if(!g)for(let{message:h}of e){if(h.info.role!=="assistant")continue;let m=h.info,k=fl(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,d+=w.cache?.write??0)}if(g)return{cost:n*Wa,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:d}}}function fl(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?dl({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function um(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=ml(s),d=0,g=!1;for(let h of r.parts)h.type==="step-finish"&&(g=!0,d+=gl(h,c,u,t));g||(d+=fl(s,t)),n+=d}return n*Wa}function pm(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function dm(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function gm(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 mm(e){if(!(!e||e.type!=="retry"))return W(e.message)}function fm(e){return(e.info.summary?.diffs?.length??0)>0}var ym=4e3;function He(e,t=ym){return e.length>t?`${e.slice(0,t)}
61
+ \u2026`:e}function yl(e){if(e!==void 0)try{return He(JSON.stringify(e,null,2))}catch{return}}function q(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function ve(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function hm(e){let t=q(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=ve(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=ve(c)??{};return{title:q(u.title)??"",url:q(u.url,u.link)??"",snippet:q(u.snippet,u.description,u.source)}});return{kind:"web-search",query:q(n.query)??t,results:s.length>0?s:void 0,answer:q(n.answer)}}var bm=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function xm(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 km=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Pm(e){let t=-1;for(let n of km){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var wm=/\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 _m(e){return e.replace(wm,"")}function Sm(e){let t=q(e.input?.command)??"",n=e.output??"",r=n.match(bm),s=r?Number(r[1]):void 0,u=_m(Pm(xm(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 Ja(e){return q(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function vm(e){let t=e.status==="error"?e.error:e.output&&He(e.output)||void 0;return{kind:"file-read",path:Ja(e),preview:t}}function Cm(e){let t=q(e.input?.content),n=e.status==="error"?e.error:He(t??e.output??"")||void 0;return{kind:"file-write",path:Ja(e),preview:n}}var Rm=256*1024;function Tm(e,t){if(e.length+t.length>Rm)return;let n=e.split(`
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 d=[];for(let g=0;g<s;g++)d.push({type:"unchanged",text:n[g]});for(let g=s;g<c;g++)d.push({type:"removed",text:n[g]});for(let g=s;g<u;g++)d.push({type:"added",text:r[g]});for(let g=c;g<n.length;g++)d.push({type:"unchanged",text:n[g]});return d}function Im(e){let t=q(e.input?.oldString),n=q(e.input?.newString),r=t!==void 0&&n!==void 0?Tm(t,n):void 0;return{kind:"file-edit",path:Ja(e),diff:r}}var bl=/^Found\s+(\d+)\s+match/i,jm=/^(\/[^:]+?):\s*/,hl=/Line\s+(\d+):/g;function Am(e){let t=e.trim(),n=t.match(bl),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 d=u.match(jm);if(!d)continue;let g=d[1],h=u.slice(d[0].length),m=[],k;for(hl.lastIndex=0;(k=hl.exec(h))!==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 x=w+1<m.length?m[w+1].headerStart:h.length,l=h.slice(m[w].contentStart,x).trim();s.push({path:g,line:m[w].line,content:l.endsWith(";")?l.slice(0,-1):l})}}return s}function Em(e){return e.trim().split(`
64
+ `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function $m(e){let t=q(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=bl.test(e.output.trim())?Am(e.output):Em(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function qm(e){let t=q(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=q(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function za(e){let t=ve(e)??{};return{content:q(t.content)??"",status:q(t.status)??"pending",priority:q(t.priority)}}function Dm(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(za)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(za)};let n=ve(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(za)}:{kind:"todo",items:[]}}function Mm(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=ve(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(d=>{let g=ve(d),h=g&&q(g.label);return h?[{label:h,description:g?q(g.description):void 0}]:[]});return{question:q(s.question)??"",header:q(s.header),options:u}})}}function Um(e){let n=e.input&&Object.keys(e.input).length>0?yl(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?He(e.outputParsed):yl(e.outputParsed):e.outputText!==void 0?r=He(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function xl(e){switch(Ke(e.name)){case"web_search":case"websearch":case"image_search":return hm(e);case"bash":return Sm(e);case"read":return vm(e);case"write":return Cm(e);case"edit":case"morph_edit":return Im(e);case"grep":case"glob":return $m(e);case"task":return qm(e);case"todowrite":return Dm(e);case"question":case"ask":return Mm(e);default:return Um(e)}}function It(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Om(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 Lm(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 Xa(e,t,n){return e!==void 0?e:Om(It(t),n)}var Fm={get disableMobileAdvertising(){return Xa(I().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Xa(I().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Xa(I().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var Ve="kortix-active-instance",kl=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Pl(e){return kl.some(t=>e===t||e.startsWith(`${t}/`))}function Ce(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 Gm(e){let t=Ce(e);return!!t&&t.innerPath===""}function Bm(e){let t=Ce(e);return!t||!t.innerPath?e:t.innerPath}function wl(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=Ce(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return Pl(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function _l(e){return e?Ce(e)?.instanceId??null:null}function Km(){return typeof window>"u"?null:_l(window.location.pathname)||Sl()}function Sl(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${Ve}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function Nm(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${Ve}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${Ve}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${Ve}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Hm(e,t){return t?wl(t,e):e}function Vm(e){let t=Ce(e);return t?t.innerPath||"/dashboard":e}function vl(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 Cl(e){let t=vl(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 Qa(e){let t=Cl(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function Wm(e){return Qa(e)!==null}function zm(e){let t=Qa(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("."),d=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. ${d}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:vl(e)||"The sandbox is running, but OpenCode returned an error."}}function F(){let e=It("BACKEND_URL")||I().backendUrl;return e||"http://localhost:8008/v1"}function We(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=We(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return We(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var Rl=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Tl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function Jm(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 Ya(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?`${F()}/p/${n.external_id}/${J.KORTIX_MASTER}`:""),status:Jm(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 Za(){let e=await le(),t=[];for(let n of e){let r=await we(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Ya(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 pe(e){let t=await Za();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 jt(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await R(`${F()}${e}`,{...t,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let d=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new C(d,{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=be(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function ec(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`${F()}/p/${e.external_id}/${J.KORTIX_MASTER}`}function Xm(e,t){return e.external_id?`${F()}/p/${e.external_id}/${t}`:null}async function Qm(){let e=await o.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Il(e){let t=await pe();if(t)return{sandbox:t.sandbox,created:!1};let r=(await le())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await _e(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await ue(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Ya(r,s,c),created:!0}}async function Ym(){return(await pe().catch(()=>null))?.sandbox??null}async function Zm(e){return{sandbox:(await Il(e)).sandbox}}async function ef(e){let t=We(e);return t?(await pe(t).catch(()=>null))?.sandbox??null:null}async function tf(e,t){throw await pe(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function nf(e){let t=We(e);return(await Za().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function rf(){if(typeof window>"u")return null;let e=F(),t=Array.from(new Set([e,...Rl]));for(let n of t)try{let r=await fetch(Tl(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 sf(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await pe(e);if(!t)throw new Error("Project session sandbox not found");await Ue(t.project.project_id,t.session.session_id)}async function of(e){if(!e)throw new Error("No sandbox selected to stop");let t=await pe(e);if(!t)throw new Error("Project session sandbox not found");await Oe(t.project.project_id,t.session.session_id)}async function af(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function cf(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function lf(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function uf(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function pf(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function df(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function gf(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function mf(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function ff(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function yf(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function tc(e,t,n){let r=ec(e),s=await R(`${oe(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 hf(e,t){return tc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function bf(e,t,n,r="member"){await tc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function xf(e,t,n){await tc(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function kf(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Pf(e){let t=await jt(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function wf(e){let t=await jt(`/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 _f(e){let t=await jt(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function Sf(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function vf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Cf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Rf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Tf(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function If(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var jl=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function jf(e){return jl.includes(e)}async function Af(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 Ef(e){let t=e?`?channel=${e}`:"",n=await fetch(`${F()}/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 Al(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Al(e){let t=e?`?channel=${e}`:"",n=await fetch(`${F()}/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 $f(){let e=await fetch(`${F()}/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 qf(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Df(e){}async function Mf(e){}async function Uf(e){return{serverTypes:[],location:e||"hel1"}}async function Of(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function Lf(e){let t=await o.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function Ff(e,t){await o.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function Gf(){let e=await o.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function Bf(e){let t=await o.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function Kf(e,t){return`${F()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}async function Nf(){let e=await o.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function Hf(e={}){let t=await o.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function Vf(e){let t=await o.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function Wf(e){let t=await o.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function zf(){let e=await o.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function El(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 Jf(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 Xf(e,t){return Jf(e,t)?(t?El(t):null)??El(e):null}function Qf(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function Yf(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}function $l(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?.(),d=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!d.ok)throw new Error(`Session synchronization failed: ${d.status}`);return{messages:await d.json(),nextCursor:d.headers.get("x-next-cursor")||void 0}}}function ql(e){return Zf($l(e))}function Dl(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=$l(e),s=async c=>{let u=await e.getToken?.(),d=await t(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!d.ok)throw new Error(`Session synchronization failed: ${d.status}`);return d};return new nc({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function Zf(e){let t=new Map,n=new Set,r;do{let s=await e({limit:10,...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 ey={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},nc=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;tailRequest;olderRequest;livenessTimer;lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??ey,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.loadPage("older","manual",t).then(n=>{this.destroyed||(this.options.hydrate(n.messages),this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}setBusy(t){if(!t){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t);if(this.destroyed)return;this.options.hydrate(n.messages),this.setCursor(n.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:10,...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 checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await Promise.all([this.reconcile("poll"),this.reconcileStatus()]),this.lastActivityAt=this.scheduler.now())}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)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder)){this.snapshot=n;for(let r of this.listeners)r()}}};return Bl(ty);})();