@kortix/sdk 0.11.0 → 0.12.0

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 (194) hide show
  1. package/README.md +110 -73
  2. package/dist/browser/cache/idb-sync-cache-key.d.ts +2 -0
  3. package/dist/browser/cache/idb-sync-cache-key.d.ts.map +1 -0
  4. package/dist/browser/cache/idb-sync-cache-key.js +7 -0
  5. package/dist/browser/cache/idb-sync-cache-key.js.map +1 -0
  6. package/dist/browser/cache/idb-sync-cache.d.ts +3 -3
  7. package/dist/browser/cache/idb-sync-cache.d.ts.map +1 -1
  8. package/dist/browser/cache/idb-sync-cache.js +49 -26
  9. package/dist/browser/cache/idb-sync-cache.js.map +1 -1
  10. package/dist/browser/session-sync/session-cache-ownership.d.ts +36 -0
  11. package/dist/browser/session-sync/session-cache-ownership.d.ts.map +1 -0
  12. package/dist/browser/session-sync/session-cache-ownership.js +66 -0
  13. package/dist/browser/session-sync/session-cache-ownership.js.map +1 -0
  14. package/dist/browser/session-sync/session-sync-registry.d.ts +8 -6
  15. package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
  16. package/dist/browser/session-sync/session-sync-registry.js +86 -33
  17. package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
  18. package/dist/browser/session-sync/session-transcript-cache.d.ts +55 -0
  19. package/dist/browser/session-sync/session-transcript-cache.d.ts.map +1 -0
  20. package/dist/browser/session-sync/session-transcript-cache.js +69 -0
  21. package/dist/browser/session-sync/session-transcript-cache.js.map +1 -0
  22. package/dist/core/client/kortix.d.ts +72 -25
  23. package/dist/core/client/kortix.d.ts.map +1 -1
  24. package/dist/core/client/kortix.js +76 -17
  25. package/dist/core/client/kortix.js.map +1 -1
  26. package/dist/core/rest/platform-client/host-boundary.d.ts +7 -0
  27. package/dist/core/rest/platform-client/host-boundary.d.ts.map +1 -1
  28. package/dist/core/rest/platform-client/host-boundary.js +14 -0
  29. package/dist/core/rest/platform-client/host-boundary.js.map +1 -1
  30. package/dist/core/rest/projects-client/access.d.ts +1 -2
  31. package/dist/core/rest/projects-client/access.d.ts.map +1 -1
  32. package/dist/core/rest/projects-client/access.js +9 -6
  33. package/dist/core/rest/projects-client/access.js.map +1 -1
  34. package/dist/core/rest/projects-client/agent-config.d.ts +15 -7
  35. package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
  36. package/dist/core/rest/projects-client/agent-config.js +43 -2
  37. package/dist/core/rest/projects-client/agent-config.js.map +1 -1
  38. package/dist/core/rest/projects-client/agent-scope.d.ts +4 -0
  39. package/dist/core/rest/projects-client/agent-scope.d.ts.map +1 -1
  40. package/dist/core/rest/projects-client/agent-scope.js +34 -1
  41. package/dist/core/rest/projects-client/agent-scope.js.map +1 -1
  42. package/dist/core/rest/projects-client/audit.d.ts +34 -0
  43. package/dist/core/rest/projects-client/audit.d.ts.map +1 -1
  44. package/dist/core/rest/projects-client/audit.js +49 -4
  45. package/dist/core/rest/projects-client/audit.js.map +1 -1
  46. package/dist/core/rest/projects-client/billing.d.ts +26 -14
  47. package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
  48. package/dist/core/rest/projects-client/billing.js +4 -5
  49. package/dist/core/rest/projects-client/billing.js.map +1 -1
  50. package/dist/core/rest/projects-client/connectors.d.ts +106 -45
  51. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  52. package/dist/core/rest/projects-client/connectors.js +95 -58
  53. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  54. package/dist/core/rest/projects-client/iam.d.ts +17 -0
  55. package/dist/core/rest/projects-client/iam.d.ts.map +1 -1
  56. package/dist/core/rest/projects-client/iam.js +14 -0
  57. package/dist/core/rest/projects-client/iam.js.map +1 -1
  58. package/dist/core/rest/projects-client/index.d.ts +1 -0
  59. package/dist/core/rest/projects-client/index.d.ts.map +1 -1
  60. package/dist/core/rest/projects-client/index.js +1 -0
  61. package/dist/core/rest/projects-client/index.js.map +1 -1
  62. package/dist/core/rest/projects-client/policies.d.ts +18 -0
  63. package/dist/core/rest/projects-client/policies.d.ts.map +1 -1
  64. package/dist/core/rest/projects-client/policies.js.map +1 -1
  65. package/dist/core/rest/projects-client/projects.d.ts +8 -1
  66. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  67. package/dist/core/rest/projects-client/projects.js.map +1 -1
  68. package/dist/core/rest/projects-client/sandbox.d.ts +50 -0
  69. package/dist/core/rest/projects-client/sandbox.d.ts.map +1 -1
  70. package/dist/core/rest/projects-client/sandbox.js.map +1 -1
  71. package/dist/core/rest/projects-client/session-costs.d.ts +102 -0
  72. package/dist/core/rest/projects-client/session-costs.d.ts.map +1 -0
  73. package/dist/core/rest/projects-client/session-costs.js +25 -0
  74. package/dist/core/rest/projects-client/session-costs.js.map +1 -0
  75. package/dist/core/rest/projects-client/session-sandbox.d.ts +0 -2
  76. package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -1
  77. package/dist/core/rest/projects-client/session-sandbox.js +1 -10
  78. package/dist/core/rest/projects-client/session-sandbox.js.map +1 -1
  79. package/dist/core/rest/projects-client/sessions.d.ts +80 -44
  80. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  81. package/dist/core/rest/projects-client/sessions.js +9 -15
  82. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  83. package/dist/core/rest/projects-client/setup-links.d.ts +37 -0
  84. package/dist/core/rest/projects-client/setup-links.d.ts.map +1 -1
  85. package/dist/core/rest/projects-client/setup-links.js +11 -0
  86. package/dist/core/rest/projects-client/setup-links.js.map +1 -1
  87. package/dist/core/session/index.d.ts +1 -1
  88. package/dist/core/session/index.d.ts.map +1 -1
  89. package/dist/core/session/index.js +1 -1
  90. package/dist/core/session/index.js.map +1 -1
  91. package/dist/core/session/preview-auth.d.ts +32 -0
  92. package/dist/core/session/preview-auth.d.ts.map +1 -0
  93. package/dist/core/session/preview-auth.js +53 -0
  94. package/dist/core/session/preview-auth.js.map +1 -0
  95. package/dist/core/session/server-store/url-helpers.d.ts.map +1 -1
  96. package/dist/core/session/server-store/url-helpers.js +5 -3
  97. package/dist/core/session/server-store/url-helpers.js.map +1 -1
  98. package/dist/core/session-sync/session-sync-controller.d.ts +12 -1
  99. package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
  100. package/dist/core/session-sync/session-sync-controller.js +34 -2
  101. package/dist/core/session-sync/session-sync-controller.js.map +1 -1
  102. package/dist/index.d.ts +1 -2
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +0 -1
  105. package/dist/index.js.map +1 -1
  106. package/dist/kortix.esm.min.js +19 -24
  107. package/dist/kortix.global.js +19 -24
  108. package/dist/platform/auth-core.d.ts +5 -3
  109. package/dist/platform/auth-core.d.ts.map +1 -1
  110. package/dist/platform/auth-core.js +6 -4
  111. package/dist/platform/auth-core.js.map +1 -1
  112. package/dist/react/index.d.ts +0 -1
  113. package/dist/react/index.d.ts.map +1 -1
  114. package/dist/react/index.js +0 -1
  115. package/dist/react/index.js.map +1 -1
  116. package/dist/react/model-flatten.d.ts +8 -0
  117. package/dist/react/model-flatten.d.ts.map +1 -1
  118. package/dist/react/model-flatten.js +1 -0
  119. package/dist/react/model-flatten.js.map +1 -1
  120. package/dist/react/opencode.d.ts +1 -1
  121. package/dist/react/opencode.d.ts.map +1 -1
  122. package/dist/react/opencode.js +1 -1
  123. package/dist/react/opencode.js.map +1 -1
  124. package/dist/react/session-title-sync.d.ts +9 -5
  125. package/dist/react/session-title-sync.d.ts.map +1 -1
  126. package/dist/react/session-title-sync.js +14 -10
  127. package/dist/react/session-title-sync.js.map +1 -1
  128. package/dist/react/use-canonical-opencode-session.d.ts +2 -2
  129. package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
  130. package/dist/react/use-model-store.d.ts +6 -14
  131. package/dist/react/use-model-store.d.ts.map +1 -1
  132. package/dist/react/use-model-store.js +30 -52
  133. package/dist/react/use-model-store.js.map +1 -1
  134. package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
  135. package/dist/react/use-opencode-events/handle-event.js +103 -41
  136. package/dist/react/use-opencode-events/handle-event.js.map +1 -1
  137. package/dist/react/use-opencode-sessions/keys.d.ts +3 -1
  138. package/dist/react/use-opencode-sessions/keys.d.ts.map +1 -1
  139. package/dist/react/use-opencode-sessions/keys.js +2 -0
  140. package/dist/react/use-opencode-sessions/keys.js.map +1 -1
  141. package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -1
  142. package/dist/react/use-opencode-sessions/sessions.js +16 -7
  143. package/dist/react/use-opencode-sessions/sessions.js.map +1 -1
  144. package/dist/react/use-opencode-sessions/shared.d.ts +3 -2
  145. package/dist/react/use-opencode-sessions/shared.d.ts.map +1 -1
  146. package/dist/react/use-opencode-sessions/shared.js +6 -3
  147. package/dist/react/use-opencode-sessions/shared.js.map +1 -1
  148. package/dist/react/use-opencode-sessions/sharing.js +2 -2
  149. package/dist/react/use-opencode-sessions/sharing.js.map +1 -1
  150. package/dist/react/use-session-sync.d.ts +13 -1
  151. package/dist/react/use-session-sync.d.ts.map +1 -1
  152. package/dist/react/use-session-sync.js +85 -17
  153. package/dist/react/use-session-sync.js.map +1 -1
  154. package/dist/react/use-session.d.ts +36 -39
  155. package/dist/react/use-session.d.ts.map +1 -1
  156. package/dist/react/use-session.js +100 -205
  157. package/dist/react/use-session.js.map +1 -1
  158. package/package.json +2 -2
  159. package/dist/core/acp/client.d.ts +0 -45
  160. package/dist/core/acp/client.d.ts.map +0 -1
  161. package/dist/core/acp/client.js +0 -277
  162. package/dist/core/acp/client.js.map +0 -1
  163. package/dist/core/acp/index.d.ts +0 -5
  164. package/dist/core/acp/index.d.ts.map +0 -1
  165. package/dist/core/acp/index.js +0 -5
  166. package/dist/core/acp/index.js.map +0 -1
  167. package/dist/core/acp/projection.d.ts +0 -23
  168. package/dist/core/acp/projection.d.ts.map +0 -1
  169. package/dist/core/acp/projection.js +0 -603
  170. package/dist/core/acp/projection.js.map +0 -1
  171. package/dist/core/acp/session-controller.d.ts +0 -90
  172. package/dist/core/acp/session-controller.d.ts.map +0 -1
  173. package/dist/core/acp/session-controller.js +0 -530
  174. package/dist/core/acp/session-controller.js.map +0 -1
  175. package/dist/core/acp/types.d.ts +0 -66
  176. package/dist/core/acp/types.d.ts.map +0 -1
  177. package/dist/core/acp/types.js +0 -21
  178. package/dist/core/acp/types.js.map +0 -1
  179. package/dist/core/session/runtime-transport.d.ts +0 -16
  180. package/dist/core/session/runtime-transport.d.ts.map +0 -1
  181. package/dist/core/session/runtime-transport.js +0 -30
  182. package/dist/core/session/runtime-transport.js.map +0 -1
  183. package/dist/react/session-busy.d.ts +0 -8
  184. package/dist/react/session-busy.d.ts.map +0 -1
  185. package/dist/react/session-busy.js +0 -4
  186. package/dist/react/session-busy.js.map +0 -1
  187. package/dist/react/use-acp-session-runtime.d.ts +0 -34
  188. package/dist/react/use-acp-session-runtime.d.ts.map +0 -1
  189. package/dist/react/use-acp-session-runtime.js +0 -84
  190. package/dist/react/use-acp-session-runtime.js.map +0 -1
  191. package/dist/react/use-admin-users.d.ts +0 -98
  192. package/dist/react/use-admin-users.d.ts.map +0 -1
  193. package/dist/react/use-admin-users.js +0 -121
  194. package/dist/react/use-admin-users.js.map +0 -1
@@ -1,11 +1,11 @@
1
- "use strict";var Kortix=(()=>{var pn=Object.defineProperty;var Fu=Object.getOwnPropertyDescriptor;var Gu=Object.getOwnPropertyNames;var Bu=Object.prototype.hasOwnProperty;var Nu=(e,t)=>{for(var n in t)pn(e,n,{get:t[n],enumerable:!0})},Hu=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Gu(t))!Bu.call(e,s)&&s!==n&&pn(e,s,{get:()=>t[s],enumerable:!(r=Fu(t,s))||r.enumerable});return e};var Ku=e=>Hu(pn({},"__esModule",{value:!0}),e);var Wx={};Nu(Wx,{ACTIVE_INSTANCE_COOKIE:()=>ht,AcpClient:()=>Zt,AcpRpcError:()=>Ne,AcpSessionController:()=>nn,AcpTransportError:()=>Z,ApiError:()=>I,AuthError:()=>je,BillingError:()=>he,COST_MARKUP:()=>wc,DEFAULT_TRANSCRIPT_OPTIONS:()=>hc,DESTRUCTIVE_PHASES:()=>Tu,FEATURE_NOT_SUPPORTED_CODE:()=>pl,HostBoundaryError:()=>ie,INSTANCE_SCOPED_ROUTES:()=>hu,PublicSessionShareError:()=>Kt,PublicVoiceJoinError:()=>Wt,RequestTooLargeError:()=>Ee,RuntimeNotReadyError:()=>Et,SANDBOX_FS_ROOTS:()=>Dt,SANDBOX_PORTS:()=>ne,SessionNotReadyError:()=>gt,SessionStartError:()=>Ht,__getConfigResolver:()=>zu,__setConfigResolver:()=>Vu,acceptAccountInvite:()=>os,acceptInvite:()=>Lb,actReviewItem:()=>Ga,activateConnectionProfile:()=>pi,addGroupMembers:()=>Fg,addMarketplaceSource:()=>dc,addSandboxMember:()=>Cb,allDescendantIds:()=>Jl,appendPreviewToken:()=>Lx,applyAcpEnvelope:()=>tn,approveProjectAccessRequest:()=>Es,approveTask:()=>Sp,archiveProject:()=>Bt,assignTicket:()=>Ep,attachGroupToProject:()=>Bs,authenticatedFetch:()=>j,backendApi:()=>i,bindSlackIdentity:()=>kg,bindTeamsIdentity:()=>wg,buildAcpBridgeEndpoint:()=>Rc,buildInstancePath:()=>xu,buildPresentationTemplateImageUrl:()=>Gx,buildPresentationTemplatePdfUrl:()=>Fx,buildPreviewAuthEndpoint:()=>Ux,buildPublicTemplateUrl:()=>Iu,buildRuntimePresentationConversionUrl:()=>Eu,buildSandboxTemplate:()=>Bi,buildStaticFileHealthPreviewUrl:()=>wf,buildStaticFileLocalUrl:()=>kf,buildStaticFilePreviewUrl:()=>Pf,buildStaticFileServicePath:()=>Cl,buildTunnelEventStreamUrl:()=>Uu,buildWebProxyUrl:()=>Cf,bulkActReviewItems:()=>Ba,bulkDeletePolicies:()=>Jg,bulkImportPolicies:()=>Qg,cancelAccountDeletion:()=>Gm,cancelAccountInvite:()=>rs,cancelSandbox:()=>Sb,cancelSandboxUpdate:()=>Zb,cancelScheduledChange:()=>Zo,cancelSubscription:()=>Qo,checkAccessEmail:()=>dx,childMapByParent:()=>Wy,claimComputer:()=>sx,claimPerSeatBilling:()=>xg,claimWarmProjectSession:()=>xo,classifyPart:()=>xc,classifyTurn:()=>Bl,clearModelDefault:()=>Mo,clearSessionFresh:()=>lg,closeChangeRequest:()=>oo,closeMilestone:()=>od,collectTurnParts:()=>By,commentTicket:()=>qp,commitSessionChanges:()=>lo,computeStatusFromPart:()=>kc,configureAutoTopup:()=>ra,configureKortix:()=>wt,confirmCheckoutSession:()=>zo,connectEmail:()=>fa,connectSlack:()=>oa,convertPresentationToGoogleSlides:()=>Ym,convertRuntimePresentation:()=>Bx,copyFile:()=>st,createAccount:()=>Xr,createAccountAuditWebhook:()=>tc,createAccountToken:()=>Va,createAcpClient:()=>vc,createAcpProjection:()=>en,createAcpSessionController:()=>nb,createAuditWebhook:()=>jm,createBackup:()=>Bb,createCheckoutSession:()=>Vo,createConnector:()=>Si,createFile:()=>rt,createGatewayKey:()=>qa,createGroup:()=>Mg,createHttpSessionSyncController:()=>Mu,createInstance:()=>tx,createKortix:()=>Ml,createKortixPty:()=>Lr,createMarketplaceInstallSession:()=>rf,createMilestone:()=>sd,createPerSeatCheckout:()=>bg,createPolicy:()=>Wg,createPortalSession:()=>Jo,createProject:()=>ys,createProjectAgent:()=>Hp,createProjectCliToken:()=>Qa,createProjectRepo:()=>hs,createProjectResourceGrant:()=>Ws,createProjectSession:()=>Ge,createProjectTrigger:()=>To,createRole:()=>nm,createSSEStream:()=>Ou,createSandbox:()=>hb,createSandboxShare:()=>Ha,createSandboxTemplate:()=>Li,createScimToken:()=>cm,createServiceAccountApi:()=>Cm,createSessionPublicShare:()=>yo,createSessionRuntimePolicy:()=>Jh,createSsoGroupMapping:()=>bm,createTask:()=>kp,createTicket:()=>Ap,createTunnelEventStream:()=>Kx,declineAccountInvite:()=>as,declineInvite:()=>Fb,deleteAccountImmediately:()=>Bm,deleteAuditWebhook:()=>$m,deleteBackup:()=>Hb,deleteConnector:()=>Ri,deleteCredential:()=>gd,deleteEnv:()=>Ur,deleteFile:()=>it,deleteGatewayBudget:()=>Ea,deleteGitHubInstallation:()=>Is,deleteGroup:()=>Og,deleteInstance:()=>nx,deleteKortixProject:()=>Zp,deleteMilestone:()=>cd,deletePersonalProjectSecret:()=>si,deletePolicy:()=>zg,deleteProjectAgent:()=>Wp,deleteProjectResourceGrant:()=>Vs,deleteProjectSecret:()=>ni,deleteProjectSession:()=>vo,deleteProjectTrigger:()=>Io,deleteRole:()=>im,deleteSandboxTemplate:()=>Gi,deleteServiceAccountApi:()=>Am,deleteSsoGroupMapping:()=>xm,deleteSsoProvider:()=>ym,deleteTask:()=>vp,deleteTicket:()=>Dp,describeAccountInvite:()=>is,detachGroupFromProject:()=>Hs,detectLocalhostUrls:()=>vl,disableServiceAccountApi:()=>Tm,disconnectEmail:()=>ya,disconnectGitHubApp:()=>Dx,disconnectSlack:()=>la,discoverConnectionProfileOAuth2:()=>ng,discoverConnectorAuth:()=>vi,discoverLocalSandbox:()=>kb,downloadAccountAudit:()=>Cx,dropClientForUrl:()=>wd,dropPublicClientForUrl:()=>vd,ensurePmSession:()=>Bp,ensureProjectConnectorProfile:()=>Zd,ensureSandbox:()=>Cu,ensureWarmProjectSession:()=>bo,env:()=>rl,exportAccountAudit:()=>Za,extractGatewayErrorDetails:()=>ge,extractInstanceRoute:()=>He,featureFlags:()=>ib,fetchAccountStateWithToken:()=>yg,fetchAccountsWithToken:()=>Nd,fetchProjectArchive:()=>Vi,fetchProjectsForAccountWithToken:()=>Jd,files:()=>ll,findFiles:()=>tt,findLastTextPart:()=>Ny,findText:()=>nt,fireProjectTrigger:()=>Eo,fixSandboxWithAgent:()=>Oi,formatBillingErrorForUI:()=>nl,formatCost:()=>sh,formatDuration:()=>th,formatOpenCodeRuntimeError:()=>Su,formatRuntimeError:()=>Su,formatTokens:()=>ih,formatTranscript:()=>Ol,generateSessionId:()=>Ul,getAccount:()=>Yr,getAccountDeletionStatus:()=>Lm,getAccountState:()=>Fo,getAccountStateMinimal:()=>Go,getActiveInstanceIdFromCookie:()=>ku,getAdminProviderAnalytics:()=>Vm,getAdminProviderDistribution:()=>Hm,getAdminProviderFallback:()=>Jm,getAdminRole:()=>Nm,getAgentCardLabel:()=>zl,getAgentConfig:()=>mg,getAgentPersona:()=>Vp,getAllVersions:()=>Qb,getAnsweredQuestionParts:()=>Ky,getAuthToken:()=>Qe,getAuthTokenWithRetry:()=>Er,getAutoTopupSettings:()=>na,getAutoTopupSetupStatus:()=>hg,getBillingCreditBreakdown:()=>Ho,getBillingTierConfigurations:()=>Wo,getBillingTransactionsSummary:()=>No,getBillingUsageHistory:()=>Ko,getChangeRequest:()=>to,getChangeRequestDiff:()=>no,getChangeRequestMergePreview:()=>ro,getChildSessionError:()=>Ey,getChildSessionId:()=>jy,getChildSessionToolParts:()=>$y,getClient:()=>ce,getClientForUrl:()=>te,getConnectStatus:()=>Ii,getConnectionPolicies:()=>ag,getConnectionProfileOAuth2Application:()=>tg,getConnectionProfileOAuth2Status:()=>og,getConnectorConfig:()=>ki,getConnectorPolicies:()=>xi,getConnectorSetupLink:()=>hx,getCurrentInstanceIdFromPathname:()=>Pu,getCurrentInstanceIdFromWindow:()=>cb,getCurrentProject:()=>Wr,getDefaultAccountState:()=>Lo,getDiagnostics:()=>My,getDirectory:()=>Vl,getDiscoverIntegration:()=>Ai,getEmailInstallation:()=>ga,getEmailMode:()=>ma,getEnterpriseDemo:()=>Um,getFileStatus:()=>et,getFileWithDir:()=>Pc,getFilename:()=>Wl,getFullChangelog:()=>Au,getGatewayBreakdown:()=>Ca,getGatewayBudgets:()=>Ia,getGatewayErrors:()=>Aa,getGatewayKeys:()=>$a,getGatewayLog:()=>Sa,getGatewayOverview:()=>va,getGatewayRoutingPolicy:()=>xa,getGatewaySeries:()=>Ra,getGatewaySessions:()=>Ta,getGitHubAppStatus:()=>jx,getGitHubInstallation:()=>_s,getGoogleAuthUrl:()=>Xm,getGroup:()=>Dg,getHiddenToolParts:()=>Ty,getInvite:()=>Ob,getJustavpsServerTypes:()=>ex,getKortixProject:()=>Qp,getKortixProjectBySession:()=>Xp,getKortixPtyWebSocketUrl:()=>Br,getLatestSandboxVersion:()=>Jb,getMaintenanceConfig:()=>_x,getManagedGitStatus:()=>Wd,getMarketplaceCatalogItem:()=>lc,getMarketplaceCatalogItemFile:()=>uc,getMfaRequired:()=>um,getMilestone:()=>nd,getModelDefaults:()=>qo,getOAuthConsentRequest:()=>fx,getOpenCodeConfigInvalidError:()=>Ac,getPartText:()=>Ry,getPatPolicy:()=>Sm,getPermissionForTool:()=>Uy,getProject:()=>Ut,getProjectActivity:()=>zp,getProjectCommit:()=>Qi,getProjectCommitDiff:()=>Xi,getProjectDetail:()=>Ot,getProjectFileHistory:()=>Yi,getProjectGitToken:()=>fs,getProjectLlmCatalog:()=>Lt,getProjectLlmCatalogProviders:()=>Kd,getProjectModelPicker:()=>Ft,getProjectSandboxHealth:()=>Nt,getProjectSandboxProviderTransition:()=>Vd,getProjectSession:()=>Po,getProrationPreview:()=>ea,getProviders:()=>fb,getProxyBaseUrl:()=>_f,getPublicClientForUrl:()=>Sd,getPublicMarketplaceItem:()=>ux,getPublicMarketplaceItemFile:()=>px,getPublicSessionShare:()=>Zm,getPublicSessionShareMessages:()=>ef,getPublicShareByToken:()=>kx,getPublicTemplate:()=>Ix,getPublicVoiceJoin:()=>tf,getPublicVoiceTranscript:()=>nf,getQuestionForTool:()=>Oy,getReferralCode:()=>Tg,getReferralStats:()=>jg,getRetryInfo:()=>oh,getRetryMessage:()=>ah,getReviewItem:()=>La,getRolePermissions:()=>Zg,getRoleUsage:()=>tm,getSSHConnection:()=>Wb,getSandbox:()=>yb,getSandboxById:()=>bb,getSandboxMemberScopes:()=>Eb,getSandboxPortUrl:()=>mb,getSandboxProvisionStatus:()=>ix,getSandboxProvisionStreamUrl:()=>ox,getSandboxUpdateStatus:()=>zb,getSandboxUrl:()=>Ec,getSecretSetupLink:()=>xx,getServerHealth:()=>Mt,getServiceLogs:()=>bd,getSessionAudit:()=>ko,getSessionCost:()=>rh,getSessionHealth:()=>mc,getSessionPolicy:()=>Pm,getSessionPreviewCandidates:()=>mo,getSessionTranscript:()=>wo,getShellModePart:()=>zy,getSlackChannelFile:()=>ua,getSlackInstallation:()=>ia,getSlackManifest:()=>ca,getSlackMode:()=>aa,getSsoProvider:()=>gm,getStaticFileHealthPath:()=>Tl,getSupabaseAccessToken:()=>Tt,getSupabaseAccessTokenWithRetry:()=>Ae,getTask:()=>bp,getTaskStatus:()=>Pp,getTemplate:()=>sf,getTicket:()=>Cp,getToolInfo:()=>qy,getTranscriptFilename:()=>Ll,getTurnCost:()=>nh,getTurnError:()=>Yy,getTurnErrorDetails:()=>Zy,getTurnStatus:()=>eh,getUsageRollup:()=>sa,getUserRolesWithToken:()=>vx,getVersionDiff:()=>Zi,getViewerSandboxScopes:()=>jb,getVoiceTranscript:()=>_o,getWorkingState:()=>Qy,grantSandboxProjectAccess:()=>Db,groupMessagesIntoTurns:()=>Gy,hasDiffs:()=>ch,hasLocalhostUrls:()=>bf,hasPreviewTarget:()=>Rl,heartbeatGapEvent:()=>$l,humanizeToolName:()=>Xt,importSsoProviderFromMetadata:()=>fm,installTemplate:()=>of,invalidateTokenCache:()=>Je,inviteAccountMember:()=>ts,inviteProjectMember:()=>Us,inviteRepoCollaborator:()=>gs,isAdminBypassEnabled:()=>Gd,isAgentPart:()=>wy,isAppRouteUrl:()=>Sl,isAttachment:()=>Hl,isBillingError:()=>tl,isCompactionPart:()=>_y,isConfigured:()=>_t,isDestructivePhase:()=>Vb,isExternalUrl:()=>If,isFilePart:()=>Nl,isInstanceDetailPath:()=>ob,isInstanceScopedAppPath:()=>bu,isInternalLocalhostUrl:()=>Rf,isInviteSent:()=>Yd,isLastUserMessage:()=>Jy,isManagedGithubProject:()=>Hd,isOpenCodeConfigInvalidError:()=>db,isPatchPart:()=>vy,isPreviewUrl:()=>vf,isProxiableLocalhostUrl:()=>Al,isReasoningPart:()=>Yt,isRuntimeReady:()=>af,isServerReachable:()=>Vr,isSessionFresh:()=>po,isSessionStartError:()=>pg,isShellMode:()=>Ql,isSnapshotPart:()=>Sy,isSubdomainPreviewUrl:()=>Ox,isTextPart:()=>fe,isToolPart:()=>re,isToolPartHidden:()=>Ay,isUnderSandboxRoot:()=>Nr,isWebProxyUrl:()=>Af,kortixPty:()=>il,leaveAccount:()=>us,linkGitHubInstallation:()=>As,linkRepository:()=>ws,listAccountAudit:()=>Ya,listAccountAuditWebhooks:()=>ec,listAccountInvites:()=>ns,listAccountMembers:()=>es,listAccountSessions:()=>wm,listAccountTokens:()=>Wa,listAccounts:()=>Qr,listActions:()=>em,listAdminSandboxes:()=>Km,listAgentIdentities:()=>Yg,listAllConnectionProfiles:()=>oi,listAuditEvents:()=>qm,listAuditWebhooks:()=>Im,listBackups:()=>Gb,listBillingTransactions:()=>Bo,listChangeRequests:()=>eo,listChannelBindings:()=>vg,listColumns:()=>Mp,listConnectionProfiles:()=>ii,listConnectors:()=>fi,listCredentialEvents:()=>ud,listCredentials:()=>ld,listDiscoverIntegrations:()=>Ti,listEnv:()=>Dr,listFeaturedMarketplaces:()=>cc,listFields:()=>Op,listFiles:()=>Ze,listGatewayLogs:()=>_a,listGitHubInstallations:()=>Ss,listGitHubRepositories:()=>Rs,listGitHubRepositoryBranches:()=>Cs,listGroupMembers:()=>Lg,listGroupProjectGrants:()=>Gg,listGroups:()=>qg,listKortixProjectSessions:()=>Yp,listKortixProjects:()=>Jp,listKortixPty:()=>Or,listLinkableGitHubInstallations:()=>vs,listMarketplaceCatalogItems:()=>oc,listMarketplaceSources:()=>pc,listMarketplaces:()=>ac,listMemberGroups:()=>Ng,listMemberProjectAccess:()=>Hg,listMilestoneEvents:()=>rd,listMilestones:()=>td,listPendingApprovals:()=>zs,listPendingProjectInvites:()=>Os,listPipedreamApps:()=>Ci,listPolicies:()=>Kg,listProjectAccess:()=>qs,listProjectAccessRequests:()=>js,listProjectAgents:()=>Np,listProjectBranches:()=>zi,listProjectCliTokens:()=>Ja,listProjectCommits:()=>Ji,listProjectFiles:()=>Hi,listProjectGroupGrants:()=>Gs,listProjectPolicies:()=>$i,listProjectResourceGrants:()=>Ks,listProjectSandboxTemplates:()=>Di,listProjectSandboxes:()=>Ni,listProjectSecrets:()=>Xs,listProjectSessions:()=>Fe,listProjectSnapshots:()=>Mi,listProjectTriggers:()=>Co,listProjects:()=>ke,listProjectsForAccount:()=>ds,listPublicMarketplaceItems:()=>cx,listPublicMarketplaces:()=>lx,listReferrals:()=>Eg,listReviewItems:()=>Oa,listRoles:()=>Xg,listSandboxMembers:()=>Rb,listSandboxProjectMembers:()=>qb,listSandboxShares:()=>Na,listSandboxes:()=>Pb,listScimTokens:()=>am,listServiceAccountsApi:()=>Rm,listServiceTemplates:()=>hd,listServices:()=>yd,listSessionPublicShares:()=>fo,listSessionsNeedingInput:()=>Js,listSsoGroupMappings:()=>hm,listTaskEvents:()=>xp,listTasks:()=>hp,listTemplates:()=>Fp,listTicketEvents:()=>Tp,listTickets:()=>Rp,loadHttpSessionHistory:()=>Du,markInstanceError:()=>rx,markSessionFresh:()=>ct,mergeChangeRequest:()=>io,migrateAdminSandboxProvider:()=>zm,mkdir:()=>ot,narrowChatEvent:()=>ql,normalizeAppPathname:()=>pb,normalizeExternalInput:()=>jf,normalizeToolName:()=>me,openChangeRequest:()=>so,openEventStream:()=>Jt,openStressTestStream:()=>Tx,parseBillingError:()=>$e,parseFlagOverride:()=>sb,parseLocalhostUrl:()=>dt,parseOpenCodeErrorPayload:()=>_u,parseSubdomainUrl:()=>yc,parseWebProxyUrl:()=>Tf,patchKortixProject:()=>ed,pipedreamConnect:()=>_i,pipedreamConnectConnectionProfile:()=>gi,pipedreamFinalize:()=>Ei,pipedreamFinalizeConnectionProfile:()=>mi,platformConfig:()=>q,pollConnectionProfileOAuth2DeviceAuthorization:()=>ig,pollProjectProviderOAuth:()=>ei,previewGatewayRoute:()=>wa,previewMfaRequired:()=>pm,probeEffectivePermission:()=>Dm,probeEffectivePermissions:()=>Mm,projectSessionStartSeed:()=>ug,provisionProject:()=>bs,provisionProjectWithToken:()=>Qd,proxyLocalhostUrl:()=>fc,proxyUrlToInternal:()=>Sf,purchaseCredits:()=>ta,putConnectionProfileOAuth2Application:()=>eg,reactivateSandbox:()=>vb,reactivateSubscription:()=>Xo,readBlob:()=>Ue,readFile:()=>Me,readProjectFile:()=>Wi,rebuildProjectSnapshot:()=>Ui,reconcileConnectionProfile:()=>ai,reconcileMemberConnectionProfile:()=>ci,reconcileServices:()=>Pd,recordPlatformLogout:()=>mx,refreshReferralCode:()=>Ag,registerService:()=>kd,rejectProjectAccessRequest:()=>$s,relativizePath:()=>Dy,removeAccountAuditWebhook:()=>rc,removeAccountMember:()=>cs,removeGroupMember:()=>Bg,removeKortixPty:()=>Gr,removeMarketplaceSource:()=>gc,removeSandboxMember:()=>Tb,renameFile:()=>at,renameSandbox:()=>xb,reopenChangeRequest:()=>ao,reopenMilestone:()=>ad,replaceColumns:()=>Up,replaceFields:()=>Lp,replaceTemplates:()=>Gp,requestAccountDeletion:()=>Fm,requestChangesOnChangeRequest:()=>co,requestProjectAccess:()=>Xd,requestProjectConnector:()=>ic,requestProjectSecret:()=>sc,resendAccountInvite:()=>ss,resendPendingProjectInvite:()=>Fs,resetClient:()=>_d,resetGatewayRoutingPolicy:()=>ka,resetPublicClient:()=>Rd,resetSandboxUpdateStatus:()=>Yb,resolveApproval:()=>Qs,resolveSessionRuntimeTransport:()=>gu,restartProjectSession:()=>lt,restartSandbox:()=>wb,restoreBackup:()=>Nb,revealCredential:()=>dd,revokeAccountSession:()=>_m,revokeAccountToken:()=>za,revokeConnectionProfile:()=>ui,revokeGatewayKey:()=>Da,revokePendingProjectInvite:()=>Ls,revokeProjectAccess:()=>Ms,revokeProjectCliToken:()=>Xa,revokeSandboxInvite:()=>Ub,revokeSandboxProjectAccess:()=>Mb,revokeSandboxShare:()=>Ka,revokeScimToken:()=>lm,revokeSessionPublicShare:()=>ho,rewriteLocalhostUrl:()=>pe,runGatewayPlayground:()=>Ma,saveGitHubInstallation:()=>Ts,scheduleDowngrade:()=>Yo,searchProjectFiles:()=>Ki,sendReferralEmails:()=>$g,serviceAction:()=>xd,sessionStartKey:()=>gg,setActiveInstanceCookie:()=>lb,setAdminBypass:()=>Fd,setAdminProviderDistribution:()=>Wm,setAdminProviderFallback:()=>Qm,setAgentScope:()=>Uo,setBootstrapAuthToken:()=>gp,setCachedAuthToken:()=>dp,setConnectionPolicies:()=>cg,setConnectorCredential:()=>ji,setConnectorCredentialMode:()=>hi,setConnectorName:()=>wi,setConnectorPolicies:()=>Pi,setConnectorSensitive:()=>bi,setDefaultConnectionProfile:()=>di,setEnterpriseDemo:()=>Om,setEnv:()=>Mr,setGatewayBudget:()=>ja,setGatewayRoutingPolicy:()=>Pa,setGitHubAppFromExisting:()=>$x,setGitHubAppPat:()=>qx,setMaintenanceConfig:()=>Sx,setMeetBotName:()=>ba,setMemberSuperAdmin:()=>om,setMfaRequired:()=>dm,setModelDefault:()=>Do,setPersonalProjectSecret:()=>ri,setProjectOnboardingComplete:()=>ks,setProjectPolicies:()=>qi,setProjectSessionModel:()=>Ro,setProjectSessionSharing:()=>go,setProjectTriggersActivation:()=>jo,setupSSH:()=>Kb,shouldHideResponsePart:()=>Xy,shouldShowToolPart:()=>Kl,sortSessions:()=>Vy,splitUserParts:()=>Cy,startConnectionProfileOAuth2Authorization:()=>rg,startConnectionProfileOAuth2DeviceAuthorization:()=>sg,startConnectorSetupLink:()=>bx,startGitHubAppManifest:()=>Ex,startProjectProviderOAuth:()=>Zs,startProjectSession:()=>_e,startSessionWithToken:()=>wx,startTask:()=>_p,stopProjectSession:()=>ut,stopSandbox:()=>_b,stripAnsi:()=>Fy,stripInstancePrefix:()=>ab,stripTrailingSlashes:()=>be,submitAccessRequest:()=>gx,submitDemoRequest:()=>Rx,submitOAuthConsent:()=>yx,submitReviewItem:()=>Fa,submitSecretSetupLink:()=>Px,supabaseClient:()=>Bd,syncConnectors:()=>yi,syncSubscription:()=>Pg,systemReload:()=>Td,toDaemonPath:()=>xe,toInstanceAwarePath:()=>ub,toInternalUrl:()=>Il,toSandboxAbsolutePath:()=>Hr,toWorkspaceRelative:()=>Kr,toolInfo:()=>Se,toolViewModel:()=>su,transcribeAudio:()=>Ua,triggerSandboxUpdate:()=>Xb,triggersRequest:()=>sl,turnHasSteps:()=>Hy,unassignTicket:()=>$p,unwrapError:()=>Y,updateAccountAuditWebhook:()=>nc,updateAccountMemberRole:()=>ls,updateAccountName:()=>Zr,updateAgentConfig:()=>fg,updateAuditWebhook:()=>Em,updateChannelBinding:()=>Rg,updateConnectionProfileCredential:()=>li,updateEmailPolicy:()=>ha,updateExperimentalFeature:()=>xs,updateGroup:()=>Ug,updateKortixPty:()=>Fr,updateMilestone:()=>id,updatePatPolicy:()=>vm,updatePolicy:()=>Vg,updateProject:()=>Gt,updateProjectAccess:()=>Ds,updateProjectAgent:()=>Kp,updateProjectDefaultAgent:()=>Oo,updateProjectGroupGrant:()=>Ns,updateProjectSandboxProvider:()=>Ps,updateProjectSession:()=>So,updateProjectTrigger:()=>Ao,updateRole:()=>rm,updateRolePermissions:()=>sm,updateSandboxMemberRole:()=>Ab,updateSandboxMemberScope:()=>$b,updateSandboxMemberSpendCap:()=>Ib,updateSandboxTemplate:()=>Fi,updateSessionPolicy:()=>km,updateTask:()=>wp,updateTemplateWarmPool:()=>zd,updateTicket:()=>Ip,updateTicketStatus:()=>jp,uploadFile:()=>Oe,uploadSlackChannelFile:()=>pa,upsertCredential:()=>pd,upsertProjectGitCredential:()=>ti,upsertProjectSecret:()=>Ys,upsertSsoProvider:()=>mm,validateProjectManifest:()=>ms,validateReferralCode:()=>Ig,validateToken:()=>ps,verifyGatewayProvider:()=>Cg});var Wu={backendUrl:"",getToken:async()=>null},dn=null,kt=null;function Vu(e){kt=e}function zu(){return kt}function wt(e,t){t?.global!==!1&&(dn=e)}function q(){return kt?.()??dn??Wu}function _t(){return dn!==null||kt?.()!==void 0}var Uc=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:o,sseMaxRetryAttempts:l,sseMaxRetryDelay:p,sseSleepFn:d,url:f,...m})=>{let h,x=d??(a=>new Promise(S=>setTimeout(S,a)));return{stream:async function*(){let a=o??3e3,S=0,T=m.signal??new AbortController().signal;for(;!T.aborted;){S++;let C=m.headers instanceof Headers?m.headers:new Headers(m.headers);h!==void 0&&C.set("Last-Event-ID",h);try{let w={redirect:"follow",...m,body:m.serializedBody,headers:C,signal:T},v=new Request(f,w);e&&(v=await e(f,w));let $=await(m.fetch??globalThis.fetch)(v);if(!$.ok)throw new Error(`SSE failed: ${$.status} ${$.statusText}`);if(!$.body)throw new Error("No body in SSE response");let y=$.body.pipeThrough(new TextDecoderStream).getReader(),R="",H=()=>{try{y.cancel()}catch{}};T.addEventListener("abort",H);try{for(;;){let{done:V,value:B}=await y.read();if(V)break;R+=B,R=R.replace(/\r\n/g,`
1
+ "use strict";var Kortix=(()=>{var gn=Object.defineProperty;var $u=Object.getOwnPropertyDescriptor;var qu=Object.getOwnPropertyNames;var Du=Object.prototype.hasOwnProperty;var Mu=(e,t)=>{for(var n in t)gn(e,n,{get:t[n],enumerable:!0})},Uu=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of qu(t))!Du.call(e,s)&&s!==n&&gn(e,s,{get:()=>t[s],enumerable:!(r=$u(t,s))||r.enumerable});return e};var Ou=e=>Uu(gn({},"__esModule",{value:!0}),e);var Rx={};Mu(Rx,{ACTIVE_INSTANCE_COOKIE:()=>ut,ApiError:()=>I,AuthError:()=>ve,BillingError:()=>me,COST_MARKUP:()=>bc,DEFAULT_TRANSCRIPT_OPTIONS:()=>gc,DESTRUCTIVE_PHASES:()=>Pu,FEATURE_NOT_SUPPORTED_CODE:()=>il,HostBoundaryError:()=>re,INSTANCE_SCOPED_ROUTES:()=>uu,PublicSessionShareError:()=>Qt,PublicVoiceJoinError:()=>Xt,RequestTooLargeError:()=>Ce,RuntimeNotReadyError:()=>vt,SANDBOX_FS_ROOTS:()=>Tt,SANDBOX_PORTS:()=>te,SessionNotReadyError:()=>it,SessionStartError:()=>Vt,__getConfigResolver:()=>Gu,__setConfigResolver:()=>Fu,acceptAccountInvite:()=>cs,acceptInvite:()=>kb,actReviewItem:()=>Ua,activateConnectionProfile:()=>og,activateConnectorAuthorization:()=>Bt,addGroupMembers:()=>Ng,addMarketplaceSource:()=>cc,addSandboxMember:()=>cb,allDescendantIds:()=>eu,appendPreviewToken:()=>xx,approveProjectAccessRequest:()=>qs,approveTask:()=>hp,archiveProject:()=>Dt,assignTicket:()=>vp,attachGroupToProject:()=>Hs,authenticatedFetch:()=>E,backendApi:()=>i,bindSlackIdentity:()=>Rg,bindTeamsIdentity:()=>Tg,buildInstancePath:()=>du,buildPresentationTemplateImageUrl:()=>_x,buildPresentationTemplatePdfUrl:()=>Px,buildPreviewAuthEndpoint:()=>Tc,buildPublicTemplateUrl:()=>wu,buildRuntimePresentationConversionUrl:()=>vu,buildSandboxTemplate:()=>Di,buildStaticFileHealthPreviewUrl:()=>Af,buildStaticFileLocalUrl:()=>Tf,buildStaticFilePreviewUrl:()=>Rf,buildStaticFileServicePath:()=>El,buildTunnelEventStreamUrl:()=>Iu,buildWebProxyUrl:()=>qf,bulkActReviewItems:()=>Oa,bulkDeletePolicies:()=>tm,bulkImportPolicies:()=>nm,cancelAccountDeletion:()=>Wm,cancelAccountInvite:()=>is,cancelSandbox:()=>ib,cancelSandboxUpdate:()=>qb,cancelScheduledChange:()=>Vo,cancelSubscription:()=>zo,checkAccessEmail:()=>Wb,childMapByParent:()=>Zy,claimComputer:()=>Lb,claimPerSeatBilling:()=>vg,claimWarmProjectSession:()=>po,classifyPart:()=>fc,classifyTurn:()=>Wl,clearModelDefault:()=>Io,clearSessionFresh:()=>dg,closeChangeRequest:()=>Zi,closeMilestone:()=>Zp,collectTurnParts:()=>Jy,commentTicket:()=>Rp,commitSessionChanges:()=>no,computeStatusFromPart:()=>hc,configureAutoTopup:()=>Yo,configureKortix:()=>ft,confirmCheckoutSession:()=>Ko,connectEmail:()=>pa,connectSlack:()=>na,convertPresentationToGoogleSlides:()=>sf,convertRuntimePresentation:()=>wx,copyFile:()=>Qe,createAccount:()=>Zr,createAccountAuditWebhook:()=>Xa,createAccountToken:()=>Ka,createAuditWebhook:()=>Um,createBackup:()=>wb,createCheckoutSession:()=>Bo,createConnector:()=>hi,createFile:()=>Je,createGatewayKey:()=>Ia,createGroup:()=>Bg,createHttpSessionSyncController:()=>Au,createInstance:()=>Mb,createKortix:()=>Gl,createKortixPty:()=>Gr,createMarketplaceInstallSession:()=>pf,createMilestone:()=>Xp,createPerSeatCheckout:()=>Sg,createPolicy:()=>Yg,createPortalSession:()=>Ho,createProject:()=>bs,createProjectAgent:()=>Up,createProjectCliToken:()=>Na,createProjectRepo:()=>xs,createProjectResourceGrant:()=>Vs,createProjectSession:()=>De,createProjectTrigger:()=>_o,createRole:()=>cm,createSSEStream:()=>ju,createSandbox:()=>Yh,createSandboxShare:()=>Fa,createSandboxTemplate:()=>Ei,createScimToken:()=>mm,createServiceAccountApi:()=>$m,createSessionPublicShare:()=>co,createSsoGroupMapping:()=>Sm,createTask:()=>mp,createTicket:()=>_p,createTunnelEventStream:()=>Cx,declineAccountInvite:()=>ls,declineInvite:()=>Pb,deleteAccountImmediately:()=>Vm,deleteAuditWebhook:()=>Lm,deleteBackup:()=>vb,deleteConnector:()=>xi,deleteCredential:()=>od,deleteEnv:()=>Lr,deleteFile:()=>Xe,deleteGatewayBudget:()=>Ta,deleteGitHubInstallation:()=>Es,deleteGroup:()=>Hg,deleteInstance:()=>Ub,deleteKortixProject:()=>Np,deleteMilestone:()=>td,deletePersonalProjectSecret:()=>oi,deletePolicy:()=>em,deleteProjectAgent:()=>Lp,deleteProjectResourceGrant:()=>Js,deleteProjectSecret:()=>si,deleteProjectSession:()=>ho,deleteProjectTrigger:()=>So,deleteRole:()=>pm,deleteSandboxTemplate:()=>qi,deleteServiceAccountApi:()=>Dm,deleteSsoGroupMapping:()=>vm,deleteSsoProvider:()=>_m,deleteTask:()=>bp,deleteTicket:()=>Tp,describeAccountInvite:()=>as,detachGroupFromProject:()=>Ns,detectLocalhostUrls:()=>Il,disableServiceAccountApi:()=>qm,disconnectEmail:()=>da,disconnectGitHubApp:()=>yx,disconnectSlack:()=>ia,discoverConnectionProfileOAuth2:()=>eg,discoverConnectorAuth:()=>bi,discoverConnectorAuthorizationOAuth2:()=>ll,discoverLocalSandbox:()=>nb,downloadAccountAudit:()=>cx,dropClientForUrl:()=>fd,dropPublicClientForUrl:()=>bd,ensurePmSession:()=>Dp,ensurePreviewSessionCookie:()=>kx,ensureProjectConnectorAuthorization:()=>ol,ensureProjectConnectorProfile:()=>Xd,ensureSandbox:()=>ku,ensureWarmProjectSession:()=>uo,env:()=>Xc,exportAccountAudit:()=>Ja,extractGatewayErrorDetails:()=>ue,extractInstanceRoute:()=>Ue,featureFlags:()=>Fh,fetchAccountStateWithToken:()=>_g,fetchAccountsWithToken:()=>Md,fetchProjectArchive:()=>Fi,fetchProjectsForAccountWithToken:()=>Bd,files:()=>rl,findFiles:()=>We,findLastTextPart:()=>Qy,findText:()=>Ve,fireProjectTrigger:()=>Co,fixSandboxWithAgent:()=>ji,formatBillingErrorForUI:()=>Qc,formatCost:()=>ph,formatDuration:()=>ch,formatOpenCodeRuntimeError:()=>hu,formatRuntimeError:()=>hu,formatTokens:()=>dh,formatTranscript:()=>Kl,generateSessionId:()=>Bl,getAccount:()=>es,getAccountDeletionStatus:()=>zm,getAccountState:()=>Do,getAccountStateMinimal:()=>Mo,getActiveInstanceIdFromCookie:()=>mu,getAdminProviderAnalytics:()=>Zm,getAdminProviderDistribution:()=>Qm,getAdminProviderFallback:()=>tf,getAdminRole:()=>Jm,getAgentCardLabel:()=>Zl,getAgentConfig:()=>xg,getAgentPersona:()=>Fp,getAllVersions:()=>jb,getAnsweredQuestionParts:()=>Yy,getApprovalLink:()=>uf,getAuthToken:()=>de,getAuthTokenWithRetry:()=>qr,getAutoTopupSettings:()=>Xo,getAutoTopupSetupStatus:()=>wg,getBillingCreditBreakdown:()=>Lo,getBillingTierConfigurations:()=>Go,getBillingTransactionsSummary:()=>Oo,getBillingUsageHistory:()=>Fo,getChangeRequest:()=>Vi,getChangeRequestDiff:()=>Ji,getChangeRequestMergePreview:()=>Qi,getChildSessionError:()=>Ly,getChildSessionId:()=>Oy,getChildSessionToolParts:()=>Fy,getClient:()=>ie,getClientForUrl:()=>ee,getConnectStatus:()=>wi,getConnectionPolicies:()=>ug,getConnectionProfileOAuth2Application:()=>Zd,getConnectionProfileOAuth2Status:()=>sg,getConnectorAuthorizationOAuth2Application:()=>cl,getConnectorAuthorizationOAuth2Status:()=>gl,getConnectorConfig:()=>mi,getConnectorPolicies:()=>di,getConnectorSetupLink:()=>Yb,getCurrentInstanceIdFromPathname:()=>gu,getCurrentInstanceIdFromWindow:()=>Kh,getCurrentProject:()=>Vr,getDefaultAccountState:()=>qo,getDiagnostics:()=>Ky,getDirectory:()=>Yl,getDiscoverIntegration:()=>_i,getEmailInstallation:()=>la,getEmailMode:()=>ua,getEnterpriseDemo:()=>Km,getFileStatus:()=>Ne,getFileWithDir:()=>yc,getFilename:()=>Xl,getFullChangelog:()=>_u,getGatewayBreakdown:()=>wa,getGatewayBudgets:()=>Ca,getGatewayErrors:()=>va,getGatewayKeys:()=>Aa,getGatewayLog:()=>ka,getGatewayOverview:()=>Pa,getGatewayRoutingPolicy:()=>fa,getGatewaySeries:()=>_a,getGatewaySessions:()=>Sa,getGitHubAppStatus:()=>dx,getGitHubInstallation:()=>vs,getGoogleAuthUrl:()=>rf,getGroup:()=>Gg,getHiddenToolParts:()=>Dy,getInvite:()=>xb,getJustavpsServerTypes:()=>Db,getKortixProject:()=>Kp,getKortixProjectBySession:()=>Hp,getKortixPtyWebSocketUrl:()=>Hr,getLatestSandboxVersion:()=>Ib,getMaintenanceConfig:()=>sx,getManagedGitStatus:()=>Ld,getMarketplaceCatalogItem:()=>ic,getMarketplaceCatalogItemFile:()=>oc,getMfaRequired:()=>ym,getMilestone:()=>Jp,getModelDefaults:()=>To,getOAuthConsentRequest:()=>Qb,getOpenCodeConfigInvalidError:()=>_c,getPartText:()=>$y,getPatPolicy:()=>Im,getPermissionForTool:()=>Hy,getProject:()=>It,getProjectActivity:()=>Gp,getProjectCommit:()=>Ki,getProjectCommitDiff:()=>Hi,getProjectDetail:()=>jt,getProjectFileHistory:()=>zi,getProjectGitToken:()=>hs,getProjectLlmCatalog:()=>Et,getProjectLlmCatalogProviders:()=>Od,getProjectModelPicker:()=>$t,getProjectSandboxHealth:()=>Nt,getProjectSandboxProviderTransition:()=>Fd,getProjectSession:()=>Wt,getProjectSessionScope:()=>bo,getProrationPreview:()=>Jo,getProviders:()=>Qh,getProxyBaseUrl:()=>If,getPublicClientForUrl:()=>hd,getPublicMarketplaceItem:()=>zb,getPublicMarketplaceItemFile:()=>Nb,getPublicSessionShare:()=>of,getPublicSessionShareMessages:()=>af,getPublicShareByToken:()=>nx,getPublicTemplate:()=>px,getPublicVoiceJoin:()=>cf,getPublicVoiceTranscript:()=>lf,getQuestionForTool:()=>zy,getReferralCode:()=>qg,getReferralStats:()=>Ug,getRetryInfo:()=>gh,getRetryMessage:()=>mh,getReviewItem:()=>Da,getRolePermissions:()=>im,getRoleUsage:()=>am,getSSHConnection:()=>Rb,getSandbox:()=>Xh,getSandboxById:()=>Zh,getSandboxMemberScopes:()=>gb,getSandboxPortUrl:()=>Jh,getSandboxProvisionStatus:()=>Fb,getSandboxProvisionStreamUrl:()=>Gb,getSandboxUpdateStatus:()=>Ab,getSandboxUrl:()=>vc,getSecretSetupLink:()=>ex,getServerHealth:()=>At,getServiceLogs:()=>pd,getSessionAudit:()=>go,getSessionCost:()=>uh,getSessionCostRecord:()=>Jt,getSessionHealth:()=>uc,getSessionPolicy:()=>Cm,getSessionPreviewCandidates:()=>oo,getSessionTranscript:()=>mo,getShellModePart:()=>th,getSlackChannelFile:()=>oa,getSlackInstallation:()=>ta,getSlackManifest:()=>sa,getSlackMode:()=>ra,getSsoProvider:()=>xm,getStaticFileHealthPath:()=>$l,getSupabaseAccessToken:()=>Pt,getSupabaseAccessTokenWithRetry:()=>we,getTask:()=>pp,getTaskStatus:()=>gp,getTemplate:()=>df,getTicket:()=>kp,getToolInfo:()=>Gy,getTranscriptFilename:()=>Hl,getTurnCost:()=>lh,getTurnError:()=>ih,getTurnErrorDetails:()=>oh,getTurnStatus:()=>ah,getUsageRollup:()=>Zo,getUserRolesWithToken:()=>ox,getVersionDiff:()=>Ni,getViewerSandboxScopes:()=>db,getVoiceTranscript:()=>fo,getWorkingState:()=>rh,grantSandboxProjectAccess:()=>yb,groupMessagesIntoTurns:()=>Vy,hasDiffs:()=>fh,hasLocalhostUrls:()=>vf,hasPreviewTarget:()=>jl,heartbeatGapEvent:()=>Ol,humanizeToolName:()=>nn,importSsoProviderFromMetadata:()=>Pm,installTemplate:()=>gf,invalidateTokenCache:()=>Be,inviteAccountMember:()=>rs,inviteProjectMember:()=>Ls,inviteRepoCollaborator:()=>fs,isAdminBypassEnabled:()=>qd,isAgentPart:()=>Ay,isAppRouteUrl:()=>Al,isAttachment:()=>Jl,isBillingError:()=>Jc,isCompactionPart:()=>Iy,isConfigured:()=>yt,isDestructivePhase:()=>Tb,isExternalUrl:()=>Uf,isFilePart:()=>Vl,isInstanceDetailPath:()=>Gh,isInstanceScopedAppPath:()=>pu,isInternalLocalhostUrl:()=>$f,isInviteSent:()=>zd,isLastUserMessage:()=>nh,isManagedGithubProject:()=>Ud,isOpenCodeConfigInvalidError:()=>Wh,isPatchPart:()=>Ey,isPreviewUrl:()=>Ef,isProxiableLocalhostUrl:()=>ql,isReasoningPart:()=>sn,isRuntimeReady:()=>mf,isServerReachable:()=>Jr,isSessionFresh:()=>so,isSessionStartError:()=>mg,isShellMode:()=>tu,isSnapshotPart:()=>jy,isSubdomainPreviewUrl:()=>bx,isTextPart:()=>pe,isToolPart:()=>ne,isToolPartHidden:()=>My,isUnderSandboxRoot:()=>zr,isWebProxyUrl:()=>Mf,kortixPty:()=>Zc,leaveAccount:()=>ds,linkGitHubInstallation:()=>js,linkRepository:()=>Ss,listAccountAudit:()=>Va,listAccountAuditWebhooks:()=>Qa,listAccountInvites:()=>ss,listAccountMembers:()=>ns,listAccountSessions:()=>Tm,listAccountTokens:()=>Ba,listAccounts:()=>Yr,listActions:()=>om,listAdminSandboxes:()=>Xm,listAgentIdentities:()=>sm,listAllConnectionProfiles:()=>Wd,listAllConnectorAuthorizations:()=>Ut,listAuditEvents:()=>Fm,listAuditWebhooks:()=>Mm,listBackups:()=>_b,listBillingTransactions:()=>Uo,listChangeRequests:()=>Wi,listChannelBindings:()=>jg,listColumns:()=>Ap,listConnectionProfiles:()=>Nd,listConnectorAuthorizations:()=>Mt,listConnectors:()=>ai,listCredentialEvents:()=>rd,listCredentials:()=>nd,listDiscoverIntegrations:()=>Pi,listEnv:()=>Ur,listFeaturedMarketplaces:()=>sc,listFields:()=>jp,listFiles:()=>ze,listGatewayLogs:()=>xa,listGitHubInstallations:()=>Cs,listGitHubRepositories:()=>Ts,listGitHubRepositoryBranches:()=>As,listGroupMembers:()=>zg,listGroupProjectGrants:()=>Wg,listGroups:()=>Fg,listKortixProjectSessions:()=>zp,listKortixProjects:()=>Bp,listKortixPty:()=>Fr,listLinkableGitHubInstallations:()=>Rs,listMarketplaceCatalogItems:()=>nc,listMarketplaceSources:()=>ac,listMarketplaces:()=>rc,listMemberGroups:()=>Jg,listMemberProjectAccess:()=>Qg,listMilestoneEvents:()=>Qp,listMilestones:()=>Vp,listPendingApprovals:()=>Qs,listPendingProjectInvites:()=>Fs,listPipedreamApps:()=>ki,listPolicies:()=>Xg,listProjectAccess:()=>Ms,listProjectAccessRequests:()=>$s,listProjectAgents:()=>Mp,listProjectBranches:()=>Gi,listProjectCliTokens:()=>za,listProjectCommits:()=>Bi,listProjectFiles:()=>Ui,listProjectGroupGrants:()=>Ks,listProjectPolicies:()=>Ci,listProjectResourceGrants:()=>Ws,listProjectSandboxTemplates:()=>Ti,listProjectSandboxes:()=>Mi,listProjectSecrets:()=>Zs,listProjectSessions:()=>qe,listProjectSnapshots:()=>Ai,listProjectTriggers:()=>Po,listProjects:()=>be,listProjectsForAccount:()=>ms,listPublicMarketplaceItems:()=>Kb,listPublicMarketplaces:()=>Hb,listReferrals:()=>Og,listReviewItems:()=>qa,listRoles:()=>rm,listSandboxMembers:()=>ab,listSandboxProjectMembers:()=>fb,listSandboxShares:()=>La,listSandboxes:()=>tb,listScimTokens:()=>gm,listServiceAccountsApi:()=>Em,listServiceTemplates:()=>ud,listServices:()=>ld,listSessionCosts:()=>ea,listSessionPublicShares:()=>ao,listSessionsNeedingInput:()=>Xs,listSsoGroupMappings:()=>wm,listTaskEvents:()=>dp,listTasks:()=>up,listTemplates:()=>$p,listTicketEvents:()=>Pp,listTickets:()=>xp,loadHttpSessionHistory:()=>Tu,markInstanceError:()=>Ob,markSessionFresh:()=>et,mergeChangeRequest:()=>Yi,migrateAdminSandboxProvider:()=>ef,mkdir:()=>Ye,narrowChatEvent:()=>Ll,normalizeAppPathname:()=>Nh,normalizeExternalInput:()=>Of,normalizeToolName:()=>at,openChangeRequest:()=>Xi,openEventStream:()=>en,openStressTestStream:()=>lx,parseBillingError:()=>Re,parseFlagOverride:()=>Lh,parseLocalhostUrl:()=>st,parseOpenCodeErrorPayload:()=>yu,parseSubdomainUrl:()=>dc,parseWebProxyUrl:()=>Df,patchKortixProject:()=>Wp,pipedreamConnect:()=>yi,pipedreamConnectConnectionProfile:()=>cg,pipedreamConnectConnectorAuthorization:()=>Ht,pipedreamFinalize:()=>vi,pipedreamFinalizeConnectionProfile:()=>lg,pipedreamFinalizeConnectorAuthorization:()=>zt,platformConfig:()=>q,pollConnectionProfileOAuth2DeviceAuthorization:()=>rg,pollConnectorAuthorizationOAuth2DeviceAuthorization:()=>dl,pollProjectProviderOAuth:()=>ni,previewGatewayRoute:()=>ba,previewMfaRequired:()=>hm,probeEffectivePermission:()=>Gm,probeEffectivePermissions:()=>Bm,projectSessionStartSeed:()=>gg,provisionProject:()=>ks,provisionProjectWithToken:()=>Kd,proxyLocalhostUrl:()=>pc,proxyUrlToInternal:()=>jf,purchaseCredits:()=>Qo,putConnectionProfileOAuth2Application:()=>Yd,putConnectorAuthorizationOAuth2Application:()=>al,reactivateSandbox:()=>ob,reactivateSubscription:()=>No,readBlob:()=>je,readFile:()=>Ie,readProjectFile:()=>Li,rebuildProjectSnapshot:()=>Ii,reconcileConnectionProfile:()=>Vd,reconcileConnectorAuthorization:()=>Ot,reconcileMemberConnectionProfile:()=>Jd,reconcileMemberConnectorAuthorization:()=>Lt,reconcileServices:()=>gd,recordPlatformLogout:()=>Jb,refreshReferralCode:()=>Dg,registerService:()=>md,rejectProjectAccessRequest:()=>Ds,relativizePath:()=>By,removeAccountAuditWebhook:()=>Za,removeAccountMember:()=>us,removeGroupMember:()=>Vg,removeKortixPty:()=>Kr,removeMarketplaceSource:()=>lc,removeSandboxMember:()=>lb,renameFile:()=>Ze,renameSandbox:()=>eb,reopenChangeRequest:()=>eo,reopenMilestone:()=>ed,replaceColumns:()=>Ip,replaceFields:()=>Ep,replaceTemplates:()=>qp,requestAccountDeletion:()=>Nm,requestChangesOnChangeRequest:()=>to,requestProjectAccess:()=>Hd,requestProjectConnector:()=>tc,requestProjectSecret:()=>ec,resendAccountInvite:()=>os,resendPendingProjectInvite:()=>Bs,resetClient:()=>yd,resetGatewayRoutingPolicy:()=>ha,resetPublicClient:()=>xd,resetSandboxUpdateStatus:()=>$b,resolveApproval:()=>Ys,restartProjectSession:()=>tt,restartSandbox:()=>rb,restoreBackup:()=>Sb,revealCredential:()=>id,revokeAccountSession:()=>Am,revokeAccountToken:()=>Ha,revokeConnectionProfile:()=>ig,revokeConnectorAuthorization:()=>Gt,revokeGatewayKey:()=>ja,revokePendingProjectInvite:()=>Gs,revokeProjectAccess:()=>Os,revokeProjectCliToken:()=>Wa,revokeSandboxInvite:()=>bb,revokeSandboxProjectAccess:()=>hb,revokeSandboxShare:()=>Ga,revokeScimToken:()=>fm,revokeSessionPublicShare:()=>lo,rewriteLocalhostUrl:()=>ce,runGatewayPlayground:()=>Ea,saveGitHubInstallation:()=>Is,scheduleDowngrade:()=>Wo,searchProjectFiles:()=>Oi,sendReferralEmails:()=>Lg,serviceAction:()=>dd,sessionStartKey:()=>yg,setActiveInstanceCookie:()=>Hh,setAdminBypass:()=>$d,setAdminProviderDistribution:()=>Ym,setAdminProviderFallback:()=>nf,setAgentScope:()=>jo,setBootstrapAuthToken:()=>op,setCachedAuthToken:()=>ip,setConnectionPolicies:()=>pg,setConnectorAuthorizationStrategy:()=>ui,setConnectorCredential:()=>Si,setConnectorCredentialMode:()=>li,setConnectorName:()=>fi,setConnectorPolicies:()=>gi,setConnectorSensitive:()=>pi,setDefaultConnectionProfile:()=>ag,setDefaultConnectorAuthorization:()=>Kt,setEnterpriseDemo:()=>Hm,setEnv:()=>Or,setGatewayBudget:()=>Ra,setGatewayRoutingPolicy:()=>ya,setGitHubAppFromExisting:()=>mx,setGitHubAppPat:()=>fx,setMaintenanceConfig:()=>ix,setMeetBotName:()=>ma,setMemberSuperAdmin:()=>dm,setMfaRequired:()=>bm,setModelDefault:()=>Ao,setPersonalProjectSecret:()=>ii,setProjectOnboardingComplete:()=>ws,setProjectPolicies:()=>Ri,setProjectSessionModel:()=>ko,setProjectSessionScope:()=>xo,setProjectSessionSharing:()=>io,setProjectTriggersActivation:()=>vo,setupSSH:()=>Cb,shouldHideResponsePart:()=>sh,shouldShowToolPart:()=>Ql,sortSessions:()=>eh,splitUserParts:()=>qy,startConnectionProfileOAuth2Authorization:()=>tg,startConnectionProfileOAuth2DeviceAuthorization:()=>ng,startConnectorAuthorizationOAuth2Authorization:()=>ul,startConnectorAuthorizationOAuth2DeviceAuthorization:()=>pl,startConnectorSetupLink:()=>Zb,startGitHubAppManifest:()=>gx,startProjectProviderOAuth:()=>ti,startProjectSession:()=>ke,startSessionWithToken:()=>rx,startTask:()=>yp,stopProjectSession:()=>nt,stopSandbox:()=>sb,stripAnsi:()=>Wy,stripInstancePrefix:()=>Bh,stripTrailingSlashes:()=>fe,submitAccessRequest:()=>Vb,submitDemoRequest:()=>ax,submitOAuthConsent:()=>Xb,submitReviewItem:()=>Ma,submitSecretSetupLink:()=>tx,supabaseClient:()=>Dd,syncConnectors:()=>ci,syncSubscription:()=>Cg,systemReload:()=>Pd,toDaemonPath:()=>ye,toInstanceAwarePath:()=>zh,toInternalUrl:()=>Dl,toSandboxAbsolutePath:()=>Nr,toWorkspaceRelative:()=>Wr,toolInfo:()=>rn,toolViewModel:()=>lu,transcribeAudio:()=>$a,triggerSandboxUpdate:()=>Eb,triggersRequest:()=>Yc,turnHasSteps:()=>Xy,unassignTicket:()=>Cp,unwrapError:()=>Y,updateAccountAuditWebhook:()=>Ya,updateAccountMemberRole:()=>ps,updateAccountName:()=>ts,updateAgentConfig:()=>kg,updateAuditWebhook:()=>Om,updateChannelBinding:()=>Eg,updateConnectionProfileCredential:()=>Qd,updateConnectorAuthorizationCredential:()=>Ft,updateEmailPolicy:()=>ga,updateExperimentalFeature:()=>Ps,updateGroup:()=>Kg,updateKortixPty:()=>Br,updateMilestone:()=>Yp,updatePatPolicy:()=>jm,updatePolicy:()=>Zg,updateProject:()=>qt,updateProjectAccess:()=>Us,updateProjectAgent:()=>Op,updateProjectDefaultAgent:()=>$o,updateProjectGroupGrant:()=>zs,updateProjectSandboxProvider:()=>_s,updateProjectSession:()=>yo,updateProjectTrigger:()=>wo,updateRole:()=>lm,updateRolePermissions:()=>um,updateSandboxMemberRole:()=>ub,updateSandboxMemberScope:()=>mb,updateSandboxMemberSpendCap:()=>pb,updateSandboxTemplate:()=>$i,updateSessionPolicy:()=>Rm,updateTask:()=>fp,updateTemplateWarmPool:()=>Gd,updateTicket:()=>wp,updateTicketStatus:()=>Sp,uploadFile:()=>Ee,uploadSlackChannelFile:()=>aa,upsertCredential:()=>sd,upsertProjectGitCredential:()=>ri,upsertProjectSecret:()=>ei,upsertSsoProvider:()=>km,validateProjectManifest:()=>ys,validateReferralCode:()=>Mg,validateToken:()=>gs,verifyGatewayProvider:()=>$g});var Lu={backendUrl:"",getToken:async()=>null},mn=null,mt=null;function Fu(e){mt=e}function Gu(){return mt}function ft(e,t){t?.global!==!1&&(mn=e)}function q(){return mt?.()??mn??Lu}function yt(){return mn!==null||mt?.()!==void 0}var jc=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:g,url:y,...m})=>{let P,w=g??(f=>new Promise(a=>setTimeout(a,f)));return{stream:async function*(){let f=c??3e3,a=0,T=m.signal??new AbortController().signal;for(;!T.aborted;){a++;let v=m.headers instanceof Headers?m.headers:new Headers(m.headers);P!==void 0&&v.set("Last-Event-ID",P);try{let k={redirect:"follow",...m,body:m.serializedBody,headers:v,signal:T},j=new Request(y,k);e&&(j=await e(y,k));let S=await(m.fetch??globalThis.fetch)(j);if(!S.ok)throw new Error(`SSE failed: ${S.status} ${S.statusText}`);if(!S.body)throw new Error("No body in SSE response");let $=S.body.pipeThrough(new TextDecoderStream).getReader(),L="",h=()=>{try{$.cancel()}catch{}};T.addEventListener("abort",h);try{for(;;){let{done:C,value:D}=await $.read();if(C)break;L+=D,L=L.replace(/\r\n/g,`
2
2
  `).replace(/\r/g,`
3
- `);let F=R.split(`
3
+ `);let F=L.split(`
4
4
 
5
- `);R=F.pop()??"";for(let Ce of F){let oe=Ce.split(`
6
- `),N=[],Q;for(let U of oe)if(U.startsWith("data:"))N.push(U.replace(/^data:\s*/,""));else if(U.startsWith("event:"))Q=U.replace(/^event:\s*/,"");else if(U.startsWith("id:"))h=U.replace(/^id:\s*/,"");else if(U.startsWith("retry:")){let X=Number.parseInt(U.replace(/^retry:\s*/,""),10);Number.isNaN(X)||(a=X)}let z,K=!1;if(N.length){let U=N.join(`
7
- `);try{z=JSON.parse(U),K=!0}catch{z=U}}K&&(s&&await s(z),r&&(z=await r(z))),n?.({data:z,event:Q,id:h,retry:a}),N.length&&(yield z)}}}finally{T.removeEventListener("abort",H),y.releaseLock()}break}catch(w){if(t?.(w),l!==void 0&&S>=l)break;let v=Math.min(a*2**(S-1),p??3e4);await x(v)}}}()}};var Ju=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Qu=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Xu=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},St=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(d=>encodeURIComponent(d))).join(Qu(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=Ju(r),l=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):Te({allowReserved:e,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+l:l},Te=({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)}`},vt=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let d=[];Object.entries(s).forEach(([m,h])=>{d=[...d,m,e?h:encodeURIComponent(h)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let l=Xu(r),p=Object.entries(s).map(([d,f])=>Te({allowReserved:e,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(l);return r==="label"||r==="matrix"?l+p:p};var Yu=/\{[^{}]+\}/g,Zu=({path:e,url:t})=>{let n=t,r=t.match(Yu);if(r)for(let s of r){let o=!1,l=s.substring(1,s.length-1),p="simple";l.endsWith("*")&&(o=!0,l=l.substring(0,l.length-1)),l.startsWith(".")?(l=l.substring(1),p="label"):l.startsWith(";")&&(l=l.substring(1),p="matrix");let d=e[l];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,St({explode:o,name:l,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,vt({explode:o,name:l,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${Te({name:l,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},Oc=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,l=(e??"")+o;t&&(l=Zu({path:t,url:l}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(l+=`?${p}`),l};function gn(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 Lc=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 mn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Fc=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let l=r[o];if(l==null)continue;let p=e[o]||t;if(Array.isArray(l)){let d=St({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:l,...p.array});d&&s.push(d)}else if(typeof l=="object"){let d=vt({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:l,...p.object});d&&s.push(d)}else{let d=Te({allowReserved:p.allowReserved,name:o,value:l});d&&s.push(d)}}return s.join("&")},Gc=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"}},ep=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,Bc=async({security:e,...t})=>{for(let n of e){if(ep(t,n.name))continue;let r=await Lc(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}}},fn=e=>Oc({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Fc(e.querySerializer),url:e.url}),yn=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=Rt(e.headers,t.headers),n},tp=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},Rt=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?tp(n):Object.entries(n);for(let[s,o]of r)if(o===null)t.delete(s);else if(Array.isArray(o))for(let l of o)t.append(s,l);else o!==void 0&&t.set(s,typeof o=="object"?JSON.stringify(o):o)}return t},We=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}},Nc=()=>({error:new We,request:new We,response:new We}),np=Fc({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),rp={"Content-Type":"application/json"},Ve=(e={})=>({...mn,headers:rp,parseAs:"auto",querySerializer:np,...e});var ze=(e={})=>{let t=yn(Ve(),e),n=()=>({...t}),r=f=>(t=yn(t,f),n()),s=Nc(),o=async f=>{let m={...t,...f,fetch:f.fetch??t.fetch??globalThis.fetch,headers:Rt(t.headers,f.headers),serializedBody:void 0};m.security&&await Bc({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let h=fn(m);return{opts:m,url:h}},l=async f=>{let{opts:m,url:h}=await o(f),x={redirect:"follow",...m,body:gn(m)},P=new Request(h,x);for(let A of s.request.fns)A&&(P=await A(P,m));let u=m.fetch,a;try{a=await u(P)}catch(A){let $=A;for(let y of s.error.fns)y&&($=await y(A,void 0,P,m));if($=$||{},m.throwOnError)throw $;return m.responseStyle==="data"?void 0:{error:$,request:P,response:void 0}}for(let A of s.response.fns)A&&(a=await A(a,P,m));let S={request:P,response:a};if(a.ok){let A=(m.parseAs==="auto"?Gc(a.headers.get("Content-Type")):m.parseAs)??"json";if(a.status===204||a.headers.get("Content-Length")==="0"){let y;switch(A){case"arrayBuffer":case"blob":case"text":y=await a[A]();break;case"formData":y=new FormData;break;case"stream":y=a.body;break;default:y={};break}return m.responseStyle==="data"?y:{data:y,...S}}let $;switch(A){case"arrayBuffer":case"blob":case"formData":case"text":$=await a[A]();break;case"json":{let y=await a.text();$=y?JSON.parse(y):{};break}case"stream":return m.responseStyle==="data"?a.body:{data:a.body,...S}}return A==="json"&&(m.responseValidator&&await m.responseValidator($),m.responseTransformer&&($=await m.responseTransformer($))),m.responseStyle==="data"?$:{data:$,...S}}let T=await a.text(),C;try{C=JSON.parse(T)}catch{}let w=C??T,v=w;for(let A of s.error.fns)A&&(v=await A(w,a,P,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...S}},p=f=>m=>l({...m,method:f}),d=f=>async m=>{let{opts:h,url:x}=await o(m);return Uc({...h,body:h.body,headers:h.headers,method:f,onRequest:async(P,u)=>{let a=new Request(P,u);for(let S of s.request.fns)S&&(a=await S(a,h));return a},serializedBody:gn(h),url:x})};return{buildUrl:fn,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:l,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var sp={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},ip=Object.entries(sp),Hc=(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&&Hc(n.args,t);return t},op=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},g=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=Hc(t),s;for(let[o,l]of e.entries())if(t[o]&&(s=t[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=l)}else n.body=l;else for(let[p,d]of Object.entries(l??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=ip.find(([h])=>p.startsWith(h));if(m){let[h,x]=m;n[x][p.slice(h.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[h,x]of Object.entries(s.allowExtra))if(x){n[h][p]=d;break}}}}return op(n),n};var Kc=ze(Ve({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??Kc}},hn=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)}},bn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},xn=class extends b{log(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Pn=class extends b{moveSession(t,n){let r=g([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},kn=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},wn=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},_n=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},Sn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},vn=class extends b{generateName(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Rn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},Cn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new Rn({client:this.client})}},Tn=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new Pn({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new kn({client:this.client})}_console;get console(){return this._console??=new wn({client:this.client})}_session;get session(){return this._session??=new _n({client:this.client})}_resource;get resource(){return this._resource??=new Sn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new vn({client:this.client})}_workspace;get workspace(){return this._workspace??=new Cn({client:this.client})}},An=class extends b{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=g([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},In=class extends b{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=g([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new An({client:this.client})}},jn=class extends b{subscribe(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},En=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},$n=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},qn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Dn=class extends b{text(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},Mn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},Un=class extends b{dispose(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},On=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},Ln=class extends b{raw(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Fn=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new Ln({client:this.client})}},Gn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},Bn=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Nn=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Hn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Kn=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Hn({client:this.client})}},Wn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},Vn=class extends b{shells(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},zn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},Jn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Qn=class extends b{authorize(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Xn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new Qn({client:this.client})}},Yn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},Zn=class extends b{delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},er=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},tr=class extends b{start(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=g([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new er({client:this.client})}},nr=class extends b{next(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rr=class extends b{appendPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new nr({client:this.client})}},sr=class extends b{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},ir=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},or=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},ar=class extends b{stage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},cr=class extends b{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},lr=class extends b{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},ur=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new ar({client:this.client})}_permission;get permission(){return this._permission??=new cr({client:this.client})}_question;get question(){return this._question??=new lr({client:this.client})}},pr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},dr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},gr=class extends b{key(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},mr=class extends b{cancel(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},fr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new gr({client:this.client})}_attempt;get attempt(){return this._attempt??=new mr({client:this.client})}},yr=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},hr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},br=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},xr=class extends b{_request;get request(){return this._request??=new hr({client:this.client})}_saved;get saved(){return this._saved??=new br({client:this.client})}},Pr=class extends b{read(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},kr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},wr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},_r=class extends b{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Sr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},vr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Rr=class extends b{_request;get request(){return this._request??=new vr({client:this.client})}},Cr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Tr=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},Ar=class extends b{_health;get health(){return this._health??=new sr({client:this.client})}_location;get location(){return this._location??=new ir({client:this.client})}_agent;get agent(){return this._agent??=new or({client:this.client})}_session;get session(){return this._session??=new ur({client:this.client})}_model;get model(){return this._model??=new pr({client:this.client})}_provider;get provider(){return this._provider??=new dr({client:this.client})}_integration;get integration(){return this._integration??=new fr({client:this.client})}_credential;get credential(){return this._credential??=new yr({client:this.client})}_permission;get permission(){return this._permission??=new xr({client:this.client})}_fs;get fs(){return this._fs??=new Pr({client:this.client})}_command;get command(){return this._command??=new kr({client:this.client})}_skill;get skill(){return this._skill??=new wr({client:this.client})}_event;get event(){return this._event??=new _r({client:this.client})}_pty;get pty(){return this._pty??=new Sr({client:this.client})}_question;get question(){return this._question??=new Rr({client:this.client})}_reference;get reference(){return this._reference??=new Cr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Tr({client:this.client})}},Ct=class e extends b{static __registry=new hn;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new bn({client:this.client})}_app;get app(){return this._app??=new xn({client:this.client})}_experimental;get experimental(){return this._experimental??=new Tn({client:this.client})}_global;get global(){return this._global??=new In({client:this.client})}_event;get event(){return this._event??=new jn({client:this.client})}_config;get config(){return this._config??=new En({client:this.client})}_tool;get tool(){return this._tool??=new $n({client:this.client})}_worktree;get worktree(){return this._worktree??=new qn({client:this.client})}_find;get find(){return this._find??=new Dn({client:this.client})}_file;get file(){return this._file??=new Mn({client:this.client})}_instance;get instance(){return this._instance??=new Un({client:this.client})}_path;get path(){return this._path??=new On({client:this.client})}_vcs;get vcs(){return this._vcs??=new Fn({client:this.client})}_command;get command(){return this._command??=new Gn({client:this.client})}_lsp;get lsp(){return this._lsp??=new Bn({client:this.client})}_formatter;get formatter(){return this._formatter??=new Nn({client:this.client})}_mcp;get mcp(){return this._mcp??=new Kn({client:this.client})}_project;get project(){return this._project??=new Wn({client:this.client})}_pty;get pty(){return this._pty??=new Vn({client:this.client})}_question;get question(){return this._question??=new zn({client:this.client})}_permission;get permission(){return this._permission??=new Jn({client:this.client})}_provider;get provider(){return this._provider??=new Xn({client:this.client})}_session;get session(){return this._session??=new Yn({client:this.client})}_part;get part(){return this._part??=new Zn({client:this.client})}_sync;get sync(){return this._sync??=new tr({client:this.client})}_tui;get tui(){return this._tui??=new rr({client:this.client})}_v2;get v2(){return this._v2??=new Ar({client:this.client})}};function Vc(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let o=e,l=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||Wc(n,t);return new Error(l,{cause:{body:e,status:t?.status}})}if(typeof e=="string"&&e.length>0)return new Error(e,{cause:{body:e,status:t?.status}});let s=t?"(empty response body)":"network error (no response)";return new Error(`opencode server ${Wc(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function Wc(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,o=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function ap(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function cp(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[o,l]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=ap(e.headers.get(o),l==="directory"?t.directory:t.workspace,l==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[l,`location[${l}]`]:[l])n.searchParams.has(d)||n.searchParams.set(d,p);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function Ir(e){e?.fetch||(e={...e,fetch:r=>(r.timeout=!1,fetch(r))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)}),e?.experimental_workspaceID&&(e.headers={...e.headers,"x-opencode-workspace":e.experimental_workspaceID});let t=ze(e);return t.interceptors.request.use(n=>cp(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(Vc),new Ct({client:t})}function lp(e){return new Promise(t=>setTimeout(t,e))}async function zc(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,o=t?.invalidateBetweenAttempts??!1,l=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await lp(s)),l=await e(),l)return l;return l}var up=3e4;function pp(e){let t=e instanceof Request?e.url:String(e);return t.includes("/global/event")||t.includes("/kortix/acp/")}function Jc(e,t,n=up){let r=e instanceof Request?e.signal:t?.signal;if(pp(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function jr(e,t,n){let r=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,o)=>{r.set(o,s)}),n&&!r.has("Authorization")&&r.set("Authorization",`Bearer ${n}`),r}function Qc(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function Tt(){return q().getToken()}async function Ae(e){return zc(()=>q().getToken(),e,Je)}function Je(){}function dp(e){}function gp(e){}async function Qe(){return Tt()}async function Er(e){return Ae(e)}function Xc(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 j(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await Er();if(!s)return Qc();let o=jr(e,t,s),l=Jc(e,t),p=await Xc(e,t,o,l);if(p.status===401&&r&&s){Je();let d=await Er({attempts:2,baseDelayMs:200});if(d&&d!==s){let f=jr(e,t,d);return Xc(e,t,f,l)}}return p}var Ie={url:null,sandboxId:null,dbSandboxId:null,version:0},mp=new Set;function Yc(e,t=null,n=null){if(!(Ie.url===e&&Ie.sandboxId===t&&Ie.dbSandboxId===n)){Ie={url:e,sandboxId:t,dbSandboxId:n,version:Ie.version+1};for(let r of mp)r()}}function Zc(){return Ie.url}function fp(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function ye(){return fp(q().backendUrl||"http://localhost:8008/v1")}function el(){let e=q().sandboxId||"";return`${ye()}/p/${e}/8000`}function yp(e){return`${ye()}/p/${e}/8000`}function At(e){return yp(e)}function O(){let e=Zc();return e||(q().billingEnabled??!1?"":el())}var I=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let l=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:l,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},je=class extends I{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},he=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)}},Ee=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",o="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||o},Object.setPrototypeOf(this,e.prototype)}};function $e(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 he(t,{message:r?.message||e.message||"Billing error",...r})}function tl(e){return e instanceof he}function nl(e){if(!(e instanceof he))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function $r(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function qr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Dr(e){let t=qr(e),n=await j(`${t}/env`);if(!n.ok)throw new Error(await $r(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Mr(e,t,n){let r=qr(e),s=await j(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await $r(s,"Failed to save secret"))}async function Ur(e,t){let n=qr(e),r=await j(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await $r(r,"Failed to delete secret"))}var rl={list:Dr,set:Mr,delete:Ur};async function sl(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await j(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}function be(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 Xe(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return be(e)}async function Or(e){let t=Xe(e),n=await j(`${t}/kortix/pty`);if(!n.ok)throw new Error(await It(n,"Failed to list terminals"));return n.json()}async function Lr(e,t){let n=Xe(e),r=await j(`${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 Fr(e,t,n){let r=Xe(e),s=await j(`${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 Gr(e,t){let n=Xe(e),r=await j(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await It(r,"Failed to remove terminal"))}async function Br(e,t){let n=Xe(t),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),be(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,o=await Qe();if(!o)return s;let l=s.includes("?")?"&":"?";return`${s}${l}token=${encodeURIComponent(o)}`}var il={list:Or,create:Lr,update:Fr,remove:Gr,webSocketUrl:Br};async function _(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await j(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),l=await o.text(),p={};try{p=l?JSON.parse(l):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||l.slice(0,200)||`Request failed with ${o.status}`);return p}async function hp(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return _(e,`/kortix/tasks${r}`)}async function bp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function xp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function Pp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function kp(e,t){return _(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function wp(e,t,n){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function _p(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Sp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function vp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Rp(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return _(e,`/kortix/tickets${n}`)}async function Cp(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Tp(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Ap(e,t){return _(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Ip(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function jp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Ep(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function $p(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function qp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Dp(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Mp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Up(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Op(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Lp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Fp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Gp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Bp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Np(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Hp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Kp(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Wp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Vp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function zp(e,t,n=200){return _(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Jp(e){return _(e,"/kortix/projects")}async function Qp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Xp(e,t){return _(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Yp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Zp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function ed(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function td(e,t,n="all"){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function nd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function rd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function sd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function id(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function od(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function ad(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function cd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function ld(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function ud(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function pd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function dd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function gd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var md=1e4,fd={retryOnAuthError:!1};function qe(e,t,n){return _(e,t,{signal:AbortSignal.timeout(md),...n},fd)}async function yd(e,t=!1){return(await qe(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function hd(e){return(await qe(e,"/kortix/services/templates")).templates??[]}async function bd(e,t){return(await qe(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function xd(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return qe(e,s,{method:r?"DELETE":"POST"})}async function Pd(e,t){return qe(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function kd(e,t){return qe(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var jt=new Map,Et=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function ce(){let e=O();if(!e)throw new Et;return te(e)}function te(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=jt.get(e);if(t)return t;if(!_t())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Ir({baseUrl:e,fetch:j});return jt.set(e,n),n}function wd(e){jt.delete(e)}function _d(){jt.clear()}var $t=new Map;function Sd(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=$t.get(e);if(t)return t;let n=Ir({baseUrl:e,fetch});return $t.set(e,n),n}function vd(e){$t.delete(e)}function Rd(){$t.clear()}async function Cd(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 Td(e){let t=O();if(!t)throw new I("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await j(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new I(`System reload failed (${n.status}): ${await Cd(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function al(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 I(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function De(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function qt(e,t=O()){let n=await j(`${t}${e}`);if(!n.ok)throw new I(await De(n),{status:n.status,response:n});return n.json()}var Dt=["/workspace","/tmp","/home","/opt"],Ad=Dt.filter(e=>e!=="/workspace");function Nr(e){return Dt.some(t=>e===t||e.startsWith(`${t}/`))}function Hr(e){return Nr(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function xe(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(Ad.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Kr=xe;async function Ze(e,t=O()){let n=xe(e)||".";return(await qt(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function Me(e,t=O()){let n=xe(e),r=await j(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new I(await De(r),{status:r.status,response:r});return r.json()}async function Id(e,t,n=O()){let r=xe(e),s=await j(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new I(await De(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new I("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let o=await s.blob();return t&&(!o.type||o.type==="application/octet-stream")?new Blob([o],{type:t}):o}async function Ue(e,t=O()){try{return await Id(e,void 0,t)}catch{}let n=await Me(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 et(e=O()){return qt("/file/status",e)}async function tt(e,t,n=O()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),qt(`/find/file?${r.toString()}`,n)}async function nt(e,t=O()){return(await qt(`/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 Ye=[400,1200],jd=e=>e===408||e===429||e===502||e===503||e===504,ol=e=>new Promise(t=>setTimeout(t,e));async function Ed(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 cl(e,t){let n;for(let s=0;s<=Ye.length;s++){let o;try{o=await t(e())}catch(p){if(n=p,s===Ye.length)break;await ol(Ye[s]);continue}if(o.ok)return o.json();let l=await Ed(o);if(n=new I(`Upload failed (${o.status}): ${l}`,{status:o.status,response:o}),!jd(o.status)||s===Ye.length)throw n;await ol(Ye[s])}if(n instanceof I)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new I(`Upload failed: ${r}`)}function Oe(e,t,n,r=O()){return cl(()=>{let s=new FormData,o=(t??"").trim();return o&&s.append("path",o.startsWith("/")?o:`/${o}`),n?s.append("file",e,n):s.append("file",e),s},s=>j(`${r}/file/upload`,{method:"POST",body:s}))}function $d(e,t,n=O()){return cl(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},o=await Qe();return o&&(s.Authorization=`Bearer ${o}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function rt(e,t=O()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),o=s.pop()||"untitled",l=s.join("/")||"/workspace";return Oe(new File([" "],o,{type:"application/octet-stream"}),l,void 0,t)}async function st(e,t,n=O()){return $d(t,await Ue(e,n),n)}async function it(e,t=O()){let n=await j(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Delete failed (${n.status}): ${await De(n)}`,{status:n.status,response:n});return n.json()}async function ot(e,t=O()){let n=await j(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Mkdir failed (${n.status}): ${await De(n)}`,{status:n.status,response:n});return n.json()}async function at(e,t,n=O()){let r=await j(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new I(`Rename failed (${r.status}): ${await De(r)}`,{status:r.status,response:r});return r.json()}async function Wr(){return al(await ce().project.current())}async function Mt(){return al(await ce().global.health())}async function Vr(){try{return(await Mt()).healthy===!0}catch{return!1}}var ll={list:Ze,read:Me,readBlob:Ue,status:et,findFiles:tt,findText:nt,upload:Oe,create:rt,copy:st,remove:it,mkdir:ot,rename:at,currentProject:Wr,health:Mt,isReachable:Vr,toDaemonPath:xe,toSandboxAbsolutePath:Hr,toWorkspaceRelative:Kr};var le=()=>q().backendUrl||"",pl="feature_not_supported",Dd=e=>new Promise(t=>setTimeout(t,e)),Md=new Set([502,503,504]),Ud=e=>Md.has(e),Od=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Ld=2,ul=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),zr=!1;function Fd(e){zr=e}function Gd(){return zr}async function Pe(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=t,l=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!l.signal.aborted&&(d=!0,f=!0,l.abort())},s);let m=await Ae(),h=o.body instanceof FormData,x={};if(h||(x["Content-Type"]="application/json"),Object.assign(x,o.headers),zr&&(x["x-kortix-admin-bypass"]="1"),m)x.Authorization=`Bearer ${m}`;else return{error:new je,success:!1};let P=Od(o.method),u=P?Ld+1:1,a;for(let C=0;C<u;C++){C>0&&await Dd(250*2**(C-1));let w=C===0?l:new AbortController;C>0&&(p=setTimeout(()=>{f=!0,w.abort()},s));try{a=await fetch(e,{...o,headers:x,signal:w.signal,credentials:o.credentials??"omit"})}catch(A){if(p&&(clearTimeout(p),p=null),ul(A)||C===u-1)throw A;continue}if(p&&(clearTimeout(p),p=null),!(P&&Ud(a.status)&&C<u-1))break;try{await a.arrayBuffer()}catch{}}if(!a.ok){let C=`HTTP ${a.status}: ${a.statusText}`,w=null;try{w=await a.json(),typeof w.message=="string"?C=w.message:w.error&&typeof w.error=="string"?C=w.error:typeof w.detail=="string"?C=w.detail:typeof w.detail?.message=="string"&&(C=w.detail.message)}catch{}let v=new I(C,{status:a.status,response:a,details:w||void 0,data:w,detail:w?.detail,code:w?.code||w?.error_code||w?.detail?.error_code||a.status.toString()});if(a.status===402&&(v=$e(v)),a.status===403&&w?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}a.status===431&&(v=new Ee(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=a.status===501&&w?.code===pl;return n&&!A&&q().onError?.(v,r),{error:v,success:!1}}let S,T=a.headers.get("content-type");return T?.includes("application/json")?S=await a.json():T?.includes("text/")?S=await a.text():S=await a.blob(),{data:S,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let h=ul(m);h&&(d=!0);let x;if(h){if(!f)return{error:new I("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let P=e.replace(le(),"")||e;x=new I(`Request timed out after ${Math.round(s/1e3)}s: ${P}`,{code:"TIMEOUT",url:e,endpoint:P,timeout:s}),n&&q().onError?.(x,r)}else m instanceof Error?(x=new I(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&q().onError?.(x,r)):(x=new I(String(m)),n&&q().onError?.(x,r));return{error:x,success:!1}}}var Bd={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new I(r.message||"Database error",{code:r.code,details:r});return q().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new I(n.message,{name:n.name||"ApiError",stack:n.stack}):new I(String(n));return q().onError?.(r,t),{error:r,success:!1}}}},i={get:(e,t)=>Pe(`${le()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>Pe(`${le()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>Pe(`${le()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>Pe(`${le()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>Pe(`${le()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],Pe(`${le()}${e}`,{...s,method:"POST",body:t,headers:o})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],Pe(`${le()}${e}`,{...s,method:"PUT",body:t,headers:o})}};function c(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Jr(e){return e.replace(/\/v1\/?$/,"")}async function Le(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Jr(e.backendUrl);try{let r=await fetch(`${n}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function Qr(){return c(await i.get("/accounts"))}async function Xr(e){return c(await i.post("/accounts",e))}async function Yr(e){return c(await i.get(`/accounts/${e}`))}async function Zr(e,t){return c(await i.patch(`/accounts/${e}`,{name:t}))}async function es(e){return c(await i.get(`/accounts/${e}/members`))}async function ts(e,t){return c(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function ns(e){return c(await i.get(`/accounts/${e}/invites`))}async function rs(e,t){return c(await i.delete(`/accounts/${e}/invites/${t}`))}async function ss(e,t){return c(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function is(e){return c(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function os(e){return c(await i.post(`/account-invites/${e}/accept`,{}))}async function as(e){return c(await i.post(`/account-invites/${e}/decline`,{}))}async function cs(e,t){return c(await i.delete(`/accounts/${e}/members/${t}`))}async function ls(e,t,n){return c(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function us(e){return c(await i.post(`/accounts/${e}/leave`,{}))}async function Nd(e){return Le(e,"/v1/accounts")}async function ps(){let e=await i.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function ke(){return c(await i.get("/projects"))}async function ds(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/projects${t}`))}async function Ut(e,t){return c(await i.get(`/projects/${e}`,t))}async function gs(e,t,n="write"){return c(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function ms(e,t){return c(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function fs(e){return c(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Hd(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function Ot(e,t){let n=c(await i.get(`/projects/${e}/detail`,{showErrors:!1,...t}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Lt(e,t){return c(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function Ft(e,t){return c(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Kd(e,t){return c(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function ys(e){return c(await i.post("/projects",e))}async function hs(e){return c(await i.post("/projects/create-repo",e))}async function bs(e,t={}){return c(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function Wd(){try{return c(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Gt(e,t){return c(await i.patch(`/projects/${e}`,t))}async function xs(e,t,n){return c(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function Ps(e,t){return c(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Vd(e,t){return c(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function zd(e,t){return c(await i.patch(`/projects/${e}/warm-pool`,t))}async function ks(e,t){return c(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function Bt(e){return c(await i.delete(`/projects/${e}`))}async function Jd(e,t){return Le(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Qd(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Jr(e.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...t}),signal:AbortSignal.timeout(e.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function ws(e){return c(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function _s(e){return c(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Ss(e){return c(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function vs(e){return c(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Rs(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),c(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function Cs(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return c(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Ts(e){return c(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function As(e){return c(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Is(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),c(await i.delete(`/projects/github/installation?${n.toString()}`))}async function Xd(e,t){return c(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function js(e,t){return c(await i.get(`/projects/${e}/access-requests`,t))}async function Es(e,t,n="member"){return c(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function $s(e,t){return c(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function qs(e){return c(await i.get(`/projects/${e}/access`))}async function Ds(e,t,n){return c(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function Ms(e,t){return c(await i.delete(`/projects/${e}/access/${t}`))}function Yd(e){return"status"in e&&e.status==="invited"}async function Us(e,t,n,r){return c(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Os(e){return c(await i.get(`/projects/${e}/access/pending-invites`))}async function Ls(e,t){return c(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Fs(e,t){return c(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Gs(e){return c(await i.get(`/projects/${e}/group-grants`))}async function Bs(e,t,n,r){return c(await i.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function Ns(e,t,n,r){return c(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Hs(e,t){return c(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Ks(e){return c(await i.get(`/projects/${e}/resource-grants`))}async function Ws(e,t){return c(await i.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function Vs(e,t){return c(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function zs(e,t){return c(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Js(e,t){return c(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Qs(e,t,n,r="once"){return c(await i.post(`/projects/${e}/approvals/${t}`,{decision:n,scope:r}))}async function Xs(e){return c(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Ys(e,t){return c(await i.post(`/projects/${e}/secrets`,t))}async function Zs(e,t,n){return c(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function ei(e,t,n){return c(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function ti(e,t){return c(await i.put(`/projects/${e}/git-credential`,t))}async function ni(e,t){return c(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function ri(e,t,n){return c(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function si(e,t){return c(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function ii(e){return c(await i.get(`/projects/${e}/connector-profiles`))}async function oi(e){return c(await i.get(`/projects/${e}/connector-profiles/all`))}async function ai(e,t){return c(await i.post(`/projects/${e}/connector-profiles`,t))}async function ci(e,t){return c(await i.post(`/projects/${e}/connector-profiles/me`,t))}async function li(e,t,n){return c(await i.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}function we(e,t,n){return`/projects/${e}/connector-profiles/${t}/oauth2/${n}`}async function Zd(e,t){return c(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/profile`,{}))}async function eg(e,t,n){return c(await i.put(we(e,t,"application"),n))}async function tg(e,t){return c(await i.get(we(e,t,"application")))}async function ng(e,t,n){return c(await i.post(we(e,t,"discover"),n))}async function rg(e,t,n){return c(await i.post(we(e,t,"authorize"),n))}async function sg(e,t,n){return c(await i.post(we(e,t,"device"),n))}async function ig(e,t,n){return c(await i.post(we(e,t,`device/${encodeURIComponent(n)}`),{}))}async function og(e,t){return c(await i.get(we(e,t,"status")))}async function ui(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function pi(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function di(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/default`,{}))}async function gi(e,t,n={}){return c(await i.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}async function mi(e,t){return c(await i.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}async function fi(e){return c(await i.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function yi(e){return c(await i.post(`/executor/projects/${e}/connectors/sync`,{}))}async function hi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function bi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function xi(e,t){return c(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Pi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function ki(e,t){return c(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function wi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function _i(e,t){return c(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Si(e,t){return c(await i.post(`/executor/projects/${e}/connectors`,t))}async function vi(e,t){return c(await i.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function Ri(e,t){return c(await i.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Ci(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return c(await i.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Ti(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return c(await i.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function Ai(e,t){let n=new URLSearchParams({id:t});return c(await i.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function Ii(){return c(await i.get("/executor/connect-status"))}async function ji(e,t,n){let r=typeof n=="string"?{value:n}:n;return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function Ei(e,t){return c(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function ag(e,t){return c(await i.get(`/projects/${e}/connector-profiles/${encodeURIComponent(t)}/policies`))}async function cg(e,t,n){return c(await i.put(`/projects/${e}/connector-profiles/${encodeURIComponent(t)}/policies`,{policies:n}))}async function $i(e){return c(await i.get(`/executor/projects/${e}/policies`))}async function qi(e,t,n){return c(await i.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function Di(e){return c(await i.get(`/projects/${e}/sandboxes`))}async function Mi(e){return c(await i.get(`/projects/${e}/snapshots`))}async function Nt(e){return c(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Ui(e,t){return c(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Oi(e){return c(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Li(e,t){return c(await i.post(`/projects/${e}/sandbox-templates`,t))}async function Fi(e,t,n){return c(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Gi(e,t){return c(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Bi(e,t){return c(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Ni(e){return c(await i.get(`/projects/${e}/sandboxes`))}async function Hi(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 c(await i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Ki(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)),c(await i.get(`/projects/${e}/files/search?${r.toString()}`))}async function Wi(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),c(await i.get(`/projects/${e}/files/content?${r.toString()}`))}async function Vi(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await Ae(),l=`${q().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(l,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function zi(e){return c(await i.get(`/projects/${e}/branches`))}async function Ji(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 c(await i.get(`/projects/${e}/commits${r}`))}async function Qi(e,t){return c(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Xi(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return c(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Yi(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)),c(await i.get(`/projects/${e}/files/history?${r.toString()}`))}async function Zi(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return c(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function eo(e,t){let n=t?`?status=${t}`:"";return c(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function to(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}`))}async function no(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function ro(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function so(e,t){return c(await i.post(`/projects/${e}/change-requests`,t))}async function io(e,t,n){return c(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function oo(e,t){return c(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function ao(e,t){return c(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function co(e,t,n){return c(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function lo(e,t,n){return c(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var uo=new Set;function ct(e){e&&uo.add(e)}function po(e){return!!e&&uo.has(e)}function lg(e){e&&uo.delete(e)}async function Fe(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope),t?.end_user_ref&&n.set("end_user_ref",t.end_user_ref);let r=n.size>0?`?${n}`:"";return c(await i.get(`/projects/${e}/sessions${r}`))}async function go(e,t,n){return c(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function mo(e,t){return c(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function fo(e,t){return c(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function yo(e,t,n){return c(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function ho(e,t,n){return c(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function Ge(e,t){let n=c(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||ct(n?.session_id),n}async function bo(e){let t=c(await i.post(`/projects/${e}/sessions/warm`,{}));return ct(t.session.session_id),t}async function xo(e,t){let n=c(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return ct(n.session_id),n}async function Po(e,t,n){return c(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function ko(e,t,n,r){let s=n?`?limit=${n}`:"";return c(await i.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function wo(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 c(await i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function _o(e,t,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return c(await i.get(`/projects/${e}/sessions/${t}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function So(e,t,n){return c(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function vo(e,t){return c(await i.delete(`/projects/${e}/sessions/${t}`))}async function lt(e,t){return c(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function ut(e,t){return c(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function Ro(e,t,n){return c(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function Co(e){return c(await i.get(`/projects/${e}/triggers`))}async function To(e,t){return c(await i.post(`/projects/${e}/triggers`,t))}async function Ao(e,t,n){return c(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function Io(e,t){return c(await i.delete(`/projects/${e}/triggers/${t}`))}async function jo(e,t){return c(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Eo(e,t){return c(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var ue=new Map;function $o(e,t){return`${e}::${t}`}function dl(e,t){ue.delete(e),ue.set(e,t)}function gl(e,t){let n=$o(e,t),r=ue.get(n);return r&&dl(n,r),r}function ml(e,t,n){let r=$o(e,t);if(!ue.has(r)&&ue.size>=512){let s=ue.keys().next().value;s!==void 0&&ue.delete(s)}dl(r,n)}function fl(e,t){ue.delete($o(e,t))}function ug(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||!e.sandbox_id?null:{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}}var Ht=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 pg(e){return e instanceof Error&&e.name==="SessionStartError"}function dg(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 Ht(s,{status:n,code:r,terminal:!0}):null}async function _e(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=dg(s.error);if(p&&!(p.status===404&&po(t)))throw p;return null}let o=s.data,l=o.sandbox?.external_id;return o.stage==="ready"&&l&&o.opencode_session_id&&ml(e,t,{opencodeSessionId:o.opencode_session_id,runtimeUrl:At(l),sandboxId:l}),o}function gg(e,t){return["session-start",e,t]}async function qo(e){return c(await i.get(`/projects/${e}/model-defaults`))}async function Do(e,t){return c(await i.put(`/projects/${e}/model-defaults`,t))}async function Mo(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return c(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function Uo(e,t,n){return c(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,n))}async function mg(e,t){return c(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function fg(e,t,n){return c(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,n))}async function Oo(e,t){return c(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function Lo(){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 Fo(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?Lo():s.data}async function Go(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?Lo():s.data}async function Bo(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 c(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function No(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 c(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Ho(){return c(await i.get("/billing/credit-breakdown"))}async function Ko(e){let t=e!=null?`?days=${e}`:"";return c(await i.get(`/billing/usage-history${t}`))}async function Wo(){return c(await i.get("/billing/tier-configurations"))}async function yg(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Le(e,`/v1/billing/account-state${t}`)}async function Vo(e){return c(await i.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function zo(e,t){return c(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Jo(e,t){return c(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Qo(e,t){return c(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function Xo(e){return c(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function Yo(e,t,n){return c(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function Zo(e){return c(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function ea(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),c(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function ta(e){return c(await i.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function na(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function ra(e){return c(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function hg(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function bg(e){return c(await i.post("/billing/create-per-seat-checkout",{account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl,locale:e.locale}),"Failed to create per-seat checkout")}async function xg(e){return c(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function Pg(e){return c(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function sa(e={}){let t=new URLSearchParams;e.start&&t.set("start",e.start),e.end&&t.set("end",e.end),e.groupBy&&t.set("group_by",e.groupBy);let n=e.endUserRef??e.originRef;n&&t.set("end_user_ref",n),e.accountId&&t.set("account_id",e.accountId);let r=t.toString();return c(await i.get(`/usage${r?`?${r}`:""}`))}async function yl(e,t){return c(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function kg(e){return yl("slack",e)}function wg(e){return yl("teams",e)}async function ia(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function oa(e,t){return c(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var _g={oauth_available:!1,install_url:null};async function aa(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?_g:t.data}async function ca(e){return c(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function la(e){let t=await i.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function ua(e,t){return c(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function pa(e,t){return c(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function da(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Sg={provider:"agentmail",managed_available:!1};async function ga(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?da(r.data):null}async function ma(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Sg:t.data}async function fa(e,t){let n=c(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return da(n)}async function ya(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function ha(e,t,n){let r=c(await i.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return da(r)}async function ba(e,t){return c(await i.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function vg(e){return c(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Rg(e,t,n){return c(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function xa(e){return c(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Pa(e,t){return c(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function ka(e){return c(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function wa(e,t){return c(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function _a(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 c(await i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Sa(e,t){return c(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function va(e,t){return c(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ra(e,t){return c(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ca(e,t){return c(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ta(e,t){return c(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Aa(e,t){return c(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ia(e){return c(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function ja(e,t){return c(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Ea(e,t){return c(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function $a(e){return c(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function qa(e,t){return c(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Da(e,t){return c(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Ma(e,t,n,r,s){return c(await i.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function Cg(e,t){return c(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Ua(e){let t=new FormData;t.append("audio_file",e);let n=await i.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function Tg(){return c(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function Ag(){return c(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function Ig(e){return c(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function jg(){return c(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function Eg(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return c(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function $g(e){return c(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function k(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function D(e){return i.get(e,{showErrors:!1})}async function qg(e){return k(await D(`/accounts/${e}/iam/groups`)).groups}async function Dg(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}`))}async function Mg(e,t){return k(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function Ug(e,t,n){return k(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function Og(e,t){return k(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function Lg(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}/members`)).members}async function Fg(e,t,n){return k(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function Gg(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function Bg(e,t,n){return k(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function Ng(e,t){return k(await D(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function Hg(e,t){return k(await D(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function Kg(e,t={}){let n=new URLSearchParams;t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.scopeType&&n.set("scopeType",t.scopeType),t.scopeId!==void 0&&n.set("scopeId",t.scopeId===null?"null":t.scopeId);let r=n.toString();return k(await D(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function Wg(e,t){return k(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Vg(e,t,n){return k(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function zg(e,t){return k(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function Jg(e,t){return k(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function Qg(e,t){return k(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function Xg(e){return k(await D(`/accounts/${e}/iam/roles`)).roles}async function Yg(e){return k(await D(`/accounts/${e}/iam/agent-identities`)).agents}async function Zg(e,t){return k(await D(`/accounts/${e}/iam/roles/${t}/permissions`))}async function em(e){return k(await D(`/accounts/${e}/iam/actions`)).actions}async function tm(e,t){return k(await D(`/accounts/${e}/iam/roles/${t}/usage`))}async function nm(e,t){return k(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function rm(e,t,n){return k(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function sm(e,t,n){return k(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function im(e,t){return k(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function om(e,t,n){return k(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function am(e){return k(await D(`/accounts/${e}/iam/scim/tokens`)).tokens}async function cm(e,t){return k(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function lm(e,t){return k(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function um(e){return k(await D(`/accounts/${e}/iam/mfa-required`))}async function pm(e){return k(await D(`/accounts/${e}/iam/mfa-required/preview`))}async function dm(e,t){return k(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function gm(e){return k(await D(`/accounts/${e}/iam/sso/provider`)).provider}async function mm(e,t){return k(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function fm(e,t){return k(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function ym(e){return k(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function hm(e){return k(await D(`/accounts/${e}/iam/sso/mappings`)).mappings}async function bm(e,t){return k(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function xm(e,t){return k(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Pm(e){return k(await D(`/accounts/${e}/iam/session-policy`))}async function km(e,t){return k(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function wm(e){return k(await D(`/accounts/${e}/iam/sessions`)).sessions}async function _m(e,t){return k(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function Sm(e){return k(await D(`/accounts/${e}/iam/pat-policy`))}async function vm(e,t){return k(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Rm(e){return k(await D(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function Cm(e,t){return k(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Tm(e,t){return k(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Am(e,t){return k(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Im(e){return k(await D(`/accounts/${e}/audit/webhooks`)).webhooks}async function jm(e,t){return k(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function Em(e,t,n){return k(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function $m(e,t){return k(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function qm(e,t={}){let n=new URLSearchParams;t.action&&n.set("action",t.action),t.actor&&n.set("actor",t.actor),t.resource_type&&n.set("resource_type",t.resource_type),t.since&&n.set("since",t.since),t.until&&n.set("until",t.until),t.q&&n.set("q",t.q),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString();return k(await D(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Dm(e,t,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),k(await D(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function Mm(e,t,n){return n.length===0?[]:k(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function Um(e){return k(await D(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function Om(e,t){return k(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function Lm(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:c(e,"Failed to load account deletion status")}async function Fm(e="User requested deletion"){return c(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function Gm(){return c(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function Bm(){return c(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function Nm(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Hm(){return i.get("/admin/api/provider-distribution").then(e=>c(e))}function Km(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>c(t))}function Wm(e){return i.put("/admin/api/provider-distribution",e).then(t=>c(t))}function Vm(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>c(t))}function zm(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>c(n))}function Jm(){return i.get("/admin/api/provider-fallback").then(e=>c(e))}function Qm(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>c(t))}async function Xm(e){return c(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function Ym(e,t){return c(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:e,sandbox_url:t},{timeout:18e4}),"Failed to upload to Google Slides")}async function Oa(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 c(await i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function La(e,t){return c(await i.get(`/projects/${e}/review/items/${t}`))}async function Fa(e,t){return c(await i.post(`/projects/${e}/review/items`,t))}async function Ga(e,t,n){return c(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function Ba(e,t){return c(await i.post(`/projects/${e}/review/bulk`,t))}async function Na(e){return c(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Ha(e){return c(await i.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function Ka(e,t){let n=await i.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Kt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function hl(e,t=""){return`${ye()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function bl(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 Kt(s,t.status)}return r}async function Zm(e){return bl(hl(e))}async function ef(e){return bl(hl(e,"/messages"))}var Wt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function xl(e){return`${ye()}/public/voice-join/${encodeURIComponent(e)}`}async function Pl(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Wt(s,t.status)}return r}async function tf(e){return Pl(xl(e))}async function nf(e,t=0){let n=`${xl(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return Pl(n)}async function Wa(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/accounts/tokens${t}`))}async function Va(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return c(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function za(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return c(await i.delete(`/accounts/tokens/${e}${n}`))}async function Ja(e){return c(await i.get(`/projects/${e}/cli-token`))}async function Qa(e,t){return c(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Xa(e,t){return c(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Ya(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 c(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Za(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 c(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function ec(e){return c(await i.get(`/accounts/${e}/audit/webhooks`))}async function tc(e,t){return c(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function nc(e,t,n){return c(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function rc(e,t){return c(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function sc(e,t){return c(await i.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function ic(e,t){return c(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function oc(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString()?`?${t.toString()}`:"";return c(await i.get(`/marketplace/items${n}`))}async function ac(){return c(await i.get("/marketplace/marketplaces"))}async function cc(){return c(await i.get("/marketplace/marketplaces/featured"))}async function lc(e){return c(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function uc(e,t){return c(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function pc(){return c(await i.get("/marketplace/sources"))}async function dc(e){return c(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function gc(e){return c(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function rf(e,t){return c(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function sf(e){return c(await i.get(`/templates/${encodeURIComponent(e)}`))}async function of(e,t){return c(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}function af(e){return e?e.runtimeReady!==void 0?e.runtimeReady===!0:e.opencode!==void 0?e.opencode==="ok"||e.opencode===!0:e.status!=="starting"&&e.status!=="down"&&e.status!=="error":!1}async function mc(e,t){let n=(e===void 0?O():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await j(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}return{status:r.status,ok:r.ok,health:o,body:s}}var ne={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var kl=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,wl=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,_l=new Set([22,4096,parseInt(ne.KORTIX_MASTER,10)]);function cf(e){return wl.test(e)}function Vt(e){if(!e)return"/";let t=e,n=t.indexOf("](");n!==-1&&(t=t.slice(0,n));let r=t.toLowerCase().indexOf("%5d(");return r!==-1&&(t=t.slice(0,r)),t?t.startsWith("/")?t:`/${t}`:"/"}function lf(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var uf=new Set(["'",'"',"`","<","(","["]),pf=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function df(e){let t=0,n=e.length;for(;t<n&&(e[t]===" "||e[t]===" ");)t++;for(;n>t&&(e[n-1]===" "||e[n-1]===" ");)n--;for(;t<n&&uf.has(e[t]);)t++;for(;n>t&&pf.has(e[n-1]);)n--;return e.slice(t,n)}function gf(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var mf=/^\/proxy\/(\d{1,5})(\/.*)?$/,ff=/^\/(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 Sl(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:ff.test(t.pathname)}catch{return!1}}function dt(e){if(!e)return null;let t=df(lf(e.trim())),n=yc(t);if(n){let r=Vt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let o=`${r.pathname||"/"}${r.search}${r.hash}`,l=parseInt(ne.KORTIX_MASTER,10);if(s===l){let d=r.pathname.match(mf);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=Vt(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=Vt(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=gf(e);return r&&r!==e?dt(r):null}}function yf(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let o=r.index,l=o+r[0].length;t.some(([d,f])=>o>=d&&l<=f)||t.push([o,l])}return t}function hf(e,t){return t.some(([n,r])=>e>=n&&e<r)}function vl(e){let t=[],n=new Set,r=yf(e);kl.lastIndex=0;let s;for(;(s=kl.exec(e))!==null;){let o=dt(s[0]);if(!o)continue;let{originalUrl:l,port:p,path:d}=o;p<1||p>65535||_l.has(p)||n.has(l)||(n.add(l),t.push({originalUrl:l,port:p,path:d,startIndex:s.index,endIndex:s.index+l.length,inCodeBlock:hf(s.index,r)}))}return t}function bf(e){return vl(e).length>0}function xf(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Rl(e){return e.sandboxId.trim().length>0}function pe(e,t,n){let r=Vt(t);if(!Rl(n))return Il(e,r);if(!xf(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 Pf(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return pe(3211,`/open?path=/workspace/${r}`,t)}function Cl(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function kf(e){return`http://localhost:3211${Cl(e)}`}function Tl(){return"/health"}function wf(e){return pe(3211,Tl(),e)}function _f(e,t){return pe(e,"/",t)}function Al(e){let t=dt(e);return!(!t||_l.has(t.port)||Sl(e))}function fc(e,t){if(!e)return e;let n=dt(e);return n?Al(n.originalUrl)?pe(n.port,n.path,t):n.originalUrl:e}function Il(e,t="/"){return`http://localhost:${e}${t}`}var jl=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function yc(e){let t=e.match(wl);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(jl);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 Sf(e){try{let t=yc(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function vf(e){return cf(e)||jl.test(e)}function Rf(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var pt="/web-proxy/";function Cf(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${pt}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(ne.KORTIX_MASTER,10);return`${pe(o,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Tf(e){try{let t=new URL(e),n=t.pathname.indexOf(pt);if(n===-1)return null;let s=t.pathname.slice(n+pt.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],l=s[2],p=s[3]||"/";return`${o}://${l}${p}${t.search}${t.hash}`}catch{return null}}function Af(e){try{return new URL(e).pathname.includes(pt)}catch{return e.includes(pt)}}function If(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 jf(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 El="frontend";function zt(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${El}] ${t}`,...n?[n]:[]);try{ce().app.log({service:El,level:e,message:t,extra:n})}catch{}}var de={debug:(e,t)=>zt("debug",e,t),info:(e,t)=>zt("info",e,t),warn:(e,t)=>zt("warn",e,t),error:(e,t)=>zt("error",e,t)};function $l(e){return{type:"heartbeat-gap",gapMs:e}}function ql(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 Ef={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},$f=16,qf=8,Df=6e4,Mf=5e3,Uf=250,Of=1e3,Lf=3e4,Ff=5,Gf=3e3,Bf=3e4,Nf=2e4,Hf=2e3,Kf=8;function Wf(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Dl(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 Jt(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=e,l=e.timers??Ef,p=e.connectTimeoutMs??Nf,d=e.heartbeatTimeoutMs??Df,f=e.maxConsecutiveHardFailures??Kf,m=new AbortController,h=()=>m.abort();o&&(o.aborted?m.abort():o.addEventListener("abort",h,{once:!0}));let x=l.now(),P=[],u,a=0,S=new Map,T=()=>{if(u&&l.clearTimeout(u),u=void 0,P.length===0)return;let w=P;P=[],S.clear(),a=l.now(),x=l.now();for(let v of w)if(v)try{n(v.event)}catch(A){console.warn("[opencode-events] event handler threw, skipping",A)}},C=()=>{if(u)return;let w=l.now()-a;u=l.setTimeout(T,Math.max(0,$f-w))};return(async()=>{let w=0,v=0;for(;!m.signal.aborted;){let A=!1,$=!1,y,R,H=null,V=l.now(),B=new AbortController,F=Dl(m.signal);F.promise.then(()=>B.abort());try{let K=await new Promise((ln,Ke)=>{let J=!1;R=l.setTimeout(()=>{J||(J=!0,de.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),B.abort(),Ke(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:B.signal,sseDefaultRetryDelay:Gf,sseMaxRetryDelay:Bf,sseMaxRetryAttempts:1}).then(ee=>{J||(J=!0,l.clearTimeout(R),ln(ee))},ee=>{J||(J=!0,l.clearTimeout(R),Ke(ee))})}),{stream:U}=K;x=l.now();let X=()=>{l.clearTimeout(y),y=l.setTimeout(()=>{de.warn("SSE heartbeat timeout, forcing reconnect"),B.abort()},d)};X();let xt=l.now(),Lu=U[Symbol.asyncIterator]();for(;!B.signal.aborted;){let ln=Lu.next().then(ae=>({kind:"next",result:ae}),ae=>({kind:"error",error:ae})),Ke=Dl(B.signal),J=await Promise.race([ln,Ke.promise.then(()=>({kind:"aborted"}))]);if(Ke.cleanup(),J.kind==="aborted")break;if(J.kind==="error")throw J.error;if(J.result.done)break;A=!0,X();let ee=J.result.value,Pt=ee&&typeof ee=="object"&&"payload"in ee?ee.payload:ee;if(!Pt?.type)continue;let un=Wf(Pt);if(un){let ae=S.get(un);ae!==void 0&&(P[ae]=void 0),S.set(un,P.length)}P.push({type:Pt.type,event:Pt}),C(),!(l.now()-xt<qf)&&(xt=l.now(),await new Promise(ae=>l.setTimeout(ae,0)))}$=A}catch(K){if(m.signal.aborted)break;H=K;let U=String(K),X=U.includes("401")||U.includes("403")||U.includes("Unauthorized")||U.includes("Token refresh failed");if(de.error("SSE event stream error",{error:U,retryCount:w,isAuthError:X}),X)try{Je(),await Tt(),de.info("SSE: refreshed auth token after auth error")}catch(xt){de.error("SSE: failed to refresh auth token",{error:String(xt)})}}finally{l.clearTimeout(y),l.clearTimeout(R),B.abort(),F.cleanup(),T()}if(m.signal.aborted)break;let Ce=l.now()-V,oe=H?.cause?.status;if(v=!A&&(typeof oe=="number"&&oe>=400||Ce<Hf)?v+1:0,v>=f){de.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(H)});try{s?.({consecutiveFailures:v,lastError:H})}catch(K){console.warn("[opencode-events] onParked handler threw",K)}break}let Q=l.now()-x;Q>Mf&&r?.(Q),$?w=0:(w++,w>1&&de.warn("SSE event stream reconnecting",{retryCount:w}));let z=$?Uf:Math.min(Of*2**Math.min(w-1,Ff),Lf);await new Promise(K=>{let U=l.setTimeout(K,z),X=()=>{l.clearTimeout(U),K()};m.signal.addEventListener("abort",X,{once:!0})})}})(),{close:()=>{m.abort(),o&&o.removeEventListener("abort",h),u&&l.clearTimeout(u)}}}function Vf(){return ce()}var Qt=new Map,gt=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 Ml(e,t){wt(e,t);function n(u){try{return new URL(u)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(u,window.location.origin)}catch{return null}throw new I(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(u)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(u){let a=q().backendUrl??e.backendUrl,S=80,T=n(a);return T&&(S=T.port?Number(T.port):T.protocol==="https:"?443:80),{sandboxId:u,backendPort:S,apiBaseUrl:a}}let s={list:Qr,get:Yr,create:Xr,updateName:Zr,leave:us,members:es,invite:ts,removeMember:cs,updateMemberRole:ls,invites:ns,cancelInvite:rs,resendInvite:ss,tokens:{list:Wa,create:Va,revoke:za},audit:{log:Ya,export:Za,webhooks:{list:ec,create:tc,update:nc,remove:rc}}},o={accountState:Fo,accountStateMinimal:Go,transactions:Bo,transactionsSummary:No,creditBreakdown:Ho,usageHistory:Ko,usageRollup:sa,tierConfigurations:Wo,checkout:{createSession:u=>Vo(u),confirmSession:(u,a)=>zo(u,a)},subscription:{createPortalSession:(u,a)=>Jo(u,a),cancel:(u,a)=>Qo(u,a),reactivate:u=>Xo(u),scheduleDowngrade:(u,a,S)=>Yo(u,a,S),cancelScheduledChange:u=>Zo(u),prorationPreview:(u,a)=>ea(u,a)},credits:{purchase:u=>ta(u),autoTopupSettings:u=>na(u),configureAutoTopup:u=>ra(u)}},l={describe:is,accept:os,decline:as},p={list:ke,listForAccount:ds,get:Ut,detail:Ot,create:ys,createRepo:hs,provision:bs,update:Gt,archive:Bt,llmCatalog:Lt,modelPicker:Ft,sandboxHealth:Nt,sandboxTemplates:Di,sessions:Fe,createSession:Ge},d={linkRepository:ws,getInstallation:_s,listInstallations:Ss,listLinkableInstallations:vs,listRepositories:Rs,listRepositoryBranches:Cs,linkInstallation:As,saveInstallation:Ts,deleteInstallation:Is},f={list:Na,create:Ha,revoke:Ka},m=Ii,h={items:u=>oc(u),item:u=>lc(u),itemFile:(u,a)=>uc(u,a),marketplaces:()=>ac(),featured:()=>cc(),sources:{list:()=>pc(),add:u=>dc(u),remove:u=>gc(u)}};function x(u){return{get:a=>Ut(u,a),detail:()=>Ot(u),update:a=>Gt(u,a),archive:()=>Bt(u),llmCatalog:()=>Lt(u),modelPicker:()=>Ft(u),sandboxHealth:()=>Nt(u),onboardingComplete:(...a)=>ks(u,...a),tokens:{list:()=>Ja(u),create:a=>Qa(u,a),revoke:a=>Xa(u,a)},setupLinks:{requestSecret:a=>sc(u,a),requestConnector:a=>ic(u,a)},validateManifest:a=>ms(u,a),gitToken:()=>fs(u),secrets:{list:()=>Xs(u),upsert:a=>Ys(u,a),remove:a=>ni(u,a),setPersonal:(...a)=>ri(u,...a),removePersonal:a=>si(u,a),setGitCredential:a=>ti(u,a),startProviderOAuth:(...a)=>Zs(u,...a),pollProviderOAuth:(...a)=>ei(u,...a)},access:{list:()=>qs(u),invite:(...a)=>Us(u,...a),update:(...a)=>Ds(u,...a),revoke:a=>Ms(u,a),pendingInvites:()=>Os(u),resendInvite:(...a)=>Fs(u,...a),revokeInvite:(...a)=>Ls(u,...a),requests:()=>js(u),approveRequest:(...a)=>Es(u,...a),rejectRequest:(...a)=>$s(u,...a),groupGrants:()=>Gs(u),attachGroupGrant:(...a)=>Bs(u,...a),updateGroupGrant:(...a)=>Ns(u,...a),detachGroupGrant:a=>Hs(u,a),resourceGrants:{list:()=>Ks(u),create:a=>Ws(u,a),remove:a=>Vs(u,a)}},connectors:{list:()=>fi(u),config:(...a)=>ki(u,...a),create:(...a)=>Si(u,...a),remove:(...a)=>Ri(u,...a),sync:()=>yi(u),auth:{discover:(...a)=>vi(u,...a)},setName:(...a)=>wi(u,...a),setCredentialMode:(...a)=>hi(u,...a),setCredential:(...a)=>ji(u,...a),setSensitive:(...a)=>bi(u,...a),profiles:{list:()=>ii(u),listAll:()=>oi(u),reconcile:(...a)=>ai(u,...a),reconcileMember:(...a)=>ci(u,...a),updateCredential:(...a)=>li(u,...a),revoke:(...a)=>ui(u,...a),activate:(...a)=>pi(u,...a),setDefault:(...a)=>di(u,...a),pipedreamConnect:(...a)=>gi(u,...a),pipedreamFinalize:(...a)=>mi(u,...a)},policies:{get:(...a)=>xi(u,...a),set:(...a)=>Pi(u,...a)},pipedream:{listApps:(...a)=>Ci(u,...a),connect:(...a)=>_i(u,...a),finalize:(...a)=>Ei(u,...a)},discover:{list:(...a)=>Ti(u,...a),detail:(...a)=>Ai(u,...a)}},policies:{list:()=>$i(u),set:(...a)=>qi(u,...a)},triggers:{list:()=>Co(u),create:(...a)=>To(u,...a),update:(...a)=>Ao(u,...a),remove:(...a)=>Io(u,...a),fire:(...a)=>Eo(u,...a),setActivation:(...a)=>jo(u,...a)},files:{list:a=>Hi(u,a),read:(a,S)=>Wi(u,a,S),search:(...a)=>Ki(u,...a),archive:(...a)=>Vi(u,...a),history:(...a)=>Yi(u,...a)},git:{commits:()=>Ji(u),commit:a=>Qi(u,a),commitDiff:a=>Xi(u,a),branches:()=>zi(u),versionDiff:(...a)=>Zi(u,...a),inviteCollaborator:(...a)=>gs(u,...a)},changeRequests:{list:()=>eo(u),get:a=>to(u,a),diff:a=>no(u,a),mergePreview:a=>ro(u,a),open:(...a)=>so(u,...a),merge:(...a)=>io(u,...a),close:(...a)=>oo(u,...a),reopen:(...a)=>ao(u,...a),requestChanges:(...a)=>co(u,...a)},sessions:{list:a=>Fe(u,a),create:a=>Ge(u,a),ensureWarm:()=>bo(u),claimWarm:a=>xo(u,a)},review:{list:a=>Oa(u,a),get:a=>La(u,a),submit:a=>Fa(u,a),act:(...a)=>Ga(u,...a),bulkAct:a=>Ba(u,a)},approvals:{list:a=>zs(u,a),resolve:(...a)=>Qs(u,...a),sessionsNeedingInput:a=>Js(u,a)},gateway:{logs:a=>_a(u,a),log:a=>Sa(u,a),overview:a=>va(u,a),series:a=>Ra(u,a),breakdown:a=>Ca(u,a),sessions:a=>Ta(u,a),errors:a=>Aa(u,a),budgets:()=>Ia(u),setBudget:a=>ja(u,a),deleteBudget:a=>Ea(u,a),keys:()=>$a(u),createKey:a=>qa(u,a),revokeKey:a=>Da(u,a),routing:{get:()=>xa(u),set:a=>Pa(u,a),reset:()=>ka(u),preview:a=>wa(u,a)},playground:(a,S,T)=>Ma(u,a,S,T)},channels:{slack:{installation:()=>ia(u),connect:a=>oa(u,a),mode:()=>aa(u),manifest:()=>ca(u),disconnect:()=>la(u),getFile:a=>ua(u,a),uploadFile:a=>pa(u,a)},email:{installation:a=>ga(u,a),mode:()=>ma(u),connect:a=>fa(u,a),disconnect:a=>ya(u,a),updatePolicy:(...a)=>ha(u,...a)},voice:{setBotName:a=>ba(u,a)}},updateExperimentalFeature:(...a)=>xs(u,...a),modelDefaults:{get:()=>qo(u),set:a=>Do(u,a),clear:a=>Mo(u,a)},setDefaultAgent:a=>Oo(u,a),sandbox:{list:()=>Ni(u),snapshots:()=>Mi(u),rebuildSnapshot:a=>Ui(u,a),fixWithAgent:()=>Oi(u),createTemplate:a=>Li(u,a),updateTemplate:(...a)=>Fi(u,...a),removeTemplate:a=>Gi(u,a),buildTemplate:a=>Bi(u,a),setProvider:a=>Ps(u,a)},setAgentScope:(...a)=>Uo(u,...a),session:a=>P(u,a)}}function P(u,a){let S=null,T,C;function w(){if(S)return S;let y=gl(u,a);return y&&(S=y),S}async function v(y){let R=w();if(R)return R;let H=y?.readyTimeoutMs??18e4,V=`${u}
8
- ${a}`,B=Qt.get(V);if(B)return S=await B,S;let F=(async()=>{let Ce=Date.now()+H,oe=()=>Math.max(0,Ce-Date.now()),N=await _e(u,a,Math.min(3e4,oe()));for(;Date.now()<Ce&&(N==null||(N.stage==="provisioning"||N.stage==="starting")&&N.retriable);)await new Promise(K=>setTimeout(K,Math.min(1e3,oe()))),N=await _e(u,a,Math.min(3e4,oe()));if(!N||N.stage!=="ready"||!N.sandbox||!N.opencode_session_id)throw new I(`Session runtime not ready (stage: ${N?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let Q=N.sandbox.external_id;if(!Q)throw new I("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let z=At(Q);return Yc(z,Q),{opencodeSessionId:N.opencode_session_id,runtimeUrl:z,sandboxId:Q}})();Qt.set(V,F);try{return S=await F,S}finally{Qt.get(V)===F&&Qt.delete(V)}}function A(y){let R=w();if(!R)throw new gt(y);return R}function $(){S=null,fl(u,a)}return{get:y=>Po(u,a,y),update:y=>So(u,a,y),delete:()=>($(),vo(u,a)),start:(...y)=>_e(u,a,...y),restart:()=>($(),lt(u,a)),stop:()=>($(),ut(u,a)),setSharing:y=>go(u,a,y),previews:()=>mo(u,a),commit:y=>lo(u,a,y),publicShares:{list:()=>fo(u,a),create:(...y)=>yo(u,a,...y),revoke:(...y)=>ho(u,a,...y)},audit:(y,R)=>ko(u,a,y,R),transcript:y=>wo(u,a,y),voiceTranscript:y=>_o(u,a,y),ensureReady:v,health:y=>mc(w()?.runtimeUrl??null,y),previewUrl:(y,R="/")=>pe(y,R,r(A("previewUrl").sandboxId)),proxyUrl:y=>fc(y,r(A("proxyUrl").sandboxId)),setModel:y=>{T=y},changeModel:y=>Ro(u,a,y),setAgent:y=>{C=y},send:async(y,R)=>{let{opencodeSessionId:H,runtimeUrl:V}=await v(),B=R?.model??T,F=R?.agent??C;return te(V).session.prompt({sessionID:H,parts:[{type:"text",text:y}],...B?{model:B}:{},...F?{agent:F}:{}})},abort:async()=>{let{opencodeSessionId:y,runtimeUrl:R}=await v();return te(R).session.abort({sessionID:y})},rewind:async y=>{let{opencodeSessionId:R,runtimeUrl:H}=await v();return te(H).session.revert({sessionID:R,messageID:y})},restoreRewind:async()=>{let{opencodeSessionId:y,runtimeUrl:R}=await v();return te(R).session.unrevert({sessionID:y})},stream:async y=>{let{runtimeUrl:R}=await v();return Jt({client:te(R),onEvent:y.onEvent,onGapRehydrate:y.onGapRehydrate,signal:y.signal})},get runtime(){return te(A("runtime").runtimeUrl)},files:{list:async y=>Ze(y,(await v()).runtimeUrl),read:async y=>Me(y,(await v()).runtimeUrl),readBlob:async y=>Ue(y,(await v()).runtimeUrl),status:async()=>et((await v()).runtimeUrl),findFiles:async(y,R)=>tt(y,R,(await v()).runtimeUrl),findText:async y=>nt(y,(await v()).runtimeUrl),upload:async(y,R,H)=>Oe(y,R,H,(await v()).runtimeUrl),create:async y=>rt(y,(await v()).runtimeUrl),copy:async(y,R)=>st(y,R,(await v()).runtimeUrl),remove:async y=>it(y,(await v()).runtimeUrl),mkdir:async y=>ot(y,(await v()).runtimeUrl),rename:async(y,R)=>at(y,R,(await v()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:l,projects:p,project:x,session:P,github:d,billing:o,sandboxShares:f,transcribe:Ua,connectStatus:m,marketplace:h,validateToken:ps,runtime:Vf}}function Ul(){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 hc={thinking:!1,toolDetails:!0,assistantMetadata:!0};function zf(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Jf(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 Qf(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
5
+ `);L=F.pop()??"";for(let J of F){let Q=J.split(`
6
+ `),X=[],N;for(let O of Q)if(O.startsWith("data:"))X.push(O.replace(/^data:\s*/,""));else if(O.startsWith("event:"))N=O.replace(/^event:\s*/,"");else if(O.startsWith("id:"))P=O.replace(/^id:\s*/,"");else if(O.startsWith("retry:")){let W=Number.parseInt(O.replace(/^retry:\s*/,""),10);Number.isNaN(W)||(f=W)}let M,H=!1;if(X.length){let O=X.join(`
7
+ `);try{M=JSON.parse(O),H=!0}catch{M=O}}H&&(s&&await s(M),r&&(M=await r(M))),n?.({data:M,event:N,id:P,retry:f}),X.length&&(yield M)}}}finally{T.removeEventListener("abort",h),$.releaseLock()}break}catch(k){if(t?.(k),u!==void 0&&a>=u)break;let j=Math.min(f*2**(a-1),p??3e4);await w(j)}}}()}};var Bu=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ku=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Hu=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},ht=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(g=>encodeURIComponent(g))).join(Ku(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=Bu(r),u=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):_e({allowReserved:e,name:n,value:p})).join(c);return r==="label"||r==="matrix"?c+u:u},_e=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},bt=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,P])=>{g=[...g,m,e?P:encodeURIComponent(P)]});let y=g.join(",");switch(r){case"form":return`${n}=${y}`;case"label":return`.${y}`;case"matrix":return`;${n}=${y}`;default:return y}}let u=Hu(r),p=Object.entries(s).map(([g,y])=>_e({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:y})).join(u);return r==="label"||r==="matrix"?u+p:p};var zu=/\{[^{}]+\}/g,Nu=({path:e,url:t})=>{let n=t,r=t.match(zu);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,ht({explode:c,name:u,style:p,value:g}));continue}if(typeof g=="object"){n=n.replace(s,bt({explode:c,name:u,style:p,value:g,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${_e({name:u,value:g})}`);continue}let y=encodeURIComponent(p==="label"?`.${g}`:g);n=n.replace(s,y)}return n},Ec=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=Nu({path:t,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function fn(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 $c=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 yn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var qc=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let p=e[c]||t;if(Array.isArray(u)){let g=ht({allowReserved:p.allowReserved,explode:!0,name:c,style:"form",value:u,...p.array});g&&s.push(g)}else if(typeof u=="object"){let g=bt({allowReserved:p.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...p.object});g&&s.push(g)}else{let g=_e({allowReserved:p.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},Dc=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"}},Wu=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,Mc=async({security:e,...t})=>{for(let n of e){if(Wu(t,n.name))continue;let r=await $c(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}}},hn=e=>Ec({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:qc(e.querySerializer),url:e.url}),bn=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=xt(e.headers,t.headers),n},Vu=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},xt=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?Vu(n):Object.entries(n);for(let[s,c]of r)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},Le=class{fns=[];clear(){this.fns=[]}eject(t){let n=this.getInterceptorIndex(t);this.fns[n]&&(this.fns[n]=null)}exists(t){let n=this.getInterceptorIndex(t);return!!this.fns[n]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,n){let r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=n,t):!1}use(t){return this.fns.push(t),this.fns.length-1}},Uc=()=>({error:new Le,request:new Le,response:new Le}),Ju=qc({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Qu={"Content-Type":"application/json"},Fe=(e={})=>({...yn,headers:Qu,parseAs:"auto",querySerializer:Ju,...e});var Ge=(e={})=>{let t=bn(Fe(),e),n=()=>({...t}),r=y=>(t=bn(t,y),n()),s=Uc(),c=async y=>{let m={...t,...y,fetch:y.fetch??t.fetch??globalThis.fetch,headers:xt(t.headers,y.headers),serializedBody:void 0};m.security&&await Mc({...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 P=hn(m);return{opts:m,url:P}},u=async y=>{let{opts:m,url:P}=await c(y),w={redirect:"follow",...m,body:fn(m)},R=new Request(P,w);for(let A of s.request.fns)A&&(R=await A(R,m));let l=m.fetch,f;try{f=await l(R)}catch(A){let S=A;for(let $ of s.error.fns)$&&(S=await $(A,void 0,R,m));if(S=S||{},m.throwOnError)throw S;return m.responseStyle==="data"?void 0:{error:S,request:R,response:void 0}}for(let A of s.response.fns)A&&(f=await A(f,R,m));let a={request:R,response:f};if(f.ok){let A=(m.parseAs==="auto"?Dc(f.headers.get("Content-Type")):m.parseAs)??"json";if(f.status===204||f.headers.get("Content-Length")==="0"){let $;switch(A){case"arrayBuffer":case"blob":case"text":$=await f[A]();break;case"formData":$=new FormData;break;case"stream":$=f.body;break;default:$={};break}return m.responseStyle==="data"?$:{data:$,...a}}let S;switch(A){case"arrayBuffer":case"blob":case"formData":case"text":S=await f[A]();break;case"json":{let $=await f.text();S=$?JSON.parse($):{};break}case"stream":return m.responseStyle==="data"?f.body:{data:f.body,...a}}return A==="json"&&(m.responseValidator&&await m.responseValidator(S),m.responseTransformer&&(S=await m.responseTransformer(S))),m.responseStyle==="data"?S:{data:S,...a}}let T=await f.text(),v;try{v=JSON.parse(T)}catch{}let k=v??T,j=k;for(let A of s.error.fns)A&&(j=await A(k,f,R,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,...a}},p=y=>m=>u({...m,method:y}),g=y=>async m=>{let{opts:P,url:w}=await c(m);return jc({...P,body:P.body,headers:P.headers,method:y,onRequest:async(R,l)=>{let f=new Request(R,l);for(let a of s.request.fns)a&&(f=await a(f,P));return f},serializedBody:fn(P),url:w})};return{buildUrl:hn,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:p("TRACE")}};var Xu={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Yu=Object.entries(Xu),Oc=(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&&Oc(n.args,t);return t},Zu=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},d=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=Oc(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),g=p.map||s.key;p.in&&(n[p.in][g]=u)}else n.body=u;else for(let[p,g]of Object.entries(u??{})){let y=r.get(p);if(y)if(y.in){let m=y.map||p;n[y.in][m]=g}else n[y.map]=g;else{let m=Yu.find(([P])=>p.startsWith(P));if(m){let[P,w]=m;n[w][p.slice(P.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[P,w]of Object.entries(s.allowExtra))if(w){n[P][p]=g;break}}}}return Zu(n),n};var Lc=Ge(Fe({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??Lc}},xn=class{defaultKey="default";instances=new Map;get(t){let n=this.instances.get(t??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(t,n){this.instances.set(n??this.defaultKey,t)}},kn=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Pn=class extends b{log(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},_n=class extends b{moveSession(t,n){let r=d([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},wn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Sn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},vn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},Cn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},Rn=class extends b{generateName(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Tn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},An=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new Tn({client:this.client})}},In=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new _n({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new wn({client:this.client})}_console;get console(){return this._console??=new Sn({client:this.client})}_session;get session(){return this._session??=new vn({client:this.client})}_resource;get resource(){return this._resource??=new Cn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Rn({client:this.client})}_workspace;get workspace(){return this._workspace??=new An({client:this.client})}},jn=class extends b{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=d([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},En=class extends b{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=d([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new jn({client:this.client})}},$n=class extends b{subscribe(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},qn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},Dn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},Mn=class extends b{remove(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Un=class extends b{text(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},On=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},Ln=class extends b{dispose(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},Fn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},Gn=class extends b{raw(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Bn=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new Gn({client:this.client})}},Kn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},Hn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},zn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Nn=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Wn=class extends b{status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=d([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Nn({client:this.client})}},Vn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},Jn=class extends b{shells(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},Qn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},Xn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Yn=class extends b{authorize(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Zn=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new Yn({client:this.client})}},er=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},tr=class extends b{delete(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},nr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rr=class extends b{start(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=d([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new nr({client:this.client})}},sr=class extends b{next(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},ir=class extends b{appendPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=d([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new sr({client:this.client})}},or=class extends b{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},ar=class extends b{get(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},cr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},lr=class extends b{stage(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},ur=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},pr=class extends b{list(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},dr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=d([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new lr({client:this.client})}_permission;get permission(){return this._permission??=new ur({client:this.client})}_question;get question(){return this._question??=new pr({client:this.client})}},gr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},mr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},fr=class extends b{key(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},yr=class extends b{cancel(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=d([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},hr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new fr({client:this.client})}_attempt;get attempt(){return this._attempt??=new yr({client:this.client})}},br=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},xr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},kr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Pr=class extends b{_request;get request(){return this._request??=new xr({client:this.client})}_saved;get saved(){return this._saved??=new kr({client:this.client})}},_r=class extends b{read(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},wr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Sr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},vr=class extends b{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Cr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=d([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=d([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},Rr=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Tr=class extends b{_request;get request(){return this._request??=new Rr({client:this.client})}},Ar=class extends b{list(t,n){let r=d([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Ir=class extends b{remove(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=d([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},jr=class extends b{_health;get health(){return this._health??=new or({client:this.client})}_location;get location(){return this._location??=new ar({client:this.client})}_agent;get agent(){return this._agent??=new cr({client:this.client})}_session;get session(){return this._session??=new dr({client:this.client})}_model;get model(){return this._model??=new gr({client:this.client})}_provider;get provider(){return this._provider??=new mr({client:this.client})}_integration;get integration(){return this._integration??=new hr({client:this.client})}_credential;get credential(){return this._credential??=new br({client:this.client})}_permission;get permission(){return this._permission??=new Pr({client:this.client})}_fs;get fs(){return this._fs??=new _r({client:this.client})}_command;get command(){return this._command??=new wr({client:this.client})}_skill;get skill(){return this._skill??=new Sr({client:this.client})}_event;get event(){return this._event??=new vr({client:this.client})}_pty;get pty(){return this._pty??=new Cr({client:this.client})}_question;get question(){return this._question??=new Tr({client:this.client})}_reference;get reference(){return this._reference??=new Ar({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Ir({client:this.client})}},kt=class e extends b{static __registry=new xn;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new kn({client:this.client})}_app;get app(){return this._app??=new Pn({client:this.client})}_experimental;get experimental(){return this._experimental??=new In({client:this.client})}_global;get global(){return this._global??=new En({client:this.client})}_event;get event(){return this._event??=new $n({client:this.client})}_config;get config(){return this._config??=new qn({client:this.client})}_tool;get tool(){return this._tool??=new Dn({client:this.client})}_worktree;get worktree(){return this._worktree??=new Mn({client:this.client})}_find;get find(){return this._find??=new Un({client:this.client})}_file;get file(){return this._file??=new On({client:this.client})}_instance;get instance(){return this._instance??=new Ln({client:this.client})}_path;get path(){return this._path??=new Fn({client:this.client})}_vcs;get vcs(){return this._vcs??=new Bn({client:this.client})}_command;get command(){return this._command??=new Kn({client:this.client})}_lsp;get lsp(){return this._lsp??=new Hn({client:this.client})}_formatter;get formatter(){return this._formatter??=new zn({client:this.client})}_mcp;get mcp(){return this._mcp??=new Wn({client:this.client})}_project;get project(){return this._project??=new Vn({client:this.client})}_pty;get pty(){return this._pty??=new Jn({client:this.client})}_question;get question(){return this._question??=new Qn({client:this.client})}_permission;get permission(){return this._permission??=new Xn({client:this.client})}_provider;get provider(){return this._provider??=new Zn({client:this.client})}_session;get session(){return this._session??=new er({client:this.client})}_part;get part(){return this._part??=new tr({client:this.client})}_sync;get sync(){return this._sync??=new rr({client:this.client})}_tui;get tui(){return this._tui??=new ir({client:this.client})}_v2;get v2(){return this._v2??=new jr({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||Fc(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 ${Fc(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function Fc(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function ep(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function tp(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=ep(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,p);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function Er(e){e?.fetch||(e={...e,fetch:r=>(r.timeout=!1,fetch(r))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)}),e?.experimental_workspaceID&&(e.headers={...e.headers,"x-opencode-workspace":e.experimental_workspaceID});let t=Ge(e);return t.interceptors.request.use(n=>tp(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 kt({client:t})}function np(e){return new Promise(t=>setTimeout(t,e))}async function Bc(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(c&&n?.(),s>0&&await np(s)),u=await e(),u)return u;return u}var rp=3e4;function sp(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function Kc(e,t,n=rp){let r=e instanceof Request?e.signal:t?.signal;if(sp(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function $r(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 Hc(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function Pt(){return q().getToken()}async function we(e){return Bc(()=>q().getToken(),e,Be)}function Be(){}function ip(e){}function op(e){}async function de(){return Pt()}async function qr(e){return we(e)}function zc(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function E(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await qr();if(!s)return Hc();let c=$r(e,t,s),u=Kc(e,t),p=await zc(e,t,c,u);if(p.status===401&&r&&s){Be();let g=await qr({attempts:2,baseDelayMs:200});if(g&&g!==s){let y=$r(e,t,g);return zc(e,t,y,u)}}return p}var Se={url:null,sandboxId:null,dbSandboxId:null,version:0},ap=new Set;function Nc(e,t=null,n=null){if(!(Se.url===e&&Se.sandboxId===t&&Se.dbSandboxId===n)){Se={url:e,sandboxId:t,dbSandboxId:n,version:Se.version+1};for(let r of ap)r()}}function Wc(){return Se.url}function cp(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function ge(){return cp(q().backendUrl||"http://localhost:8008/v1")}function Vc(){let e=q().sandboxId;return e?`${ge()}/p/${e}/8000`:""}function lp(e){return`${ge()}/p/${e}/8000`}function _t(e){return lp(e)}function G(){let e=Wc();return e||(q().billingEnabled??!1?"":Vc())}var I=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},ve=class extends I{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},me=class e extends Error{status;detail;constructor(t,n,r){super(r||n.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=n,Object.setPrototypeOf(this,e.prototype)}},Ce=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function Re(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new me(t,{message:r?.message||e.message||"Billing error",...r})}function Jc(e){return e instanceof me}function Qc(e){if(!(e instanceof me))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 Dr(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function Mr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Ur(e){let t=Mr(e),n=await E(`${t}/env`);if(!n.ok)throw new Error(await Dr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Or(e,t,n){let r=Mr(e),s=await E(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await Dr(s,"Failed to save secret"))}async function Lr(e,t){let n=Mr(e),r=await E(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Dr(r,"Failed to delete secret"))}var Xc={list:Ur,set:Or,delete:Lr};async function Yc(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await E(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function fe(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function wt(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Ke(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return fe(e)}async function Fr(e){let t=Ke(e),n=await E(`${t}/kortix/pty`);if(!n.ok)throw new Error(await wt(n,"Failed to list terminals"));return n.json()}async function Gr(e,t){let n=Ke(e),r=await E(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await wt(r,"Failed to create terminal"));return r.json()}async function Br(e,t,n){let r=Ke(e),s=await E(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await wt(s,"Failed to update terminal"));return s.json()}async function Kr(e,t){let n=Ke(e),r=await E(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await wt(r,"Failed to remove terminal"))}async function Hr(e,t){let n=Ke(t),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),fe(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await de();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var Zc={list:Fr,create:Gr,update:Br,remove:Kr,webSocketUrl:Hr};async function _(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await E(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!c.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${c.status}`);return p}async function up(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return _(e,`/kortix/tasks${r}`)}async function pp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function dp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function gp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function mp(e,t){return _(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function fp(e,t,n){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function yp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function hp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function bp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function xp(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return _(e,`/kortix/tickets${n}`)}async function kp(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Pp(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function _p(e,t){return _(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function wp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Sp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function vp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Cp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Rp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Tp(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Ap(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Ip(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function jp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Ep(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function $p(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function qp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Dp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Mp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Up(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Op(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Lp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Fp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Gp(e,t,n=200){return _(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Bp(e){return _(e,"/kortix/projects")}async function Kp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Hp(e,t){return _(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function zp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Np(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Wp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Vp(e,t,n="all"){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function Jp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function Qp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function Xp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function Yp(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Zp(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function ed(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function td(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function nd(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function rd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function sd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function id(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function od(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var ad=1e4,cd={retryOnAuthError:!1};function Te(e,t,n){return _(e,t,{signal:AbortSignal.timeout(ad),...n},cd)}async function ld(e,t=!1){return(await Te(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function ud(e){return(await Te(e,"/kortix/services/templates")).templates??[]}async function pd(e,t){return(await Te(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function dd(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return Te(e,s,{method:r?"DELETE":"POST"})}async function gd(e,t){return Te(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function md(e,t){return Te(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var St=new Map,vt=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function ie(){let e=G();if(!e)throw new vt;return ee(e)}function ee(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=St.get(e);if(t)return t;if(!yt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Er({baseUrl:e,fetch:E});return St.set(e,n),n}function fd(e){St.delete(e)}function yd(){St.clear()}var Ct=new Map;function hd(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Ct.get(e);if(t)return t;let n=Er({baseUrl:e,fetch});return Ct.set(e,n),n}function bd(e){Ct.delete(e)}function xd(){Ct.clear()}async function kd(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 Pd(e){let t=G();if(!t)throw new I("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await E(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new I(`System reload failed (${n.status}): ${await kd(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function tl(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 I(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Ae(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function Rt(e,t=G()){let n=await E(`${t}${e}`);if(!n.ok)throw new I(await Ae(n),{status:n.status,response:n});return n.json()}var Tt=["/workspace","/tmp","/home","/opt"],_d=Tt.filter(e=>e!=="/workspace");function zr(e){return Tt.some(t=>e===t||e.startsWith(`${t}/`))}function Nr(e){return zr(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function ye(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(_d.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Wr=ye;async function ze(e,t=G()){let n=ye(e)||".";return(await Rt(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function Ie(e,t=G()){let n=ye(e),r=await E(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new I(await Ae(r),{status:r.status,response:r});return r.json()}async function wd(e,t,n=G()){let r=ye(e),s=await E(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new I(await Ae(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new I("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function je(e,t=G()){try{return await wd(e,void 0,t)}catch{}let n=await Ie(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function Ne(e=G()){return Rt("/file/status",e)}async function We(e,t,n=G()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),Rt(`/find/file?${r.toString()}`,n)}async function Ve(e,t=G()){return(await Rt(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var He=[400,1200],Sd=e=>e===408||e===429||e===502||e===503||e===504,el=e=>new Promise(t=>setTimeout(t,e));async function vd(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 nl(e,t){let n;for(let s=0;s<=He.length;s++){let c;try{c=await t(e())}catch(p){if(n=p,s===He.length)break;await el(He[s]);continue}if(c.ok)return c.json();let u=await vd(c);if(n=new I(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!Sd(c.status)||s===He.length)throw n;await el(He[s])}if(n instanceof I)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new I(`Upload failed: ${r}`)}function Ee(e,t,n,r=G()){return nl(()=>{let s=new FormData,c=(t??"").trim();return c&&s.append("path",c.startsWith("/")?c:`/${c}`),n?s.append("file",e,n):s.append("file",e),s},s=>E(`${r}/file/upload`,{method:"POST",body:s}))}function Cd(e,t,n=G()){return nl(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await de();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function Je(e,t=G()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return Ee(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function Qe(e,t,n=G()){return Cd(t,await je(e,n),n)}async function Xe(e,t=G()){let n=await E(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Delete failed (${n.status}): ${await Ae(n)}`,{status:n.status,response:n});return n.json()}async function Ye(e,t=G()){let n=await E(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Mkdir failed (${n.status}): ${await Ae(n)}`,{status:n.status,response:n});return n.json()}async function Ze(e,t,n=G()){let r=await E(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new I(`Rename failed (${r.status}): ${await Ae(r)}`,{status:r.status,response:r});return r.json()}async function Vr(){return tl(await ie().project.current())}async function At(){return tl(await ie().global.health())}async function Jr(){try{return(await At()).healthy===!0}catch{return!1}}var rl={list:ze,read:Ie,readBlob:je,status:Ne,findFiles:We,findText:Ve,upload:Ee,create:Je,copy:Qe,remove:Xe,mkdir:Ye,rename:Ze,currentProject:Vr,health:At,isReachable:Jr,toDaemonPath:ye,toSandboxAbsolutePath:Nr,toWorkspaceRelative:Wr};var oe=()=>q().backendUrl||"",il="feature_not_supported",Td=e=>new Promise(t=>setTimeout(t,e)),Ad=new Set([502,503,504]),Id=e=>Ad.has(e),jd=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Ed=2,sl=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),Qr=!1;function $d(e){Qr=e}function qd(){return Qr}async function he(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,p=null,g=!1,y=!1;try{p=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,y=!0,u.abort())},s);let m=await we(),P=c.body instanceof FormData,w={};if(P||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),Qr&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new ve,success:!1};let R=jd(c.method),l=R?Ed+1:1,f;for(let v=0;v<l;v++){v>0&&await Td(250*2**(v-1));let k=v===0?u:new AbortController;v>0&&(p=setTimeout(()=>{y=!0,k.abort()},s));try{f=await fetch(e,{...c,headers:w,signal:k.signal,credentials:c.credentials??"omit"})}catch(A){if(p&&(clearTimeout(p),p=null),sl(A)||v===l-1)throw A;continue}if(p&&(clearTimeout(p),p=null),!(R&&Id(f.status)&&v<l-1))break;try{await f.arrayBuffer()}catch{}}if(!f.ok){let v=`HTTP ${f.status}: ${f.statusText}`,k=null;try{k=await f.json(),typeof k.message=="string"?v=k.message:k.error&&typeof k.error=="string"?v=k.error:typeof k.detail=="string"?v=k.detail:typeof k.detail?.message=="string"&&(v=k.detail.message)}catch{}let j=new I(v,{status:f.status,response:f,details:k||void 0,data:k,detail:k?.detail,code:k?.code||k?.error_code||k?.detail?.error_code||f.status.toString()});if(f.status===402&&(j=Re(j)),f.status===403&&k?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}f.status===431&&(j=new Ce(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let A=f.status===501&&k?.code===il;return n&&!A&&q().onError?.(j,r),{error:j,success:!1}}let a,T=f.headers.get("content-type");return T?.includes("application/json")?a=await f.json():T?.includes("text/")?a=await f.text():a=await f.blob(),{data:a,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let P=sl(m);P&&(g=!0);let w;if(P){if(!y)return{error:new I("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let R=e.replace(oe(),"")||e;w=new I(`Request timed out after ${Math.round(s/1e3)}s: ${R}`,{code:"TIMEOUT",url:e,endpoint:R,timeout:s}),n&&q().onError?.(w,r)}else m instanceof Error?(w=new I(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&q().onError?.(w,r)):(w=new I(String(m)),n&&q().onError?.(w,r));return{error:w,success:!1}}}var Dd={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new I(r.message||"Database error",{code:r.code,details:r});return q().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new I(n.message,{name:n.name||"ApiError",stack:n.stack}):new I(String(n));return q().onError?.(r,t),{error:r,success:!1}}}},i={get:(e,t)=>he(`${oe()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>he(`${oe()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>he(`${oe()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>he(`${oe()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>he(`${oe()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],he(`${oe()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],he(`${oe()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function o(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Xr(e){return e.replace(/\/v1\/?$/,"")}async function $e(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Xr(e.backendUrl);try{let r=await fetch(`${n}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function Yr(){return o(await i.get("/accounts"))}async function Zr(e){return o(await i.post("/accounts",e))}async function es(e){return o(await i.get(`/accounts/${e}`))}async function ts(e,t){return o(await i.patch(`/accounts/${e}`,{name:t}))}async function ns(e){return o(await i.get(`/accounts/${e}/members`))}async function rs(e,t){return o(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function ss(e){return o(await i.get(`/accounts/${e}/invites`))}async function is(e,t){return o(await i.delete(`/accounts/${e}/invites/${t}`))}async function os(e,t){return o(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function as(e){return o(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function cs(e){return o(await i.post(`/account-invites/${e}/accept`,{}))}async function ls(e){return o(await i.post(`/account-invites/${e}/decline`,{}))}async function us(e,t){return o(await i.delete(`/accounts/${e}/members/${t}`))}async function ps(e,t,n){return o(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function ds(e){return o(await i.post(`/accounts/${e}/leave`,{}))}async function Md(e){return $e(e,"/v1/accounts")}async function gs(){let e=await i.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function be(){return o(await i.get("/projects"))}async function ms(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/projects${t}`))}async function It(e,t){return o(await i.get(`/projects/${e}`,t))}async function fs(e,t,n="write"){return o(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function ys(e,t){return o(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function hs(e){return o(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Ud(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function jt(e,t){let n=o(await i.get(`/projects/${e}/detail`,{showErrors:!1,...t}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Et(e,t){return o(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function $t(e,t){return o(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Od(e,t){return o(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function bs(e){return o(await i.post("/projects",e))}async function xs(e){return o(await i.post("/projects/create-repo",e))}async function ks(e,t={}){return o(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function Ld(){try{return o(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function qt(e,t){return o(await i.patch(`/projects/${e}`,t))}async function Ps(e,t,n){return o(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function _s(e,t){return o(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Fd(e,t){return o(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function Gd(e,t){return o(await i.patch(`/projects/${e}/warm-pool`,t))}async function ws(e,t){return o(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function Dt(e){return o(await i.delete(`/projects/${e}`))}async function Bd(e,t){return $e(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Kd(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Xr(e.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...t}),signal:AbortSignal.timeout(e.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function Ss(e){return o(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function vs(e){return o(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Cs(e){return o(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Rs(e){return o(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Ts(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),o(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function As(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return o(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Is(e){return o(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function js(e){return o(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Es(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),o(await i.delete(`/projects/github/installation?${n.toString()}`))}async function Hd(e,t){return o(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function $s(e,t){return o(await i.get(`/projects/${e}/access-requests`,t))}async function qs(e,t,n="member"){return o(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function Ds(e,t){return o(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Ms(e){return o(await i.get(`/projects/${e}/access`))}async function Us(e,t,n){return o(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function Os(e,t){return o(await i.delete(`/projects/${e}/access/${t}`))}function zd(e){return"status"in e&&e.status==="invited"}async function Ls(e,t,n,r){return o(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Fs(e){return o(await i.get(`/projects/${e}/access/pending-invites`))}async function Gs(e,t){return o(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Bs(e,t){return o(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Ks(e){return o(await i.get(`/projects/${e}/group-grants`))}async function Hs(e,t,n,r){return o(await i.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function zs(e,t,n,r){return o(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Ns(e,t){return o(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Ws(e){return o(await i.get(`/projects/${e}/resource-grants`))}async function Vs(e,t){return o(await i.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function Js(e,t){return o(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function Qs(e,t){return o(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Xs(e,t){return o(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Ys(e,t,n){return o(await i.post(`/projects/${e}/approvals/${t}`,{decision:n}))}async function Zs(e){return o(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function ei(e,t){return o(await i.post(`/projects/${e}/secrets`,t))}async function ti(e,t,n){return o(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function ni(e,t,n){return o(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function ri(e,t){return o(await i.put(`/projects/${e}/git-credential`,t))}async function si(e,t){return o(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function ii(e,t,n){return o(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function oi(e,t){return o(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function Mt(e){return o(await i.get(`/projects/${e}/connector-profiles`))}var Nd=Mt;async function Ut(e){return o(await i.get(`/projects/${e}/connector-profiles/all`))}var Wd=Ut;async function Ot(e,t){return o(await i.post(`/projects/${e}/connector-profiles`,t))}var Vd=Ot;async function Lt(e,t){return o(await i.post(`/projects/${e}/connector-profiles/me`,t))}var Jd=Lt;async function Ft(e,t,n){return o(await i.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}var Qd=Ft;function xe(e,t,n){return`/projects/${e}/connector-profiles/${t}/oauth2/${n}`}async function ol(e,t){return o(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/profile`,{}))}var Xd=ol;async function al(e,t,n){return o(await i.put(xe(e,t,"application"),n))}var Yd=al;async function cl(e,t){return o(await i.get(xe(e,t,"application")))}var Zd=cl;async function ll(e,t,n){return o(await i.post(xe(e,t,"discover"),n))}var eg=ll;async function ul(e,t,n){return o(await i.post(xe(e,t,"authorize"),n))}var tg=ul;async function pl(e,t,n){return o(await i.post(xe(e,t,"device"),n))}var ng=pl;async function dl(e,t,n){return o(await i.post(xe(e,t,`device/${encodeURIComponent(n)}`),{}))}var rg=dl;async function gl(e,t){return o(await i.get(xe(e,t,"status")))}var sg=gl;async function Gt(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}var ig=Gt;async function Bt(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}var og=Bt;async function Kt(e,t){return o(await i.put(`/projects/${e}/connector-profiles/${t}/default`,{}))}var ag=Kt;async function Ht(e,t,n={}){return o(await i.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}var cg=Ht;async function zt(e,t){return o(await i.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}var lg=zt;async function ai(e){return o(await i.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function ci(e){return o(await i.post(`/executor/projects/${e}/connectors/sync`,{}))}async function li(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function ui(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function pi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function di(e,t){return o(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function gi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function ug(e,t){throw new Error("Authorization-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function pg(e,t,n){throw new Error("Authorization-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function mi(e,t){return o(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function fi(e,t,n){return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function yi(e,t){return o(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function hi(e,t){return o(await i.post(`/executor/projects/${e}/connectors`,t))}async function bi(e,t){return o(await i.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function xi(e,t){return o(await i.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function ki(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Pi(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function _i(e,t){let n=new URLSearchParams({id:t});return o(await i.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function wi(){return o(await i.get("/executor/connect-status"))}async function Si(e,t,n){let r=typeof n=="string"?{value:n}:n;return o(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function vi(e,t){return o(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function Ci(e){return o(await i.get(`/executor/projects/${e}/policies`))}async function Ri(e,t,n){return o(await i.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function Ti(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function Ai(e){return o(await i.get(`/projects/${e}/snapshots`))}async function Nt(e){return o(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Ii(e,t){return o(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function ji(e){return o(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Ei(e,t){return o(await i.post(`/projects/${e}/sandbox-templates`,t))}async function $i(e,t,n){return o(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function qi(e,t){return o(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Di(e,t){return o(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Mi(e){return o(await i.get(`/projects/${e}/sandboxes`))}async function Ui(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return o(await i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Oi(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),o(await i.get(`/projects/${e}/files/search?${r.toString()}`))}async function Li(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),o(await i.get(`/projects/${e}/files/content?${r.toString()}`))}async function Fi(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 we(),u=`${q().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!p.ok){let g=await p.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function Gi(e){return o(await i.get(`/projects/${e}/branches`))}async function Bi(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return o(await i.get(`/projects/${e}/commits${r}`))}async function Ki(e,t){return o(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Hi(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return o(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function zi(e,t,n){let r=new URLSearchParams({path:t});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),o(await i.get(`/projects/${e}/files/history?${r.toString()}`))}async function Ni(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return o(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function Wi(e,t){let n=t?`?status=${t}`:"";return o(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Vi(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}`))}async function Ji(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function Qi(e,t){return o(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Xi(e,t){return o(await i.post(`/projects/${e}/change-requests`,t))}async function Yi(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function Zi(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function eo(e,t){return o(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function to(e,t,n){return o(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function no(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var ro=new Set;function et(e){e&&ro.add(e)}function so(e){return!!e&&ro.has(e)}function dg(e){e&&ro.delete(e)}async function qe(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope);let r=n.size>0?`?${n}`:"";return o(await i.get(`/projects/${e}/sessions${r}`))}async function io(e,t,n){return o(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function oo(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function ao(e,t){return o(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function co(e,t,n){return o(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function lo(e,t,n){return o(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function De(e,t){let n=o(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||et(n?.session_id),n}async function uo(e){let t=o(await i.post(`/projects/${e}/sessions/warm`,{}));return et(t.session.session_id),t}async function po(e,t){let n=o(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return et(n.session_id),n}async function Wt(e,t,n){return o(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function go(e,t,n,r){let s=n?`?limit=${n}`:"";return o(await i.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function mo(e,t,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return o(await i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function fo(e,t,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return o(await i.get(`/projects/${e}/sessions/${t}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function yo(e,t,n){return o(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function ho(e,t){return o(await i.delete(`/projects/${e}/sessions/${t}`))}async function tt(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function nt(e,t){return o(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function bo(e,t){return o(await i.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function xo(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function ko(e,t,n){return o(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function Po(e){return o(await i.get(`/projects/${e}/triggers`))}async function _o(e,t){return o(await i.post(`/projects/${e}/triggers`,t))}async function wo(e,t,n){return o(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function So(e,t){return o(await i.delete(`/projects/${e}/triggers/${t}`))}async function vo(e,t){return o(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Co(e,t){return o(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var ae=new Map;function Ro(e,t){return`${e}::${t}`}function ml(e,t){ae.delete(e),ae.set(e,t)}function fl(e,t){let n=Ro(e,t),r=ae.get(n);return r&&ml(n,r),r}function yl(e,t,n){let r=Ro(e,t);if(!ae.has(r)&&ae.size>=512){let s=ae.keys().next().value;s!==void 0&&ae.delete(s)}ml(r,n)}function hl(e,t){ae.delete(Ro(e,t))}function gg(e){if(e.status!=="running"||!e.sandbox_id||!e.sandbox_provider||!e.sandbox_url||!e.opencode_session_id)return null;let t=e.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return t?{stage:"ready",agent_name:e.agent_name??"default",retriable:!0,sandbox:{sandbox_id:e.sandbox_id,session_id:e.session_id,project_id:e.project_id,account_id:e.account_id,provider:e.sandbox_provider,external_id:t,base_url:e.sandbox_url,status:"active",config:{},metadata:e.metadata,last_used_at:e.updated_at,created_at:e.created_at,updated_at:e.updated_at},opencode_session_id:e.opencode_session_id,runtime_url:e.sandbox_url}:null}var Vt=class extends Error{status;code;terminal;constructor(t,n){super(t),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function mg(e){return e instanceof Error&&e.name==="SessionStartError"}function fg(e){let t=e,n=t?.status,r=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Vt(s,{status:n,code:r,terminal:!0}):null}async function ke(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=fg(s.error);if(p&&!(p.status===404&&so(t)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&yl(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:_t(u),sandboxId:u}),c}function yg(e,t){return["session-start",e,t]}async function To(e){return o(await i.get(`/projects/${e}/model-defaults`))}async function Ao(e,t){return o(await i.put(`/projects/${e}/model-defaults`,t))}async function Io(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return o(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function jo(e,t,n){let r=bg(n);return o(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}function bl(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function hg(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function bg(e){let t=e.connectors_required?bl(e.connectors_required):void 0,n=e.connectors_personal?bl(e.connectors_personal):void 0;if(t&&n&&!hg(t,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...e};return delete r.connectors_personal,(t!==void 0||n!==void 0)&&(r.connectors_required=t??n),r}async function xg(e,t){let n=o(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?Eo(n.block):null}}async function kg(e,t,n){let r=Eo(n),s=o(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?Eo(s.block):null}}function xl(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Pg(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Eo(e){let t=e.connectors_required?xl(e.connectors_required):void 0,n=e.connectors_personal?xl(e.connectors_personal):void 0;if(t&&n&&!Pg(t,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...e};return delete r.connectors_personal,(t!==void 0||n!==void 0)&&(r.connectors_required=t??n),r}async function $o(e,t){return o(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function qo(){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 Do(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?qo():s.data}async function Mo(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?qo():s.data}async function Uo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return o(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function Oo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return o(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Lo(){return o(await i.get("/billing/credit-breakdown"))}async function Fo(e){let t=e!=null?`?days=${e}`:"";return o(await i.get(`/billing/usage-history${t}`))}async function Go(){return o(await i.get("/billing/tier-configurations"))}async function _g(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return $e(e,`/v1/billing/account-state${t}`)}async function Bo(e){return o(await i.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function Ko(e,t){return o(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Ho(e,t){return o(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function zo(e,t){return o(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function No(e){return o(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function Wo(e,t,n){return o(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function Vo(e){return o(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function Jo(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),o(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Qo(e){return o(await i.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function Xo(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function Yo(e){return o(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function wg(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Sg(e){return o(await i.post("/billing/create-per-seat-checkout",{account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl,locale:e.locale}),"Failed to create per-seat checkout")}async function vg(e){return o(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function Cg(e){return o(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function Zo(e={}){let t=new URLSearchParams;e.start&&t.set("start",e.start),e.end&&t.set("end",e.end),(e.groupBy==="model"||e.groupBy==="provider"||e.groupBy==="day")&&t.set("group_by",e.groupBy),e.accountId&&t.set("account_id",e.accountId);let n=t.toString();return o(await i.get(`/usage${n?`?${n}`:""}`))}function kl(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}async function ea(e={}){let t=new URLSearchParams;kl(t,e),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset));let n=t.size>0?`?${t}`:"";return o(await i.get(`/usage/session-costs${n}`))}async function Jt(e,t={}){let n=new URLSearchParams;kl(n,t);let r=n.size>0?`?${n}`:"";return o(await i.get(`/usage/session-costs/${encodeURIComponent(e)}${r}`))}async function Pl(e,t){return o(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function Rg(e){return Pl("slack",e)}function Tg(e){return Pl("teams",e)}async function ta(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function na(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Ag={oauth_available:!1,install_url:null};async function ra(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Ag:t.data}async function sa(e){return o(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function ia(e){let t=await i.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function oa(e,t){return o(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function aa(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function ca(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Ig={provider:"agentmail",managed_available:!1};async function la(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?ca(r.data):null}async function ua(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Ig:t.data}async function pa(e,t){let n=o(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return ca(n)}async function da(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function ga(e,t,n){let r=o(await i.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return ca(r)}async function ma(e,t){return o(await i.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function jg(e){return o(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Eg(e,t,n){return o(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function fa(e){return o(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ya(e,t){return o(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function ha(e){return o(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ba(e,t){return o(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function xa(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return o(await i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function ka(e,t){return o(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Pa(e,t){return o(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function _a(e,t){return o(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function wa(e,t){return o(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Sa(e,t){return o(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function va(e,t){return o(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ca(e){return o(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Ra(e,t){return o(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Ta(e,t){return o(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Aa(e){return o(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Ia(e,t){return o(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function ja(e,t){return o(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Ea(e,t,n,r,s){return o(await i.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function $g(e,t){return o(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function $a(e){let t=new FormData;t.append("audio_file",e);let n=await i.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function qg(){return o(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function Dg(){return o(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function Mg(e){return o(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function Ug(){return o(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function Og(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return o(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function Lg(e){return o(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function x(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function U(e){return i.get(e,{showErrors:!1})}async function Fg(e){return x(await U(`/accounts/${e}/iam/groups`)).groups}async function Gg(e,t){return x(await U(`/accounts/${e}/iam/groups/${t}`))}async function Bg(e,t){return x(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function Kg(e,t,n){return x(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function Hg(e,t){return x(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function zg(e,t){return x(await U(`/accounts/${e}/iam/groups/${t}/members`)).members}async function Ng(e,t,n){return x(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function Wg(e,t){return x(await U(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function Vg(e,t,n){return x(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function Jg(e,t){return x(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function Qg(e,t){return x(await U(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function Xg(e,t={}){let n=new URLSearchParams;t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.scopeType&&n.set("scopeType",t.scopeType),t.scopeId!==void 0&&n.set("scopeId",t.scopeId===null?"null":t.scopeId);let r=n.toString();return x(await U(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function Yg(e,t){return x(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Zg(e,t,n){return x(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function em(e,t){return x(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function tm(e,t){return x(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function nm(e,t){return x(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function rm(e){return x(await U(`/accounts/${e}/iam/roles`)).roles}async function sm(e){return x(await U(`/accounts/${e}/iam/agent-identities`)).agents}async function im(e,t){return x(await U(`/accounts/${e}/iam/roles/${t}/permissions`))}async function om(e){return x(await U(`/accounts/${e}/iam/actions`)).actions}async function am(e,t){return x(await U(`/accounts/${e}/iam/roles/${t}/usage`))}async function cm(e,t){return x(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function lm(e,t,n){return x(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function um(e,t,n){return x(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function pm(e,t){return x(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function dm(e,t,n){return x(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function gm(e){return x(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function mm(e,t){return x(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function fm(e,t){return x(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function ym(e){return x(await U(`/accounts/${e}/iam/mfa-required`))}async function hm(e){return x(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function bm(e,t){return x(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function xm(e){return x(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function km(e,t){return x(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function Pm(e,t){return x(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function _m(e){return x(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function wm(e){return x(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function Sm(e,t){return x(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function vm(e,t){return x(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Cm(e){return x(await U(`/accounts/${e}/iam/session-policy`))}async function Rm(e,t){return x(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function Tm(e){return x(await U(`/accounts/${e}/iam/sessions`)).sessions}async function Am(e,t){return x(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function Im(e){return x(await U(`/accounts/${e}/iam/pat-policy`))}async function jm(e,t){return x(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Em(e){return x(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function $m(e,t){return x(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function qm(e,t){return x(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Dm(e,t){return x(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Mm(e){return x(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function Um(e,t){return x(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function Om(e,t,n){return x(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Lm(e,t){return x(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Fm(e,t={}){let n=new URLSearchParams;t.action&&n.set("action",t.action),t.actor&&n.set("actor",t.actor),t.project_id&&n.set("project_id",t.project_id),t.session_id&&n.set("session_id",t.session_id),t.actor_type&&n.set("actor_type",t.actor_type),t.source&&n.set("source",t.source),t.outcome&&n.set("outcome",t.outcome),t.request_id&&n.set("request_id",t.request_id),t.correlation_id&&n.set("correlation_id",t.correlation_id),t.resource_type&&n.set("resource_type",t.resource_type),t.since&&n.set("since",t.since),t.until&&n.set("until",t.until),t.q&&n.set("q",t.q),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString();return x(await U(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Gm(e,t,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),x(await U(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function Bm(e,t,n){return n.length===0?[]:x(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function Km(e){return x(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function Hm(e,t){return x(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function zm(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:o(e,"Failed to load account deletion status")}async function Nm(e="User requested deletion"){return o(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function Wm(){return o(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function Vm(){return o(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function Jm(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Qm(){return i.get("/admin/api/provider-distribution").then(e=>o(e))}function Xm(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>o(t))}function Ym(e){return i.put("/admin/api/provider-distribution",e).then(t=>o(t))}function Zm(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>o(t))}function ef(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>o(n))}function tf(){return i.get("/admin/api/provider-fallback").then(e=>o(e))}function nf(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>o(t))}async function rf(e){return o(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function sf(e,t){return o(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:e,sandbox_url:t},{timeout:18e4}),"Failed to upload to Google Slides")}async function qa(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return o(await i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Da(e,t){return o(await i.get(`/projects/${e}/review/items/${t}`))}async function Ma(e,t){return o(await i.post(`/projects/${e}/review/items`,t))}async function Ua(e,t,n){return o(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function Oa(e,t){return o(await i.post(`/projects/${e}/review/bulk`,t))}async function La(e){return o(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Fa(e){return o(await i.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function Ga(e,t){let n=await i.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Qt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function _l(e,t=""){return`${ge()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function wl(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 Qt(s,t.status)}return r}async function of(e){return wl(_l(e))}async function af(e){return wl(_l(e,"/messages"))}var Xt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function Sl(e){return`${ge()}/public/voice-join/${encodeURIComponent(e)}`}async function vl(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 Xt(s,t.status)}return r}async function cf(e){return vl(Sl(e))}async function lf(e,t=0){let n=`${Sl(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return vl(n)}async function Ba(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.get(`/accounts/tokens${t}`))}async function Ka(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return o(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Ha(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.delete(`/accounts/tokens/${e}${n}`))}async function za(e){return o(await i.get(`/projects/${e}/cli-token`))}async function Na(e,t){return o(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Wa(e,t){return o(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Va(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return o(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Ja(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.actor&&n.set("actor",t.actor),t?.actorType&&n.set("actor_type",t.actorType),t?.projectId&&n.set("project_id",t.projectId),t?.sessionId&&n.set("session_id",t.sessionId),t?.source&&n.set("source",t.source),t?.outcome&&n.set("outcome",t.outcome),t?.resourceType&&n.set("resource_type",t.resourceType),t?.requestId&&n.set("request_id",t.requestId),t?.correlationId&&n.set("correlation_id",t.correlationId),t?.since&&n.set("since",t.since),t?.until&&n.set("until",t.until),t?.q&&n.set("q",t.q);let r=n.toString();return o(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function Qa(e){return o(await i.get(`/accounts/${e}/audit/webhooks`))}async function Xa(e,t){return o(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function Ya(e,t,n){return o(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Za(e,t){return o(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function ec(e,t){return o(await i.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function tc(e,t){return o(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function uf(e){return o(await i.get(`/approval-links/${e}`),"Failed to load approval")}async function nc(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString()?`?${t.toString()}`:"";return o(await i.get(`/marketplace/items${n}`))}async function rc(){return o(await i.get("/marketplace/marketplaces"))}async function sc(){return o(await i.get("/marketplace/marketplaces/featured"))}async function ic(e){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function oc(e,t){return o(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function ac(){return o(await i.get("/marketplace/sources"))}async function cc(e){return o(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function lc(e){return o(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function pf(e,t){return o(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function df(e){return o(await i.get(`/templates/${encodeURIComponent(e)}`))}async function gf(e,t){return o(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}function mf(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 uc(e,t){let n=(e===void 0?G():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await E(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var te={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var Cl=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Rl=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Tl=new Set([22,4096,parseInt(te.KORTIX_MASTER,10)]);function ff(e){return Rl.test(e)}function Yt(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 yf(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var hf=new Set(["'",'"',"`","<","(","["]),bf=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function xf(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&&hf.has(e[t]);)t++;for(;n>t&&bf.has(e[n-1]);)n--;return e.slice(t,n)}function kf(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Pf=/^\/proxy\/(\d{1,5})(\/.*)?$/,_f=/^\/(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 Al(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:_f.test(t.pathname)}catch{return!1}}function st(e){if(!e)return null;let t=xf(yf(e.trim())),n=dc(t);if(n){let r=Yt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(te.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(Pf);if(g){let y=parseInt(g[1],10);if(y>=1&&y<=65535)return s=y,c=Yt(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let p=Yt(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=kf(e);return r&&r!==e?st(r):null}}function wf(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let c=r.index,u=c+r[0].length;t.some(([g,y])=>c>=g&&u<=y)||t.push([c,u])}return t}function Sf(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Il(e){let t=[],n=new Set,r=wf(e);Cl.lastIndex=0;let s;for(;(s=Cl.exec(e))!==null;){let c=st(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||Tl.has(p)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:p,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Sf(s.index,r)}))}return t}function vf(e){return Il(e).length>0}function Cf(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function jl(e){return e.sandboxId.trim().length>0}function ce(e,t,n){let r=Yt(t);if(!jl(n))return Dl(e,r);if(!Cf(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 Rf(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return ce(3211,`/open?path=/workspace/${r}`,t)}function El(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Tf(e){return`http://localhost:3211${El(e)}`}function $l(){return"/health"}function Af(e){return ce(3211,$l(),e)}function If(e,t){return ce(e,"/",t)}function ql(e){let t=st(e);return!(!t||Tl.has(t.port)||Al(e))}function pc(e,t){if(!e)return e;let n=st(e);return n?ql(n.originalUrl)?ce(n.port,n.path,t):n.originalUrl:e}function Dl(e,t="/"){return`http://localhost:${e}${t}`}var Ml=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function dc(e){let t=e.match(Rl);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(Ml);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 jf(e){try{let t=dc(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function Ef(e){return ff(e)||Ml.test(e)}function $f(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var rt="/web-proxy/";function qf(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${rt}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(te.KORTIX_MASTER,10);return`${ce(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Df(e){try{let t=new URL(e),n=t.pathname.indexOf(rt);if(n===-1)return null;let s=t.pathname.slice(n+rt.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],p=s[3]||"/";return`${c}://${u}${p}${t.search}${t.hash}`}catch{return null}}function Mf(e){try{return new URL(e).pathname.includes(rt)}catch{return e.includes(rt)}}function Uf(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 Of(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 Ul="frontend";function Zt(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Ul}] ${t}`,...n?[n]:[]);try{ie().app.log({service:Ul,level:e,message:t,extra:n})}catch{}}var le={debug:(e,t)=>Zt("debug",e,t),info:(e,t)=>Zt("info",e,t),warn:(e,t)=>Zt("warn",e,t),error:(e,t)=>Zt("error",e,t)};function Ol(e){return{type:"heartbeat-gap",gapMs:e}}function Ll(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 Lf={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Ff=16,Gf=8,Bf=6e4,Kf=5e3,Hf=250,zf=1e3,Nf=3e4,Wf=5,Vf=3e3,Jf=3e4,Qf=2e4,Xf=2e3,Yf=8;function Zf(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Fl(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 en(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??Lf,p=e.connectTimeoutMs??Qf,g=e.heartbeatTimeoutMs??Bf,y=e.maxConsecutiveHardFailures??Yf,m=new AbortController,P=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",P,{once:!0}));let w=u.now(),R=[],l,f=0,a=new Map,T=()=>{if(l&&u.clearTimeout(l),l=void 0,R.length===0)return;let k=R;R=[],a.clear(),f=u.now(),w=u.now();for(let j of k)if(j)try{n(j.event)}catch(A){console.warn("[opencode-events] event handler threw, skipping",A)}},v=()=>{if(l)return;let k=u.now()-f;l=u.setTimeout(T,Math.max(0,Ff-k))};return(async()=>{let k=0,j=0;for(;!m.signal.aborted;){let A=!1,S=!1,$,L,h=null,C=u.now(),D=new AbortController,F=Fl(m.signal);F.promise.then(()=>D.abort());try{let H=await new Promise((pn,Oe)=>{let V=!1;L=u.setTimeout(()=>{V||(V=!0,le.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),D.abort(),Oe(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:D.signal,sseDefaultRetryDelay:Vf,sseMaxRetryDelay:Jf,sseMaxRetryAttempts:1}).then(Z=>{V||(V=!0,u.clearTimeout(L),pn(Z))},Z=>{V||(V=!0,u.clearTimeout(L),Oe(Z))})}),{stream:O}=H;w=u.now();let W=()=>{u.clearTimeout($),$=u.setTimeout(()=>{le.warn("SSE heartbeat timeout, forcing reconnect"),D.abort()},g)};W();let dt=u.now(),Eu=O[Symbol.asyncIterator]();for(;!D.signal.aborted;){let pn=Eu.next().then(se=>({kind:"next",result:se}),se=>({kind:"error",error:se})),Oe=Fl(D.signal),V=await Promise.race([pn,Oe.promise.then(()=>({kind:"aborted"}))]);if(Oe.cleanup(),V.kind==="aborted")break;if(V.kind==="error")throw V.error;if(V.result.done)break;A=!0,W();let Z=V.result.value,gt=Z&&typeof Z=="object"&&"payload"in Z?Z.payload:Z;if(!gt?.type)continue;let dn=Zf(gt);if(dn){let se=a.get(dn);se!==void 0&&(R[se]=void 0),a.set(dn,R.length)}R.push({type:gt.type,event:gt}),v(),!(u.now()-dt<Gf)&&(dt=u.now(),await new Promise(se=>u.setTimeout(se,0)))}S=A}catch(H){if(m.signal.aborted)break;h=H;let O=String(H),W=O.includes("401")||O.includes("403")||O.includes("Unauthorized")||O.includes("Token refresh failed");if(le.error("SSE event stream error",{error:O,retryCount:k,isAuthError:W}),W)try{Be(),await Pt(),le.info("SSE: refreshed auth token after auth error")}catch(dt){le.error("SSE: failed to refresh auth token",{error:String(dt)})}}finally{u.clearTimeout($),u.clearTimeout(L),D.abort(),F.cleanup(),T()}if(m.signal.aborted)break;let J=u.now()-C,Q=h?.cause?.status;if(j=!A&&(typeof Q=="number"&&Q>=400||J<Xf)?j+1:0,j>=y){le.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:j,lastError:String(h)});try{s?.({consecutiveFailures:j,lastError:h})}catch(H){console.warn("[opencode-events] onParked handler threw",H)}break}let N=u.now()-w;N>Kf&&r?.(N),S?k=0:(k++,k>1&&le.warn("SSE event stream reconnecting",{retryCount:k}));let M=S?Hf:Math.min(zf*2**Math.min(k-1,Wf),Nf);await new Promise(H=>{let O=u.setTimeout(H,M),W=()=>{u.clearTimeout(O),H()};m.signal.addEventListener("abort",W,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",P),l&&u.clearTimeout(l)}}}function ey(){return ie()}var tn=new Map,it=class extends Error{constructor(t){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${t}\`.`),this.name="SessionNotReadyError"}};function Gl(e,t){ft(e,t);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new I(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let f=q().backendUrl??e.backendUrl,a=80,T=n(f);return T&&(a=T.port?Number(T.port):T.protocol==="https:"?443:80),{sandboxId:l,backendPort:a,apiBaseUrl:f}}let s={list:Yr,get:es,create:Zr,updateName:ts,leave:ds,members:ns,invite:rs,removeMember:us,updateMemberRole:ps,invites:ss,cancelInvite:is,resendInvite:os,tokens:{list:Ba,create:Ka,revoke:Ha},audit:{log:Va,export:Ja,webhooks:{list:Qa,create:Xa,update:Ya,remove:Za}}},c={accountState:Do,accountStateMinimal:Mo,transactions:Uo,transactionsSummary:Oo,creditBreakdown:Lo,usageHistory:Fo,usageRollup:Zo,sessionCosts:{list:ea,get:Jt},tierConfigurations:Go,checkout:{createSession:l=>Bo(l),confirmSession:(l,f)=>Ko(l,f)},subscription:{createPortalSession:(l,f)=>Ho(l,f),cancel:(l,f)=>zo(l,f),reactivate:l=>No(l),scheduleDowngrade:(l,f,a)=>Wo(l,f,a),cancelScheduledChange:l=>Vo(l),prorationPreview:(l,f)=>Jo(l,f)},credits:{purchase:l=>Qo(l),autoTopupSettings:l=>Xo(l),configureAutoTopup:l=>Yo(l)}},u={describe:as,accept:cs,decline:ls},p={list:be,listForAccount:ms,get:It,detail:jt,create:bs,createRepo:xs,provision:ks,update:qt,archive:Dt,llmCatalog:Et,modelPicker:$t,sandboxHealth:Nt,sandboxTemplates:Ti,sessions:qe,createSession:De},g={linkRepository:Ss,getInstallation:vs,listInstallations:Cs,listLinkableInstallations:Rs,listRepositories:Ts,listRepositoryBranches:As,linkInstallation:js,saveInstallation:Is,deleteInstallation:Es},y={list:La,create:Fa,revoke:Ga},m=wi,P={items:l=>nc(l),item:l=>ic(l),itemFile:(l,f)=>oc(l,f),marketplaces:()=>rc(),featured:()=>sc(),sources:{list:()=>ac(),add:l=>cc(l),remove:l=>lc(l)}};function w(l){let f={list:()=>Mt(l),listAll:()=>Ut(l),reconcile:(...a)=>Ot(l,...a),reconcileMember:(...a)=>Lt(l,...a),updateCredential:(...a)=>Ft(l,...a),revoke:(...a)=>Gt(l,...a),activate:(...a)=>Bt(l,...a),setDefault:(...a)=>Kt(l,...a),pipedreamConnect:(...a)=>Ht(l,...a),pipedreamFinalize:(...a)=>zt(l,...a)};return{get:a=>It(l,a),detail:()=>jt(l),update:a=>qt(l,a),archive:()=>Dt(l),llmCatalog:()=>Et(l),modelPicker:()=>$t(l),sandboxHealth:()=>Nt(l),onboardingComplete:(...a)=>ws(l,...a),tokens:{list:()=>za(l),create:a=>Na(l,a),revoke:a=>Wa(l,a)},setupLinks:{requestSecret:a=>ec(l,a),requestConnector:a=>tc(l,a)},validateManifest:a=>ys(l,a),gitToken:()=>hs(l),secrets:{list:()=>Zs(l),upsert:a=>ei(l,a),remove:a=>si(l,a),setPersonal:(...a)=>ii(l,...a),removePersonal:a=>oi(l,a),setGitCredential:a=>ri(l,a),startProviderOAuth:(...a)=>ti(l,...a),pollProviderOAuth:(...a)=>ni(l,...a)},access:{list:()=>Ms(l),invite:(...a)=>Ls(l,...a),update:(...a)=>Us(l,...a),revoke:a=>Os(l,a),pendingInvites:()=>Fs(l),resendInvite:(...a)=>Bs(l,...a),revokeInvite:(...a)=>Gs(l,...a),requests:()=>$s(l),approveRequest:(...a)=>qs(l,...a),rejectRequest:(...a)=>Ds(l,...a),groupGrants:()=>Ks(l),attachGroupGrant:(...a)=>Hs(l,...a),updateGroupGrant:(...a)=>zs(l,...a),detachGroupGrant:a=>Ns(l,a),resourceGrants:{list:()=>Ws(l),create:a=>Vs(l,a),remove:a=>Js(l,a)}},connectors:{list:()=>ai(l),config:(...a)=>mi(l,...a),create:(...a)=>hi(l,...a),remove:(...a)=>xi(l,...a),sync:()=>ci(l),auth:{discover:(...a)=>bi(l,...a)},setName:(...a)=>fi(l,...a),setCredentialMode:(...a)=>li(l,...a),setAuthorizationStrategy:(...a)=>ui(l,...a),setCredential:(...a)=>Si(l,...a),setSensitive:(...a)=>pi(l,...a),authorizations:f,profiles:f,policies:{get:(...a)=>di(l,...a),set:(...a)=>gi(l,...a)},pipedream:{listApps:(...a)=>ki(l,...a),connect:(...a)=>yi(l,...a),finalize:(...a)=>vi(l,...a)},discover:{list:(...a)=>Pi(l,...a),detail:(...a)=>_i(l,...a)}},policies:{list:()=>Ci(l),set:(...a)=>Ri(l,...a)},triggers:{list:()=>Po(l),create:(...a)=>_o(l,...a),update:(...a)=>wo(l,...a),remove:(...a)=>So(l,...a),fire:(...a)=>Co(l,...a),setActivation:(...a)=>vo(l,...a)},files:{list:a=>Ui(l,a),read:(a,T)=>Li(l,a,T),search:(...a)=>Oi(l,...a),archive:(...a)=>Fi(l,...a),history:(...a)=>zi(l,...a)},git:{commits:()=>Bi(l),commit:a=>Ki(l,a),commitDiff:a=>Hi(l,a),branches:()=>Gi(l),versionDiff:(...a)=>Ni(l,...a),inviteCollaborator:(...a)=>fs(l,...a)},changeRequests:{list:()=>Wi(l),get:a=>Vi(l,a),diff:a=>Ji(l,a),mergePreview:a=>Qi(l,a),open:(...a)=>Xi(l,...a),merge:(...a)=>Yi(l,...a),close:(...a)=>Zi(l,...a),reopen:(...a)=>eo(l,...a),requestChanges:(...a)=>to(l,...a)},sessions:{list:a=>qe(l,a),create:a=>De(l,a),ensureWarm:()=>uo(l),claimWarm:a=>po(l,a)},review:{list:a=>qa(l,a),get:a=>Da(l,a),submit:a=>Ma(l,a),act:(...a)=>Ua(l,...a),bulkAct:a=>Oa(l,a)},approvals:{list:a=>Qs(l,a),resolve:(...a)=>Ys(l,...a),sessionsNeedingInput:a=>Xs(l,a)},gateway:{logs:a=>xa(l,a),log:a=>ka(l,a),overview:a=>Pa(l,a),series:a=>_a(l,a),breakdown:a=>wa(l,a),sessions:a=>Sa(l,a),errors:a=>va(l,a),budgets:()=>Ca(l),setBudget:a=>Ra(l,a),deleteBudget:a=>Ta(l,a),keys:()=>Aa(l),createKey:a=>Ia(l,a),revokeKey:a=>ja(l,a),routing:{get:()=>fa(l),set:a=>ya(l,a),reset:()=>ha(l),preview:a=>ba(l,a)},playground:(a,T,v)=>Ea(l,a,T,v)},channels:{slack:{installation:()=>ta(l),connect:a=>na(l,a),mode:()=>ra(l),manifest:()=>sa(l),disconnect:()=>ia(l),getFile:a=>oa(l,a),uploadFile:a=>aa(l,a)},email:{installation:a=>la(l,a),mode:()=>ua(l),connect:a=>pa(l,a),disconnect:a=>da(l,a),updatePolicy:(...a)=>ga(l,...a)},voice:{setBotName:a=>ma(l,a)}},updateExperimentalFeature:(...a)=>Ps(l,...a),modelDefaults:{get:()=>To(l),set:a=>Ao(l,a),clear:a=>Io(l,a)},setDefaultAgent:a=>$o(l,a),sandbox:{list:()=>Mi(l),snapshots:()=>Ai(l),rebuildSnapshot:a=>Ii(l,a),fixWithAgent:()=>ji(l),createTemplate:a=>Ei(l,a),updateTemplate:(...a)=>$i(l,...a),removeTemplate:a=>qi(l,a),buildTemplate:a=>Di(l,a),setProvider:a=>_s(l,a)},setAgentScope:(...a)=>jo(l,...a),session:a=>R(l,a)}}function R(l,f){let a=null,T,v,k=null;async function j(){k||(k=Wt(l,f,{showErrors:!1}).then(h=>{let C=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",D=C.indexOf("/"),F=D>0&&D<C.length-1?{providerID:C.slice(0,D),modelID:C.slice(D+1)}:void 0,J=h.agent_name?.trim()||void 0;return{model:F,agent:J}}));try{return await k}catch(h){throw k=null,h}}function A(){if(a)return a;let h=fl(l,f);return h&&(a=h),a}async function S(h){let C=A();if(C)return C;let D=h?.readyTimeoutMs??18e4,F=`${l}
8
+ ${f}`,J=tn.get(F);if(J)return a=await J,a;let Q=(async()=>{let X=Date.now()+D,N=()=>Math.max(0,X-Date.now()),M=await ke(l,f,Math.min(3e4,N()));for(;Date.now()<X&&(M==null||(M.stage==="provisioning"||M.stage==="starting")&&M.retriable);)await new Promise(W=>setTimeout(W,Math.min(1e3,N()))),M=await ke(l,f,Math.min(3e4,N()));if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new I(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let H=M.sandbox.external_id;if(!H)throw new I("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let O=_t(H);return Nc(O,H),{opencodeSessionId:M.opencode_session_id,runtimeUrl:O,sandboxId:H}})();tn.set(F,Q);try{return a=await Q,a}finally{tn.get(F)===Q&&tn.delete(F)}}function $(h){let C=A();if(!C)throw new it(h);return C}function L(){a=null,hl(l,f)}return{get:h=>Wt(l,f,h),cost:()=>Jt(f,{projectId:l}),update:h=>yo(l,f,h),delete:()=>(L(),ho(l,f)),start:(...h)=>ke(l,f,...h),restart:()=>(L(),tt(l,f)),stop:()=>(L(),nt(l,f)),setSharing:h=>io(l,f,h),previews:()=>oo(l,f),commit:h=>no(l,f,h),publicShares:{list:()=>ao(l,f),create:(...h)=>co(l,f,...h),revoke:(...h)=>lo(l,f,...h)},audit:(h,C)=>go(l,f,h,C),transcript:h=>mo(l,f,h),voiceTranscript:h=>fo(l,f,h),ensureReady:S,health:h=>uc(A()?.runtimeUrl??null,h),previewUrl:(h,C="/")=>ce(h,C,r($("previewUrl").sandboxId)),proxyUrl:h=>pc(h,r($("proxyUrl").sandboxId)),setModel:h=>{T=h},changeModel:async h=>{let C=await ko(l,f,h);return k=null,C},scope:()=>bo(l,f),rescope:h=>xo(l,f,h),setAgent:h=>{v=h},send:async(h,C)=>{let{opencodeSessionId:D,runtimeUrl:F}=await S(),J=C?.model??T,Q=C?.agent??v,X=J&&Q?{}:await j(),N=J??X.model,M=Q??X.agent;return ee(F).session.prompt({sessionID:D,parts:[{type:"text",text:h}],...N?{model:N}:{},...M?{agent:M}:{}})},abort:async()=>{let{opencodeSessionId:h,runtimeUrl:C}=await S();return ee(C).session.abort({sessionID:h})},rewind:async h=>{let{opencodeSessionId:C,runtimeUrl:D}=await S();return ee(D).session.revert({sessionID:C,messageID:h})},restoreRewind:async()=>{let{opencodeSessionId:h,runtimeUrl:C}=await S();return ee(C).session.unrevert({sessionID:h})},stream:async h=>{let{runtimeUrl:C}=await S();return en({client:ee(C),onEvent:h.onEvent,onGapRehydrate:h.onGapRehydrate,signal:h.signal})},get runtime(){return ee($("runtime").runtimeUrl)},files:{list:async h=>ze(h,(await S()).runtimeUrl),read:async h=>Ie(h,(await S()).runtimeUrl),readBlob:async h=>je(h,(await S()).runtimeUrl),status:async()=>Ne((await S()).runtimeUrl),findFiles:async(h,C)=>We(h,C,(await S()).runtimeUrl),findText:async h=>Ve(h,(await S()).runtimeUrl),upload:async(h,C,D)=>Ee(h,C,D,(await S()).runtimeUrl),create:async h=>Je(h,(await S()).runtimeUrl),copy:async(h,C)=>Qe(h,C,(await S()).runtimeUrl),remove:async h=>Xe(h,(await S()).runtimeUrl),mkdir:async h=>Ye(h,(await S()).runtimeUrl),rename:async(h,C)=>Ze(h,C,(await S()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:p,project:w,session:R,github:g,billing:c,sandboxShares:y,transcribe:$a,connectStatus:m,marketplace:P,validateToken:gs,runtime:ey}}function Bl(){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 gc={thinking:!1,toolDetails:!0,assistantMetadata:!0};function ty(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function ny(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 ry(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
9
9
 
10
10
  `;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
11
11
  >
@@ -38,15 +38,15 @@ ${s}
38
38
  ${e.state.error}
39
39
  \`\`\`
40
40
  `),n+=`
41
- `,n}return""}function Xf(e,t){if(!t)return`## Assistant
41
+ `,n}return""}function sy(e,t){if(!t)return`## Assistant
42
42
 
43
- `;let n=e.agent?zf(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=Jf(e.time.completed-e.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
43
+ `;let n=e.agent?ty(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=ny(e.time.completed-e.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
44
44
 
45
45
  `:`## ${n}
46
46
 
47
- `}function Yf(e,t,n){let r="";e.role==="user"?r+=`## User
47
+ `}function iy(e,t,n){let r="";e.role==="user"?r+=`## User
48
48
 
49
- `:r+=Xf(e,n.assistantMetadata);for(let s of t)r+=Qf(s,n);return r}function Ol(e,t,n=hc){let r=`# ${e.title||"Untitled Session"}
49
+ `:r+=sy(e,n.assistantMetadata);for(let s of t)r+=ry(s,n);return r}function Kl(e,t,n=gc){let r=`# ${e.title||"Untitled Session"}
50
50
 
51
51
  `;r+=`**Session ID:** \`${e.id}\`
52
52
  `,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
@@ -54,19 +54,14 @@ ${e.state.error}
54
54
 
55
55
  `,r+=`---
56
56
 
57
- `;for(let s of t)r+=Yf(s.info,s.parts,n),r+=`---
57
+ `;for(let s of t)r+=iy(s.info,s.parts,n),r+=`---
58
58
 
59
- `;return r}function Ll(e,t){return`session-${e}.md`}function Y(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return mt(r)||t}catch{return t}}return mt(n)||t}catch{return Zf(t)??t}}return typeof e=="object"?mt(e)||"An error occurred":String(e)}function Gl(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Zf(e){let t=Gl(e);if(t)try{return mt(JSON.parse(t))}catch{return}}function mt(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 bc(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Fl(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,o=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!o?void 0:{message:typeof e.message=="string"&&e.message||mt(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:o}}function ge(e){if(e==null)return;if(typeof e=="string"){let l=e.startsWith("Error: ")?e.slice(7):e,p=bc(l)??bc(Gl(l));return p!==void 0?ge(p):void 0}if(typeof e!="object")return;let t=e,n=Fl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let l=Fl(r);if(l)return l}let s=t.data;if(s&&typeof s.responseBody=="string"){let l=bc(s.responseBody);if(l!==void 0){let p=ge(l);if(p)return p}}let o=t.cause;if(o&&typeof o=="object"){let l=o.body;if(l!==void 0){let p=ge(l);if(p)return p}}}var ey={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"}},ty=[{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 ny(e){return e.replace(/^oc[-_]/,"")}function me(e){return ny(e).replace(/-/g,"_")}function Xt(e){return me(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Se(e){let t=me(e),n=ey[t];if(n)return n;for(let{prefix:r,category:s}of ty)if(t.startsWith(r))return{label:Xt(e),category:s};return{label:Xt(e),category:"other"}}var ry=256*1024;function sy(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function iy(e){if(e===void 0)return{};if(e.length>ry)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function oy(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Y(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function ay(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=iy(r),l=sy(t),p=t.status==="error"?t.error:void 0;if(l==="done"){let d=oy(s);d&&(l="error",p=d)}return{name:e,title:n||Se(e).label,status:l,input:t.input,output:r,outputParsed:s,outputText:o,error:p}}function cy(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function ly(e){return{kind:"reasoning",id:e.id,text:e.text}}function uy(e){return{kind:"tool",id:e.id,tool:ay(e.tool,e.state)}}function py(e){let t=e.mime;return{kind:"file",id:e.id,filename:e.filename,mime:t,url:e.url,isImage:t.startsWith("image/"),isPdf:t==="application/pdf"}}function dy(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function gy(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function my(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function fy(e){return{kind:"agent",id:e.id,name:e.name}}function yy(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Y(e.error),createdAt:e.time.created}}function hy(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function by(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function xy(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function xc(e){switch(e.type){case"text":return cy(e);case"reasoning":return ly(e);case"tool":return uy(e);case"file":return py(e);case"subtask":return dy(e);case"patch":return gy(e);case"snapshot":return my(e);case"agent":return fy(e);case"retry":return yy(e);case"compaction":return hy(e);case"step-start":return by(e);case"step-finish":return xy(e);default:return{kind:"unknown",raw:e}}}function Py(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ge(e);return{name:t,message:n?.message||Y(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function ky(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Bl(e){let t=e.parts.map(xc),n=e.info.role==="assistant"?e.info.error:void 0,r=Py(n),s=!r&&!t.some(ky);return{parts:t,error:r,isEmpty:s}}function fe(e){return e.type==="text"}function Yt(e){return e.type==="reasoning"}function re(e){return e.type==="tool"}function Nl(e){return e.type==="file"}function wy(e){return e.type==="agent"}function _y(e){return e.type==="compaction"}function Sy(e){return e.type==="snapshot"}function vy(e){return e.type==="patch"}function Ry(e){if(fe(e)||Yt(e))return e.text}function Hl(e){if(!Nl(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function Cy(e){let t=[],n=[];for(let r of e)Hl(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Ty(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Ay(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var Iy=new Set(["todoread","context_info"]);function Kl(e){return!Iy.has(e.tool)}function jy(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let l=s.match(/\bses_[a-zA-Z0-9]+/);if(l)return l[0]}let o=e.state?.output;if(o){let l=o.match(/\bses_[a-zA-Z0-9]+/);if(l)return l[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Ey(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return Y(n.error)}}function $y(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)re(r)&&Kl(r)&&t.push(r);return t}function qy(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Wl(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:Vl(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:zl(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:Pc(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Pc(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 Wl(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Pc(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 Vl(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Dy(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 ft(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 zl(e){let t=ft(e.description);if(t)return t;let n=ft(e.title,80);if(n)return n;let r=ft(e.message);if(r)return r;let s=ft(e.prompt);if(s)return s;let o=ft(e.agent_id,40);return o?`Agent ${o}`:"Worker task"}function My(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function Uy(e,t){return e.find(n=>n.tool?.callID===t)}function Oy(e,t){return e.find(n=>n.tool?.callID===t)}var Ly=/\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 Fy(e){return e?e.replace(Ly,""):""}function Gy(e){let t=[],n=new Map;for(let s of e)if(s.info.role==="user"){if(n.has(s.info.id))continue;let o={userMessage:s,assistantMessages:[]};t.push(o),n.set(s.info.id,o)}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 o=s.info;if(o.parentID){let p=n.get(o.parentID);if(p){p.assistantMessages.push(s);continue}}if(r){r.assistantMessages.push(s);continue}if(t.length>0){t[0].assistantMessages.unshift(s);continue}let l={userMessage:s,assistantMessages:[]};t.push(l)}return t}function By(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function Ny(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(fe(n)&&n.text?.trim())return n}}function Hy(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Ky(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let o of s.parts){if(!re(o))continue;let l=o,p=l.state?.metadata?.answers;l.tool==="question"&&(p?.length??0)>0&&r.push({part:o,message:s})}return r}function Wy(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 Vy(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,o=r.time.updated??r.time.created,l=s>t,p=o>t;return l&&p?n.id<r.id?-1:n.id>r.id?1:0:l&&!p?-1:!l&&p?1:o-s}}function Jl(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(...Jl(e,s));return r}function Ql(e){let t=e.userMessage.parts;if(t.length===0||!t.every(o=>fe(o)&&o.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return re(s)&&s.tool==="bash"}function zy(e){if(Ql(e))return e.assistantMessages[0].parts[0]}function Jy(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 Qy(e,t){return!t||!e?!1:e.type!=="idle"}function Xy(e,t){return!e&&!!t}function Yy(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Y(n.error)}}function Zy(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ge(n.error)}}function kc(e){if(e){if(re(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(Yt(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(fe(e))return"Gathering thoughts..."}}function eh(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=re(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&t&&t.length>0){for(let l=t.length-1;l>=0;l--){let p=t[l];if(p.info.role==="assistant")for(let d=p.parts.length-1;d>=0;d--){let f=kc(p.parts[d]);if(f)return f}}return"Delegating to agent..."}let o=kc(r);if(o)return o}return"Considering next steps..."}function th(e){if(!Number.isFinite(e)||e<1e3)return"";let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return r>0?`${n}m ${r}s`:`${n}m`}var wc=1.2;function Xl(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,o=e.cache?.write??0,l=Math.max(0,n-s-o),d=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,h)=>h.contextThreshold-m.contextThreshold)[0]??t,f=l/1e6*d.inputPer1M;return f+=r/1e6*d.outputPer1M,s>0&&(f+=s/1e6*(d.cacheReadPer1M??d.inputPer1M)),o>0&&(f+=o/1e6*(d.cacheWritePer1M??d.inputPer1M)),f}function Yl(e,t,n,r){let s=e.cost||0;if(s>0)return s;if(!r||!t||!n)return 0;let o=r(t,n);return o?Xl(e.tokens,o):0}function Zl(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function nh(e,t){let n=0,r=0,s=0,o=0,l=0,p=0,d=!1;for(let{part:f,message:m}of e)if(f.type==="step-finish"){d=!0;let h=f,{providerID:x,modelID:P}=Zl(m.info);n+=Yl(h,x,P,t),r+=h.tokens?.input||0,s+=h.tokens?.output||0,o+=h.tokens?.reasoning||0,l+=h.tokens?.cache?.read||0,p+=h.tokens?.cache?.write||0}if(!d)for(let{message:f}of e){if(f.info.role!=="assistant")continue;let m=f.info,h=eu(m,t);if(h<=0)continue;d=!0,n+=h;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,o+=x.reasoning??0,l+=x.cache?.read??0,p+=x.cache?.write??0)}if(d)return{cost:n*wc,tokens:{input:r,output:s,reasoning:o,cacheRead:l,cacheWrite:p}}}function eu(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?Xl({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function rh(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:l}=Zl(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=Yl(f,o,l,t));d||(p+=eu(s,t)),n+=p}return n*wc}function sh(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function ih(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function oh(e){if(!e||e.type!=="retry")return;let t=e;return{attempt:t.attempt,message:t.message.length>60?`${t.message.slice(0,60)}...`:t.message,next:t.next}}function ah(e){if(!(!e||e.type!=="retry"))return Y(e.message)}function ch(e){return(e.info.summary?.diffs?.length??0)>0}var lh=4e3;function yt(e,t=lh){return e.length>t?`${e.slice(0,t)}
61
- \u2026`:e}function tu(e){if(e!==void 0)try{return yt(JSON.stringify(e,null,2))}catch{return}}function L(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function Be(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function uh(e){let t=L(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Be(e.outputParsed);if(!n)return{kind:"web-search",query:t};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(o=>{let l=Be(o)??{};return{title:L(l.title)??"",url:L(l.url,l.link)??"",snippet:L(l.snippet,l.description,l.source)}});return{kind:"web-search",query:L(n.query)??t,results:s.length>0?s:void 0,answer:L(n.answer)}}var ph=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function dh(e,t,n){let r="",s=0;for(;;){let o=e.indexOf(t,s);if(o===-1)return r+e.slice(s);let l=e.indexOf(n,o+t.length);if(l===-1)return r+e.slice(s);r+=e.slice(s,o),s=l+n.length}}var gh=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function mh(e){let t=-1;for(let n of gh){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var fh=/\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 yh(e){return e.replace(fh,"")}function hh(e){let t=L(e.input?.command)??"",n=e.output??"",r=n.match(ph),s=r?Number(r[1]):void 0,l=yh(mh(dh(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:l||void 0,exitCode:s}}function Sc(e){return L(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function bh(e){let t=e.status==="error"?e.error:e.output&&yt(e.output)||void 0;return{kind:"file-read",path:Sc(e),preview:t}}function xh(e){let t=L(e.input?.content),n=e.status==="error"?e.error:yt(t??e.output??"")||void 0;return{kind:"file-write",path:Sc(e),preview:n}}var Ph=256*1024;function kh(e,t){if(e.length+t.length>Ph)return;let n=e.split(`
59
+ `;return r}function Hl(e,t){return`session-${e}.md`}function Y(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return ot(r)||t}catch{return t}}return ot(n)||t}catch{return oy(t)??t}}return typeof e=="object"?ot(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 oy(e){let t=Nl(e);if(t)try{return ot(JSON.parse(t))}catch{return}}function ot(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let n=t.data;if(typeof n?.message=="string")return n.message;let r=t.error;if(typeof r?.message=="string")return r.message}function mc(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function zl(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||ot(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function ue(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,p=mc(u)??mc(Nl(u));return p!==void 0?ue(p):void 0}if(typeof e!="object")return;let t=e,n=zl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=zl(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=mc(s.responseBody);if(u!==void 0){let p=ue(u);if(p)return p}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let p=ue(u);if(p)return p}}}var ay={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"}},cy=[{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 ly(e){return e.replace(/^oc[-_]/,"")}function at(e){return ly(e).replace(/-/g,"_")}function nn(e){return at(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function rn(e){let t=at(e),n=ay[t];if(n)return n;for(let{prefix:r,category:s}of cy)if(t.startsWith(r))return{label:nn(e),category:s};return{label:nn(e),category:"other"}}var uy=256*1024;function py(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function dy(e){if(e===void 0)return{};if(e.length>uy)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function gy(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Y(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function my(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=dy(r),u=py(t),p=t.status==="error"?t.error:void 0;if(u==="done"){let g=gy(s);g&&(u="error",p=g)}return{name:e,title:n||rn(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:p}}function fy(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function yy(e){return{kind:"reasoning",id:e.id,text:e.text}}function hy(e){return{kind:"tool",id:e.id,tool:my(e.tool,e.state)}}function by(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 xy(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function ky(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Py(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function _y(e){return{kind:"agent",id:e.id,name:e.name}}function wy(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Y(e.error),createdAt:e.time.created}}function Sy(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function vy(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function Cy(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function fc(e){switch(e.type){case"text":return fy(e);case"reasoning":return yy(e);case"tool":return hy(e);case"file":return by(e);case"subtask":return xy(e);case"patch":return ky(e);case"snapshot":return Py(e);case"agent":return _y(e);case"retry":return wy(e);case"compaction":return Sy(e);case"step-start":return vy(e);case"step-finish":return Cy(e);default:return{kind:"unknown",raw:e}}}function Ry(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ue(e);return{name:t,message:n?.message||Y(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function Ty(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Wl(e){let t=e.parts.map(fc),n=e.info.role==="assistant"?e.info.error:void 0,r=Ry(n),s=!r&&!t.some(Ty);return{parts:t,error:r,isEmpty:s}}function pe(e){return e.type==="text"}function sn(e){return e.type==="reasoning"}function ne(e){return e.type==="tool"}function Vl(e){return e.type==="file"}function Ay(e){return e.type==="agent"}function Iy(e){return e.type==="compaction"}function jy(e){return e.type==="snapshot"}function Ey(e){return e.type==="patch"}function $y(e){if(pe(e)||sn(e))return e.text}function Jl(e){if(!Vl(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function qy(e){let t=[],n=[];for(let r of e)Jl(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Dy(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function My(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var Uy=new Set(["todoread","context_info"]);function Ql(e){return!Uy.has(e.tool)}function Oy(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 Ly(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return Y(n.error)}}function Fy(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ne(r)&&Ql(r)&&t.push(r);return t}function Gy(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Xl(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:Yl(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:Zl(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:yc(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:yc(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 Xl(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function yc(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 Yl(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function By(e,t){if(!t)return e;if(e.startsWith(t)){let n=e.slice(t.length);return n.startsWith("/")?n.slice(1):n}return e}function ct(e,t=120){if(typeof e!="string")return"";let n=e.split(`
60
+ `).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function Zl(e){let t=ct(e.description);if(t)return t;let n=ct(e.title,80);if(n)return n;let r=ct(e.message);if(r)return r;let s=ct(e.prompt);if(s)return s;let c=ct(e.agent_id,40);return c?`Agent ${c}`:"Worker task"}function Ky(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function Hy(e,t){return e.find(n=>n.tool?.callID===t)}function zy(e,t){return e.find(n=>n.tool?.callID===t)}var Ny=/\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 Wy(e){return e?e.replace(Ny,""):""}function Vy(e){let t=[],n=new Map;for(let s of e)if(s.info.role==="user"){if(n.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};t.push(c),n.set(s.info.id,c)}let r=null;for(let s of e){if(s.info.role==="user"){r=n.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let c=s.info;if(c.parentID){let p=n.get(c.parentID);if(p){p.assistantMessages.push(s);continue}}if(r){r.assistantMessages.push(s);continue}if(t.length>0){t[0].assistantMessages.unshift(s);continue}let u={userMessage:s,assistantMessages:[]};t.push(u)}return t}function Jy(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function Qy(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(pe(n)&&n.text?.trim())return n}}function Xy(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Yy(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let c of s.parts){if(!ne(c))continue;let u=c,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:c,message:s})}return r}function Zy(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 eh(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,c=r.time.updated??r.time.created,u=s>t,p=c>t;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:c-s}}function eu(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(...eu(e,s));return r}function tu(e){let t=e.userMessage.parts;if(t.length===0||!t.every(c=>pe(c)&&c.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return ne(s)&&s.tool==="bash"}function th(e){if(tu(e))return e.assistantMessages[0].parts[0]}function nh(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 rh(e,t){return!t||!e?!1:e.type!=="idle"}function sh(e,t){return!e&&!!t}function ih(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Y(n.error)}}function oh(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ue(n.error)}}function hc(e){if(e){if(ne(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${e.tool}...`}if(sn(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(pe(e))return"Gathering thoughts..."}}function ah(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=ne(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&t&&t.length>0){for(let u=t.length-1;u>=0;u--){let p=t[u];if(p.info.role==="assistant")for(let g=p.parts.length-1;g>=0;g--){let y=hc(p.parts[g]);if(y)return y}}return"Delegating to agent..."}let c=hc(r);if(c)return c}return"Considering next steps..."}function ch(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 bc=1.2;function nu(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,c=e.cache?.write??0,u=Math.max(0,n-s-c),g=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,P)=>P.contextThreshold-m.contextThreshold)[0]??t,y=u/1e6*g.inputPer1M;return y+=r/1e6*g.outputPer1M,s>0&&(y+=s/1e6*(g.cacheReadPer1M??g.inputPer1M)),c>0&&(y+=c/1e6*(g.cacheWritePer1M??g.inputPer1M)),y}function ru(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?nu(e.tokens,c):0}function su(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function lh(e,t){let n=0,r=0,s=0,c=0,u=0,p=0,g=!1;for(let{part:y,message:m}of e)if(y.type==="step-finish"){g=!0;let P=y,{providerID:w,modelID:R}=su(m.info);n+=ru(P,w,R,t),r+=P.tokens?.input||0,s+=P.tokens?.output||0,c+=P.tokens?.reasoning||0,u+=P.tokens?.cache?.read||0,p+=P.tokens?.cache?.write||0}if(!g)for(let{message:y}of e){if(y.info.role!=="assistant")continue;let m=y.info,P=iu(m,t);if(P<=0)continue;g=!0,n+=P;let w=m.tokens;w&&(r+=w.input??0,s+=w.output??0,c+=w.reasoning??0,u+=w.cache?.read??0,p+=w.cache?.write??0)}if(g)return{cost:n*bc,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:p}}}function iu(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?nu({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function uh(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=su(s),p=0,g=!1;for(let y of r.parts)y.type==="step-finish"&&(g=!0,p+=ru(y,c,u,t));g||(p+=iu(s,t)),n+=p}return n*bc}function ph(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function dh(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function gh(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 mh(e){if(!(!e||e.type!=="retry"))return Y(e.message)}function fh(e){return(e.info.summary?.diffs?.length??0)>0}var yh=4e3;function lt(e,t=yh){return e.length>t?`${e.slice(0,t)}
61
+ \u2026`:e}function ou(e){if(e!==void 0)try{return lt(JSON.stringify(e,null,2))}catch{return}}function B(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function Me(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function hh(e){let t=B(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Me(e.outputParsed);if(!n)return{kind:"web-search",query:t};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(c=>{let u=Me(c)??{};return{title:B(u.title)??"",url:B(u.url,u.link)??"",snippet:B(u.snippet,u.description,u.source)}});return{kind:"web-search",query:B(n.query)??t,results:s.length>0?s:void 0,answer:B(n.answer)}}var bh=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function xh(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 kh=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Ph(e){let t=-1;for(let n of kh){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var _h=/\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 wh(e){return e.replace(_h,"")}function Sh(e){let t=B(e.input?.command)??"",n=e.output??"",r=n.match(bh),s=r?Number(r[1]):void 0,u=wh(Ph(xh(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 kc(e){return B(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function vh(e){let t=e.status==="error"?e.error:e.output&&lt(e.output)||void 0;return{kind:"file-read",path:kc(e),preview:t}}function Ch(e){let t=B(e.input?.content),n=e.status==="error"?e.error:lt(t??e.output??"")||void 0;return{kind:"file-write",path:kc(e),preview:n}}var Rh=256*1024;function Th(e,t){if(e.length+t.length>Rh)return;let n=e.split(`
62
62
  `),r=t.split(`
63
- `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,l=r.length;for(;o>s&&l>s&&n[o-1]===r[l-1];)o--,l--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<l;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function wh(e){let t=L(e.input?.oldString),n=L(e.input?.newString),r=t!==void 0&&n!==void 0?kh(t,n):void 0;return{kind:"file-edit",path:Sc(e),diff:r}}var ru=/^Found\s+(\d+)\s+match/i,_h=/^(\/[^:]+?):\s*/,nu=/Line\s+(\d+):/g;function Sh(e){let t=e.trim(),n=t.match(ru),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let o of r.split(/\n\n+/)){let l=o.trim();if(!l)continue;let p=l.match(_h);if(!p)continue;let d=p[1],f=l.slice(p[0].length),m=[],h;for(nu.lastIndex=0;(h=nu.exec(f))!==null;)m.push({line:Number(h[1]),contentStart:h.index+h[0].length,headerStart:h.index});for(let x=0;x<m.length;x++){let P=x+1<m.length?m[x+1].headerStart:f.length,u=f.slice(m[x].contentStart,P).trim();s.push({path:d,line:m[x].line,content:u.endsWith(";")?u.slice(0,-1):u})}}return s}function vh(e){return e.trim().split(`
64
- `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Rh(e){let t=L(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=ru.test(e.output.trim())?Sh(e.output):vh(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Ch(e){let t=L(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=L(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function _c(e){let t=Be(e)??{};return{content:L(t.content)??"",status:L(t.status)??"pending",priority:L(t.priority)}}function Th(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(_c)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(_c)};let n=Be(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(_c)}:{kind:"todo",items:[]}}function Ah(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Be(r)??{},l=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=Be(p),f=d&&L(d.label);return f?[{label:f,description:d?L(d.description):void 0}]:[]});return{question:L(s.question)??"",header:L(s.header),options:l}})}}function Ih(e){let n=e.input&&Object.keys(e.input).length>0?tu(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?yt(e.outputParsed):tu(e.outputParsed):e.outputText!==void 0?r=yt(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function su(e){switch(me(e.name)){case"web_search":case"websearch":case"image_search":return uh(e);case"bash":return hh(e);case"read":return bh(e);case"write":return xh(e);case"edit":case"morph_edit":return wh(e);case"grep":case"glob":return Rh(e);case"task":return Ch(e);case"todowrite":return Th(e);case"question":case"ask":return Ah(e);default:return Ih(e)}}var Ne=class extends Error{constructor(n,r,s){super(n);this.code=r;this.data=s;this.name="AcpRpcError"}code;data},Z=class extends Error{constructor(n,r,s){super(n);this.status=r;this.terminal=s;this.name="AcpTransportError"}status;terminal};var jh=12e4;function Eh(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}function $h(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function iu(e){return!!e&&"id"in e&&("result"in e||"error"in e)}function ou(e){return e>=400&&e<500&&e!==408&&e!==429}function qh(e){let t=null,n=[];for(let s of e.split(/\r?\n/))s.startsWith("id:")&&(t=Number(s.slice(3).trim())),s.startsWith("data:")&&n.push(s.slice(5).trimStart());if(!Number.isSafeInteger(t)||t===null||n.length===0)return null;let r=JSON.parse(n.join(`
65
- `));return{id:t,envelope:r}}async function Dh(e,t,n){let r=e.getReader(),s=new TextDecoder,o="";for(;;){let{done:l,value:p}=await r.read();o+=s.decode(p,{stream:!l}).replaceAll(`\r
66
- `,`
67
- `);let d=o.split(`
68
-
69
- `);o=d.pop()??"",l&&o.trim()&&d.push(o);for(let f of d)try{let m=qh(f);m&&t(m)}catch(m){n(m)}if(l)return}}var Zt=class e{static instanceCount=0;idPrefix=`${Date.now()}-${e.instanceCount++}`;nextId=0;endpoint;fetcher;requestTimeoutMs;pending=new Map;constructor(t){this.endpoint=Eh(t.endpoint),this.fetcher=t.fetch??j,this.requestTimeoutMs=t.requestTimeoutMs??jh}async request(t,n){return this.requestWithTimeout(t,n,this.requestTimeoutMs)}async requestWithTimeout(t,n,r){let s=`${this.idPrefix}-${++this.nextId}`,o=JSON.stringify(s),l=new Promise((p,d)=>{let f=r===null?null:setTimeout(()=>{this.pending.delete(o),d(new Error(`Timed out waiting for ACP response to ${t}`))},r);this.pending.set(o,{resolve:m=>p(m),reject:d,timer:f})});try{let p=await this.post({jsonrpc:"2.0",id:s,method:t,...n===void 0?{}:{params:n}});if(p){if(!iu(p))throw new Error(`ACP method ${t} returned an invalid response`);this.settleResponse(p)}}catch(p){let d=this.pending.get(o);d&&(d.timer&&clearTimeout(d.timer),this.pending.delete(o),d.reject(p instanceof Error?p:new Error(String(p))))}return l}async notify(t,n){await this.post({jsonrpc:"2.0",method:t,...n===void 0?{}:{params:n}})}async respond(t,n,r){await this.post({jsonrpc:"2.0",id:t,...r?{error:r}:{result:n??null}})}loadSession(t){return this.request("session/load",{...t,mcpServers:t.mcpServers??[]})}prompt(t,n){return this.requestWithTimeout("session/prompt",{sessionId:t,prompt:n},null)}cancel(t){return this.notify("session/cancel",{sessionId:t})}revertSession(t,n){return this.request("session/revert",{sessionId:t,messageId:n})}unrevertSession(t){return this.request("session/unrevert",{sessionId:t})}setSessionConfigOption(t,n,r){return this.request("session/set_config_option",{sessionId:t,configId:n,value:r})}connect(t){let n=t.lastEventId??0,r=t.lastEventId!==void 0,s=!1,o=new AbortController,l=()=>{},p=()=>{},d=!1,f=new Promise((x,P)=>{l=x,p=P}),m=()=>o.abort(t.signal?.reason);t.signal?.addEventListener("abort",m,{once:!0});let h=async()=>{let x=250;for(;!s&&!o.signal.aborted;){try{let P=await this.fetcher(this.endpoint,{headers:{Accept:"text/event-stream",...r?{"Last-Event-ID":String(n)}:{}},signal:o.signal});if(!P.ok)throw new Z(`ACP stream failed with HTTP ${P.status}`,P.status,ou(P.status));if(!P.body)throw new Error("ACP stream response has no body");if(await Dh(P.body,u=>{d||(d=!0,l()),!(r&&u.id<=n)&&(r=!0,n=u.id,x=250,iu(u.envelope)&&this.settleResponse(u.envelope),t.onEvent(u))},u=>t.onError?.(u)),t.reconnect===!1)return}catch(P){if(s||o.signal.aborted)return;if(t.onError?.(P),t.reconnect===!1||P instanceof Z&&P.terminal){d||p(P instanceof Error?P:new Error(String(P)));return}}await new Promise(P=>setTimeout(P,x)),x=Math.min(x*2,5e3)}};return queueMicrotask(()=>{h()}),{close(){s||(s=!0,t.signal?.removeEventListener("abort",m),o.abort(),d||p(new Error("ACP stream closed before opening")))},get lastEventId(){return n},ready:f}}async post(t){let n=await this.fetcher(this.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(n.status===202||n.status===204)return null;if(!n.ok){let s=await n.text().catch(()=>"");throw new Z(`ACP request failed with HTTP ${n.status}: ${s}`,n.status,ou(n.status))}let r=await n.json();if(!$h(r)||r.jsonrpc!=="2.0")throw new Error("ACP response is not a JSON-RPC 2.0 envelope");return r}settleResponse(t){let n=JSON.stringify(t.id),r=this.pending.get(n);if(r){if(r.timer&&clearTimeout(r.timer),this.pending.delete(n),t.error){r.reject(new Ne(t.error.message,t.error.code,t.error.data));return}r.resolve(t.result)}}};function vc(e){return new Zt(e)}function M(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function E(e){return typeof e=="string"&&e.length>0?e:null}function au(e){if(typeof e=="string")return e;if(e==null)return"";try{return JSON.stringify(e)}catch{return String(e)}}function cu(e){return!M(e)||!Object.prototype.hasOwnProperty.call(e,"output")?au(e):au(e.output)}var Mh={execute:"bash",read:"read",edit:"edit",delete:"edit",move:"edit",search:"grep",fetch:"webfetch"};function Uh(e){return/^[A-Za-z][A-Za-z0-9_.-]*$/.test(e)}function Oh(e,t){if(t)return t.tool;let n=E(e.title);if(n&&Uh(n))return n;let r=E(e.kind)??"other";return Mh[r]??r}function Lh(e,t){return!t||me(t)===me(e)?Se(e).label:t}function pu(e,t){return`acp-${t}-${String(e.nextId).padStart(8,"0")}`}function Fh(e,t,n){let r=n??pu(e,"user");return{info:{id:r,sessionID:e.sessionId,role:"user",time:{created:Date.now()},agent:"default",model:{providerID:"acp",modelID:"runtime"}},parts:[{id:`${r}-text`,sessionID:e.sessionId,messageID:r,type:"text",text:t}]}}function Gh(e,t){let n=t??pu(e,"assistant"),r=[...e.messages].reverse().find(o=>o.info.role==="user")?.info.id;return{info:{id:n,sessionID:e.sessionId,role:"assistant",time:{created:Date.now()},parentID:r??n,modelID:"runtime",providerID:"acp",mode:e.currentModeId??"build",agent:"default",path:{cwd:"/workspace",root:"/workspace"},cost:0,tokens:{input:0,output:0,reasoning:0,cache:{read:0,write:0}}},parts:[]}}function Bh(e,t){if(e.info.role!=="assistant"||e.info.time.completed)return e;let n=e.parts.map(r=>{if(r.type!=="tool"||r.state.status!=="pending"&&r.state.status!=="running")return r;let s=r.state,o=s.status==="running"?s.time.start:t;return{...r,state:{status:"completed",input:s.input,output:"",title:s.status==="running"&&s.title?s.title:Se(r.tool).label,metadata:s.status==="running"?s.metadata??{}:{},time:{start:o,end:t}}}});return{...e,info:{...e.info,time:{...e.info.time,completed:t}},parts:n}}function du(e,t,n){if(t){let p=e.messages.findIndex(d=>d.info.role==="assistant"&&d.info.id===t);if(p>=0){let d=[...e.messages];return d[p]=n(d[p]),{...e,messages:d,status:{type:"busy"}}}}let r=e.messages.at(-1);if(!t&&r?.info.role==="assistant"&&!r.info.time.completed){let p=[...e.messages];return p[p.length-1]=n(r),{...e,messages:p,status:{type:"busy"}}}let s=Date.now(),o=e.messages.map(p=>Bh(p,s)),l=Gh({...e,messages:o},t);return{...e,nextId:e.nextId+1,messages:[...o,n(l)],status:{type:"busy"}}}function lu(e,t,n,r){return n?du(e,r,s=>{let o=[...s.parts],l=o.findIndex(p=>p.type===t);if(l>=0){let p=o[l];o[l]={...p,text:p.text+n}}else o.push({id:`${s.info.id}-${t}`,sessionID:e.sessionId,messageID:s.info.id,type:t,text:n,...t==="reasoning"?{time:{start:Date.now()}}:{}});return{...s,parts:o}}):e}function Nh(e,t,n){if(!t)return e;if(n){let s=e.messages.findIndex(o=>o.info.role==="user"&&o.info.id===n);if(s>=0){let o=e.messages[s],l=[...o.parts],p=l.findIndex(f=>f.type==="text");if(p>=0){let f=l[p];l[p]={...f,text:f.text+t}}let d=[...e.messages];return d[s]={...o,parts:l},{...e,messages:d}}}let r=e.messages.at(-1);if(!n&&r?.info.role==="user"){let s=[...r.parts],o=s.findIndex(p=>p.type==="text");if(o>=0){let p=s[o];s[o]={...p,text:p.text+t}}let l=[...e.messages];return l[l.length-1]={...r,parts:s},{...e,messages:l}}return{...e,nextId:e.nextId+1,messages:[...e.messages,Fh(e,t,n)]}}function Hh(e,t){let n=E(t.toolCallId);if(!n)return e;let r=e.messages.find(o=>o.parts.some(l=>l.type==="tool"&&l.callID===n)),s=r?.info.role==="assistant"?r.info.id:null;return du(e,s,o=>{let l=[...o.parts],p=l.findIndex(C=>C.type==="tool"&&C.callID===n),d=p>=0?l[p]:null,f=M(t.rawInput)?t.rawInput:d?.state.input??{},m=E(t.status)??d?.state.status??"pending",h=Oh(t,d),x=Lh(h,E(t.title)),P=d?.state.status==="running"?d.state.title:void 0,u=t.rawOutput,a=M(u)&&M(u.metadata)?u.metadata:{},S=Date.now(),T;return m==="completed"?T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"completed",input:f,output:cu(u),title:x??P??h,metadata:a,time:{start:d?.state.status==="running"?d.state.time.start:S,end:S}}}:m==="failed"?T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"error",input:f,error:cu(u)||x||"Tool call failed",time:{start:d?.state.status==="running"?d.state.time.start:S,end:S}}}:T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"running",input:f,title:x,time:{start:d?.state.status==="running"?d.state.time.start:S}}},p>=0?l[p]=T:l.push(T),{...o,parts:l}})}function Kh(e){if(!M(e))return null;let t=E(e.content)??E(e.title);return t?{content:t,status:E(e.status)??"pending",priority:E(e.priority)??"medium"}:null}function uu(e){return Array.isArray(e)?e.flatMap(t=>{let n=Kh(t);return n?[n]:[]}):[]}function Wh(e){let n=(Array.isArray(e.questions)?e.questions:[]).flatMap(p=>{if(!M(p))return[];let d=E(p.question)??E(p.label)??E(e.message);if(!d)return[];let f=Array.isArray(p.options)?p.options.flatMap(m=>{if(typeof m=="string")return[{label:m,description:m}];if(!M(m))return[];let h=E(m.label)??E(m.name);return h?[{label:h,description:E(m.description)??h}]:[]}):[];return[{question:d,header:E(p.header)??d.slice(0,30),options:f,multiple:p.multiple===!0,custom:p.allowText===!0}]});if(n.length>0)return n;let r=M(e.requestedSchema)?e.requestedSchema:M(e.schema)?e.schema:null,s=r&&M(r.properties)?r.properties:{},o=Object.entries(s).flatMap(([p,d])=>{if(!M(d))return[];let f=Array.isArray(d.enum)?d.enum:[];return[{question:E(d.title)??E(d.description)??E(e.message)??p,header:p.slice(0,30),options:f.map(m=>({label:String(m),description:String(m)})),custom:f.length===0}]});if(o.length>0)return o;let l=E(e.message)??"Kortix needs your input";return[{question:l,header:l.slice(0,30),options:[],custom:!0}]}function Vh(e,t,n,r){let s=M(r)?r:{};if(E(s.sessionId)!==e.sessionId)return e;if(n==="session/request_permission"){let o=M(s.toolCall)?s.toolCall:{},l={id:String(t),sessionID:e.sessionId,permission:E(o.title)??E(s.permission)??"tool",patterns:[],metadata:{acp:s},always:[],...E(o.toolCallId)?{tool:{messageID:e.messages.at(-1)?.info.id??e.sessionId,callID:String(o.toolCallId)}}:{}};return{...e,permissions:[...e.permissions.filter(p=>p.id!==l.id),l]}}if(n==="elicitation/create"||n==="elicitation/request"||n==="session/request_input"){let o={id:String(t),sessionID:e.sessionId,questions:Wh(s)};return{...e,questions:[...e.questions.filter(l=>l.id!==o.id),o]}}return e}function zh(e,t){let n=e.messages.at(-1);if(!n||n.info.role!=="assistant")return{...e,status:{type:"idle"}};let r=M(t.usage)?t.usage:{},s=Number(r.inputTokens)||0,o=Number(r.outputTokens)||0,l=Number(r.thoughtTokens)||0,p=Number(r.cachedReadTokens)||0,d=Number(r.cachedWriteTokens)||0,f=E(t.stopReason)??"end_turn",m={id:`${n.info.id}-finish`,sessionID:e.sessionId,messageID:n.info.id,type:"step-finish",reason:f,cost:Number(r.cost)||0,tokens:{input:s,output:o,reasoning:l,cache:{read:p,write:d}}},h={...n.info,time:{...n.info.time,completed:Date.now()},finish:f,cost:m.cost,tokens:m.tokens},x=[...e.messages];return x[x.length-1]={info:h,parts:[...n.parts.filter(P=>P.type!=="step-finish"),m]},{...e,messages:x,status:{type:"idle"}}}function en(e){return{sessionId:e,messages:[],status:{type:"idle"},todos:[],permissions:[],questions:[],configOptions:[],availableCommands:[],currentModeId:null,sessionInfo:null,usage:null,nextId:1}}function tn(e,t){if("method"in t&&"id"in t)return Vh(e,t.id,t.method,t.params);if("method"in t&&t.method==="session/update"){let n=M(t.params)?t.params:{};if(E(n.sessionId)!==e.sessionId)return e;let r=M(n.update)?n.update:{},s=E(r.sessionUpdate)??E(r.type),o=M(r.content)?r.content:{},l=E(o.text)??"",p=E(r.messageId);if(s==="user_message_chunk")return Nh(e,l,p);if(s==="agent_thought_chunk")return lu(e,"reasoning",l,p);if(s==="agent_message_chunk")return lu(e,"text",l,p);if(s==="tool_call"||s==="tool_call_update")return Hh(e,r);if(s==="plan")return{...e,todos:uu(r.entries)};if(s==="plan_update"){let d=M(r.plan)?r.plan:r;return E(d.type)!=="items"?e:{...e,todos:uu(d.entries)}}if(s==="plan_removed")return{...e,todos:[]};if(s==="config_option_update"&&Array.isArray(r.configOptions))return{...e,configOptions:r.configOptions.filter(M)};if(s==="available_commands_update"&&Array.isArray(r.availableCommands))return{...e,availableCommands:r.availableCommands.filter(M)};if(s==="current_mode_update")return{...e,currentModeId:E(r.currentModeId)};if(s==="session_info_update"){let{sessionUpdate:d,type:f,...m}=r;return{...e,sessionInfo:m}}if(s==="usage_update"){let{sessionUpdate:d,type:f,...m}=r;return{...e,usage:m}}return e}if("id"in t){let n=String(t.id),r={...e,permissions:e.permissions.filter(s=>s.id!==n),questions:e.questions.filter(s=>s.id!==n)};return M(t.result)&&(E(t.result.stopReason)||M(t.result.usage))?zh(r,t.result):r}return e}function gu(e,t){return t||(e==="acp"?"acp":"rest")}function Jh(e,t){let n=gu(e,t),r=n==="acp";return{transport:n,useAcp:r,streamOpenCodeEvents:!r,listOpenCodeSessions:!r,syncOpenCodeMessages:!r,sendWith:r?"acp":"opencode-rest"}}function Qh(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}function Rc(e,t){return`${Qh(e)}/kortix/acp/${encodeURIComponent(t)}`}function mu(e,t){if(!t)return e;let n=e.findIndex(r=>r.info.id===t);return n<0?e:e.slice(0,n)}var fu=3,Xh=500,ve=class extends Error{constructor(){super("ACP runtime restarted"),this.name="AcpRuntimeRestartError"}};function se(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function yu(e){return typeof e=="string"&&e.length>0?e:null}function Yh(e,t){let n=Array.isArray(e.options)?e.options.filter(se):[],r=t==="once"?["allow_once","allow"]:t==="always"?["allow_always","always"]:["reject_once","reject_always","reject"];for(let s of r){let o=n.find(p=>p.kind===s),l=o&&yu(o.optionId);if(l)return l}return null}function Zh(e,t){let n=se(e.requestedSchema)?e.requestedSchema:se(e.schema)?e.schema:null,r=n&&se(n.properties)?Object.keys(n.properties):[];return r.length===0?{answers:t}:Object.fromEntries(r.map((s,o)=>{let l=t[o]??[];return[s,l.length<=1?l[0]??"":l]}))}function Cc(e){return e.permissions.length>0||e.questions.length>0||e.messages.some(t=>t.parts.some(n=>n.type==="tool"&&(n.state.status==="pending"||n.state.status==="running")))}function eb(e){return"id"in e&&!("method"in e)&&se(e.result)&&(yu(e.result.stopReason)!==null||se(e.result.usage))}function tb(e){if(Cc(e))return e;let t=Date.now();return{...e,status:{type:"idle"},messages:e.messages.map(n=>n.info.role==="assistant"&&!n.info.time.completed?{...n,info:{...n.info,time:{...n.info.time,completed:t}}}:n)}}var nn=class{constructor(t){this.options=t;if(!t.client&&!t.runtimeUrl)throw new Error("AcpSessionController requires a runtimeUrl or injected client");this.client=t.client??vc({endpoint:Rc(t.runtimeUrl,t.sessionId)}),this.snapshot={ready:!1,sending:!1,connection:"idle",error:null,projection:en(t.sessionId),configOptions:[],rewind:null}}options;client;listeners=new Set;openRequests=new Map;stream=null;connecting=null;runtimeReload=null;runtimeGeneration=0;restartWaiters=new Set;promptQueue=Promise.resolve();promptSettlement=null;snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));getSnapshot=()=>this.snapshot;async connect(){if(this.runtimeReload)return this.runtimeReload;if(!this.snapshot.ready){if(this.connecting)return this.connecting;this.connecting=this.open();try{await this.connecting}finally{this.connecting=null}}}async open(){this.resetCanonicalSessionState(),this.patch({connection:"connecting",error:null}),this.stream||(this.stream=this.client.connect({onEvent:t=>this.onEnvelope(t.envelope),onError:t=>{!(t instanceof Z)||!t.terminal||this.patch({ready:!1,connection:"error",error:t instanceof Error?t:new Error(String(t))})}}));try{await this.stream.ready,await this.loadCanonicalSession()}catch(t){throw this.patch({ready:!1,connection:"error",error:t instanceof Error?t:new Error(String(t))}),t}}resetCanonicalSessionState(){this.openRequests.clear(),this.patch({projection:en(this.options.sessionId)})}async loadCanonicalSession(){let t=await this.client.loadSession({sessionId:this.options.sessionId,cwd:this.options.cwd??"/workspace"}),n=Array.isArray(t.configOptions)?t.configOptions.filter(se):[],r=tb(this.snapshot.projection),s=this.snapshot.rewind?{...r,messages:mu(r.messages,this.snapshot.rewind.messageId)}:r;this.patch({ready:!0,connection:"open",error:null,configOptions:n,projection:{...s,configOptions:n}})}reloadAfterRuntimeReady(){if(!this.snapshot.ready||this.runtimeReload)return;this.resetCanonicalSessionState(),this.patch({ready:!1,connection:"connecting",error:null});let t=this.loadCanonicalSession().catch(n=>{this.patch({ready:!1,connection:"error",error:n instanceof Error?n:new Error(String(n))})}).finally(()=>{this.runtimeReload===t&&(this.runtimeReload=null)});this.runtimeReload=t}onRuntimeReady(){this.runtimeGeneration+=1;for(let t of this.restartWaiters)t();this.restartWaiters.clear(),this.reloadAfterRuntimeReady()}async raceWithRuntimeRestart(t,n){if(n!==this.runtimeGeneration)throw t.catch(()=>{}),new ve;let r=()=>{},s=new Promise((o,l)=>{r=()=>l(new ve)});this.restartWaiters.add(r);try{return await Promise.race([t,s])}finally{this.restartWaiters.delete(r)}}send(t,n={}){let r=()=>{},s=()=>{},o=new Promise((p,d)=>{r=p,s=d}),l=this.promptQueue.then(()=>this.executeSend(t,n,{resolve:r,reject:s}));return this.promptQueue=l.catch(()=>{}),o}async executeSend(t,n,r){let s=t.filter(o=>o.type==="text").map(o=>o.text).join("");this.patch({sending:!0,error:null});try{let o=0,l=this.runtimeGeneration;for(;;){this.snapshot.ready||await this.connect(),l=this.runtimeGeneration;try{if(n.model&&await this.raceWithRuntimeRestart(this.client.setSessionConfigOption(this.options.sessionId,"model",n.model),l),n.agent&&await this.raceWithRuntimeRestart(this.client.setSessionConfigOption(this.options.sessionId,"mode",n.agent),l),l!==this.runtimeGeneration)throw new ve;break}catch(f){if(!(f instanceof ve))throw f;if(o+=1,o>fu)throw new Error(`ACP runtime restarted more than ${fu} times while preparing the prompt`);this.runtimeReload&&await this.runtimeReload}}s&&this.onEnvelope({jsonrpc:"2.0",method:"session/update",params:{sessionId:this.options.sessionId,update:{sessionUpdate:"user_message_chunk",content:{type:"text",text:s}}}}),this.snapshot.rewind&&this.patch({rewind:null});let p=this.client.prompt(this.options.sessionId,t),d;try{d=await this.raceWithRuntimeRestart(p,l)}catch(f){throw f instanceof ve?new Error("ACP runtime restarted after session/prompt dispatch; the prompt result is unknown"):f}this.applyPromptResult(d,!1),r.resolve(),await this.settlePrompt(d)}catch(o){throw r.reject(o),this.discardPromptSettlement(),this.patch({error:o instanceof Error?o:new Error(String(o)),projection:{...this.snapshot.projection,status:{type:"idle"}}}),o}finally{this.patch({sending:!1})}}async cancel(){await this.client.cancel(this.options.sessionId),this.discardPromptSettlement(),this.patch({projection:{...this.snapshot.projection,status:{type:"idle"},permissions:[],questions:[]}})}async rewind(t){if(!t)throw new Error("ACP session rewind requires a message id");if(this.snapshot.sending)throw new Error("Cannot rewind a busy ACP session");this.snapshot.ready||await this.connect();let n=await this.resolveRewindMessageId(t);await this.client.revertSession(this.options.sessionId,n),this.patch({rewind:{messageId:n}}),this.resetCanonicalSessionState(),await this.loadCanonicalSession()}async resolveRewindMessageId(t){if(!t.startsWith("acp-user-"))return t;let n=this.snapshot.projection.messages.filter(f=>f.info.role==="user"),r=n.findIndex(f=>f.info.id===t),s=n[r]?.parts.filter(f=>f.type==="text").map(f=>f.text).join("");if(r<0||!s)throw new Error("ACP session rewind message is not in the current transcript");this.resetCanonicalSessionState(),await this.loadCanonicalSession();let o=this.snapshot.projection.messages.filter(f=>f.info.role==="user"),l=o[r],p=[...o].reverse().find(f=>f.parts.filter(m=>m.type==="text").map(m=>m.text).join("")===s),d=l?.info.id.startsWith("acp-user-")?p:l;if(!d||d.info.id.startsWith("acp-user-"))throw new Error("ACP session rewind could not resolve the canonical OpenCode message id");return d.info.id}async restoreRewind(){if(this.snapshot.rewind){if(this.snapshot.sending)throw new Error("Cannot restore a busy ACP session");await this.client.unrevertSession(this.options.sessionId),this.patch({rewind:null}),this.resetCanonicalSessionState(),await this.loadCanonicalSession()}}async runCommand(t,n,r={}){let s=t.replace(/^\/+/,"").toLowerCase();if(s==="undo"||s==="redo")throw new Error(`OpenCode ACP does not support /${s}`);let o=`/${s}${n.trim()?` ${n.trim()}`:""}`;await this.send([{type:"text",text:o}],r)}async answerPermission(t,n){let r=this.openRequests.get(t),s=r?.id??t,o=r?.params??{},l=Yh(o,n);if(n==="reject"&&!l){let d={outcome:{outcome:"cancelled"}};await this.client.respond(s,d),this.onEnvelope({jsonrpc:"2.0",id:s,result:d});return}if(!l)throw new Error(`ACP permission request ${t} has no compatible ${n} option`);let p={outcome:{outcome:"selected",optionId:l}};await this.client.respond(s,p),this.onEnvelope({jsonrpc:"2.0",id:s,result:p})}async answerQuestion(t,n){let r=this.openRequests.get(t),s=r?.id??t,o=r?.params??{},l={action:"accept",content:Zh(o,n)};await this.client.respond(s,l),this.onEnvelope({jsonrpc:"2.0",id:s,result:l})}async rejectQuestion(t){let n=this.openRequests.get(t)?.id??t,r={action:"decline"};await this.client.respond(n,r),this.onEnvelope({jsonrpc:"2.0",id:n,result:r})}close(){this.discardPromptSettlement(),this.stream?.close(),this.stream=null,this.patch({connection:"closed",ready:!1})}onEnvelope(t){if(this.snapshot.sending&&eb(t))return;"method"in t&&t.method==="kortix/runtime_ready"&&(!se(t.params)||t.params.sessionId===null||t.params.sessionId===this.options.sessionId)&&this.onRuntimeReady(),"method"in t&&"id"in t&&se(t.params)?this.openRequests.set(String(t.id),{id:t.id,params:t.params}):"id"in t&&!("method"in t)&&this.openRequests.delete(String(t.id));let n=tn(this.snapshot.projection,t);n!==this.snapshot.projection&&this.patch({projection:n}),"method"in t&&t.method==="session/update"&&this.schedulePromptSettlement()}settlePrompt(t){return new Promise(n=>{this.promptSettlement={result:t,timer:null,resolve:n},this.schedulePromptSettlement()})}schedulePromptSettlement(){let t=this.promptSettlement;t&&(t.timer&&(clearTimeout(t.timer),t.timer=null),!Cc(this.snapshot.projection)&&(t.timer=setTimeout(()=>{if(this.promptSettlement!==t||Cc(this.snapshot.projection)){this.schedulePromptSettlement();return}this.promptSettlement=null,this.applyPromptResult(t.result,!0),t.resolve()},Xh)))}applyPromptResult(t,n){let r=tn(this.snapshot.projection,{jsonrpc:"2.0",id:`prompt:${Date.now()}`,result:t}),s=n?r:{...r,status:{type:"busy"}};s!==this.snapshot.projection&&this.patch({projection:s})}discardPromptSettlement(){let t=this.promptSettlement;t&&(this.promptSettlement=null,t.timer&&clearTimeout(t.timer),t.resolve())}patch(t){this.snapshot={...this.snapshot,...t};for(let n of this.listeners)n()}};function nb(e){return new nn(e)}function rn(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function rb(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 sb(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 Tc(e,t,n){return e!==void 0?e:rb(rn(t),n)}var ib={get disableMobileAdvertising(){return Tc(q().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Tc(q().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Tc(q().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var ht="kortix-active-instance",hu=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function bu(e){return hu.some(t=>e===t||e.startsWith(`${t}/`))}function He(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 ob(e){let t=He(e);return!!t&&t.innerPath===""}function ab(e){let t=He(e);return!t||!t.innerPath?e:t.innerPath}function xu(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=He(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return bu(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function Pu(e){return e?He(e)?.instanceId??null:null}function cb(){return typeof window>"u"?null:Pu(window.location.pathname)||ku()}function ku(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${ht}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function lb(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${ht}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${ht}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${ht}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function ub(e,t){return t?xu(t,e):e}function pb(e){let t=He(e);return t?t.innerPath||"/dashboard":e}function wu(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e&&typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e??"")}function _u(e){let t=wu(e).trim();if(!t)return null;let n=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],r=t.indexOf("{");r>=0&&n.push(t.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function Ac(e){let t=_u(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function db(e){return Ac(e)!==null}function Su(e){let t=Ac(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=t.data?.issues?.[0]?.message,l=t.data?.issues?.[0]?.path?.join("."),p=l?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:o?`${l?`${l}: `:""}${o}`:void 0}}return{title:"OpenCode failed to load",message:wu(e)||"The sandbox is running, but OpenCode returned an error."}}function W(){let e=rn("BACKEND_URL")||q().backendUrl;return e||"http://localhost:8008/v1"}function bt(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=bt(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return bt(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var vu=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Ru(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function gb(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 Ic(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${W()}/p/${n.external_id}/${ne.KORTIX_MASTER}`:""),status:gb(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 jc(){let e=await ke(),t=[];for(let n of e){let r=await Fe(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Ic(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},o=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return o!==0?o:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function Re(e){let t=await jc();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 sn(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await j(`${W()}${e}`,{...t,headers:n,signal:r}),o=await s.text().catch(()=>{}),l;if(o)try{l=JSON.parse(o)}catch{}if(!s.ok){let p=l?.error||l?.message||l?.detail||o||`Platform API error ${s.status}`,d=new I(p,{status:s.status,code:l?.code||l?.error_code||String(s.status),details:l??(o?{rawText:o}:void 0),response:s,endpoint:e});throw s.status===402&&(d=$e(Object.assign(d,{response:s,status:s.status,data:l}))),d}return l}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`${W()}/p/${e.external_id}/${ne.KORTIX_MASTER}`}function mb(e,t){return e.external_id?`${W()}/p/${e.external_id}/${t}`:null}async function fb(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Cu(e){let t=await Re();if(t)return{sandbox:t.sandbox,created:!1};let r=(await ke())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Ge(r.project_id,{...e?.provider?{provider:e.provider}:{}}),o=(await _e(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Ic(r,s,o),created:!0}}async function yb(){return(await Re().catch(()=>null))?.sandbox??null}async function hb(e){return{sandbox:(await Cu(e)).sandbox}}async function bb(e){let t=bt(e);return t?(await Re(t).catch(()=>null))?.sandbox??null:null}async function xb(e,t){throw await Re(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function Pb(e){let t=bt(e);return(await jc().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function kb(){if(typeof window>"u")return null;let e=W(),t=Array.from(new Set([e,...vu]));for(let n of t)try{let r=await fetch(Ru(n),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!r.ok)continue;let s=await r.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function wb(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await Re(e);if(!t)throw new Error("Project session sandbox not found");await lt(t.project.project_id,t.session.session_id)}async function _b(e){if(!e)throw new Error("No sandbox selected to stop");let t=await Re(e);if(!t)throw new Error("Project session sandbox not found");await ut(t.project.project_id,t.session.session_id)}async function Sb(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function vb(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Rb(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function Cb(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function Tb(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function Ab(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function Ib(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function jb(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Eb(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function $b(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function $c(e,t,n){let r=Ec(e),s=await j(`${be(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let o=await s.text().catch(()=>"");throw new Error(o||`Request failed (${s.status})`)}return await s.json()}async function qb(e,t){return $c(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function Db(e,t,n,r="member"){await $c(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function Mb(e,t,n){await $c(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Ub(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Ob(e){let t=await sn(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function Lb(e){let t=await sn(`/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 Fb(e){let t=await sn(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function Gb(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Bb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Nb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Hb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Kb(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Wb(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Tu=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Vb(e){return Tu.includes(e)}async function zb(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 Jb(e){let t=e?`?channel=${e}`:"",n=await fetch(`${W()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await Au(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Au(e){let t=e?`?channel=${e}`:"",n=await fetch(`${W()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function Qb(){let e=await fetch(`${W()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function Xb(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Yb(e){}async function Zb(e){}async function ex(e){return{serverTypes:[],location:e||"hel1"}}async function tx(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function nx(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function rx(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function sx(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function ix(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function ox(e,t){return`${W()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var ie=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function on(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function qc(e,t){let n=new Headers(e.headers);return n.set("Accept","application/json"),t&&n.set("Content-Type","application/json"),e.accessToken&&n.set("Authorization",`Bearer ${e.accessToken}`),n}async function an(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function cn(e,t){if(t&&typeof t=="object"){let n=t;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof t=="string"&&t?t:e.statusText||`HTTP ${e.status}`}async function G(e,t,n){let r=n?.body!==void 0,s=await fetch(`${on(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:qc(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),o=await an(s);if(!s.ok)throw new ie(cn(s,o),s.status,o);return o}function ax(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString();return n?`?${n}`:""}function cx(e,t){return G(`/marketplace/items${ax(t)}`,e)}function lx(e){return G("/marketplace/marketplaces",e)}function ux(e,t){return G(`/marketplace/items/${encodeURIComponent(e)}`,t)}function px(e,t,n){return G(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function dx(e,t){return G("/access/check-email",t,{method:"POST",body:{email:e}})}function gx(e,t){return G("/access/request-access",t,{method:"POST",body:e})}function mx(e){return G("/auth/logout",e,{method:"POST",body:{}})}function fx(e,t){return G(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function yx(e,t){return G("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function hx(e,t){return G(`/setup-links/connector/${encodeURIComponent(e)}`,t)}function bx(e,t){return G(`/setup-links/connector/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function xx(e,t){return G(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function Px(e,t,n){return G(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function kx(e,t){return G(`/p/public-share/${encodeURIComponent(e)}`,t)}function wx(e,t,n){return G(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function _x(e){return G("/system/maintenance",e)}function Sx(e,t){return G("/system/maintenance",t,{method:"PUT",body:e})}function vx(e){return G("/user-roles",e)}function Rx(e,t){return G("/system/demo-request",t,{method:"POST",body:e})}async function Cx(e,t,n){let r=new URLSearchParams({format:t.format});t.action&&r.set("action",t.action),t.actor&&r.set("actor",t.actor),t.resource_type&&r.set("resource_type",t.resource_type),t.since&&r.set("since",t.since),t.until&&r.set("until",t.until),t.q&&r.set("q",t.q);let s=await fetch(`${on(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:qc(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await an(s);throw new ie(cn(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count")}}async function Tx(e,t){let n=await fetch(`${on(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:qc(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await an(n);throw new ie(cn(n,r),n.status,r)}if(!n.body)throw new ie("No response body",n.status,null);return n.body}var Ax=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Iu(e,t){return Ax.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${on(e)}/`):null}async function Ix(e,t,n){let r=Iu(e,t);if(!r)throw new ie("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await an(s);if(!s.ok)throw new ie(cn(s,o),s.status,o);return o}async function jx(){let e=await i.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function Ex(e={}){let t=await i.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function $x(e){let t=await i.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function qx(e){let t=await i.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function Dx(){let e=await i.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function ju(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 Mx(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(t)try{o.add(new URL(t).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function Ux(e,t){return Mx(e,t)?(t?ju(t):null)??ju(e):null}function Ox(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function Lx(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}function Dc(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Fx(e,t){return`${Dc(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function Gx(e,t){return`${Dc(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function Eu(e,t){return`${Dc(e)}/presentation/convert-to-${t}`}async function Bx(e,t,n,r){let s=Eu(t,e),o=r?.pollIntervalMs??2500,l=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let u=await f.blob();if(u.size===0)throw new Error("Downloaded file is empty");return u}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>l)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((u,a)=>{let S=setTimeout(u,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(S),a(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),P=f.statusText;try{let u=JSON.parse(x);P=String(u.error||u.detail||u.message||P)}catch{x&&(P=x)}throw new Error(`Failed to download ${e.toUpperCase()}: ${P} (HTTP ${f.status})`)}}function qu(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let o=new URLSearchParams({limit:String(r)});s&&o.set("before",s);let l=await e.getToken?.(),p=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${o}`,{headers:l?{Authorization:`Bearer ${l}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function Du(e){return Nx(qu(e))}function Mu(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=qu(e),s=async o=>{let l=await e.getToken?.(),p=await t(`${n}${o}`,{headers:l?{Authorization:`Bearer ${l}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new Mc({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function Nx(e){let t=new Map,n=new Set,r;do{let s=await e({limit:10,...r?{before:r}:{}});for(let o of s.messages)t.set(o.info.id,o);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,o)=>s.info.id.localeCompare(o.info.id))}var Hx={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},$u=500,Mc=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??Hx,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0})}observePromptStatus(t){if(this.promptObservationPhase!=="idle"){if(t.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1})}setBusy(t){if(!t){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t),r=await this.loadCompleteTurn(n,"tail",t);if(this.destroyed)return;this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let o=await this.options.loadPage({limit:10,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t)}async loadCompleteTurn(t,n,r,s){let o=[...t.messages],l=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),d=t.nextCursor;for(let f of t.messages)f.info.role==="user"&&l.add(f.info.id);for(;d&&o.some(f=>f.info.role==="assistant"&&!!f.info.parentID&&!l.has(f.info.parentID));){if(p.has(d))throw new Error(`Session history cursor repeated: ${d}`);p.add(d);let f=await this.loadPage(n,r,d);o.unshift(...f.messages);for(let m of f.messages)m.info.role==="user"&&l.add(m.info.id);d=f.nextCursor}return{messages:o,nextCursor:d}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await 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)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let t=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}))};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(t,$u):setTimeout(t,$u)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder&&n.isPromptObservedBusy===this.snapshot.isPromptObservedBusy)){this.snapshot=n;for(let r of this.listeners)r()}}};function Uu(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Ou(e){let{url:t,token:n,method:r="GET",body:s,onEvent:o,onOpen:l,onError:p,signal:d}=e,f=new Map,m=null,h=!1;function x(T,C){o?.(T,C);let w=f.get(T);if(w)for(let v of w)try{v(C)}catch{}}async function P(){if(h)return;m=new AbortController;let T=d?AbortSignal.any([m.signal,d]):m.signal;try{let C={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(C["Content-Type"]="application/json");let w=await fetch(t,{method:r,headers:C,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:T,credentials:"include"});if(!w.ok)throw new Error(`SSE connection failed: ${w.status} ${w.statusText}`);if(!w.body)throw new Error("SSE response has no body");l?.();let v=w.body.getReader(),A=new TextDecoder,$="",y="message",R="";for(;!h;){let{done:H,value:V}=await v.read();if(H)break;$+=A.decode(V,{stream:!0});let B=$.split(`
70
- `);$=B.pop()||"";for(let F of B)F===""?R&&(x(y,R.trimEnd()),y="message",R=""):F.startsWith("event: ")?y=F.slice(7).trim():F.startsWith("data: ")?R+=(R?`
71
- `:"")+F.slice(6):F.startsWith("data:")&&(R+=(R?`
72
- `:"")+F.slice(5))}}catch(C){if(h||C instanceof DOMException&&C.name==="AbortError")return;p?.(C instanceof Error?C:new Error(String(C)))}}function u(){h=!0,m?.abort(),m=null,f.clear()}function a(T,C){let w=f.get(T)??new Set;w.add(C),f.set(T,w)}function S(T,C){f.get(T)?.delete(C)}return{connect:P,close:u,addEventListener:a,removeEventListener:S}}function Kx(e,t){return Ou({...t,url:Uu(e)})}return Ku(Wx);})();
63
+ `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let c=n.length,u=r.length;for(;c>s&&u>s&&n[c-1]===r[u-1];)c--,u--;let p=[];for(let g=0;g<s;g++)p.push({type:"unchanged",text:n[g]});for(let g=s;g<c;g++)p.push({type:"removed",text:n[g]});for(let g=s;g<u;g++)p.push({type:"added",text:r[g]});for(let g=c;g<n.length;g++)p.push({type:"unchanged",text:n[g]});return p}function Ah(e){let t=B(e.input?.oldString),n=B(e.input?.newString),r=t!==void 0&&n!==void 0?Th(t,n):void 0;return{kind:"file-edit",path:kc(e),diff:r}}var cu=/^Found\s+(\d+)\s+match/i,Ih=/^(\/[^:]+?):\s*/,au=/Line\s+(\d+):/g;function jh(e){let t=e.trim(),n=t.match(cu),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let c of r.split(/\n\n+/)){let u=c.trim();if(!u)continue;let p=u.match(Ih);if(!p)continue;let g=p[1],y=u.slice(p[0].length),m=[],P;for(au.lastIndex=0;(P=au.exec(y))!==null;)m.push({line:Number(P[1]),contentStart:P.index+P[0].length,headerStart:P.index});for(let w=0;w<m.length;w++){let R=w+1<m.length?m[w+1].headerStart:y.length,l=y.slice(m[w].contentStart,R).trim();s.push({path:g,line:m[w].line,content:l.endsWith(";")?l.slice(0,-1):l})}}return s}function Eh(e){return e.trim().split(`
64
+ `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function $h(e){let t=B(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=cu.test(e.output.trim())?jh(e.output):Eh(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function qh(e){let t=B(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=B(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function xc(e){let t=Me(e)??{};return{content:B(t.content)??"",status:B(t.status)??"pending",priority:B(t.priority)}}function Dh(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(xc)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(xc)};let n=Me(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(xc)}:{kind:"todo",items:[]}}function Mh(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Me(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=Me(p),y=g&&B(g.label);return y?[{label:y,description:g?B(g.description):void 0}]:[]});return{question:B(s.question)??"",header:B(s.header),options:u}})}}function Uh(e){let n=e.input&&Object.keys(e.input).length>0?ou(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?lt(e.outputParsed):ou(e.outputParsed):e.outputText!==void 0?r=lt(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function lu(e){switch(at(e.name)){case"web_search":case"websearch":case"image_search":return hh(e);case"bash":return Sh(e);case"read":return vh(e);case"write":return Ch(e);case"edit":case"morph_edit":return Ah(e);case"grep":case"glob":return $h(e);case"task":return qh(e);case"todowrite":return Dh(e);case"question":case"ask":return Mh(e);default:return Uh(e)}}function on(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Oh(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 Lh(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 Pc(e,t,n){return e!==void 0?e:Oh(on(t),n)}var Fh={get disableMobileAdvertising(){return Pc(q().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Pc(q().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Pc(q().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var ut="kortix-active-instance",uu=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function pu(e){return uu.some(t=>e===t||e.startsWith(`${t}/`))}function Ue(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let n=decodeURIComponent(t[1]),r=t[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function Gh(e){let t=Ue(e);return!!t&&t.innerPath===""}function Bh(e){let t=Ue(e);return!t||!t.innerPath?e:t.innerPath}function du(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=Ue(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return pu(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function gu(e){return e?Ue(e)?.instanceId??null:null}function Kh(){return typeof window>"u"?null:gu(window.location.pathname)||mu()}function mu(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${ut}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function Hh(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${ut}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${ut}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${ut}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function zh(e,t){return t?du(t,e):e}function Nh(e){let t=Ue(e);return t?t.innerPath||"/dashboard":e}function fu(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 yu(e){let t=fu(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 _c(e){let t=yu(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function Wh(e){return _c(e)!==null}function hu(e){let t=_c(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),p=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:fu(e)||"The sandbox is running, but OpenCode returned an error."}}function z(){let e=on("BACKEND_URL")||q().backendUrl;return e||"http://localhost:8008/v1"}function pt(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let n=pt(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return pt(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var bu=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function xu(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function Vh(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 wc(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${z()}/p/${n.external_id}/${te.KORTIX_MASTER}`:""),status:Vh(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 Sc(){let e=await be(),t=[];for(let n of e){let r=await qe(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:wc(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 Sc();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 an(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await E(`${z()}${e}`,{...t,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new I(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=Re(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function vc(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${z()}/p/${e.external_id}/${te.KORTIX_MASTER}`}function Jh(e,t){return e.external_id?`${z()}/p/${e.external_id}/${t}`:null}async function Qh(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function ku(e){let t=await Pe();if(t)return{sandbox:t.sandbox,created:!1};let r=(await be())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await De(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await ke(r.project_id,s.session_id))?.sandbox??null;return{sandbox:wc(r,s,c),created:!0}}async function Xh(){return(await Pe().catch(()=>null))?.sandbox??null}async function Yh(e){return{sandbox:(await ku(e)).sandbox}}async function Zh(e){let t=pt(e);return t?(await Pe(t).catch(()=>null))?.sandbox??null:null}async function eb(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 tb(e){let t=pt(e);return(await Sc().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function nb(){if(typeof window>"u")return null;let e=z(),t=Array.from(new Set([e,...bu]));for(let n of t)try{let r=await fetch(xu(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 rb(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 tt(t.project.project_id,t.session.session_id)}async function sb(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 nt(t.project.project_id,t.session.session_id)}async function ib(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function ob(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function ab(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function cb(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function lb(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function ub(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function pb(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function db(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function gb(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function mb(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Cc(e,t,n){let r=vc(e),s=await E(`${fe(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 fb(e,t){return Cc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function yb(e,t,n,r="member"){await Cc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function hb(e,t,n){await Cc(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function bb(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function xb(e){let t=await an(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function kb(e){let t=await an(`/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 Pb(e){let t=await an(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function _b(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function wb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Sb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function vb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Cb(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Rb(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Pu=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Tb(e){return Pu.includes(e)}async function Ab(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 Ib(e){let t=e?`?channel=${e}`:"",n=await fetch(`${z()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await _u(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function _u(e){let t=e?`?channel=${e}`:"",n=await fetch(`${z()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function jb(){let e=await fetch(`${z()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function Eb(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function $b(e){}async function qb(e){}async function Db(e){return{serverTypes:[],location:e||"hel1"}}async function Mb(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function Ub(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function Ob(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function Lb(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function Fb(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function Gb(e,t){return`${z()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var re=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function cn(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function Rc(e,t){let n=new Headers(e.headers);return n.set("Accept","application/json"),t&&n.set("Content-Type","application/json"),e.accessToken&&n.set("Authorization",`Bearer ${e.accessToken}`),n}async function ln(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function un(e,t){if(t&&typeof t=="object"){let n=t;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof t=="string"&&t?t:e.statusText||`HTTP ${e.status}`}async function K(e,t,n){let r=n?.body!==void 0,s=await fetch(`${cn(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Rc(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),c=await ln(s);if(!s.ok)throw new re(un(s,c),s.status,c);return c}function Bb(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString();return n?`?${n}`:""}function Kb(e,t){return K(`/marketplace/items${Bb(t)}`,e)}function Hb(e){return K("/marketplace/marketplaces",e)}function zb(e,t){return K(`/marketplace/items/${encodeURIComponent(e)}`,t)}function Nb(e,t,n){return K(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function Wb(e,t){return K("/access/check-email",t,{method:"POST",body:{email:e}})}function Vb(e,t){return K("/access/request-access",t,{method:"POST",body:e})}function Jb(e){return K("/auth/logout",e,{method:"POST",body:{}})}function Qb(e,t){return K(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function Xb(e,t){return K("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function Yb(e,t){return K(`/setup-links/connector/${encodeURIComponent(e)}`,t)}function Zb(e,t){return K(`/setup-links/connector/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function ex(e,t){return K(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function tx(e,t,n){return K(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function nx(e,t){return K(`/p/public-share/${encodeURIComponent(e)}`,t)}function rx(e,t,n){return K(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function sx(e){return K("/system/maintenance",e)}function ix(e,t){return K("/system/maintenance",t,{method:"PUT",body:e})}function ox(e){return K("/user-roles",e)}function ax(e,t){return K("/system/demo-request",t,{method:"POST",body:e})}async function cx(e,t,n){let r=new URLSearchParams({format:t.format});t.action&&r.set("action",t.action),t.actor&&r.set("actor",t.actor),t.project_id&&r.set("project_id",t.project_id),t.session_id&&r.set("session_id",t.session_id),t.actor_type&&r.set("actor_type",t.actor_type),t.source&&r.set("source",t.source),t.outcome&&r.set("outcome",t.outcome),t.request_id&&r.set("request_id",t.request_id),t.correlation_id&&r.set("correlation_id",t.correlation_id),t.resource_type&&r.set("resource_type",t.resource_type),t.since&&r.set("since",t.since),t.until&&r.set("until",t.until),t.q&&r.set("q",t.q);let s=await fetch(`${cn(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:Rc(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let c=await ln(s);throw new re(un(s,c),s.status,c)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count")}}async function lx(e,t){let n=await fetch(`${cn(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Rc(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await ln(n);throw new re(un(n,r),n.status,r)}if(!n.body)throw new re("No response body",n.status,null);return n.body}var ux=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function wu(e,t){return ux.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${cn(e)}/`):null}async function px(e,t,n){let r=wu(e,t);if(!r)throw new re("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),c=await ln(s);if(!s.ok)throw new re(un(s,c),s.status,c);return c}async function dx(){let e=await i.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function gx(e={}){let t=await i.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function mx(e){let t=await i.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function fx(e){let t=await i.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function yx(){let e=await i.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function Su(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 hx(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 Tc(e,t){return hx(e,t)?(t?Su(t):null)??Su(e):null}function bx(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function xx(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}async function kx(e,t={}){let n=Tc(e,t.serverUrl);if(!n)return!1;let r=await de();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}function Ac(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Px(e,t){return`${Ac(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function _x(e,t){return`${Ac(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function vu(e,t){return`${Ac(e)}/presentation/convert-to-${t}`}async function wx(e,t,n,r){let s=vu(t,e),c=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),g=!1;for(;;){let y=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=y.headers.get("content-type")||"";if(y.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let l=await y.blob();if(l.size===0)throw new Error("Downloaded file is empty");return l}if(y.status===202){if(g||(g=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((l,f)=>{let a=setTimeout(l,c);r?.signal?.addEventListener("abort",()=>{clearTimeout(a),f(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let w=await y.text().catch(()=>""),R=y.statusText;try{let l=JSON.parse(w);R=String(l.error||l.detail||l.message||R)}catch{w&&(R=w)}throw new Error(`Failed to download ${e.toUpperCase()}: ${R} (HTTP ${y.status})`)}}function Ru(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let c=new URLSearchParams({limit:String(r)});s&&c.set("before",s);let u=await e.getToken?.(),p=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function Tu(e){return Sx(Ru(e))}function Au(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=Ru(e),s=async c=>{let u=await e.getToken?.(),p=await t(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new Ic({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function Sx(e){let t=new Map,n=new Set,r;do{let s=await e({limit:50,...r?{before:r}:{}});for(let c of s.messages)t.set(c.info.id,c);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...t.values()].sort((s,c)=>s.info.id.localeCompare(c.info.id))}var vx={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Cu=500,Ic=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??vx,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0}),this.setBusy(!0)}observePromptStatus(t){if(this.promptObservationPhase!=="idle"){if(t.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.setBusy(!1)}setBusy(t){if(!t){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t),r=await this.loadCompleteTurn(n,"tail",t);if(this.destroyed)return;this.containsNewPromptReply(r.messages)&&this.observePromptActivity(),this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t)}async loadCompleteTurn(t,n,r,s){let c=[...t.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),g=t.nextCursor;for(let y of t.messages)y.info.role==="user"&&u.add(y.info.id);for(;g&&c.some(y=>y.info.role==="assistant"&&!!y.info.parentID&&!u.has(y.info.parentID));){if(p.has(g))throw new Error(`Session history cursor repeated: ${g}`);p.add(g);let y=await this.loadPage(n,r,g);c.unshift(...y.messages);for(let m of y.messages)m.info.role==="user"&&u.add(m.info.id);g=y.nextCursor}return{messages:c,nextCursor:g}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.reconcile("poll"),await this.reconcileStatus(),this.lastActivityAt=this.scheduler.now())}containsNewPromptReply(t){if(this.promptObservationPhase==="idle")return!1;let n=new Set(t.filter(r=>r.info.role==="user"&&!this.knownUserMessageIds.has(r.info.id)).map(r=>r.info.id));return n.size===0?!1:t.some(r=>r.info.role==="assistant"&&!!r.info.parentID&&n.has(r.info.parentID))}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let t=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.stopLivenessTimer())};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(t,Cu):setTimeout(t,Cu)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder&&n.isPromptObservedBusy===this.snapshot.isPromptObservedBusy)){this.snapshot=n;for(let r of this.listeners)r()}}};function Iu(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function ju(e){let{url:t,token:n,method:r="GET",body:s,onEvent:c,onOpen:u,onError:p,signal:g}=e,y=new Map,m=null,P=!1;function w(T,v){c?.(T,v);let k=y.get(T);if(k)for(let j of k)try{j(v)}catch{}}async function R(){if(P)return;m=new AbortController;let T=g?AbortSignal.any([m.signal,g]):m.signal;try{let v={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(v["Content-Type"]="application/json");let k=await fetch(t,{method:r,headers:v,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:T,credentials:"include"});if(!k.ok)throw new Error(`SSE connection failed: ${k.status} ${k.statusText}`);if(!k.body)throw new Error("SSE response has no body");u?.();let j=k.body.getReader(),A=new TextDecoder,S="",$="message",L="";for(;!P;){let{done:h,value:C}=await j.read();if(h)break;S+=A.decode(C,{stream:!0});let D=S.split(`
65
+ `);S=D.pop()||"";for(let F of D)F===""?L&&(w($,L.trimEnd()),$="message",L=""):F.startsWith("event: ")?$=F.slice(7).trim():F.startsWith("data: ")?L+=(L?`
66
+ `:"")+F.slice(6):F.startsWith("data:")&&(L+=(L?`
67
+ `:"")+F.slice(5))}}catch(v){if(P||v instanceof DOMException&&v.name==="AbortError")return;p?.(v instanceof Error?v:new Error(String(v)))}}function l(){P=!0,m?.abort(),m=null,y.clear()}function f(T,v){let k=y.get(T)??new Set;k.add(v),y.set(T,k)}function a(T,v){y.get(T)?.delete(v)}return{connect:R,close:l,addEventListener:f,removeEventListener:a}}function Cx(e,t){return ju({...t,url:Iu(e)})}return Ou(Rx);})();