@kortix/sdk 0.10.7 → 0.10.9

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.
@@ -1,19 +1,19 @@
1
- "use strict";var Kortix=(()=>{var Dt=Object.defineProperty;var Rl=Object.getOwnPropertyDescriptor;var Tl=Object.getOwnPropertyNames;var Il=Object.prototype.hasOwnProperty;var jl=(e,t)=>{for(var r in t)Dt(e,r,{get:t[r],enumerable:!0})},Al=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Tl(t))!Il.call(e,s)&&s!==r&&Dt(e,s,{get:()=>t[s],enumerable:!(n=Rl(t,s))||n.enumerable});return e};var El=e=>Al(Dt({},"__esModule",{value:!0}),e);var Lf={};jl(Lf,{ACTIVE_INSTANCE_COOKIE:()=>He,ApiError:()=>C,AuthError:()=>de,BillingError:()=>re,COST_MARKUP:()=>Ba,DEFAULT_TRANSCRIPT_OPTIONS:()=>Ua,DESTRUCTIVE_PHASES:()=>_l,INSTANCE_SCOPED_ROUTES:()=>gl,PublicSessionShareError:()=>Pt,RequestTooLargeError:()=>ge,RuntimeNotReadyError:()=>at,SANDBOX_PORTS:()=>V,SessionNotReadyError:()=>Fe,SessionStartError:()=>kt,__getConfigResolver:()=>Dl,__setConfigResolver:()=>ql,acceptAccountInvite:()=>Dn,acceptInvite:()=>cf,actReviewItem:()=>aa,activateConnectionProfile:()=>Us,addMarketplaceSource:()=>Ea,addSandboxMember:()=>Jm,allDescendantIds:()=>rl,appendPreviewToken:()=>Of,approveProjectAccessRequest:()=>is,approveTask:()=>pu,archiveProject:()=>bt,assignTicket:()=>xu,attachGroupToProject:()=>fs,authenticatedFetch:()=>R,backendApi:()=>o,buildInstancePath:()=>fl,buildPreviewAuthEndpoint:()=>Mf,buildSandboxTemplate:()=>ci,buildWebProxyUrl:()=>kd,bulkActReviewItems:()=>ca,cancelAccountInvite:()=>En,cancelSandbox:()=>Wm,cancelSandboxUpdate:()=>wf,cancelScheduledChange:()=>yo,cancelSubscription:()=>go,childMapByParent:()=>Lg,claimComputer:()=>Rf,classifyPart:()=>La,classifyTurn:()=>Jc,clearModelDefault:()=>Yi,clearSessionFresh:()=>Bp,closeChangeRequest:()=>Ci,closeMilestone:()=>Vu,collectTurnParts:()=>Dg,commentTicket:()=>Pu,commitSessionChanges:()=>Ii,computeStatusFromPart:()=>Ga,configureAutoTopup:()=>ko,configureKortix:()=>Qe,confirmCheckoutSession:()=>uo,connectEmail:()=>Ao,connectSlack:()=>wo,createAccount:()=>Cn,createAccountAuditWebhook:()=>Pa,createAccountToken:()=>ga,createBackup:()=>pf,createCheckoutSession:()=>lo,createConnector:()=>Vs,createGatewayKey:()=>ea,createInstance:()=>Sf,createKortix:()=>Kc,createKortixPty:()=>un,createMilestone:()=>Hu,createPortalSession:()=>po,createProject:()=>Hn,createProjectAgent:()=>Au,createProjectCliToken:()=>ya,createProjectRepo:()=>Wn,createProjectResourceGrant:()=>xs,createProjectSession:()=>xe,createProjectTrigger:()=>Ni,createSandbox:()=>Lm,createSandboxShare:()=>ua,createSandboxTemplate:()=>ii,createSessionPublicShare:()=>Mi,createTask:()=>cu,createTicket:()=>yu,declineAccountInvite:()=>Mn,declineInvite:()=>lf,deleteBackup:()=>gf,deleteConnector:()=>zs,deleteCredential:()=>ep,deleteEnv:()=>cn,deleteGatewayBudget:()=>Yo,deleteGitHubInstallation:()=>ns,deleteInstance:()=>vf,deleteKortixProject:()=>Fu,deleteMilestone:()=>Ju,deletePersonalProjectSecret:()=>As,deleteProjectAgent:()=>$u,deleteProjectResourceGrant:()=>ks,deleteProjectSecret:()=>Is,deleteProjectSession:()=>Bi,deleteProjectTrigger:()=>Wi,deleteSandboxTemplate:()=>ai,deleteTask:()=>du,deleteTicket:()=>wu,describeAccountInvite:()=>qn,detachGroupFromProject:()=>hs,detectLocalhostUrls:()=>Mc,disconnectEmail:()=>Eo,disconnectGitHubApp:()=>qf,disconnectSlack:()=>vo,discoverLocalSandbox:()=>Km,dropClientForUrl:()=>lp,dropPublicClientForUrl:()=>dp,ensurePmSession:()=>Iu,ensureSandbox:()=>wl,env:()=>yc,exportAccountAudit:()=>xa,extractGatewayErrorDetails:()=>ee,extractInstanceRoute:()=>_e,featureFlags:()=>Cm,fetchAccountStateWithToken:()=>zp,fetchAccountsWithToken:()=>qp,fetchProjectArchive:()=>gi,fetchProjectsForAccountWithToken:()=>Op,files:()=>Sc,findLastTextPart:()=>Mg,fireProjectTrigger:()=>zi,fixSandboxWithAgent:()=>si,formatBillingErrorForUI:()=>fc,formatCost:()=>Qg,formatDuration:()=>zg,formatOpenCodeRuntimeError:()=>qm,formatTokens:()=>Yg,formatTranscript:()=>Hc,generateSessionId:()=>Nc,getAccount:()=>Rn,getAccountState:()=>ro,getAccountStateMinimal:()=>no,getActiveInstanceIdFromCookie:()=>hl,getAgentCardLabel:()=>tl,getAgentConfig:()=>Wp,getAgentPersona:()=>qu,getAllVersions:()=>xf,getAnsweredQuestionParts:()=>Og,getAuthToken:()=>Ae,getAuthTokenWithRetry:()=>rn,getAutoTopupSettings:()=>xo,getBillingCreditBreakdown:()=>oo,getBillingTierConfigurations:()=>co,getBillingTransactionsSummary:()=>io,getBillingUsageHistory:()=>ao,getChangeRequest:()=>Pi,getChangeRequestDiff:()=>wi,getChangeRequestMergePreview:()=>_i,getChildSessionError:()=>vg,getChildSessionId:()=>Sg,getChildSessionToolParts:()=>Cg,getClient:()=>X,getClientForUrl:()=>se,getConnectStatus:()=>Xs,getConnectorConfig:()=>Ns,getConnectorPolicies:()=>Bs,getCurrentInstanceIdFromPathname:()=>yl,getCurrentInstanceIdFromWindow:()=>Im,getDefaultAccountState:()=>to,getDiagnostics:()=>Ig,getDirectory:()=>el,getEmailInstallation:()=>Io,getEmailMode:()=>jo,getFileWithDir:()=>Fa,getFilename:()=>Zc,getFullChangelog:()=>Sl,getGatewayBreakdown:()=>Vo,getGatewayBudgets:()=>Xo,getGatewayErrors:()=>Jo,getGatewayKeys:()=>Zo,getGatewayLog:()=>No,getGatewayOverview:()=>Ho,getGatewayRoutingPolicy:()=>Lo,getGatewaySeries:()=>Wo,getGatewaySessions:()=>zo,getGitHubAppStatus:()=>jf,getGitHubInstallation:()=>Yn,getHiddenToolParts:()=>Pg,getInvite:()=>af,getJustavpsServerTypes:()=>_f,getKortixProject:()=>Uu,getKortixProjectBySession:()=>Ou,getKortixPtyWebSocketUrl:()=>gn,getLatestSandboxVersion:()=>bf,getManagedGitStatus:()=>Mp,getMarketplaceCatalogItem:()=>Ia,getMarketplaceCatalogItemFile:()=>ja,getMeetVoices:()=>qo,getMilestone:()=>Ku,getModelDefaults:()=>Xi,getOpenCodeConfigInvalidError:()=>Ha,getPartText:()=>xg,getPermissionForTool:()=>jg,getProject:()=>gt,getProjectActivity:()=>Du,getProjectCommit:()=>yi,getProjectCommitDiff:()=>hi,getProjectDetail:()=>mt,getProjectFileHistory:()=>bi,getProjectGitToken:()=>Nn,getProjectLlmCatalog:()=>ft,getProjectModelPicker:()=>yt,getProjectSandboxHealth:()=>xt,getProjectSession:()=>Oi,getProrationPreview:()=>ho,getProviders:()=>Um,getProxyBaseUrl:()=>yd,getPublicClientForUrl:()=>pp,getPublicSessionShare:()=>Zp,getPublicSessionShareMessages:()=>ed,getQuestionForTool:()=>Ag,getRetryInfo:()=>Zg,getRetryMessage:()=>em,getReviewItem:()=>ia,getSSHConnection:()=>ff,getSandbox:()=>Om,getSandboxById:()=>Fm,getSandboxMemberScopes:()=>ef,getSandboxPortUrl:()=>Mm,getSandboxProvisionStatus:()=>Tf,getSandboxProvisionStreamUrl:()=>If,getSandboxUpdateStatus:()=>hf,getSandboxUrl:()=>za,getServiceLogs:()=>ip,getSessionAudit:()=>Li,getSessionCost:()=>Xg,getSessionHealth:()=>qa,getSessionPreviewCandidates:()=>qi,getSessionTranscript:()=>Fi,getShellModePart:()=>Gg,getSlackChannelFile:()=>Co,getSlackInstallation:()=>Po,getSlackManifest:()=>So,getSlackMode:()=>_o,getSupabaseAccessToken:()=>nt,getSupabaseAccessTokenWithRetry:()=>ue,getTask:()=>iu,getTaskStatus:()=>au,getTemplate:()=>td,getTicket:()=>mu,getToolInfo:()=>Rg,getTranscriptFilename:()=>Wc,getTurnCost:()=>Jg,getTurnError:()=>Hg,getTurnErrorDetails:()=>Wg,getTurnStatus:()=>Vg,getVersionDiff:()=>xi,getViewerSandboxScopes:()=>Zm,getWorkingState:()=>Kg,grantSandboxProjectAccess:()=>nf,groupMessagesIntoTurns:()=>qg,hasDiffs:()=>tm,hasLocalhostUrls:()=>md,heartbeatGapEvent:()=>Fc,humanizeToolName:()=>Ct,installTemplate:()=>rd,invalidateTokenCache:()=>je,inviteAccountMember:()=>jn,inviteProjectMember:()=>us,inviteRepoCollaborator:()=>Bn,isAdminBypassEnabled:()=>Ep,isAgentPart:()=>fg,isAppRouteUrl:()=>Dc,isAttachment:()=>Qc,isBillingError:()=>mc,isCompactionPart:()=>yg,isConfigured:()=>Ye,isDestructivePhase:()=>yf,isExternalUrl:()=>_d,isFilePart:()=>Xc,isInstanceDetailPath:()=>Rm,isInstanceScopedAppPath:()=>ml,isInviteSent:()=>Gp,isLastUserMessage:()=>Bg,isManagedGithubProject:()=>Dp,isOpenCodeConfigInvalidError:()=>$m,isPatchPart:()=>bg,isPreviewUrl:()=>xd,isProxiableLocalhostUrl:()=>Uc,isReasoningPart:()=>Tt,isRuntimeReady:()=>nd,isSessionFresh:()=>Ei,isSessionStartError:()=>Kp,isShellMode:()=>nl,isSnapshotPart:()=>hg,isSubdomainPreviewUrl:()=>Uf,isTextPart:()=>te,isToolPart:()=>z,isToolPartHidden:()=>wg,isWebProxyUrl:()=>wd,kortixPty:()=>bc,leaveAccount:()=>Ln,linkRepository:()=>Qn,listAccountAudit:()=>ba,listAccountAuditWebhooks:()=>ka,listAccountInvites:()=>An,listAccountMembers:()=>In,listAccountTokens:()=>da,listAccounts:()=>vn,listBackups:()=>uf,listBillingTransactions:()=>so,listChangeRequests:()=>ki,listChannelBindings:()=>Qp,listColumns:()=>_u,listConnectionProfiles:()=>$s,listConnectors:()=>Os,listCredentialEvents:()=>Qu,listCredentials:()=>Xu,listEnv:()=>on,listFeaturedMarketplaces:()=>Ta,listFields:()=>vu,listGatewayLogs:()=>Ko,listGitHubInstallations:()=>Zn,listGitHubRepositories:()=>es,listGitHubRepositoryBranches:()=>ts,listKortixProjectSessions:()=>Lu,listKortixProjects:()=>Mu,listKortixPty:()=>ln,listMarketplaceCatalogItems:()=>Ca,listMarketplaceSources:()=>Aa,listMarketplaces:()=>Ra,listMilestoneEvents:()=>Nu,listMilestones:()=>Bu,listPendingApprovals:()=>Ps,listPendingProjectInvites:()=>ps,listPipedreamApps:()=>Js,listProjectAccess:()=>as,listProjectAccessRequests:()=>ss,listProjectAgents:()=>ju,listProjectBranches:()=>mi,listProjectCliTokens:()=>fa,listProjectCommits:()=>fi,listProjectFiles:()=>ui,listProjectGroupGrants:()=>ms,listProjectPolicies:()=>Zs,listProjectResourceGrants:()=>bs,listProjectSandboxTemplates:()=>ti,listProjectSandboxes:()=>li,listProjectSecrets:()=>Ss,listProjectSessions:()=>be,listProjectSnapshots:()=>ri,listProjectTriggers:()=>Ki,listProjects:()=>oe,listProjectsForAccount:()=>Gn,listReviewItems:()=>sa,listSandboxMembers:()=>zm,listSandboxProjectMembers:()=>rf,listSandboxShares:()=>la,listSandboxes:()=>Bm,listServiceTemplates:()=>sp,listServices:()=>np,listSessionPublicShares:()=>Di,listSessionsNeedingInput:()=>ws,listTaskEvents:()=>ou,listTasks:()=>su,listTemplates:()=>Ru,listTicketEvents:()=>fu,listTickets:()=>gu,markInstanceError:()=>Cf,markSessionFresh:()=>Ai,mergeChangeRequest:()=>vi,narrowChatEvent:()=>Gc,normalizeAppPathname:()=>Em,normalizeExternalInput:()=>Sd,normalizeToolName:()=>Be,openChangeRequest:()=>Si,openEventStream:()=>St,parseBillingError:()=>me,parseFlagOverride:()=>vm,parseLocalhostUrl:()=>Le,parseOpenCodeErrorPayload:()=>xl,parseSubdomainUrl:()=>Ma,parseWebProxyUrl:()=>Pd,patchKortixProject:()=>Gu,pipedreamConnect:()=>Ws,pipedreamFinalize:()=>Ys,platformConfig:()=>T,pollProjectProviderOAuth:()=>Rs,previewGatewayRoute:()=>Bo,previewMeetVoice:()=>Uo,promoteProjectSecretToShared:()=>Es,provisionProject:()=>Vn,provisionProjectWithToken:()=>Lp,proxyLocalhostUrl:()=>Da,proxyUrlToInternal:()=>bd,purchaseCredits:()=>bo,reactivateSandbox:()=>Vm,reactivateSubscription:()=>mo,readProjectFile:()=>di,rebuildProjectSnapshot:()=>ni,reconcileConnectionProfile:()=>qs,reconcileServices:()=>ap,registerService:()=>cp,rejectProjectAccessRequest:()=>os,relativizePath:()=>Tg,removeAccountAuditWebhook:()=>_a,removeAccountMember:()=>Un,removeKortixPty:()=>dn,removeMarketplaceSource:()=>$a,removeSandboxMember:()=>Xm,renameSandbox:()=>Gm,reopenChangeRequest:()=>Ri,reopenMilestone:()=>zu,replaceColumns:()=>Su,replaceFields:()=>Cu,replaceTemplates:()=>Tu,requestChangesOnChangeRequest:()=>Ti,requestProjectAccess:()=>Fp,requestProjectConnector:()=>va,requestProjectSecret:()=>Sa,resendAccountInvite:()=>$n,resendPendingProjectInvite:()=>gs,resetClient:()=>up,resetGatewayRoutingPolicy:()=>Go,resetPublicClient:()=>gp,resetSandboxUpdateStatus:()=>Pf,resolveApproval:()=>_s,restartProjectSession:()=>Me,restartSandbox:()=>Nm,restoreBackup:()=>df,revealCredential:()=>Zu,revokeAccountToken:()=>ma,revokeConnectionProfile:()=>Ms,revokeGatewayKey:()=>ta,revokePendingProjectInvite:()=>ds,revokeProjectAccess:()=>ls,revokeProjectCliToken:()=>ha,revokeSandboxInvite:()=>of,revokeSandboxProjectAccess:()=>sf,revokeSandboxShare:()=>pa,revokeSessionPublicShare:()=>Ui,rewriteLocalhostUrl:()=>Pe,runGatewayPlayground:()=>ra,saveGitHubInstallation:()=>rs,scheduleDowngrade:()=>fo,searchProjectFiles:()=>pi,serviceAction:()=>op,sessionStartKey:()=>Hp,setActiveInstanceCookie:()=>jm,setAdminBypass:()=>Ap,setAgentScope:()=>Zi,setBootstrapAuthToken:()=>eu,setCachedAuthToken:()=>Zl,setConnectorCredential:()=>Qs,setConnectorCredentialMode:()=>Fs,setConnectorName:()=>Hs,setConnectorPolicies:()=>Ks,setConnectorSensitive:()=>Gs,setEnv:()=>an,setGatewayBudget:()=>Qo,setGatewayRoutingPolicy:()=>Fo,setGitHubAppFromExisting:()=>Ef,setGitHubAppPat:()=>$f,setMeetBotName:()=>Mo,setMeetVoice:()=>Do,setModelDefault:()=>Qi,setPersonalProjectSecret:()=>js,setProjectOnboardingComplete:()=>Xn,setProjectPolicies:()=>ei,setProjectSessionSharing:()=>$i,setProjectTriggersActivation:()=>Vi,setupSSH:()=>mf,shouldHideResponsePart:()=>Ng,shouldShowToolPart:()=>Yc,sortSessions:()=>Fg,speakInMeeting:()=>Oo,splitUserParts:()=>kg,startGitHubAppManifest:()=>Af,startProjectProviderOAuth:()=>Cs,startProjectSession:()=>ke,startTask:()=>uu,stopProjectSession:()=>Ue,stopSandbox:()=>Hm,stripAnsi:()=>$g,stripInstancePrefix:()=>Tm,stripTrailingSlashes:()=>ne,submitReviewItem:()=>oa,supabaseClient:()=>$p,syncConnectors:()=>Ls,systemReload:()=>fp,toInstanceAwarePath:()=>Am,toInternalUrl:()=>hd,toolInfo:()=>Rt,toolViewModel:()=>pl,transcribeAudio:()=>na,triggerSandboxUpdate:()=>kf,triggersRequest:()=>hc,turnHasSteps:()=>Ug,unassignTicket:()=>ku,unwrapError:()=>K,updateAccountAuditWebhook:()=>wa,updateAccountMemberRole:()=>On,updateAccountName:()=>Tn,updateAgentConfig:()=>Vp,updateChannelBinding:()=>Yp,updateConnectionProfileCredential:()=>Ds,updateEmailPolicy:()=>$o,updateExperimentalFeature:()=>zn,updateKortixPty:()=>pn,updateMilestone:()=>Wu,updateProject:()=>ht,updateProjectAccess:()=>cs,updateProjectAgent:()=>Eu,updateProjectDefaultAgent:()=>eo,updateProjectGroupGrant:()=>ys,updateProjectSandboxProvider:()=>Jn,updateProjectSession:()=>Gi,updateProjectTrigger:()=>Hi,updateSandboxMemberRole:()=>Qm,updateSandboxMemberScope:()=>tf,updateSandboxMemberSpendCap:()=>Ym,updateSandboxTemplate:()=>oi,updateTask:()=>lu,updateTemplateWarmPool:()=>Up,updateTicket:()=>hu,updateTicketStatus:()=>bu,uploadSlackChannelFile:()=>Ro,upsertCredential:()=>Yu,upsertProjectGitCredential:()=>Ts,upsertProjectSecret:()=>vs,validateProjectManifest:()=>Kn,validateToken:()=>Fn});var $l={backendUrl:"",getToken:async()=>null},Mt=null,Xe=null;function ql(e){Xe=e}function Dl(){return Xe}function Qe(e,t){t?.global!==!1&&(Mt=e)}function T(){return Xe?.()??Mt??$l}function Ye(){return Mt!==null||Xe?.()!==void 0}var Xa=({onRequest:e,onSseError:t,onSseEvent:r,responseTransformer:n,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:d,sseSleepFn:g,url:h,...m})=>{let x,w=g??(i=>new Promise(P=>setTimeout(P,i)));return{stream:async function*(){let i=c??3e3,P=0,_=m.signal??new AbortController().signal;for(;!_.aborted;){P++;let D=m.headers instanceof Headers?m.headers:new Headers(m.headers);x!==void 0&&D.set("Last-Event-ID",x);try{let A={redirect:"follow",...m,body:m.serializedBody,headers:D,signal:_},v=new Request(h,A);e&&(v=await e(h,A));let j=await(m.fetch??globalThis.fetch)(v);if(!j.ok)throw new Error(`SSE failed: ${j.status} ${j.statusText}`);if(!j.body)throw new Error("No body in SSE response");let f=j.body.pipeThrough(new TextDecoderStream).getReader(),S="",U=()=>{try{f.cancel()}catch{}};_.addEventListener("abort",U);try{for(;;){let{done:N,value:M}=await f.read();if(N)break;S+=M,S=S.replace(/\r\n/g,`
1
+ "use strict";var Kortix=(()=>{var Dt=Object.defineProperty;var Cl=Object.getOwnPropertyDescriptor;var Rl=Object.getOwnPropertyNames;var Tl=Object.prototype.hasOwnProperty;var Il=(e,t)=>{for(var n in t)Dt(e,n,{get:t[n],enumerable:!0})},jl=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Rl(t))!Tl.call(e,s)&&s!==n&&Dt(e,s,{get:()=>t[s],enumerable:!(r=Cl(t,s))||r.enumerable});return e};var Al=e=>jl(Dt({},"__esModule",{value:!0}),e);var Of={};Il(Of,{ACTIVE_INSTANCE_COOKIE:()=>He,ApiError:()=>C,AuthError:()=>de,BillingError:()=>ne,COST_MARKUP:()=>Ga,DEFAULT_TRANSCRIPT_OPTIONS:()=>Ma,DESTRUCTIVE_PHASES:()=>wl,INSTANCE_SCOPED_ROUTES:()=>dl,PublicSessionShareError:()=>Pt,RequestTooLargeError:()=>ge,RuntimeNotReadyError:()=>at,SANDBOX_PORTS:()=>V,SessionNotReadyError:()=>Fe,SessionStartError:()=>kt,__getConfigResolver:()=>$l,__setConfigResolver:()=>ql,acceptAccountInvite:()=>Dr,acceptInvite:()=>af,actReviewItem:()=>oa,activateConnectionProfile:()=>Ms,addMarketplaceSource:()=>Aa,addSandboxMember:()=>zm,allDescendantIds:()=>tl,appendPreviewToken:()=>Uf,approveProjectAccessRequest:()=>is,approveTask:()=>uu,archiveProject:()=>bt,assignTicket:()=>bu,attachGroupToProject:()=>fs,authenticatedFetch:()=>R,backendApi:()=>o,buildInstancePath:()=>ml,buildPreviewAuthEndpoint:()=>Df,buildSandboxTemplate:()=>ai,buildWebProxyUrl:()=>xd,bulkActReviewItems:()=>aa,cancelAccountInvite:()=>Er,cancelSandbox:()=>Hm,cancelSandboxUpdate:()=>Pf,cancelScheduledChange:()=>fo,cancelSubscription:()=>po,childMapByParent:()=>Og,claimComputer:()=>Cf,classifyPart:()=>Oa,classifyTurn:()=>zc,clearModelDefault:()=>Qi,clearSessionFresh:()=>Gp,closeChangeRequest:()=>vi,closeMilestone:()=>Wu,collectTurnParts:()=>$g,commentTicket:()=>ku,commitSessionChanges:()=>Ti,computeStatusFromPart:()=>Fa,configureAutoTopup:()=>xo,configureKortix:()=>Qe,confirmCheckoutSession:()=>lo,connectEmail:()=>jo,connectSlack:()=>Po,createAccount:()=>Cr,createAccountAuditWebhook:()=>ka,createAccountToken:()=>da,createBackup:()=>uf,createCheckoutSession:()=>co,createConnector:()=>Ws,createGatewayKey:()=>Zo,createInstance:()=>_f,createKortix:()=>Bc,createKortixPty:()=>ur,createMilestone:()=>Nu,createPortalSession:()=>uo,createProject:()=>Hr,createProjectAgent:()=>ju,createProjectCliToken:()=>fa,createProjectRepo:()=>Wr,createProjectResourceGrant:()=>xs,createProjectSession:()=>xe,createProjectTrigger:()=>Ki,createSandbox:()=>Om,createSandboxShare:()=>la,createSandboxTemplate:()=>si,createSessionPublicShare:()=>Di,createTask:()=>au,createTicket:()=>fu,declineAccountInvite:()=>Mr,declineInvite:()=>cf,deleteBackup:()=>df,deleteConnector:()=>Vs,deleteCredential:()=>Zu,deleteEnv:()=>cr,deleteGatewayBudget:()=>Qo,deleteGitHubInstallation:()=>rs,deleteInstance:()=>Sf,deleteKortixProject:()=>Lu,deleteMilestone:()=>zu,deletePersonalProjectSecret:()=>As,deleteProjectAgent:()=>Eu,deleteProjectResourceGrant:()=>ks,deleteProjectSecret:()=>Is,deleteProjectSession:()=>Gi,deleteProjectTrigger:()=>Hi,deleteSandboxTemplate:()=>oi,deleteTask:()=>pu,deleteTicket:()=>Pu,describeAccountInvite:()=>$r,detachGroupFromProject:()=>hs,detectLocalhostUrls:()=>Dc,disconnectEmail:()=>Ao,disconnectGitHubApp:()=>qf,disconnectSlack:()=>So,discoverLocalSandbox:()=>Bm,dropClientForUrl:()=>cp,dropPublicClientForUrl:()=>pp,ensurePmSession:()=>Tu,ensureSandbox:()=>Pl,env:()=>fc,exportAccountAudit:()=>ba,extractGatewayErrorDetails:()=>ee,extractInstanceRoute:()=>_e,featureFlags:()=>vm,fetchAccountStateWithToken:()=>Vp,fetchAccountsWithToken:()=>qp,fetchProjectArchive:()=>di,fetchProjectsForAccountWithToken:()=>Up,files:()=>_c,findLastTextPart:()=>Dg,fireProjectTrigger:()=>Vi,fixSandboxWithAgent:()=>ri,formatBillingErrorForUI:()=>mc,formatCost:()=>Xg,formatDuration:()=>Vg,formatOpenCodeRuntimeError:()=>qm,formatTokens:()=>Qg,formatTranscript:()=>Nc,generateSessionId:()=>Kc,getAccount:()=>Rr,getAccountState:()=>to,getAccountStateMinimal:()=>no,getActiveInstanceIdFromCookie:()=>yl,getAgentCardLabel:()=>el,getAgentConfig:()=>Hp,getAgentPersona:()=>qu,getAllVersions:()=>bf,getAnsweredQuestionParts:()=>Ug,getAuthToken:()=>Ae,getAuthTokenWithRetry:()=>rr,getAutoTopupSettings:()=>bo,getBillingCreditBreakdown:()=>io,getBillingTierConfigurations:()=>ao,getBillingTransactionsSummary:()=>so,getBillingUsageHistory:()=>oo,getChangeRequest:()=>ki,getChangeRequestDiff:()=>Pi,getChangeRequestMergePreview:()=>wi,getChildSessionError:()=>Sg,getChildSessionId:()=>_g,getChildSessionToolParts:()=>vg,getClient:()=>X,getClientForUrl:()=>se,getConnectStatus:()=>Js,getConnectorConfig:()=>Ks,getConnectorPolicies:()=>Gs,getCurrentInstanceIdFromPathname:()=>fl,getCurrentInstanceIdFromWindow:()=>Tm,getDefaultAccountState:()=>eo,getDiagnostics:()=>Tg,getDirectory:()=>Zc,getEmailInstallation:()=>To,getEmailMode:()=>Io,getFileWithDir:()=>La,getFilename:()=>Yc,getFullChangelog:()=>_l,getGatewayBreakdown:()=>Wo,getGatewayBudgets:()=>Jo,getGatewayErrors:()=>zo,getGatewayKeys:()=>Yo,getGatewayLog:()=>Ko,getGatewayOverview:()=>No,getGatewayRoutingPolicy:()=>Oo,getGatewaySeries:()=>Ho,getGatewaySessions:()=>Vo,getGitHubAppStatus:()=>If,getGitHubInstallation:()=>Yr,getHiddenToolParts:()=>kg,getInvite:()=>of,getJustavpsServerTypes:()=>wf,getKortixProject:()=>Mu,getKortixProjectBySession:()=>Uu,getKortixPtyWebSocketUrl:()=>gr,getLatestSandboxVersion:()=>hf,getManagedGitStatus:()=>Dp,getMarketplaceCatalogItem:()=>Ta,getMarketplaceCatalogItemFile:()=>Ia,getMeetVoices:()=>qo,getMilestone:()=>Bu,getModelDefaults:()=>Ji,getOpenCodeConfigInvalidError:()=>Na,getPartText:()=>bg,getPermissionForTool:()=>Ig,getProject:()=>gt,getProjectActivity:()=>$u,getProjectCommit:()=>fi,getProjectCommitDiff:()=>yi,getProjectDetail:()=>mt,getProjectFileHistory:()=>hi,getProjectGitToken:()=>Nr,getProjectLlmCatalog:()=>ft,getProjectModelPicker:()=>yt,getProjectSandboxHealth:()=>xt,getProjectSession:()=>Ui,getProrationPreview:()=>yo,getProviders:()=>Mm,getProxyBaseUrl:()=>fd,getPublicClientForUrl:()=>up,getPublicSessionShare:()=>Yp,getPublicSessionShareMessages:()=>Zp,getQuestionForTool:()=>jg,getRetryInfo:()=>Yg,getRetryMessage:()=>Zg,getReviewItem:()=>sa,getSSHConnection:()=>mf,getSandbox:()=>Um,getSandboxById:()=>Lm,getSandboxMemberScopes:()=>Zm,getSandboxPortUrl:()=>Dm,getSandboxProvisionStatus:()=>Rf,getSandboxProvisionStreamUrl:()=>Tf,getSandboxUpdateStatus:()=>yf,getSandboxUrl:()=>Va,getServiceLogs:()=>sp,getSessionAudit:()=>Oi,getSessionCost:()=>Jg,getSessionHealth:()=>qa,getSessionPreviewCandidates:()=>qi,getSessionTranscript:()=>Li,getShellModePart:()=>Fg,getSlackChannelFile:()=>vo,getSlackInstallation:()=>ko,getSlackManifest:()=>_o,getSlackMode:()=>wo,getSupabaseAccessToken:()=>rt,getSupabaseAccessTokenWithRetry:()=>ue,getTask:()=>su,getTaskStatus:()=>ou,getTemplate:()=>ed,getTicket:()=>gu,getToolInfo:()=>Cg,getTranscriptFilename:()=>Hc,getTurnCost:()=>zg,getTurnError:()=>Ng,getTurnErrorDetails:()=>Hg,getTurnStatus:()=>Wg,getVersionDiff:()=>bi,getViewerSandboxScopes:()=>Ym,getWorkingState:()=>Bg,grantSandboxProjectAccess:()=>nf,groupMessagesIntoTurns:()=>qg,hasDiffs:()=>em,hasLocalhostUrls:()=>gd,heartbeatGapEvent:()=>Lc,humanizeToolName:()=>Ct,installTemplate:()=>td,invalidateTokenCache:()=>je,inviteAccountMember:()=>jr,inviteProjectMember:()=>us,inviteRepoCollaborator:()=>Br,isAdminBypassEnabled:()=>Ap,isAgentPart:()=>mg,isAppRouteUrl:()=>$c,isAttachment:()=>Xc,isBillingError:()=>gc,isCompactionPart:()=>fg,isConfigured:()=>Ye,isDestructivePhase:()=>ff,isExternalUrl:()=>wd,isFilePart:()=>Jc,isInstanceDetailPath:()=>Cm,isInstanceScopedAppPath:()=>gl,isInviteSent:()=>Fp,isLastUserMessage:()=>Gg,isManagedGithubProject:()=>$p,isOpenCodeConfigInvalidError:()=>Em,isPatchPart:()=>hg,isPreviewUrl:()=>bd,isProxiableLocalhostUrl:()=>Mc,isReasoningPart:()=>Tt,isRuntimeReady:()=>nd,isSessionFresh:()=>Ai,isSessionStartError:()=>Bp,isShellMode:()=>nl,isSnapshotPart:()=>yg,isSubdomainPreviewUrl:()=>Mf,isTextPart:()=>te,isToolPart:()=>z,isToolPartHidden:()=>Pg,isWebProxyUrl:()=>Pd,kortixPty:()=>hc,leaveAccount:()=>Lr,linkRepository:()=>Qr,listAccountAudit:()=>ha,listAccountAuditWebhooks:()=>xa,listAccountInvites:()=>Ar,listAccountMembers:()=>Ir,listAccountTokens:()=>pa,listAccounts:()=>vr,listBackups:()=>lf,listBillingTransactions:()=>ro,listChangeRequests:()=>xi,listChannelBindings:()=>Xp,listColumns:()=>wu,listConnectionProfiles:()=>Es,listConnectors:()=>Us,listCredentialEvents:()=>Xu,listCredentials:()=>Ju,listEnv:()=>or,listFeaturedMarketplaces:()=>Ra,listFields:()=>Su,listGatewayLogs:()=>Bo,listGitHubInstallations:()=>Zr,listGitHubRepositories:()=>es,listGitHubRepositoryBranches:()=>ts,listKortixProjectSessions:()=>Ou,listKortixProjects:()=>Du,listKortixPty:()=>lr,listMarketplaceCatalogItems:()=>va,listMarketplaceSources:()=>ja,listMarketplaces:()=>Ca,listMilestoneEvents:()=>Ku,listMilestones:()=>Gu,listPendingApprovals:()=>Ps,listPendingProjectInvites:()=>ps,listPipedreamApps:()=>zs,listProjectAccess:()=>as,listProjectAccessRequests:()=>ss,listProjectAgents:()=>Iu,listProjectBranches:()=>gi,listProjectCliTokens:()=>ma,listProjectCommits:()=>mi,listProjectFiles:()=>li,listProjectGroupGrants:()=>ms,listProjectPolicies:()=>Ys,listProjectResourceGrants:()=>bs,listProjectSandboxTemplates:()=>ei,listProjectSandboxes:()=>ci,listProjectSecrets:()=>Ss,listProjectSessions:()=>be,listProjectSnapshots:()=>ti,listProjectTriggers:()=>Bi,listProjects:()=>oe,listProjectsForAccount:()=>Gr,listReviewItems:()=>ra,listSandboxMembers:()=>Vm,listSandboxProjectMembers:()=>tf,listSandboxShares:()=>ca,listSandboxes:()=>Gm,listServiceTemplates:()=>rp,listServices:()=>np,listSessionPublicShares:()=>$i,listSessionsNeedingInput:()=>ws,listTaskEvents:()=>iu,listTasks:()=>ru,listTemplates:()=>Cu,listTicketEvents:()=>mu,listTickets:()=>du,markInstanceError:()=>vf,markSessionFresh:()=>ji,mergeChangeRequest:()=>Si,narrowChatEvent:()=>Fc,normalizeAppPathname:()=>Am,normalizeExternalInput:()=>_d,normalizeToolName:()=>Be,openChangeRequest:()=>_i,openEventStream:()=>St,parseBillingError:()=>me,parseFlagOverride:()=>Sm,parseLocalhostUrl:()=>Le,parseOpenCodeErrorPayload:()=>bl,parseSubdomainUrl:()=>Da,parseWebProxyUrl:()=>kd,patchKortixProject:()=>Fu,pipedreamConnect:()=>Hs,pipedreamFinalize:()=>Qs,platformConfig:()=>T,pollProjectProviderOAuth:()=>Rs,previewGatewayRoute:()=>Go,previewMeetVoice:()=>Mo,provisionProject:()=>Vr,provisionProjectWithToken:()=>Op,proxyLocalhostUrl:()=>$a,proxyUrlToInternal:()=>hd,purchaseCredits:()=>ho,reactivateSandbox:()=>Wm,reactivateSubscription:()=>go,readProjectFile:()=>pi,rebuildProjectSnapshot:()=>ni,reconcileConnectionProfile:()=>qs,reconcileServices:()=>op,registerService:()=>ap,rejectProjectAccessRequest:()=>os,relativizePath:()=>Rg,removeAccountAuditWebhook:()=>wa,removeAccountMember:()=>Ur,removeKortixPty:()=>dr,removeMarketplaceSource:()=>Ea,removeSandboxMember:()=>Jm,renameSandbox:()=>Fm,reopenChangeRequest:()=>Ci,reopenMilestone:()=>Vu,replaceColumns:()=>_u,replaceFields:()=>vu,replaceTemplates:()=>Ru,requestChangesOnChangeRequest:()=>Ri,requestProjectAccess:()=>Lp,requestProjectConnector:()=>Sa,requestProjectSecret:()=>_a,resendAccountInvite:()=>qr,resendPendingProjectInvite:()=>gs,resetClient:()=>lp,resetGatewayRoutingPolicy:()=>Fo,resetPublicClient:()=>dp,resetSandboxUpdateStatus:()=>kf,resolveApproval:()=>_s,restartProjectSession:()=>Me,restartSandbox:()=>Km,restoreBackup:()=>pf,revealCredential:()=>Yu,revokeAccountToken:()=>ga,revokeConnectionProfile:()=>Ds,revokeGatewayKey:()=>ea,revokePendingProjectInvite:()=>ds,revokeProjectAccess:()=>ls,revokeProjectCliToken:()=>ya,revokeSandboxInvite:()=>sf,revokeSandboxProjectAccess:()=>rf,revokeSandboxShare:()=>ua,revokeSessionPublicShare:()=>Mi,rewriteLocalhostUrl:()=>Pe,runGatewayPlayground:()=>ta,saveGitHubInstallation:()=>ns,scheduleDowngrade:()=>mo,searchProjectFiles:()=>ui,serviceAction:()=>ip,sessionStartKey:()=>Np,setActiveInstanceCookie:()=>Im,setAdminBypass:()=>jp,setAgentScope:()=>Yi,setBootstrapAuthToken:()=>Zl,setCachedAuthToken:()=>Yl,setConnectorCredential:()=>Xs,setConnectorCredentialMode:()=>Ls,setConnectorName:()=>Ns,setConnectorPolicies:()=>Bs,setConnectorSensitive:()=>Fs,setEnv:()=>ar,setGatewayBudget:()=>Xo,setGatewayRoutingPolicy:()=>Lo,setGitHubAppFromExisting:()=>Af,setGitHubAppPat:()=>Ef,setMeetBotName:()=>Do,setMeetVoice:()=>$o,setModelDefault:()=>Xi,setPersonalProjectSecret:()=>js,setProjectOnboardingComplete:()=>Xr,setProjectPolicies:()=>Zs,setProjectSessionSharing:()=>Ei,setProjectTriggersActivation:()=>Wi,setupSSH:()=>gf,shouldHideResponsePart:()=>Kg,shouldShowToolPart:()=>Qc,sortSessions:()=>Lg,speakInMeeting:()=>Uo,splitUserParts:()=>xg,startGitHubAppManifest:()=>jf,startProjectProviderOAuth:()=>Cs,startProjectSession:()=>ke,startTask:()=>lu,stopProjectSession:()=>Ue,stopSandbox:()=>Nm,stripAnsi:()=>Eg,stripInstancePrefix:()=>Rm,stripTrailingSlashes:()=>re,submitReviewItem:()=>ia,supabaseClient:()=>Ep,syncConnectors:()=>Os,systemReload:()=>mp,toInstanceAwarePath:()=>jm,toInternalUrl:()=>yd,toolInfo:()=>Rt,toolViewModel:()=>ul,transcribeAudio:()=>na,triggerSandboxUpdate:()=>xf,triggersRequest:()=>yc,turnHasSteps:()=>Mg,unassignTicket:()=>xu,unwrapError:()=>K,updateAccountAuditWebhook:()=>Pa,updateAccountMemberRole:()=>Or,updateAccountName:()=>Tr,updateAgentConfig:()=>Wp,updateChannelBinding:()=>Qp,updateConnectionProfileCredential:()=>$s,updateEmailPolicy:()=>Eo,updateExperimentalFeature:()=>zr,updateKortixPty:()=>pr,updateMilestone:()=>Hu,updateProject:()=>ht,updateProjectAccess:()=>cs,updateProjectAgent:()=>Au,updateProjectDefaultAgent:()=>Zi,updateProjectGroupGrant:()=>ys,updateProjectSandboxProvider:()=>Jr,updateProjectSession:()=>Fi,updateProjectTrigger:()=>Ni,updateSandboxMemberRole:()=>Xm,updateSandboxMemberScope:()=>ef,updateSandboxMemberSpendCap:()=>Qm,updateSandboxTemplate:()=>ii,updateTask:()=>cu,updateTemplateWarmPool:()=>Mp,updateTicket:()=>yu,updateTicketStatus:()=>hu,uploadSlackChannelFile:()=>Co,upsertCredential:()=>Qu,upsertProjectGitCredential:()=>Ts,upsertProjectSecret:()=>vs,validateProjectManifest:()=>Kr,validateToken:()=>Fr});var El={backendUrl:"",getToken:async()=>null},Mt=null,Xe=null;function ql(e){Xe=e}function $l(){return Xe}function Qe(e,t){t?.global!==!1&&(Mt=e)}function T(){return Xe?.()??Mt??El}function Ye(){return Mt!==null||Xe?.()!==void 0}var Ja=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:d,sseSleepFn:g,url:h,...m})=>{let x,w=g??(i=>new Promise(P=>setTimeout(P,i)));return{stream:async function*(){let i=c??3e3,P=0,_=m.signal??new AbortController().signal;for(;!_.aborted;){P++;let D=m.headers instanceof Headers?m.headers:new Headers(m.headers);x!==void 0&&D.set("Last-Event-ID",x);try{let A={redirect:"follow",...m,body:m.serializedBody,headers:D,signal:_},v=new Request(h,A);e&&(v=await e(h,A));let j=await(m.fetch??globalThis.fetch)(v);if(!j.ok)throw new Error(`SSE failed: ${j.status} ${j.statusText}`);if(!j.body)throw new Error("No body in SSE response");let f=j.body.pipeThrough(new TextDecoderStream).getReader(),S="",U=()=>{try{f.cancel()}catch{}};_.addEventListener("abort",U);try{for(;;){let{done:N,value:M}=await f.read();if(N)break;S+=M,S=S.replace(/\r\n/g,`
2
2
  `).replace(/\r/g,`
3
3
  `);let O=S.split(`
4
4
 
5
5
  `);S=O.pop()??"";for(let ce of O){let Ve=ce.split(`
6
6
  `),Se=[],ve;for(let E of Ve)if(E.startsWith("data:"))Se.push(E.replace(/^data:\s*/,""));else if(E.startsWith("event:"))ve=E.replace(/^event:\s*/,"");else if(E.startsWith("id:"))x=E.replace(/^id:\s*/,"");else if(E.startsWith("retry:")){let B=Number.parseInt(E.replace(/^retry:\s*/,""),10);Number.isNaN(B)||(i=B)}let H,F=!1;if(Se.length){let E=Se.join(`
7
- `);try{H=JSON.parse(E),F=!0}catch{H=E}}F&&(s&&await s(H),n&&(H=await n(H))),r?.({data:H,event:ve,id:x,retry:i}),Se.length&&(yield H)}}}finally{_.removeEventListener("abort",U),f.releaseLock()}break}catch(A){if(t?.(A),u!==void 0&&P>=u)break;let v=Math.min(i*2**(P-1),d??3e4);await w(v)}}}()}};var Ml=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ul=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Ol=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ze=({allowReserved:e,explode:t,name:r,style:n,value:s})=>{if(!t){let d=(e?s:s.map(g=>encodeURIComponent(g))).join(Ul(n));switch(n){case"label":return`.${d}`;case"matrix":return`;${r}=${d}`;case"simple":return d;default:return`${r}=${d}`}}let c=Ml(n),u=s.map(d=>n==="label"||n==="simple"?e?d:encodeURIComponent(d):le({allowReserved:e,name:r,value:d})).join(c);return n==="label"||n==="matrix"?c+u:u},le=({allowReserved:e,name:t,value:r})=>{if(r==null)return"";if(typeof r=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?r:encodeURIComponent(r)}`},et=({allowReserved:e,explode:t,name:r,style:n,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${r}=${s.toISOString()}`;if(n!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,x])=>{g=[...g,m,e?x:encodeURIComponent(x)]});let h=g.join(",");switch(n){case"form":return`${r}=${h}`;case"label":return`.${h}`;case"matrix":return`;${r}=${h}`;default:return h}}let u=Ol(n),d=Object.entries(s).map(([g,h])=>le({allowReserved:e,name:n==="deepObject"?`${r}[${g}]`:g,value:h})).join(u);return n==="label"||n==="matrix"?u+d:d};var Ll=/\{[^{}]+\}/g,Fl=({path:e,url:t})=>{let r=t,n=t.match(Ll);if(n)for(let s of n){let c=!1,u=s.substring(1,s.length-1),d="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),d="label"):u.startsWith(";")&&(u=u.substring(1),d="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){r=r.replace(s,Ze({explode:c,name:u,style:d,value:g}));continue}if(typeof g=="object"){r=r.replace(s,et({explode:c,name:u,style:d,value:g,valueOnly:!0}));continue}if(d==="matrix"){r=r.replace(s,`;${le({name:u,value:g})}`);continue}let h=encodeURIComponent(d==="label"?`.${g}`:g);r=r.replace(s,h)}return r},Qa=({baseUrl:e,path:t,query:r,querySerializer:n,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=Fl({path:t,url:u}));let d=r?n(r):"";return d.startsWith("?")&&(d=d.substring(1)),d&&(u+=`?${d}`),u};function Ut(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(t)return e.body}var Ya=async(e,t)=>{let r=typeof t=="function"?await t(e):t;if(r)return e.scheme==="bearer"?`Bearer ${r}`:e.scheme==="basic"?`Basic ${btoa(r)}`:r};var Ot={bodySerializer:e=>JSON.stringify(e,(t,r)=>typeof r=="bigint"?r.toString():r)};var Za=({parameters:e={},...t}={})=>n=>{let s=[];if(n&&typeof n=="object")for(let c in n){let u=n[c];if(u==null)continue;let d=e[c]||t;if(Array.isArray(u)){let g=Ze({allowReserved:d.allowReserved,explode:!0,name:c,style:"form",value:u,...d.array});g&&s.push(g)}else if(typeof u=="object"){let g=et({allowReserved:d.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...d.object});g&&s.push(g)}else{let g=le({allowReserved:d.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},ec=e=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(r=>t.startsWith(r)))return"blob";if(t.startsWith("text/"))return"text"}},Gl=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,tc=async({security:e,...t})=>{for(let r of e){if(Gl(t,r.name))continue;let n=await Ya(r,t.auth);if(!n)continue;let s=r.name??"Authorization";switch(r.in){case"query":t.query||(t.query={}),t.query[s]=n;break;case"cookie":t.headers.append("Cookie",`${s}=${n}`);break;default:t.headers.set(s,n);break}}},Lt=e=>Qa({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Za(e.querySerializer),url:e.url}),Ft=(e,t)=>{let r={...e,...t};return r.baseUrl?.endsWith("/")&&(r.baseUrl=r.baseUrl.substring(0,r.baseUrl.length-1)),r.headers=tt(e.headers,t.headers),r},Bl=e=>{let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t},tt=(...e)=>{let t=new Headers;for(let r of e){if(!r)continue;let n=r instanceof Headers?Bl(r):Object.entries(r);for(let[s,c]of n)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},Re=class{fns=[];clear(){this.fns=[]}eject(t){let r=this.getInterceptorIndex(t);this.fns[r]&&(this.fns[r]=null)}exists(t){let r=this.getInterceptorIndex(t);return!!this.fns[r]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,r){let n=this.getInterceptorIndex(t);return this.fns[n]?(this.fns[n]=r,t):!1}use(t){return this.fns.push(t),this.fns.length-1}},rc=()=>({error:new Re,request:new Re,response:new Re}),Kl=Za({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Nl={"Content-Type":"application/json"},Te=(e={})=>({...Ot,headers:Nl,parseAs:"auto",querySerializer:Kl,...e});var Ie=(e={})=>{let t=Ft(Te(),e),r=()=>({...t}),n=h=>(t=Ft(t,h),r()),s=rc(),c=async h=>{let m={...t,...h,fetch:h.fetch??t.fetch??globalThis.fetch,headers:tt(t.headers,h.headers),serializedBody:void 0};m.security&&await tc({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let x=Lt(m);return{opts:m,url:x}},u=async h=>{let{opts:m,url:x}=await c(h),w={redirect:"follow",...m,body:Ut(m)},k=new Request(x,w);for(let I of s.request.fns)I&&(k=await I(k,m));let l=m.fetch,i;try{i=await l(k)}catch(I){let j=I;for(let f of s.error.fns)f&&(j=await f(I,void 0,k,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,request:k,response:void 0}}for(let I of s.response.fns)I&&(i=await I(i,k,m));let P={request:k,response:i};if(i.ok){let I=(m.parseAs==="auto"?ec(i.headers.get("Content-Type")):m.parseAs)??"json";if(i.status===204||i.headers.get("Content-Length")==="0"){let f;switch(I){case"arrayBuffer":case"blob":case"text":f=await i[I]();break;case"formData":f=new FormData;break;case"stream":f=i.body;break;default:f={};break}return m.responseStyle==="data"?f:{data:f,...P}}let j;switch(I){case"arrayBuffer":case"blob":case"formData":case"text":j=await i[I]();break;case"json":{let f=await i.text();j=f?JSON.parse(f):{};break}case"stream":return m.responseStyle==="data"?i.body:{data:i.body,...P}}return I==="json"&&(m.responseValidator&&await m.responseValidator(j),m.responseTransformer&&(j=await m.responseTransformer(j))),m.responseStyle==="data"?j:{data:j,...P}}let _=await i.text(),D;try{D=JSON.parse(_)}catch{}let A=D??_,v=A;for(let I of s.error.fns)I&&(v=await I(A,i,k,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...P}},d=h=>m=>u({...m,method:h}),g=h=>async m=>{let{opts:x,url:w}=await c(m);return Xa({...x,body:x.body,headers:x.headers,method:h,onRequest:async(k,l)=>{let i=new Request(k,l);for(let P of s.request.fns)P&&(i=await P(i,x));return i},serializedBody:Ut(x),url:w})};return{buildUrl:Lt,connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),getConfig:r,head:d("HEAD"),interceptors:s,options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),request:u,setConfig:n,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:d("TRACE")}};var Hl={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Wl=Object.entries(Hl),nc=(e,t)=>{t||(t=new Map);for(let r of e)"in"in r?r.key&&t.set(r.key,{in:r.in,map:r.map}):"key"in r?t.set(r.key,{map:r.map}):r.args&&nc(r.args,t);return t},Vl=e=>{for(let[t,r]of Object.entries(e))r&&typeof r=="object"&&!Object.keys(r).length&&delete e[t]},p=(e,t)=>{let r={body:{},headers:{},path:{},query:{}},n=nc(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let d=n.get(s.key),g=d.map||s.key;d.in&&(r[d.in][g]=u)}else r.body=u;else for(let[d,g]of Object.entries(u??{})){let h=n.get(d);if(h)if(h.in){let m=h.map||d;r[h.in][m]=g}else r[h.map]=g;else{let m=Wl.find(([x])=>d.startsWith(x));if(m){let[x,w]=m;r[w][d.slice(x.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[x,w]of Object.entries(s.allowExtra))if(w){r[x][d]=g;break}}}}return Vl(r),r};var sc=Ie(Te({baseUrl:"http://localhost:4096"}));var y=class{client;constructor(t){this.client=t?.client??sc}},Gt=class{defaultKey="default";instances=new Map;get(t){let r=this.instances.get(t??this.defaultKey);if(!r)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return r}set(t,r){this.instances.set(r??this.defaultKey,t)}},Bt=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"}]}]);return(r?.client??this.client).delete({url:"/auth/{providerID}",...r,...n})}set(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(r?.client??this.client).put({url:"/auth/{providerID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Kt=class extends y{log(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(r?.client??this.client).post({url:"/log",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}agents(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/agent",...r,...n})}skills(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/skill",...r,...n})}},Nt=class extends y{moveSession(t,r){let n=p([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(r?.client??this.client).post({url:"/experimental/control-plane/move-session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Ht=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/capabilities",...r,...n})}},Wt=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/console",...r,...n})}listOrgs(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/console/orgs",...r,...n})}switchOrg(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(r?.client??this.client).post({url:"/experimental/console/switch",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Vt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(r?.client??this.client).get({url:"/experimental/session",...r,...n})}background(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...r,...n})}},zt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/resource",...r,...n})}},Jt=class extends y{generateName(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(r?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Xt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/workspace/adapter",...r,...n})}},Qt=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/workspace",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(r?.client??this.client).post({url:"/experimental/workspace",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}syncList(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/experimental/workspace/sync-list",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/workspace/status",...r,...n})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/experimental/workspace/{id}",...r,...n})}warp(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(r?.client??this.client).post({url:"/experimental/workspace/warp",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_adapter;get adapter(){return this._adapter??=new Xt({client:this.client})}},Yt=class extends y{_controlPlane;get controlPlane(){return this._controlPlane??=new Nt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Ht({client:this.client})}_console;get console(){return this._console??=new Wt({client:this.client})}_session;get session(){return this._session??=new Vt({client:this.client})}_resource;get resource(){return this._resource??=new zt({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Jt({client:this.client})}_workspace;get workspace(){return this._workspace??=new Qt({client:this.client})}},Zt=class extends y{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,r){let n=p([t],[{args:[{key:"config",map:"body"}]}]);return(r?.client??this.client).patch({url:"/global/config",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},er=class extends y{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,r){let n=p([t],[{args:[{in:"body",key:"target"}]}]);return(r?.client??this.client).post({url:"/global/upgrade",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_config;get config(){return this._config??=new Zt({client:this.client})}},tr=class extends y{subscribe(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).sse.get({url:"/event",...r,...n})}},rr=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/config",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(r?.client??this.client).patch({url:"/config",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}providers(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/config/providers",...r,...n})}},nr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(r?.client??this.client).get({url:"/experimental/tool",...r,...n})}ids(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/tool/ids",...r,...n})}},sr=class extends y{remove(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(r?.client??this.client).delete({url:"/experimental/worktree",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/experimental/worktree",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(r?.client??this.client).post({url:"/experimental/worktree",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}reset(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(r?.client??this.client).post({url:"/experimental/worktree/reset",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},ir=class extends y{text(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(r?.client??this.client).get({url:"/find",...r,...n})}files(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(r?.client??this.client).get({url:"/find/file",...r,...n})}symbols(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(r?.client??this.client).get({url:"/find/symbol",...r,...n})}},or=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(r?.client??this.client).get({url:"/file",...r,...n})}read(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(r?.client??this.client).get({url:"/file/content",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/file/status",...r,...n})}},ar=class extends y{dispose(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/instance/dispose",...r,...n})}},cr=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/path",...r,...n})}},lr=class extends y{raw(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/vcs/diff/raw",...r,...n})}},ur=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/vcs",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/vcs/status",...r,...n})}diff(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(r?.client??this.client).get({url:"/vcs/diff",...r,...n})}apply(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(r?.client??this.client).post({url:"/vcs/apply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_diff;get diff2(){return this._diff??=new lr({client:this.client})}},pr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/command",...r,...n})}},dr=class extends y{status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/lsp",...r,...n})}},gr=class extends y{status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/formatter",...r,...n})}},mr=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/mcp/{name}/auth",...r,...n})}start(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/auth",...r,...n})}callback(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/auth/callback",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}authenticate(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...r,...n})}},fr=class extends y{status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/mcp",...r,...n})}add(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(r?.client??this.client).post({url:"/mcp",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connect(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/connect",...r,...n})}disconnect(t,r){let n=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/mcp/{name}/disconnect",...r,...n})}_auth;get auth(){return this._auth??=new mr({client:this.client})}},yr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/project",...r,...n})}current(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/project/current",...r,...n})}initGit(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/project/git/init",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(r?.client??this.client).patch({url:"/project/{projectID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}directories(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/project/{projectID}/directories",...r,...n})}},hr=class extends y{shells(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/pty/shells",...r,...n})}list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/pty",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(r?.client??this.client).post({url:"/pty",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/pty/{ptyID}",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/pty/{ptyID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(r?.client??this.client).put({url:"/pty/{ptyID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connectToken(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...r,...n})}connect(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(r?.client??this.client).get({url:"/pty/{ptyID}/connect",...r,...n})}},br=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/question",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(r?.client??this.client).post({url:"/question/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}reject(t,r){let n=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/question/{requestID}/reject",...r,...n})}},xr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/permission",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(r?.client??this.client).post({url:"/permission/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}respond(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},kr=class extends y{authorize(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(r?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}callback(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(r?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Pr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/provider",...r,...n})}auth(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/provider/auth",...r,...n})}_oauth;get oauth(){return this._oauth??=new kr({client:this.client})}},wr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(r?.client??this.client).get({url:"/session",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(r?.client??this.client).post({url:"/session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}status(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/status",...r,...n})}delete(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(r?.client??this.client).patch({url:"/session/{sessionID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}children(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/children",...r,...n})}todo(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/todo",...r,...n})}diff(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/diff",...r,...n})}messages(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/message",...r,...n})}prompt(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/message",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}deleteMessage(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...r,...n})}message(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...r,...n})}fork(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/fork",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}abort(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/abort",...r,...n})}init(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/init",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}unshare(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}/share",...r,...n})}share(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/share",...r,...n})}summarize(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/summarize",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}promptAsync(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}command(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}shell(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/shell",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}revert(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/revert",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}unrevert(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/session/{sessionID}/unrevert",...r,...n})}},_r=class extends y{delete(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(r?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Sr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(r?.client??this.client).post({url:"/sync/history",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},vr=class extends y{start(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/sync/start",...r,...n})}replay(t,r){let n=p([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(r?.client??this.client).post({url:"/sync/replay",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}steal(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/sync/steal",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_history;get history(){return this._history??=new Sr({client:this.client})}},Cr=class extends y{next(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).get({url:"/tui/control/next",...r,...n})}response(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(r?.client??this.client).post({url:"/tui/control/response",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Rr=class extends y{appendPrompt(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(r?.client??this.client).post({url:"/tui/append-prompt",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}openHelp(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-help",...r,...n})}openSessions(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-sessions",...r,...n})}openThemes(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-themes",...r,...n})}openModels(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/open-models",...r,...n})}submitPrompt(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/submit-prompt",...r,...n})}clearPrompt(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(r?.client??this.client).post({url:"/tui/clear-prompt",...r,...n})}executeCommand(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(r?.client??this.client).post({url:"/tui/execute-command",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}showToast(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(r?.client??this.client).post({url:"/tui/show-toast",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}publish(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(r?.client??this.client).post({url:"/tui/publish",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}selectSession(t,r){let n=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/tui/select-session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}_control;get control(){return this._control??=new Cr({client:this.client})}},Tr=class extends y{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Ir=class extends y{get(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/location",...r,...n})}},jr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/agent",...r,...n})}},Ar=class extends y{stage(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}clear(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...r,...n})}commit(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...r,...n})}},Er=class extends y{list(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/permission",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},$r=class extends y{list(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/question",...r,...n})}reply(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}reject(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...r,...n})}},qr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(r?.client??this.client).get({url:"/api/session",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(r?.client??this.client).post({url:"/api/session",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}get(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}",...r,...n})}switchAgent(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/agent",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}switchModel(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/model",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}prompt(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}compact(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/compact",...r,...n})}wait(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).post({url:"/api/session/{sessionID}/wait",...r,...n})}context(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/context",...r,...n})}messages(t,r){let n=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(r?.client??this.client).get({url:"/api/session/{sessionID}/message",...r,...n})}_revert;get revert(){return this._revert??=new Ar({client:this.client})}_permission;get permission(){return this._permission??=new Er({client:this.client})}_question;get question(){return this._question??=new $r({client:this.client})}},Dr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/model",...r,...n})}},Mr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/provider",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/provider/{providerID}",...r,...n})}},Ur=class extends y{key(t,r){let n=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(r?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}oauth(t,r){let n=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(r?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Or=class extends y{cancel(t,r){let n=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...r,...n})}status(t,r){let n=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...r,...n})}complete(t,r){let n=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(r?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Lr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/integration",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/integration/{integrationID}",...r,...n})}_connect;get connect(){return this._connect??=new Ur({client:this.client})}_attempt;get attempt(){return this._attempt??=new Or({client:this.client})}},Fr=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).delete({url:"/api/credential/{credentialID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(r?.client??this.client).patch({url:"/api/credential/{credentialID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}},Gr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/permission/request",...r,...n})}},Br=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"projectID"}]}]);return(r?.client??this.client).get({url:"/api/permission/saved",...r,...n})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"id"}]}]);return(r?.client??this.client).delete({url:"/api/permission/saved/{id}",...r,...n})}},Kr=class extends y{_request;get request(){return this._request??=new Gr({client:this.client})}_saved;get saved(){return this._saved??=new Br({client:this.client})}},Nr=class extends y{read(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/fs/read/*",...r,...n})}list(t,r){let n=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(r?.client??this.client).get({url:"/api/fs/list",...r,...n})}find(t,r){let n=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(r?.client??this.client).get({url:"/api/fs/find",...r,...n})}},Hr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/command",...r,...n})}},Wr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/skill",...r,...n})}},Vr=class extends y{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},zr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/pty",...r,...n})}create(t,r){let n=p([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(r?.client??this.client).post({url:"/api/pty",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}remove(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).delete({url:"/api/pty/{ptyID}",...r,...n})}get(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/pty/{ptyID}",...r,...n})}update(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(r?.client??this.client).put({url:"/api/pty/{ptyID}",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}connectToken(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...r,...n})}connect(t,r){let n=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(r?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...r,...n})}},Jr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/question/request",...r,...n})}},Xr=class extends y{_request;get request(){return this._request??=new Jr({client:this.client})}},Qr=class extends y{list(t,r){let n=p([t],[{args:[{in:"query",key:"location"}]}]);return(r?.client??this.client).get({url:"/api/reference",...r,...n})}},Yr=class extends y{remove(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(r?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}create(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(r?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...r,...n,headers:{"Content-Type":"application/json",...r?.headers,...n.headers}})}refresh(t,r){let n=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(r?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...r,...n})}},Zr=class extends y{_health;get health(){return this._health??=new Tr({client:this.client})}_location;get location(){return this._location??=new Ir({client:this.client})}_agent;get agent(){return this._agent??=new jr({client:this.client})}_session;get session(){return this._session??=new qr({client:this.client})}_model;get model(){return this._model??=new Dr({client:this.client})}_provider;get provider(){return this._provider??=new Mr({client:this.client})}_integration;get integration(){return this._integration??=new Lr({client:this.client})}_credential;get credential(){return this._credential??=new Fr({client:this.client})}_permission;get permission(){return this._permission??=new Kr({client:this.client})}_fs;get fs(){return this._fs??=new Nr({client:this.client})}_command;get command(){return this._command??=new Hr({client:this.client})}_skill;get skill(){return this._skill??=new Wr({client:this.client})}_event;get event(){return this._event??=new Vr({client:this.client})}_pty;get pty(){return this._pty??=new zr({client:this.client})}_question;get question(){return this._question??=new Xr({client:this.client})}_reference;get reference(){return this._reference??=new Qr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Yr({client:this.client})}},rt=class e extends y{static __registry=new Gt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Bt({client:this.client})}_app;get app(){return this._app??=new Kt({client:this.client})}_experimental;get experimental(){return this._experimental??=new Yt({client:this.client})}_global;get global(){return this._global??=new er({client:this.client})}_event;get event(){return this._event??=new tr({client:this.client})}_config;get config(){return this._config??=new rr({client:this.client})}_tool;get tool(){return this._tool??=new nr({client:this.client})}_worktree;get worktree(){return this._worktree??=new sr({client:this.client})}_find;get find(){return this._find??=new ir({client:this.client})}_file;get file(){return this._file??=new or({client:this.client})}_instance;get instance(){return this._instance??=new ar({client:this.client})}_path;get path(){return this._path??=new cr({client:this.client})}_vcs;get vcs(){return this._vcs??=new ur({client:this.client})}_command;get command(){return this._command??=new pr({client:this.client})}_lsp;get lsp(){return this._lsp??=new dr({client:this.client})}_formatter;get formatter(){return this._formatter??=new gr({client:this.client})}_mcp;get mcp(){return this._mcp??=new fr({client:this.client})}_project;get project(){return this._project??=new yr({client:this.client})}_pty;get pty(){return this._pty??=new hr({client:this.client})}_question;get question(){return this._question??=new br({client:this.client})}_permission;get permission(){return this._permission??=new xr({client:this.client})}_provider;get provider(){return this._provider??=new Pr({client:this.client})}_session;get session(){return this._session??=new wr({client:this.client})}_part;get part(){return this._part??=new _r({client:this.client})}_sync;get sync(){return this._sync??=new vr({client:this.client})}_tui;get tui(){return this._tui??=new Rr({client:this.client})}_v2;get v2(){return this._v2??=new Zr({client:this.client})}};function oc(e,t,r,n){if(!n?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let c=e,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||ic(r,t);return new Error(u,{cause:{body:e,status:t?.status}})}if(typeof e=="string"&&e.length>0)return new Error(e,{cause:{body:e,status:t?.status}});let s=t?"(empty response body)":"network error (no response)";return new Error(`opencode server ${ic(r,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function ic(e,t){let r=e?.method??"?",n=e?.url??"?",s=t?.status,c=t?.statusText;return`${r} ${n}${s?" \u2192 "+s:""}${c?" "+c:""}`}function zl(e,t,r){if(e)return t&&(e===t||r&&e===r(t))?t:e}function Jl(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let r=new URL(e.url),n=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let d=zl(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(d){for(let g of r.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])r.searchParams.has(g)||r.searchParams.set(g,d);n=!0}}if(!n)return e;let s=new Request(r,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function en(e){e?.fetch||(e={...e,fetch:n=>(n.timeout=!1,fetch(n))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)}),e?.experimental_workspaceID&&(e.headers={...e.headers,"x-opencode-workspace":e.experimental_workspaceID});let t=Ie(e);return t.interceptors.request.use(r=>Jl(r,{directory:e?.directory,workspace:e?.experimental_workspaceID})),t.interceptors.response.use(r=>{if(r.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return r}),t.interceptors.error.use(oc),new rt({client:t})}function Xl(e){return new Promise(t=>setTimeout(t,e))}async function ac(e,t,r){let n=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let d=0;d<n;d++)if(d>0&&(c&&r?.(),s>0&&await Xl(s)),u=await e(),u)return u;return u}var Ql=3e4;function Yl(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function cc(e,t,r=Ql){let n=e instanceof Request?e.signal:t?.signal;if(Yl(e))return n??void 0;let s=AbortSignal.timeout(r);return n?typeof AbortSignal.any=="function"?AbortSignal.any([n,s]):n:s}function tn(e,t,r){let n=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,c)=>{n.set(c,s)}),r&&!n.has("Authorization")&&n.set("Authorization",`Bearer ${r}`),n}function lc(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function nt(){return T().getToken()}async function ue(e){return ac(()=>T().getToken(),e,je)}function je(){}function Zl(e){}function eu(e){}async function Ae(){return nt()}async function rn(e){return ue(e)}function uc(e,t,r,n){if(e instanceof Request){let s=new Request(e,{headers:r,...n?{signal:n}:{}});return fetch(s)}return fetch(e,{...t,headers:r,...n?{signal:n}:{}})}async function R(e,t,r){let{retryOnAuthError:n=!0}=r??{},s=await rn();if(!s)return lc();let c=tn(e,t,s),u=cc(e,t),d=await uc(e,t,c,u);if(d.status===401&&n&&s){je();let g=await rn({attempts:2,baseDelayMs:200});if(g&&g!==s){let h=tn(e,t,g);return uc(e,t,h,u)}}return d}var pe={url:null,sandboxId:null,dbSandboxId:null,version:0},tu=new Set;function pc(e,t=null,r=null){if(!(pe.url===e&&pe.sandboxId===t&&pe.dbSandboxId===r)){pe={url:e,sandboxId:t,dbSandboxId:r,version:pe.version+1};for(let n of tu)n()}}function dc(){return pe.url}function ru(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Ee(){return ru(T().backendUrl||"http://localhost:8008/v1")}function gc(){let e=T().sandboxId||"";return`${Ee()}/p/${e}/8000`}function nu(e){return`${Ee()}/p/${e}/8000`}function st(e){return nu(e)}function $(){let e=dc();return e||(T().billingEnabled??!1?"":gc())}var C=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,r={}){super(t),this.name="ApiError";let{name:n,stack:s,...c}=r;Object.assign(this,c),n&&(this.name=n),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},de=class extends C{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},re=class e extends Error{status;detail;constructor(t,r,n){super(n||r.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=r,Object.setPrototypeOf(this,e.prototype)}},ge=class e extends Error{status;detail;constructor(t=431,r,n){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(n||r?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:r?.message||s,suggestion:r?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function me(e){let t=e.response?.status||e.status;if(t!==402)return e;let r=e.response?.data||e.data||e.detail||{},n=r?.detail||r;return new re(t,{message:n?.message||e.message||"Billing error",...n})}function mc(e){return e instanceof re}function fc(e){if(!(e instanceof re))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function nn(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function sn(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function on(e){let t=sn(e),r=await R(`${t}/env`);if(!r.ok)throw new Error(await nn(r,"Failed to load secrets"));return(await r.json()).secrets??{}}async function an(e,t,r){let n=sn(e),s=await R(`${n}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:r})});if(!s.ok)throw new Error(await nn(s,"Failed to save secret"))}async function cn(e,t){let r=sn(e),n=await R(`${r}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!n.ok)throw new Error(await nn(n,"Failed to delete secret"))}var yc={list:on,set:an,delete:cn};async function hc(e,t,r){let n=e;for(;n.endsWith("/");)n=n.slice(0,-1);let s=await R(`${n}/kortix/triggers${t}`,{...r,headers:{"Content-Type":"application/json",...r?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function ne(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function it(e,t){let r=await e.json().catch(()=>({}));return r?.error||r?.message||e.statusText||t}function $e(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ne(e)}async function ln(e){let t=$e(e),r=await R(`${t}/kortix/pty`);if(!r.ok)throw new Error(await it(r,"Failed to list terminals"));return r.json()}async function un(e,t){let r=$e(e),n=await R(`${r}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!n.ok)throw new Error(await it(n,"Failed to create terminal"));return n.json()}async function pn(e,t,r){let n=$e(e),s=await R(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!s.ok)throw new Error(await it(s,"Failed to update terminal"));return s.json()}async function dn(e,t){let r=$e(e),n=await R(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!n.ok)throw new Error(await it(n,"Failed to remove terminal"))}async function gn(e,t){let r=$e(t),s=`${(()=>{try{let d=new URL(r);return d.protocol==="https:"?d.protocol="wss:":d.protocol==="http:"&&(d.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&d.protocol==="ws:"&&(d.protocol="wss:"),ne(d.toString())}catch{return r.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await Ae();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var bc={list:ln,create:un,update:pn,remove:dn,webSocketUrl:gn};async function b(e,t,r,n){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await R(`${s}${t}`,{...r,headers:{"Content-Type":"application/json",...r?.headers}},n),u=await c.text(),d={};try{d=u?JSON.parse(u):{}}catch{d={}}if(!c.ok)throw new Error(d?.error||d?.message||d?.details||u.slice(0,200)||`Request failed with ${c.status}`);return d}async function su(e,t={}){let r=new URLSearchParams;t.projectId&&r.set("project_id",t.projectId),t.status&&r.set("status",t.status);let n=r.toString()?`?${r}`:"";return b(e,`/kortix/tasks${n}`)}async function iu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function ou(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function au(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function cu(e,t){return b(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function lu(e,t,r){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)})}async function uu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function pu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function du(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function gu(e,t){let r=t?`?project_id=${encodeURIComponent(t)}`:"";return b(e,`/kortix/tickets${r}`)}async function mu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function fu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function yu(e,t){return b(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function hu(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)})}async function bu(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(r)})}async function xu(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(r)})}async function ku(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(r)})}async function Pu(e,t,r){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(r)})}async function wu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function _u(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Su(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:r})})}async function vu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Cu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:r})})}async function Ru(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Tu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:r})})}async function Iu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function ju(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Au(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(r)})}async function Eu(e,t,r,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(r)}`,{method:"PATCH",body:JSON.stringify(n)})}async function $u(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(r)}`,{method:"DELETE"})}async function qu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(r)}/persona`)}async function Du(e,t,r=200){return b(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${r}`)}async function Mu(e){return b(e,"/kortix/projects")}async function Uu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Ou(e,t){return b(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Lu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Fu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Gu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Bu(e,t,r="all"){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${r}`)}async function Ku(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}`)}async function Nu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}/events`)}async function Hu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(r)})}async function Wu(e,t,r,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Vu(e,t,r,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}/close`,{method:"POST",body:JSON.stringify(n)})}async function zu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}/reopen`,{method:"POST"})}async function Ju(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(r)}`,{method:"DELETE"})}async function Xu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function Qu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(r)}/events`)}async function Yu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(r)})}async function Zu(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(r)}`)}async function ep(e,t,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(r)}`,{method:"DELETE"})}var tp=1e4,rp={retryOnAuthError:!1};function fe(e,t,r){return b(e,t,{signal:AbortSignal.timeout(tp),...r},rp)}async function np(e,t=!1){return(await fe(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function sp(e){return(await fe(e,"/kortix/services/templates")).templates??[]}async function ip(e,t){return(await fe(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function op(e,t,r){let n=r==="delete",s=n?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${r}`;return fe(e,s,{method:n?"DELETE":"POST"})}async function ap(e,t){return fe(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function cp(e,t){return fe(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var ot=new Map,at=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function X(){let e=$();if(!e)throw new at;return se(e)}function se(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=ot.get(e);if(t)return t;if(!Ye())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let r=en({baseUrl:e,fetch:R});return ot.set(e,r),r}function lp(e){ot.delete(e)}function up(){ot.clear()}var ct=new Map;function pp(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=ct.get(e);if(t)return t;let r=en({baseUrl:e,fetch});return ct.set(e,r),r}function dp(e){ct.delete(e)}function gp(){ct.clear()}async function mp(e){let t=await e.text().catch(()=>"");try{let r=JSON.parse(t);return r?.error||r?.message||t||e.statusText||`HTTP ${e.status}`}catch{return t||e.statusText||`HTTP ${e.status}`}}async function fp(e){let t=$();if(!t)throw new C("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let r=await R(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!r.ok)throw new C(`System reload failed (${r.status}): ${await mp(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});return r.json()}function kc(e){if(e.error){let t=e.error,r=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new C(r,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function ye(e){let t=await e.text().catch(()=>""),r=null;try{r=JSON.parse(t)}catch{}return r?.error||t||e.statusText||`HTTP ${e.status}`}async function lt(e,t=$()){let r=await R(`${t}${e}`);if(!r.ok)throw new C(await ye(r),{status:r.status,response:r});return r.json()}var Pc=["/workspace","/tmp","/home","/opt"],yp=Pc.filter(e=>e!=="/workspace");function hp(e){return Pc.some(t=>e===t||e.startsWith(`${t}/`))}function bp(e){return hp(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function De(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(yp.some(r=>t===r||t.startsWith(`${r}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var xp=De;async function mn(e,t=$()){let r=De(e)||".";return(await lt(`/file?path=${encodeURIComponent(r)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function ut(e,t=$()){let r=De(e),n=await R(`${t}/file/content?path=${encodeURIComponent(r)}`);if(!n.ok)throw new C(await ye(n),{status:n.status,response:n});return n.json()}async function kp(e,t,r=$()){let n=De(e),s=await R(`${r}/file/raw?path=${encodeURIComponent(n)}`);if(!s.ok)throw new C(await ye(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new C("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function pt(e,t=$()){try{return await kp(e,void 0,t)}catch{}let r=await ut(e,t);if(r.encoding==="base64"&&r.content){let n=Uint8Array.from(atob(r.content),s=>s.charCodeAt(0));return new Blob([n],{type:r.mimeType||"application/octet-stream"})}return new Blob([r.content??""],{type:r.mimeType||"text/plain;charset=utf-8"})}function fn(e=$()){return lt("/file/status",e)}async function yn(e,t,r=$()){let n=new URLSearchParams({query:e});return t?.type&&n.set("type",t.type),t?.limit&&n.set("limit",String(t.limit)),lt(`/find/file?${n.toString()}`,r)}async function hn(e,t=$()){return(await lt(`/find?pattern=${encodeURIComponent(e)}`,t)).map(n=>({path:typeof n.path=="string"?n.path:n.path?.text??"",lines:typeof n.lines=="string"?n.lines:n.lines?.text??"",line_number:n.line_number,absolute_offset:n.absolute_offset,submatches:(n.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var qe=[400,1200],Pp=e=>e===408||e===429||e===502||e===503||e===504,xc=e=>new Promise(t=>setTimeout(t,e));async function wp(e){let t=await e.text().catch(()=>""),r=null;try{r=t?JSON.parse(t):null}catch{}let n=r?.error||r?.message||r?.data?.message;return typeof n=="string"&&n.trim()?n.trim():(e.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(t)?e.status===502||/bad gateway/i.test(t)?"Bad gateway while reaching the sandbox upload service. Please retry.":e.statusText||`HTTP ${e.status}`:t.replace(/\s+/g," ").trim().slice(0,500)||e.statusText||`HTTP ${e.status}`}async function wc(e,t){let r;for(let s=0;s<=qe.length;s++){let c;try{c=await t(e())}catch(d){if(r=d,s===qe.length)break;await xc(qe[s]);continue}if(c.ok)return c.json();let u=await wp(c);if(r=new C(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!Pp(c.status)||s===qe.length)throw r;await xc(qe[s])}if(r instanceof C)throw r;let n=r instanceof Error?r.message:String(r||"request failed");throw new C(`Upload failed: ${n}`)}function dt(e,t,r,n=$()){return wc(()=>{let s=new FormData,c=(t??"").trim();return c&&s.append("path",c.startsWith("/")?c:`/${c}`),r?s.append("file",e,r):s.append("file",e),s},s=>R(`${n}/file/upload`,{method:"POST",body:s}))}function _p(e,t,r=$()){return wc(()=>{let n=new FormData;return n.append(e,t,e.split("/").pop()||"file"),n},async n=>{let s={},c=await Ae();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${r}/file/upload`,{method:"POST",body:n,headers:s})})}function bn(e,t=$()){let r=e.trim(),s=(r.startsWith("/")?r:`/${r}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return dt(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function xn(e,t,r=$()){return _p(t,await pt(e,r),r)}async function kn(e,t=$()){let r=await R(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!r.ok)throw new C(`Delete failed (${r.status}): ${await ye(r)}`,{status:r.status,response:r});return r.json()}async function Pn(e,t=$()){let r=await R(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!r.ok)throw new C(`Mkdir failed (${r.status}): ${await ye(r)}`,{status:r.status,response:r});return r.json()}async function wn(e,t,r=$()){let n=await R(`${r}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!n.ok)throw new C(`Rename failed (${n.status}): ${await ye(n)}`,{status:n.status,response:n});return n.json()}async function Sp(){return kc(await X().project.current())}async function _c(){return kc(await X().global.health())}async function vp(){try{return(await _c()).healthy===!0}catch{return!1}}var Sc={list:mn,read:ut,readBlob:pt,status:fn,findFiles:yn,findText:hn,upload:dt,create:bn,copy:xn,remove:kn,mkdir:Pn,rename:wn,currentProject:Sp,health:_c,isReachable:vp,toDaemonPath:De,toSandboxAbsolutePath:bp,toWorkspaceRelative:xp};var Q=()=>T().backendUrl||"",Rp=e=>new Promise(t=>setTimeout(t,e)),Tp=new Set([502,503,504]),vc=e=>Tp.has(e),Ip=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},jp=2,_n=!1;function Ap(e){_n=e}function Ep(){return _n}async function ie(e,t={}){let{showErrors:r=!0,errorContext:n,timeout:s=3e4,...c}=t,u=new AbortController,d=null,g=!1,h=!1;try{d=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,h=!0,u.abort())},s);let m=await ue(),x=c.body instanceof FormData,w={};if(x||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),_n&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new de,success:!1};let k=await fetch(e,{...c,headers:w,signal:u.signal,credentials:c.credentials??"omit"});if(d&&(clearTimeout(d),d=null),!k.ok&&Ip(c.method)&&vc(k.status))for(let P=0;P<jp;P++){try{await k.arrayBuffer()}catch{}await Rp(250*2**P);let _=new AbortController,D=setTimeout(()=>{_.abort()},s);try{k=await fetch(e,{...c,headers:w,signal:_.signal,credentials:c.credentials??"omit"})}catch{break}finally{D&&(clearTimeout(D),D=null)}if(k.ok||!vc(k.status))break}if(!k.ok){let P=`HTTP ${k.status}: ${k.statusText}`,_=null;try{_=await k.json(),typeof _.message=="string"?P=_.message:_.error&&typeof _.error=="string"?P=_.error:typeof _.detail=="string"?P=_.detail:typeof _.detail?.message=="string"&&(P=_.detail.message)}catch{}let D=new C(P,{status:k.status,response:k,details:_||void 0,data:_,detail:_?.detail,code:_?.code||_?.error_code||_?.detail?.error_code||k.status.toString()});if(k.status===402&&(D=me(D)),k.status===403&&_?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}return k.status===431&&(D=new ge(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."})),r&&T().onError?.(D,n),{error:D,success:!1}}let l,i=k.headers.get("content-type");return i?.includes("application/json")?l=await k.json():i?.includes("text/")?l=await k.text():l=await k.blob(),{data:l,success:!0}}catch(m){d&&(clearTimeout(d),d=null);let x=m?.name==="AbortError"||m?.name==="AbortSignal"||m instanceof Error&&m.message.includes("aborted");x&&(g=!0);let w;if(x){if(!h)return{error:new C("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let k=e.replace(Q(),"")||e;w=new C(`Request timed out after ${Math.round(s/1e3)}s: ${k}`,{code:"TIMEOUT",url:e,endpoint:k,timeout:s}),r&&T().onError?.(w,n)}else m instanceof Error?(w=new C(m.message,{name:m.name||"ApiError",stack:m.stack}),r&&T().onError?.(w,n)):(w=new C(String(m)),r&&T().onError?.(w,n));return{error:w,success:!1}}}var $p={async execute(e,t){try{let{data:r,error:n}=await e();if(n){let s=new C(n.message||"Database error",{code:n.code,details:n});return T().onError?.(s,t),{error:s,success:!1}}return{data:r,success:!0}}catch(r){let n=r instanceof Error?new C(r.message,{name:r.name||"ApiError",stack:r.stack}):new C(String(r));return T().onError?.(n,t),{error:n,success:!1}}}},o={get:(e,t)=>ie(`${Q()}${e}`,{...t,method:"GET"}),post:(e,t,r)=>ie(`${Q()}${e}`,{...r,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,r)=>ie(`${Q()}${e}`,{...r,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,r)=>ie(`${Q()}${e}`,{...r,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ie(`${Q()}${e}`,{...t,method:"DELETE"}),upload:(e,t,r)=>{let{headers:n,...s}=r||{},c={...n};return delete c["Content-Type"],ie(`${Q()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,r)=>{let{headers:n,...s}=r||{},c={...n};return delete c["Content-Type"],ie(`${Q()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Sn(e){return e.replace(/\/v1\/?$/,"")}async function he(e,t){if(!e.backendUrl||!e.accessToken)return null;let r=Sn(e.backendUrl);try{let n=await fetch(`${r}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return n.ok?await n.json():null}catch{return null}}async function vn(){return a(await o.get("/accounts"))}async function Cn(e){return a(await o.post("/accounts",e))}async function Rn(e){return a(await o.get(`/accounts/${e}`))}async function Tn(e,t){return a(await o.patch(`/accounts/${e}`,{name:t}))}async function In(e){return a(await o.get(`/accounts/${e}/members`))}async function jn(e,t){return a(await o.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function An(e){return a(await o.get(`/accounts/${e}/invites`))}async function En(e,t){return a(await o.delete(`/accounts/${e}/invites/${t}`))}async function $n(e,t){return a(await o.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function qn(e){return a(await o.get(`/account-invites/${e}`,{showErrors:!1}))}async function Dn(e){return a(await o.post(`/account-invites/${e}/accept`,{}))}async function Mn(e){return a(await o.post(`/account-invites/${e}/decline`,{}))}async function Un(e,t){return a(await o.delete(`/accounts/${e}/members/${t}`))}async function On(e,t,r){return a(await o.patch(`/accounts/${e}/members/${t}`,{role:r}))}async function Ln(e){return a(await o.post(`/accounts/${e}/leave`,{}))}async function qp(e){return he(e,"/v1/accounts")}async function Fn(){let e=await o.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function oe(){return a(await o.get("/projects"))}async function Gn(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/projects${t}`))}async function gt(e,t){return a(await o.get(`/projects/${e}`,t))}async function Bn(e,t,r="write"){return a(await o.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:r}))}async function Kn(e,t){return a(await o.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function Nn(e){return a(await o.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Dp(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function mt(e,t){return a(await o.get(`/projects/${e}/detail`,{showErrors:!1,...t}))}async function ft(e,t){return a(await o.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function yt(e,t){return a(await o.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Hn(e){return a(await o.post("/projects",e))}async function Wn(e){return a(await o.post("/projects/create-repo",e))}async function Vn(e){return a(await o.post("/projects/provision",{seed_starter:!0,...e}))}async function Mp(){try{return a(await o.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function ht(e,t){return a(await o.patch(`/projects/${e}`,t))}async function zn(e,t,r){return a(await o.patch(`/projects/${e}/experimental`,{feature:t,enabled:r}))}async function Jn(e,t){return a(await o.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Up(e,t){return a(await o.patch(`/projects/${e}/warm-pool`,t))}async function Xn(e,t){return a(await o.patch(`/projects/${e}/onboarding`,{completed:t}))}async function bt(e){return a(await o.delete(`/projects/${e}`))}async function Op(e,t){return he(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Lp(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let r=Sn(e.backendUrl);try{let n=await fetch(`${r}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...t}),signal:AbortSignal.timeout(e.timeoutMs??9e4)});if(n.ok){let s=await n.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return n.status===403?{ok:!1,limitReached:(await n.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function Qn(e){return a(await o.post("/projects/link-repository",e,{showErrors:!1}))}async function Yn(e){return a(await o.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Zn(e){return a(await o.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function es(e,t){let r=new URLSearchParams({account_id:e});return t&&r.set("installation_id",t),a(await o.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function ts(e,t,r){let n=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:r});return a(await o.get(`/projects/github/repository-branches?${n.toString()}`,{showErrors:!1}))}async function rs(e){return a(await o.post("/projects/github/installation",e,{showErrors:!1}))}async function ns(e,t){let r=new URLSearchParams({account_id:e});return t&&r.set("installation_id",t),a(await o.delete(`/projects/github/installation?${r.toString()}`))}async function Fp(e,t){return a(await o.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function ss(e,t){return a(await o.get(`/projects/${e}/access-requests`,t))}async function is(e,t,r="member"){return a(await o.post(`/projects/${e}/access-requests/${t}/approve`,{role:r}))}async function os(e,t){return a(await o.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function as(e){return a(await o.get(`/projects/${e}/access`))}async function cs(e,t,r){return a(await o.put(`/projects/${e}/access/${t}`,{role:r}))}async function ls(e,t){return a(await o.delete(`/projects/${e}/access/${t}`))}function Gp(e){return"status"in e&&e.status==="invited"}async function us(e,t,r,n){return a(await o.post(`/projects/${e}/access/invite`,{email:t,role:r,...n!==void 0?{expires_at:n}:{}}))}async function ps(e){return a(await o.get(`/projects/${e}/access/pending-invites`))}async function ds(e,t){return a(await o.delete(`/projects/${e}/access/pending-invites/${t}`))}async function gs(e,t){return a(await o.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function ms(e){return a(await o.get(`/projects/${e}/group-grants`))}async function fs(e,t,r,n){return a(await o.post(`/projects/${e}/group-grants`,n===void 0?{group_id:t,role:r}:{group_id:t,role:r,expires_at:n}))}async function ys(e,t,r,n){return a(await o.patch(`/projects/${e}/group-grants/${t}`,n===void 0?{role:r}:{role:r,expires_at:n}))}async function hs(e,t){return a(await o.delete(`/projects/${e}/group-grants/${t}`))}async function bs(e){return a(await o.get(`/projects/${e}/resource-grants`))}async function xs(e,t){return a(await o.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function ks(e,t){return a(await o.delete(`/projects/${e}/resource-grants/${t}`))}async function Ps(e,t){return a(await o.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function ws(e,t){return a(await o.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function _s(e,t,r,n="once"){return a(await o.post(`/projects/${e}/approvals/${t}`,{decision:r,scope:n}))}async function Ss(e){return a(await o.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function vs(e,t){return a(await o.post(`/projects/${e}/secrets`,t))}async function Cs(e,t,r){return a(await o.post(`/projects/${e}/oauth/${t}/start`,{sharing:r?.sharing}))}async function Rs(e,t,r){return a(await o.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:r}))}async function Ts(e,t){return a(await o.put(`/projects/${e}/git-credential`,t))}async function Is(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function js(e,t,r){return a(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,r))}async function As(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function Es(e,t){return a(await o.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/promote-to-shared`,{}))}async function $s(e){return a(await o.get(`/projects/${e}/connector-profiles`))}async function qs(e,t){return a(await o.post(`/projects/${e}/connector-profiles`,t))}async function Ds(e,t,r){return a(await o.put(`/projects/${e}/connector-profiles/${t}/credential`,r))}async function Ms(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function Us(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function Os(e){return a(await o.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function Ls(e){return a(await o.post(`/executor/projects/${e}/connectors/sync`,{}))}async function Fs(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:r}))}async function Gs(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:r}))}async function Bs(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Ks(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:r}))}async function Ns(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function Hs(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:r}))}async function Ws(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Vs(e,t){return a(await o.post(`/executor/projects/${e}/connectors`,t))}async function zs(e,t){return a(await o.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Js(e,t,r){let n=new URLSearchParams;t&&n.set("q",t),r&&n.set("cursor",r);let s=n.toString();return a(await o.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Xs(){return a(await o.get("/executor/connect-status"))}async function Qs(e,t,r){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,{value:r}))}async function Ys(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function Zs(e){return a(await o.get(`/executor/projects/${e}/policies`))}async function ei(e,t,r){return a(await o.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:r}))}async function ti(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function ri(e){return a(await o.get(`/projects/${e}/snapshots`))}async function xt(e){return a(await o.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function ni(e,t){return a(await o.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function si(e){return a(await o.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function ii(e,t){return a(await o.post(`/projects/${e}/sandbox-templates`,t))}async function oi(e,t,r){return a(await o.patch(`/projects/${e}/sandbox-templates/${t}`,r))}async function ai(e,t){return a(await o.delete(`/projects/${e}/sandbox-templates/${t}`))}async function ci(e,t){return a(await o.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function li(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function ui(e,t){let r=new URLSearchParams;t?.ref&&r.set("ref",t.ref),t?.path&&r.set("path",t.path);let n=r.toString()?`?${r.toString()}`:"";return a(await o.get(`/projects/${e}/files${n}`,{showErrors:!1}))}async function pi(e,t,r){let n=new URLSearchParams({q:t});return r?.content&&n.set("content","1"),r?.ref&&n.set("ref",r.ref),r?.limit&&n.set("limit",String(r.limit)),a(await o.get(`/projects/${e}/files/search?${n.toString()}`))}async function di(e,t,r){let n=new URLSearchParams({path:t});return r&&n.set("ref",r),a(await o.get(`/projects/${e}/files/content?${n.toString()}`))}async function gi(e,t,r){let n=new URLSearchParams;t&&n.set("ref",t),r&&n.set("path",r);let s=n.toString()?`?${n.toString()}`:"",c=await ue(),u=`${T().backendUrl||""}/projects/${e}/files/archive${s}`,d=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!d.ok){let g=await d.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${d.status})`)}return await d.blob()}async function mi(e){return a(await o.get(`/projects/${e}/branches`))}async function fi(e,t){let r=new URLSearchParams;t?.ref&&r.set("ref",t.ref),t?.path&&r.set("path",t.path),t?.limit!=null&&r.set("limit",String(t.limit)),t?.skip!=null&&r.set("skip",String(t.skip));let n=r.toString()?`?${r.toString()}`:"";return a(await o.get(`/projects/${e}/commits${n}`))}async function yi(e,t){return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function hi(e,t,r){let n=new URLSearchParams;r?.path&&n.set("path",r.path);let s=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function bi(e,t,r){let n=new URLSearchParams({path:t});return r?.ref&&n.set("ref",r.ref),r?.limit!=null&&n.set("limit",String(r.limit)),r?.skip!=null&&n.set("skip",String(r.skip)),a(await o.get(`/projects/${e}/files/history?${n.toString()}`))}async function xi(e,t){let r=new URLSearchParams({from:t.from,into:t.into});return a(await o.get(`/projects/${e}/version-diff?${r.toString()}`))}async function ki(e,t){let r=t?`?status=${t}`:"";return a(await o.get(`/projects/${e}/change-requests${r}`,{showErrors:!1,timeout:15e3}))}async function Pi(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}`))}async function wi(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/diff`))}async function _i(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Si(e,t){return a(await o.post(`/projects/${e}/change-requests`,t))}async function vi(e,t,r){return a(await o.post(`/projects/${e}/change-requests/${t}/merge`,r??{},{showErrors:!1}))}async function Ci(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function Ri(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function Ti(e,t,r){return a(await o.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:r}))}async function Ii(e,t,r){return a(await o.post(`/projects/${e}/sessions/${t}/commit-push`,r??{}))}var ji=new Set;function Ai(e){e&&ji.add(e)}function Ei(e){return!!e&&ji.has(e)}function Bp(e){e&&ji.delete(e)}async function be(e){return a(await o.get(`/projects/${e}/sessions`))}async function $i(e,t,r){return a(await o.put(`/projects/${e}/sessions/${t}/sharing`,r))}async function qi(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/previews`))}async function Di(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Mi(e,t,r){return a(await o.post(`/projects/${e}/sessions/${t}/public-shares`,r))}async function Ui(e,t,r){return a(await o.delete(`/projects/${e}/sessions/${t}/public-shares/${r}`))}async function xe(e,t){let r=a(await o.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||Ai(r?.session_id),r}async function Oi(e,t,r){return a(await o.get(`/projects/${e}/sessions/${t}`,{showErrors:r?.showErrors}))}async function Li(e,t,r,n){let s=r?`?limit=${r}`:"";return a(await o.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:n?.showErrors}))}async function Fi(e,t,r){let n=new URLSearchParams;r?.limit!=null&&n.set("limit",String(r.limit)),r?.chars!=null&&n.set("chars",String(r.chars));let s=n.toString();return a(await o.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Gi(e,t,r){return a(await o.patch(`/projects/${e}/sessions/${t}`,r))}async function Bi(e,t){return a(await o.delete(`/projects/${e}/sessions/${t}`))}async function Me(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function Ue(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function Ki(e){return a(await o.get(`/projects/${e}/triggers`))}async function Ni(e,t){return a(await o.post(`/projects/${e}/triggers`,t))}async function Hi(e,t,r){return a(await o.patch(`/projects/${e}/triggers/${t}`,r))}async function Wi(e,t){return a(await o.delete(`/projects/${e}/triggers/${t}`))}async function Vi(e,t){return a(await o.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function zi(e,t){return a(await o.post(`/projects/${e}/triggers/${t}/fire`,{}))}var Y=new Map;function Ji(e,t){return`${e}::${t}`}function Cc(e,t){Y.delete(e),Y.set(e,t)}function Rc(e,t){let r=Ji(e,t),n=Y.get(r);return n&&Cc(r,n),n}function Tc(e,t,r){let n=Ji(e,t);if(!Y.has(n)&&Y.size>=512){let s=Y.keys().next().value;s!==void 0&&Y.delete(s)}Cc(n,r)}function Ic(e,t){Y.delete(Ji(e,t))}var kt=class extends Error{status;code;terminal;constructor(t,r){super(t),this.name="SessionStartError",this.status=r.status,this.code=r.code,this.terminal=r.terminal}};function Kp(e){return e instanceof Error&&e.name==="SessionStartError"}function Np(e){let t=e,r=t?.status,n=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return r&&r>=400&&r<500&&r!==408&&r!==429?new kt(s,{status:r,code:n,terminal:!0}):null}async function ke(e,t,r){let n=r&&r>0?`?wait_ms=${Math.floor(r)}`:"",s=await o.post(`/projects/${e}/sessions/${t}/start${n}`,{},{showErrors:!1});if(!s.success||!s.data){let d=Np(s.error);if(d&&!(d.status===404&&Ei(t)))throw d;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&Tc(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:st(u),sandboxId:u}),c}function Hp(e,t){return["session-start",e,t]}async function Xi(e){return a(await o.get(`/projects/${e}/model-defaults`))}async function Qi(e,t){return a(await o.put(`/projects/${e}/model-defaults`,t))}async function Yi(e,t){let r=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await o.delete(`/projects/${e}/model-defaults?${r}`))}async function Zi(e,t,r){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}async function Wp(e,t){return a(await o.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function Vp(e,t,r){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r))}async function eo(e,t){return a(await o.put(`/projects/${e}/default-agent`,{agent:t}))}function to(){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 ro(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let r=t.toString(),n=r?`?${r}`:"",s=await o.get(`/billing/account-state${n}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?to():s.data}async function no(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let r=t.toString(),n=r?`?${r}`:"",s=await o.get(`/billing/account-state/minimal${n}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?to():s.data}async function so(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let r=t.toString();return a(await o.get(`/billing/transactions${r?`?${r}`:""}`))}async function io(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let r=t.toString();return a(await o.get(`/billing/transactions/summary${r?`?${r}`:""}`))}async function oo(){return a(await o.get("/billing/credit-breakdown"))}async function ao(e){let t=e!=null?`?days=${e}`:"";return a(await o.get(`/billing/usage-history${t}`))}async function co(){return a(await o.get("/billing/tier-configurations"))}async function zp(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return he(e,`/v1/billing/account-state${t}`)}async function lo(e){return a(await o.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function uo(e,t){return a(await o.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function po(e,t){return a(await o.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function go(e,t){return a(await o.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function mo(e){return a(await o.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function fo(e,t,r){return a(await o.post("/billing/schedule-downgrade",{account_id:r,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function yo(e){return a(await o.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function ho(e,t){let r=new URLSearchParams({new_price_id:e});return t&&r.set("account_id",t),a(await o.get(`/billing/proration-preview?${r.toString()}`),"Failed to load proration preview")}async function bo(e){return a(await o.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function xo(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function ko(e){return a(await o.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function Po(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function wo(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Jp={oauth_available:!1,install_url:null};async function _o(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Jp:t.data}async function So(e){return a(await o.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function vo(e){let t=await o.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function Co(e,t){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Ro(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function To(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Xp={provider:"agentmail",managed_available:!1};async function Io(e,t){let r=t?`?connector_slug=${encodeURIComponent(t)}`:"",n=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${r}`,{showErrors:!1});return n.success&&n.data?To(n.data):null}async function jo(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Xp:t.data}async function Ao(e,t){let r=a(await o.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return To(r)}async function Eo(e,t){let r=t?`?connector_slug=${encodeURIComponent(t)}`:"",n=await o.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${r}`,{showErrors:!1});if(!n.success)throw new Error(n.error?.message??"Failed to disconnect email")}async function $o(e,t,r){let n=a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:r},{showErrors:!1}),"Failed to update email policy");return To(n)}async function qo(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/meet/voices`,{showErrors:!1});return t.success?t.data??null:null}async function Do(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/voice`,{voice:t},{showErrors:!1}),"Failed to save voice")}async function Mo(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function Uo(e,t){let r=await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/voices/${encodeURIComponent(t)}/preview`,{},{showErrors:!1});return!r.success||!r.data?.b64?null:r.data.b64}async function Qp(e){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Yp(e,t,r){return a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,r,{showErrors:!1}),"Failed to update channel binding")}async function Oo(e,t,r,n){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/speak`,{bot_id:t,text:r,voice:n},{showErrors:!1}),"Failed to speak in meeting")}async function Lo(e){return a(await o.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Fo(e,t){return a(await o.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Go(e){return a(await o.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Bo(e,t){return a(await o.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Ko(e,t){let r=new URLSearchParams;t?.limit&&r.set("limit",String(t.limit)),t?.offset&&r.set("offset",String(t.offset)),t?.ok!==void 0&&r.set("ok",String(t.ok));let n=r.toString();return a(await o.get(`/projects/${e}/gateway/logs${n?`?${n}`:""}`),"Gateway request failed")}async function No(e,t){return a(await o.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Ho(e,t){return a(await o.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Wo(e,t){return a(await o.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Vo(e,t){return a(await o.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function zo(e,t){return a(await o.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Jo(e,t){return a(await o.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Xo(e){return a(await o.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Qo(e,t){return a(await o.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Yo(e,t){return a(await o.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Zo(e){return a(await o.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function ea(e,t){return a(await o.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function ta(e,t){return a(await o.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function ra(e,t,r){return a(await o.post(`/projects/${e}/gateway/playground`,{prompt:t,models:r}),"Gateway request failed")}async function na(e){let t=new FormData;t.append("audio_file",e);let r=await o.upload("/transcription",t,{showErrors:!0});if(r.error)throw new Error(`Error transcribing audio: ${r.error.message} (${r.error.status})`);return r.data}async function sa(e,t){let r=new URLSearchParams;t?.segment&&r.set("segment",t.segment),t?.kind&&r.set("kind",t.kind);let n=r.toString();return a(await o.get(`/projects/${e}/review/items${n?`?${n}`:""}`,{showErrors:!1}))}async function ia(e,t){return a(await o.get(`/projects/${e}/review/items/${t}`))}async function oa(e,t){return a(await o.post(`/projects/${e}/review/items`,t))}async function aa(e,t,r){return a(await o.post(`/projects/${e}/review/items/${t}/act`,r))}async function ca(e,t){return a(await o.post(`/projects/${e}/review/bulk`,t))}async function la(e){return a(await o.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function ua(e){return a(await o.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function pa(e,t){let r=await o.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!r.success)throw new Error(r.error?.message??"Failed to revoke public link")}var Pt=class extends Error{constructor(r,n){super(r);this.status=n;this.name="PublicSessionShareError"}status};function jc(e,t=""){return`${Ee()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Ac(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),r=await t.text().catch(()=>""),n=null;try{n=r?JSON.parse(r):null}catch{}if(!t.ok){let s=(n&&typeof n=="object"&&"error"in n&&typeof n.error=="string"?n.error:null)||t.statusText||`HTTP ${t.status}`;throw new Pt(s,t.status)}return n}async function Zp(e){return Ac(jc(e))}async function ed(e){return Ac(jc(e,"/messages"))}async function da(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/accounts/tokens${t}`))}async function ga(e){let{accountId:t,expiresAt:r,projectId:n,name:s}=e;return a(await o.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...r?{expires_at:r}:{},...n?{project_id:n}:{}}))}async function ma(e,t){let r=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await o.delete(`/accounts/tokens/${e}${r}`))}async function fa(e){return a(await o.get(`/projects/${e}/cli-token`))}async function ya(e,t){return a(await o.post(`/projects/${e}/cli-token`,t??{}))}async function ha(e,t){return a(await o.delete(`/projects/${e}/cli-token/${t}`))}async function ba(e,t){let r=new URLSearchParams;t?.action&&r.set("action",t.action),t?.since&&r.set("since",t.since),t?.cursor&&r.set("cursor",t.cursor),t?.limit!=null&&r.set("limit",String(t.limit));let n=r.toString();return a(await o.get(`/accounts/${e}/audit${n?`?${n}`:""}`))}async function xa(e,t){let r=new URLSearchParams;t?.format&&r.set("format",t.format),t?.action&&r.set("action",t.action),t?.since&&r.set("since",t.since);let n=r.toString();return a(await o.get(`/accounts/${e}/audit/export${n?`?${n}`:""}`))}async function ka(e){return a(await o.get(`/accounts/${e}/audit/webhooks`))}async function Pa(e,t){return a(await o.post(`/accounts/${e}/audit/webhooks`,t))}async function wa(e,t,r){return a(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,r))}async function _a(e,t){return a(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Sa(e,t){return a(await o.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function va(e,t){return a(await o.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function Ca(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source);let r=t.toString()?`?${t.toString()}`:"";return a(await o.get(`/marketplace/items${r}`))}async function Ra(){return a(await o.get("/marketplace/marketplaces"))}async function Ta(){return a(await o.get("/marketplace/marketplaces/featured"))}async function Ia(e){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function ja(e,t){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function Aa(){return a(await o.get("/marketplace/sources"))}async function Ea(e){return a(await o.post("/marketplace/sources",e),"Failed to add marketplace source")}async function $a(e){return a(await o.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function td(e){return a(await o.get(`/templates/${encodeURIComponent(e)}`))}async function rd(e,t){return a(await o.post(`/templates/${encodeURIComponent(e)}/install`,t))}function nd(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 qa(e,t){let r=(e===void 0?$():e)||null;if(!r)return{status:0,ok:!1,health:null,body:""};let n=await R(`${r}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await n.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:n.status,ok:n.ok,health:c,body:s}}var V={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var Ec=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,$c=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,qc=new Set([22,4096,parseInt(V.KORTIX_MASTER,10)]);function sd(e){return $c.test(e)}function wt(e){if(!e)return"/";let t=e,r=t.indexOf("](");r!==-1&&(t=t.slice(0,r));let n=t.toLowerCase().indexOf("%5d(");return n!==-1&&(t=t.slice(0,n)),t?t.startsWith("/")?t:`/${t}`:"/"}function id(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var od=new Set(["'",'"',"`","<","(","["]),ad=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function cd(e){let t=0,r=e.length;for(;t<r&&(e[t]===" "||e[t]===" ");)t++;for(;r>t&&(e[r-1]===" "||e[r-1]===" ");)r--;for(;t<r&&od.has(e[t]);)t++;for(;r>t&&ad.has(e[r-1]);)r--;return e.slice(t,r)}function ld(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var ud=/^\/proxy\/(\d{1,5})(\/.*)?$/,pd=/^\/(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 Dc(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:pd.test(t.pathname)}catch{return!1}}function Le(e){if(!e)return null;let t=cd(id(e.trim())),r=Ma(t);if(r){let n=wt(r.path||"/");return{originalUrl:`http://localhost:${r.port}${n}`,port:r.port,path:n}}try{let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:"||n.hostname!=="localhost"&&n.hostname!=="127.0.0.1"||!n.port)return null;let s=parseInt(n.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${n.pathname||"/"}${n.search}${n.hash}`,u=parseInt(V.KORTIX_MASTER,10);if(s===u){let g=n.pathname.match(ud);if(g){let h=parseInt(g[1],10);if(h>=1&&h<=65535)return s=h,c=wt(`${g[2]||"/"}${n.search}${n.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let d=wt(c);return{originalUrl:`${n.protocol}//${n.hostname}:${s}${d}`,port:s,path:d}}catch{let n=ld(e);return n&&n!==e?Le(n):null}}function dd(e){let t=[],r=/```[\s\S]*?```/g,n;for(;(n=r.exec(e))!==null;)t.push([n.index,n.index+n[0].length]);let s=/`[^`\n]+`/g;for(;(n=s.exec(e))!==null;){let c=n.index,u=c+n[0].length;t.some(([g,h])=>c>=g&&u<=h)||t.push([c,u])}return t}function gd(e,t){return t.some(([r,n])=>e>=r&&e<n)}function Mc(e){let t=[],r=new Set,n=dd(e);Ec.lastIndex=0;let s;for(;(s=Ec.exec(e))!==null;){let c=Le(s[0]);if(!c)continue;let{originalUrl:u,port:d,path:g}=c;d<1||d>65535||qc.has(d)||r.has(u)||(r.add(u),t.push({originalUrl:u,port:d,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:gd(s.index,n)}))}return t}function md(e){return Mc(e).length>0}function fd(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Pe(e,t,r){let n=wt(t);if(!fd(r.apiBaseUrl)){let s=r.apiBaseUrl.length;for(;s>0&&r.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${r.apiBaseUrl.slice(0,s)}/p/${r.sandboxId}/${e}${n}`}return`http://p${e}-${r.sandboxId}.localhost:${r.backendPort}${n}`}function yd(e,t){return Pe(e,"/",t)}function Uc(e){let t=Le(e);return!(!t||qc.has(t.port)||Dc(e))}function Da(e,t){if(!e)return e;let r=Le(e);return r?Uc(r.originalUrl)?Pe(r.port,r.path,t):r.originalUrl:e}function hd(e,t="/"){return`http://localhost:${e}${t}`}var Oc=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Ma(e){let t=e.match($c);if(t)return{port:parseInt(t[1],10),sandboxId:t[2],backendPort:t[3]?parseInt(t[3],10):80,path:t[4]||"/"};let r=e.match(Oc);if(r)try{let n=new URL(e);return{port:parseInt(r[2],10),sandboxId:r[1],backendPort:parseInt(n.port,10)||(n.protocol==="https:"?443:80),path:r[3]||"/"}}catch{return null}return null}function bd(e){try{let t=Ma(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function xd(e){return sd(e)||Oc.test(e)}var Oe="/web-proxy/";function kd(e,t){try{let r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:")return null;let n=r.protocol.replace(":",""),s=`${Oe}${n}/${r.host}${r.pathname}${r.search}${r.hash}`,c=parseInt(V.KORTIX_MASTER,10);return`${Pe(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Pd(e){try{let t=new URL(e),r=t.pathname.indexOf(Oe);if(r===-1)return null;let s=t.pathname.slice(r+Oe.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],d=s[3]||"/";return`${c}://${u}${d}${t.search}${t.hash}`}catch{return null}}function wd(e){try{return new URL(e).pathname.includes(Oe)}catch{return e.includes(Oe)}}function _d(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 Sd(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 Lc="frontend";function _t(e,t,r){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Lc}] ${t}`,...r?[r]:[]);try{X().app.log({service:Lc,level:e,message:t,extra:r})}catch{}}var Z={debug:(e,t)=>_t("debug",e,t),info:(e,t)=>_t("info",e,t),warn:(e,t)=>_t("warn",e,t),error:(e,t)=>_t("error",e,t)};function Fc(e){return{type:"heartbeat-gap",gapMs:e}}function Gc(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 vd={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Cd=16,Rd=8,Td=6e4,Id=5e3,jd=250,Ad=1e3,Ed=3e4,$d=5,qd=3e3,Dd=3e4,Md=2e4,Ud=2e3,Od=8;function Ld(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Bc(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(n=>{t=()=>n(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function St(e){let{client:t,onEvent:r,onGapRehydrate:n,onParked:s,signal:c}=e,u=e.timers??vd,d=e.connectTimeoutMs??Md,g=e.heartbeatTimeoutMs??Td,h=e.maxConsecutiveHardFailures??Od,m=new AbortController,x=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",x,{once:!0}));let w=u.now(),k=[],l,i=0,P=new Map,_=()=>{if(l&&u.clearTimeout(l),l=void 0,k.length===0)return;let A=k;k=[],P.clear(),i=u.now(),w=u.now();for(let v of A)if(v)try{r(v.event)}catch(I){console.warn("[opencode-events] event handler threw, skipping",I)}},D=()=>{if(l)return;let A=u.now()-i;l=u.setTimeout(_,Math.max(0,Cd-A))};return(async()=>{let A=0,v=0;for(;!m.signal.aborted;){let I=!1,j=!1,f,S,U=null,N=u.now(),M=new AbortController,O=Bc(m.signal);O.promise.then(()=>M.abort());try{let F=await new Promise(($t,Ce)=>{let G=!1;S=u.setTimeout(()=>{G||(G=!0,Z.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:d}),M.abort(),Ce(new Error(`SSE connect timed out after ${d}ms`)))},d),t.global.event({signal:M.signal,sseDefaultRetryDelay:qd,sseMaxRetryDelay:Dd,sseMaxRetryAttempts:1}).then(W=>{G||(G=!0,u.clearTimeout(S),$t(W))},W=>{G||(G=!0,u.clearTimeout(S),Ce(W))})}),{stream:E}=F;w=u.now();let B=()=>{u.clearTimeout(f),f=u.setTimeout(()=>{Z.warn("SSE heartbeat timeout, forcing reconnect"),M.abort()},g)};B();let ze=u.now(),Cl=E[Symbol.asyncIterator]();for(;!M.signal.aborted;){let $t=Cl.next().then(J=>({kind:"next",result:J}),J=>({kind:"error",error:J})),Ce=Bc(M.signal),G=await Promise.race([$t,Ce.promise.then(()=>({kind:"aborted"}))]);if(Ce.cleanup(),G.kind==="aborted")break;if(G.kind==="error")throw G.error;if(G.result.done)break;I=!0,B();let W=G.result.value,Je=W&&typeof W=="object"&&"payload"in W?W.payload:W;if(!Je?.type)continue;let qt=Ld(Je);if(qt){let J=P.get(qt);J!==void 0&&(k[J]=void 0),P.set(qt,k.length)}k.push({type:Je.type,event:Je}),D(),!(u.now()-ze<Rd)&&(ze=u.now(),await new Promise(J=>u.setTimeout(J,0)))}j=I}catch(F){if(m.signal.aborted)break;U=F;let E=String(F),B=E.includes("401")||E.includes("403")||E.includes("Unauthorized")||E.includes("Token refresh failed");if(Z.error("SSE event stream error",{error:E,retryCount:A,isAuthError:B}),B)try{je(),await nt(),Z.info("SSE: refreshed auth token after auth error")}catch(ze){Z.error("SSE: failed to refresh auth token",{error:String(ze)})}}finally{u.clearTimeout(f),u.clearTimeout(S),M.abort(),O.cleanup(),_()}if(m.signal.aborted)break;let ce=u.now()-N,Ve=U?.cause?.status;if(v=!I&&(typeof Ve=="number"&&Ve>=400||ce<Ud)?v+1:0,v>=h){Z.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(U)});try{s?.({consecutiveFailures:v,lastError:U})}catch(F){console.warn("[opencode-events] onParked handler threw",F)}break}let ve=u.now()-w;ve>Id&&n?.(ve),j?A=0:(A++,A>1&&Z.warn("SSE event stream reconnecting",{retryCount:A}));let H=j?jd:Math.min(Ad*2**Math.min(A-1,$d),Ed);await new Promise(F=>{let E=u.setTimeout(F,H),B=()=>{u.clearTimeout(E),F()};m.signal.addEventListener("abort",B,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",x),l&&u.clearTimeout(l)}}}function Fd(){return X()}var vt=new Map,Fe=class extends Error{constructor(t){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${t}\`.`),this.name="SessionNotReadyError"}};function Kc(e,t){Qe(e,t);function r(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new C(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function n(l){let i=T().backendUrl??e.backendUrl,P=80,_=r(i);return _&&(P=_.port?Number(_.port):_.protocol==="https:"?443:80),{sandboxId:l,backendPort:P,apiBaseUrl:i}}let s={list:vn,get:Rn,create:Cn,updateName:Tn,leave:Ln,members:In,invite:jn,removeMember:Un,updateMemberRole:On,invites:An,cancelInvite:En,resendInvite:$n,tokens:{list:da,create:ga,revoke:ma},audit:{log:ba,export:xa,webhooks:{list:ka,create:Pa,update:wa,remove:_a}}},c={accountState:ro,accountStateMinimal:no,transactions:so,transactionsSummary:io,creditBreakdown:oo,usageHistory:ao,tierConfigurations:co,checkout:{createSession:l=>lo(l),confirmSession:(l,i)=>uo(l,i)},subscription:{createPortalSession:(l,i)=>po(l,i),cancel:(l,i)=>go(l,i),reactivate:l=>mo(l),scheduleDowngrade:(l,i,P)=>fo(l,i,P),cancelScheduledChange:l=>yo(l),prorationPreview:(l,i)=>ho(l,i)},credits:{purchase:l=>bo(l),autoTopupSettings:l=>xo(l),configureAutoTopup:l=>ko(l)}},u={describe:qn,accept:Dn,decline:Mn},d={list:oe,listForAccount:Gn,get:gt,detail:mt,create:Hn,createRepo:Wn,provision:Vn,update:ht,archive:bt,llmCatalog:ft,modelPicker:yt,sandboxHealth:xt,sandboxTemplates:ti,sessions:be,createSession:xe},g={linkRepository:Qn,getInstallation:Yn,listInstallations:Zn,listRepositories:es,listRepositoryBranches:ts,saveInstallation:rs,deleteInstallation:ns},h={list:la,create:ua,revoke:pa},m=Xs,x={items:l=>Ca(l),item:l=>Ia(l),itemFile:(l,i)=>ja(l,i),marketplaces:()=>Ra(),featured:()=>Ta(),sources:{list:()=>Aa(),add:l=>Ea(l),remove:l=>$a(l)}};function w(l){return{get:i=>gt(l,i),detail:()=>mt(l),update:i=>ht(l,i),archive:()=>bt(l),llmCatalog:()=>ft(l),modelPicker:()=>yt(l),sandboxHealth:()=>xt(l),onboardingComplete:(...i)=>Xn(l,...i),tokens:{list:()=>fa(l),create:i=>ya(l,i),revoke:i=>ha(l,i)},setupLinks:{requestSecret:i=>Sa(l,i),requestConnector:i=>va(l,i)},validateManifest:i=>Kn(l,i),gitToken:()=>Nn(l),secrets:{list:()=>Ss(l),upsert:i=>vs(l,i),remove:i=>Is(l,i),setPersonal:(...i)=>js(l,...i),removePersonal:i=>As(l,i),promoteToShared:i=>Es(l,i),setGitCredential:i=>Ts(l,i),startProviderOAuth:(...i)=>Cs(l,...i),pollProviderOAuth:(...i)=>Rs(l,...i)},access:{list:()=>as(l),invite:(...i)=>us(l,...i),update:(...i)=>cs(l,...i),revoke:i=>ls(l,i),pendingInvites:()=>ps(l),resendInvite:(...i)=>gs(l,...i),revokeInvite:(...i)=>ds(l,...i),requests:()=>ss(l),approveRequest:(...i)=>is(l,...i),rejectRequest:(...i)=>os(l,...i),groupGrants:()=>ms(l),attachGroupGrant:(...i)=>fs(l,...i),updateGroupGrant:(...i)=>ys(l,...i),detachGroupGrant:i=>hs(l,i),resourceGrants:{list:()=>bs(l),create:i=>xs(l,i),remove:i=>ks(l,i)}},connectors:{list:()=>Os(l),config:(...i)=>Ns(l,...i),create:(...i)=>Vs(l,...i),remove:(...i)=>zs(l,...i),sync:()=>Ls(l),setName:(...i)=>Hs(l,...i),setCredentialMode:(...i)=>Fs(l,...i),setCredential:(...i)=>Qs(l,...i),setSensitive:(...i)=>Gs(l,...i),profiles:{list:()=>$s(l),reconcile:(...i)=>qs(l,...i),updateCredential:(...i)=>Ds(l,...i),revoke:(...i)=>Ms(l,...i),activate:(...i)=>Us(l,...i)},policies:{get:(...i)=>Bs(l,...i),set:(...i)=>Ks(l,...i)},pipedream:{listApps:(...i)=>Js(l,...i),connect:(...i)=>Ws(l,...i),finalize:(...i)=>Ys(l,...i)}},policies:{list:()=>Zs(l),set:(...i)=>ei(l,...i)},triggers:{list:()=>Ki(l),create:(...i)=>Ni(l,...i),update:(...i)=>Hi(l,...i),remove:(...i)=>Wi(l,...i),fire:(...i)=>zi(l,...i),setActivation:(...i)=>Vi(l,...i)},files:{list:i=>ui(l,i),read:(i,P)=>di(l,i,P),search:(...i)=>pi(l,...i),archive:(...i)=>gi(l,...i),history:(...i)=>bi(l,...i)},git:{commits:()=>fi(l),commit:i=>yi(l,i),commitDiff:i=>hi(l,i),branches:()=>mi(l),versionDiff:(...i)=>xi(l,...i),inviteCollaborator:(...i)=>Bn(l,...i)},changeRequests:{list:()=>ki(l),get:i=>Pi(l,i),diff:i=>wi(l,i),mergePreview:i=>_i(l,i),open:(...i)=>Si(l,...i),merge:(...i)=>vi(l,...i),close:(...i)=>Ci(l,...i),reopen:(...i)=>Ri(l,...i),requestChanges:(...i)=>Ti(l,...i)},sessions:{list:()=>be(l),create:i=>xe(l,i)},review:{list:i=>sa(l,i),get:i=>ia(l,i),submit:i=>oa(l,i),act:(...i)=>aa(l,...i),bulkAct:i=>ca(l,i)},approvals:{list:i=>Ps(l,i),resolve:(...i)=>_s(l,...i),sessionsNeedingInput:i=>ws(l,i)},gateway:{logs:i=>Ko(l,i),log:i=>No(l,i),overview:i=>Ho(l,i),series:i=>Wo(l,i),breakdown:i=>Vo(l,i),sessions:i=>zo(l,i),errors:i=>Jo(l,i),budgets:()=>Xo(l),setBudget:i=>Qo(l,i),deleteBudget:i=>Yo(l,i),keys:()=>Zo(l),createKey:i=>ea(l,i),revokeKey:i=>ta(l,i),routing:{get:()=>Lo(l),set:i=>Fo(l,i),reset:()=>Go(l),preview:i=>Bo(l,i)},playground:(i,P)=>ra(l,i,P)},channels:{slack:{installation:()=>Po(l),connect:i=>wo(l,i),mode:()=>_o(l),manifest:()=>So(l),disconnect:()=>vo(l),getFile:i=>Co(l,i),uploadFile:i=>Ro(l,i)},email:{installation:i=>Io(l,i),mode:()=>jo(l),connect:i=>Ao(l,i),disconnect:i=>Eo(l,i),updatePolicy:(...i)=>$o(l,...i)},meet:{voices:()=>qo(l),setVoice:i=>Do(l,i),setBotName:i=>Mo(l,i),previewVoice:i=>Uo(l,i),speak:(i,P,_)=>Oo(l,i,P,_)}},updateExperimentalFeature:(...i)=>zn(l,...i),modelDefaults:{get:()=>Xi(l),set:i=>Qi(l,i),clear:i=>Yi(l,i)},setDefaultAgent:i=>eo(l,i),sandbox:{list:()=>li(l),snapshots:()=>ri(l),rebuildSnapshot:i=>ni(l,i),fixWithAgent:()=>si(l),createTemplate:i=>ii(l,i),updateTemplate:(...i)=>oi(l,...i),removeTemplate:i=>ai(l,i),buildTemplate:i=>ci(l,i),setProvider:i=>Jn(l,i)},setAgentScope:(...i)=>Zi(l,...i),session:i=>k(l,i)}}function k(l,i){let P=null,_,D;function A(){if(P)return P;let f=Rc(l,i);return f&&(P=f),P}async function v(){let f=A();if(f)return f;let S=`${l}
8
- ${i}`,U=vt.get(S);if(U)return P=await U,P;let N=(async()=>{let M=await ke(l,i,3e4);if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new C(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let O=M.sandbox.external_id;if(!O)throw new C("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let ce=st(O);return pc(ce,O),{opencodeSessionId:M.opencode_session_id,runtimeUrl:ce,sandboxId:O}})();vt.set(S,N);try{return P=await N,P}finally{vt.get(S)===N&&vt.delete(S)}}function I(f){let S=A();if(!S)throw new Fe(f);return S}function j(){P=null,Ic(l,i)}return{get:f=>Oi(l,i,f),update:f=>Gi(l,i,f),delete:()=>(j(),Bi(l,i)),start:(...f)=>ke(l,i,...f),restart:()=>(j(),Me(l,i)),stop:()=>(j(),Ue(l,i)),setSharing:f=>$i(l,i,f),previews:()=>qi(l,i),commit:f=>Ii(l,i,f),publicShares:{list:()=>Di(l,i),create:(...f)=>Mi(l,i,...f),revoke:(...f)=>Ui(l,i,...f)},audit:(f,S)=>Li(l,i,f,S),transcript:f=>Fi(l,i,f),ensureReady:v,health:f=>qa(A()?.runtimeUrl??null,f),previewUrl:(f,S="/")=>Pe(f,S,n(I("previewUrl").sandboxId)),proxyUrl:f=>Da(f,n(I("proxyUrl").sandboxId)),setModel:f=>{_=f},setAgent:f=>{D=f},send:async(f,S)=>{let{opencodeSessionId:U,runtimeUrl:N}=await v(),M=S?.model??_,O=S?.agent??D;return se(N).session.prompt({sessionID:U,parts:[{type:"text",text:f}],...M?{model:M}:{},...O?{agent:O}:{}})},abort:async()=>{let{opencodeSessionId:f,runtimeUrl:S}=await v();return se(S).session.abort({sessionID:f})},stream:async f=>{let{runtimeUrl:S}=await v();return St({client:se(S),onEvent:f.onEvent,onGapRehydrate:f.onGapRehydrate,signal:f.signal})},get runtime(){return se(I("runtime").runtimeUrl)},files:{list:async f=>mn(f,(await v()).runtimeUrl),read:async f=>ut(f,(await v()).runtimeUrl),readBlob:async f=>pt(f,(await v()).runtimeUrl),status:async()=>fn((await v()).runtimeUrl),findFiles:async(f,S)=>yn(f,S,(await v()).runtimeUrl),findText:async f=>hn(f,(await v()).runtimeUrl),upload:async(f,S,U)=>dt(f,S,U,(await v()).runtimeUrl),create:async f=>bn(f,(await v()).runtimeUrl),copy:async(f,S)=>xn(f,S,(await v()).runtimeUrl),remove:async f=>kn(f,(await v()).runtimeUrl),mkdir:async f=>Pn(f,(await v()).runtimeUrl),rename:async(f,S)=>wn(f,S,(await v()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:d,project:w,session:k,github:g,billing:c,sandboxShares:h,transcribe:na,connectStatus:m,marketplace:x,validateToken:Fn,runtime:Fd}}function Nc(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let n=0;n<16;n++)t[n]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let r=[...t].map(n=>n.toString(16).padStart(2,"0"));return`${r[0]}${r[1]}${r[2]}${r[3]}-${r[4]}${r[5]}-${r[6]}${r[7]}-${r[8]}${r[9]}-${r.slice(10).join("")}`}var Ua={thinking:!1,toolDetails:!0,assistantMetadata:!0};function Gd(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Bd(e){let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let r=Math.floor(t/60),n=t%60;return`${r}m ${n.toFixed(0)}s`}function Kd(e,t){if(e.type==="text"&&!("synthetic"in e&&e.synthetic))return`${e.text}
7
+ `);try{H=JSON.parse(E),F=!0}catch{H=E}}F&&(s&&await s(H),r&&(H=await r(H))),n?.({data:H,event:ve,id:x,retry:i}),Se.length&&(yield H)}}}finally{_.removeEventListener("abort",U),f.releaseLock()}break}catch(A){if(t?.(A),u!==void 0&&P>=u)break;let v=Math.min(i*2**(P-1),d??3e4);await w(v)}}}()}};var Dl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ml=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Ul=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ze=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let d=(e?s:s.map(g=>encodeURIComponent(g))).join(Ml(r));switch(r){case"label":return`.${d}`;case"matrix":return`;${n}=${d}`;case"simple":return d;default:return`${n}=${d}`}}let c=Dl(r),u=s.map(d=>r==="label"||r==="simple"?e?d:encodeURIComponent(d):le({allowReserved:e,name:n,value:d})).join(c);return r==="label"||r==="matrix"?c+u:u},le=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},et=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,x])=>{g=[...g,m,e?x:encodeURIComponent(x)]});let h=g.join(",");switch(r){case"form":return`${n}=${h}`;case"label":return`.${h}`;case"matrix":return`;${n}=${h}`;default:return h}}let u=Ul(r),d=Object.entries(s).map(([g,h])=>le({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:h})).join(u);return r==="label"||r==="matrix"?u+d:d};var Ol=/\{[^{}]+\}/g,Ll=({path:e,url:t})=>{let n=t,r=t.match(Ol);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),d="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),d="label"):u.startsWith(";")&&(u=u.substring(1),d="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,Ze({explode:c,name:u,style:d,value:g}));continue}if(typeof g=="object"){n=n.replace(s,et({explode:c,name:u,style:d,value:g,valueOnly:!0}));continue}if(d==="matrix"){n=n.replace(s,`;${le({name:u,value:g})}`);continue}let h=encodeURIComponent(d==="label"?`.${g}`:g);n=n.replace(s,h)}return n},Xa=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=Ll({path:t,url:u}));let d=n?r(n):"";return d.startsWith("?")&&(d=d.substring(1)),d&&(u+=`?${d}`),u};function Ut(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(t)return e.body}var Qa=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 Ot={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Ya=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let d=e[c]||t;if(Array.isArray(u)){let g=Ze({allowReserved:d.allowReserved,explode:!0,name:c,style:"form",value:u,...d.array});g&&s.push(g)}else if(typeof u=="object"){let g=et({allowReserved:d.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...d.object});g&&s.push(g)}else{let g=le({allowReserved:d.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},Za=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"}},Fl=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,ec=async({security:e,...t})=>{for(let n of e){if(Fl(t,n.name))continue;let r=await Qa(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}}},Lt=e=>Xa({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Ya(e.querySerializer),url:e.url}),Ft=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=tt(e.headers,t.headers),n},Gl=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},tt=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?Gl(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},Re=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}},tc=()=>({error:new Re,request:new Re,response:new Re}),Bl=Ya({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Kl={"Content-Type":"application/json"},Te=(e={})=>({...Ot,headers:Kl,parseAs:"auto",querySerializer:Bl,...e});var Ie=(e={})=>{let t=Ft(Te(),e),n=()=>({...t}),r=h=>(t=Ft(t,h),n()),s=tc(),c=async h=>{let m={...t,...h,fetch:h.fetch??t.fetch??globalThis.fetch,headers:tt(t.headers,h.headers),serializedBody:void 0};m.security&&await ec({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let x=Lt(m);return{opts:m,url:x}},u=async h=>{let{opts:m,url:x}=await c(h),w={redirect:"follow",...m,body:Ut(m)},k=new Request(x,w);for(let I of s.request.fns)I&&(k=await I(k,m));let l=m.fetch,i;try{i=await l(k)}catch(I){let j=I;for(let f of s.error.fns)f&&(j=await f(I,void 0,k,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,request:k,response:void 0}}for(let I of s.response.fns)I&&(i=await I(i,k,m));let P={request:k,response:i};if(i.ok){let I=(m.parseAs==="auto"?Za(i.headers.get("Content-Type")):m.parseAs)??"json";if(i.status===204||i.headers.get("Content-Length")==="0"){let f;switch(I){case"arrayBuffer":case"blob":case"text":f=await i[I]();break;case"formData":f=new FormData;break;case"stream":f=i.body;break;default:f={};break}return m.responseStyle==="data"?f:{data:f,...P}}let j;switch(I){case"arrayBuffer":case"blob":case"formData":case"text":j=await i[I]();break;case"json":{let f=await i.text();j=f?JSON.parse(f):{};break}case"stream":return m.responseStyle==="data"?i.body:{data:i.body,...P}}return I==="json"&&(m.responseValidator&&await m.responseValidator(j),m.responseTransformer&&(j=await m.responseTransformer(j))),m.responseStyle==="data"?j:{data:j,...P}}let _=await i.text(),D;try{D=JSON.parse(_)}catch{}let A=D??_,v=A;for(let I of s.error.fns)I&&(v=await I(A,i,k,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...P}},d=h=>m=>u({...m,method:h}),g=h=>async m=>{let{opts:x,url:w}=await c(m);return Ja({...x,body:x.body,headers:x.headers,method:h,onRequest:async(k,l)=>{let i=new Request(k,l);for(let P of s.request.fns)P&&(i=await P(i,x));return i},serializedBody:Ut(x),url:w})};return{buildUrl:Lt,connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),getConfig:n,head:d("HEAD"),interceptors:s,options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),request:u,setConfig:r,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:d("TRACE")}};var Nl={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Hl=Object.entries(Nl),nc=(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&&nc(n.args,t);return t},Wl=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},p=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=nc(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let d=r.get(s.key),g=d.map||s.key;d.in&&(n[d.in][g]=u)}else n.body=u;else for(let[d,g]of Object.entries(u??{})){let h=r.get(d);if(h)if(h.in){let m=h.map||d;n[h.in][m]=g}else n[h.map]=g;else{let m=Hl.find(([x])=>d.startsWith(x));if(m){let[x,w]=m;n[w][d.slice(x.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[x,w]of Object.entries(s.allowExtra))if(w){n[x][d]=g;break}}}}return Wl(n),n};var rc=Ie(Te({baseUrl:"http://localhost:4096"}));var y=class{client;constructor(t){this.client=t?.client??rc}},Gt=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)}},Bt=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Kt=class extends y{log(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Nt=class extends y{moveSession(t,n){let r=p([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Ht=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Wt=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Vt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},zt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},Jt=class extends y{generateName(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Xt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},Qt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new Xt({client:this.client})}},Yt=class extends y{_controlPlane;get controlPlane(){return this._controlPlane??=new Nt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Ht({client:this.client})}_console;get console(){return this._console??=new Wt({client:this.client})}_session;get session(){return this._session??=new Vt({client:this.client})}_resource;get resource(){return this._resource??=new zt({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Jt({client:this.client})}_workspace;get workspace(){return this._workspace??=new Qt({client:this.client})}},Zt=class extends y{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=p([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},en=class extends y{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=p([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new Zt({client:this.client})}},tn=class extends y{subscribe(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},nn=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},rn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},sn=class extends y{remove(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},on=class extends y{text(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},an=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},cn=class extends y{dispose(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},ln=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},un=class extends y{raw(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},pn=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new un({client:this.client})}},dn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},gn=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},mn=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},fn=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},yn=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new fn({client:this.client})}},hn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},bn=class extends y{shells(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},xn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},kn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Pn=class extends y{authorize(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},wn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new Pn({client:this.client})}},_n=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},Sn=class extends y{delete(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},vn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Cn=class extends y{start(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=p([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new vn({client:this.client})}},Rn=class extends y{next(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Tn=class extends y{appendPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new Rn({client:this.client})}},In=class extends y{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},jn=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},An=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},En=class extends y{stage(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},qn=class extends y{list(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},$n=class extends y{list(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},Dn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new En({client:this.client})}_permission;get permission(){return this._permission??=new qn({client:this.client})}_question;get question(){return this._question??=new $n({client:this.client})}},Mn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Un=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},On=class extends y{key(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Ln=class extends y{cancel(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Fn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new On({client:this.client})}_attempt;get attempt(){return this._attempt??=new Ln({client:this.client})}},Gn=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Bn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Kn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Nn=class extends y{_request;get request(){return this._request??=new Bn({client:this.client})}_saved;get saved(){return this._saved??=new Kn({client:this.client})}},Hn=class extends y{read(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},Wn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Vn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},zn=class extends y{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Jn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},Xn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Qn=class extends y{_request;get request(){return this._request??=new Xn({client:this.client})}},Yn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Zn=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},er=class extends y{_health;get health(){return this._health??=new In({client:this.client})}_location;get location(){return this._location??=new jn({client:this.client})}_agent;get agent(){return this._agent??=new An({client:this.client})}_session;get session(){return this._session??=new Dn({client:this.client})}_model;get model(){return this._model??=new Mn({client:this.client})}_provider;get provider(){return this._provider??=new Un({client:this.client})}_integration;get integration(){return this._integration??=new Fn({client:this.client})}_credential;get credential(){return this._credential??=new Gn({client:this.client})}_permission;get permission(){return this._permission??=new Nn({client:this.client})}_fs;get fs(){return this._fs??=new Hn({client:this.client})}_command;get command(){return this._command??=new Wn({client:this.client})}_skill;get skill(){return this._skill??=new Vn({client:this.client})}_event;get event(){return this._event??=new zn({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})}_reference;get reference(){return this._reference??=new Yn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Zn({client:this.client})}},nt=class e extends y{static __registry=new Gt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Bt({client:this.client})}_app;get app(){return this._app??=new Kt({client:this.client})}_experimental;get experimental(){return this._experimental??=new Yt({client:this.client})}_global;get global(){return this._global??=new en({client:this.client})}_event;get event(){return this._event??=new tn({client:this.client})}_config;get config(){return this._config??=new nn({client:this.client})}_tool;get tool(){return this._tool??=new rn({client:this.client})}_worktree;get worktree(){return this._worktree??=new sn({client:this.client})}_find;get find(){return this._find??=new on({client:this.client})}_file;get file(){return this._file??=new an({client:this.client})}_instance;get instance(){return this._instance??=new cn({client:this.client})}_path;get path(){return this._path??=new ln({client:this.client})}_vcs;get vcs(){return this._vcs??=new pn({client:this.client})}_command;get command(){return this._command??=new dn({client:this.client})}_lsp;get lsp(){return this._lsp??=new gn({client:this.client})}_formatter;get formatter(){return this._formatter??=new mn({client:this.client})}_mcp;get mcp(){return this._mcp??=new yn({client:this.client})}_project;get project(){return this._project??=new hn({client:this.client})}_pty;get pty(){return this._pty??=new bn({client:this.client})}_question;get question(){return this._question??=new xn({client:this.client})}_permission;get permission(){return this._permission??=new kn({client:this.client})}_provider;get provider(){return this._provider??=new wn({client:this.client})}_session;get session(){return this._session??=new _n({client:this.client})}_part;get part(){return this._part??=new Sn({client:this.client})}_sync;get sync(){return this._sync??=new Cn({client:this.client})}_tui;get tui(){return this._tui??=new Tn({client:this.client})}_v2;get v2(){return this._v2??=new er({client:this.client})}};function ic(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||sc(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 ${sc(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function sc(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function Vl(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function zl(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let d=Vl(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(d){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,d);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function tr(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=Ie(e);return t.interceptors.request.use(n=>zl(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(ic),new nt({client:t})}function Jl(e){return new Promise(t=>setTimeout(t,e))}async function oc(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let d=0;d<r;d++)if(d>0&&(c&&n?.(),s>0&&await Jl(s)),u=await e(),u)return u;return u}var Xl=3e4;function Ql(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function ac(e,t,n=Xl){let r=e instanceof Request?e.signal:t?.signal;if(Ql(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function nr(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 cc(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function rt(){return T().getToken()}async function ue(e){return oc(()=>T().getToken(),e,je)}function je(){}function Yl(e){}function Zl(e){}async function Ae(){return rt()}async function rr(e){return ue(e)}function lc(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function R(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await rr();if(!s)return cc();let c=nr(e,t,s),u=ac(e,t),d=await lc(e,t,c,u);if(d.status===401&&r&&s){je();let g=await rr({attempts:2,baseDelayMs:200});if(g&&g!==s){let h=nr(e,t,g);return lc(e,t,h,u)}}return d}var pe={url:null,sandboxId:null,dbSandboxId:null,version:0},eu=new Set;function uc(e,t=null,n=null){if(!(pe.url===e&&pe.sandboxId===t&&pe.dbSandboxId===n)){pe={url:e,sandboxId:t,dbSandboxId:n,version:pe.version+1};for(let r of eu)r()}}function pc(){return pe.url}function tu(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Ee(){return tu(T().backendUrl||"http://localhost:8008/v1")}function dc(){let e=T().sandboxId||"";return`${Ee()}/p/${e}/8000`}function nu(e){return`${Ee()}/p/${e}/8000`}function st(e){return nu(e)}function q(){let e=pc();return e||(T().billingEnabled??!1?"":dc())}var C=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},de=class extends C{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},ne=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)}},ge=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 me(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 ne(t,{message:r?.message||e.message||"Billing error",...r})}function gc(e){return e instanceof ne}function mc(e){if(!(e instanceof ne))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 sr(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function ir(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function or(e){let t=ir(e),n=await R(`${t}/env`);if(!n.ok)throw new Error(await sr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function ar(e,t,n){let r=ir(e),s=await R(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await sr(s,"Failed to save secret"))}async function cr(e,t){let n=ir(e),r=await R(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await sr(r,"Failed to delete secret"))}var fc={list:or,set:ar,delete:cr};async function yc(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await R(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function re(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function it(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function qe(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return re(e)}async function lr(e){let t=qe(e),n=await R(`${t}/kortix/pty`);if(!n.ok)throw new Error(await it(n,"Failed to list terminals"));return n.json()}async function ur(e,t){let n=qe(e),r=await R(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await it(r,"Failed to create terminal"));return r.json()}async function pr(e,t,n){let r=qe(e),s=await R(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await it(s,"Failed to update terminal"));return s.json()}async function dr(e,t){let n=qe(e),r=await R(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await it(r,"Failed to remove terminal"))}async function gr(e,t){let n=qe(t),s=`${(()=>{try{let d=new URL(n);return d.protocol==="https:"?d.protocol="wss:":d.protocol==="http:"&&(d.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&d.protocol==="ws:"&&(d.protocol="wss:"),re(d.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await Ae();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var hc={list:lr,create:ur,update:pr,remove:dr,webSocketUrl:gr};async function b(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await R(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),d={};try{d=u?JSON.parse(u):{}}catch{d={}}if(!c.ok)throw new Error(d?.error||d?.message||d?.details||u.slice(0,200)||`Request failed with ${c.status}`);return d}async function ru(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return b(e,`/kortix/tasks${r}`)}async function su(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function iu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function ou(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function au(e,t){return b(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function cu(e,t,n){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function lu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function uu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function pu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function du(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return b(e,`/kortix/tickets${n}`)}async function gu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function mu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function fu(e,t){return b(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function yu(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function hu(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function bu(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function xu(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function ku(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Pu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function wu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function _u(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Su(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function vu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Cu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Ru(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Tu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Iu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function ju(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Au(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Eu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function qu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function $u(e,t,n=200){return b(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Du(e){return b(e,"/kortix/projects")}async function Mu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Uu(e,t){return b(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Ou(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Lu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Fu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Gu(e,t,n="all"){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function Bu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function Ku(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function Nu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function Hu(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Wu(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function Vu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function zu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Ju(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function Xu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function Qu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function Yu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function Zu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var ep=1e4,tp={retryOnAuthError:!1};function fe(e,t,n){return b(e,t,{signal:AbortSignal.timeout(ep),...n},tp)}async function np(e,t=!1){return(await fe(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function rp(e){return(await fe(e,"/kortix/services/templates")).templates??[]}async function sp(e,t){return(await fe(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function ip(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return fe(e,s,{method:r?"DELETE":"POST"})}async function op(e,t){return fe(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function ap(e,t){return fe(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var ot=new Map,at=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function X(){let e=q();if(!e)throw new at;return se(e)}function se(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=ot.get(e);if(t)return t;if(!Ye())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=tr({baseUrl:e,fetch:R});return ot.set(e,n),n}function cp(e){ot.delete(e)}function lp(){ot.clear()}var ct=new Map;function up(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=ct.get(e);if(t)return t;let n=tr({baseUrl:e,fetch});return ct.set(e,n),n}function pp(e){ct.delete(e)}function dp(){ct.clear()}async function gp(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 mp(e){let t=q();if(!t)throw new C("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await R(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new C(`System reload failed (${n.status}): ${await gp(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function xc(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new C(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function ye(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function lt(e,t=q()){let n=await R(`${t}${e}`);if(!n.ok)throw new C(await ye(n),{status:n.status,response:n});return n.json()}var kc=["/workspace","/tmp","/home","/opt"],fp=kc.filter(e=>e!=="/workspace");function yp(e){return kc.some(t=>e===t||e.startsWith(`${t}/`))}function hp(e){return yp(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function De(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(fp.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var bp=De;async function mr(e,t=q()){let n=De(e)||".";return(await lt(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function ut(e,t=q()){let n=De(e),r=await R(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new C(await ye(r),{status:r.status,response:r});return r.json()}async function xp(e,t,n=q()){let r=De(e),s=await R(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new C(await ye(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new C("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function pt(e,t=q()){try{return await xp(e,void 0,t)}catch{}let n=await ut(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function fr(e=q()){return lt("/file/status",e)}async function yr(e,t,n=q()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),lt(`/find/file?${r.toString()}`,n)}async function hr(e,t=q()){return(await lt(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var $e=[400,1200],kp=e=>e===408||e===429||e===502||e===503||e===504,bc=e=>new Promise(t=>setTimeout(t,e));async function Pp(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 Pc(e,t){let n;for(let s=0;s<=$e.length;s++){let c;try{c=await t(e())}catch(d){if(n=d,s===$e.length)break;await bc($e[s]);continue}if(c.ok)return c.json();let u=await Pp(c);if(n=new C(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!kp(c.status)||s===$e.length)throw n;await bc($e[s])}if(n instanceof C)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new C(`Upload failed: ${r}`)}function dt(e,t,n,r=q()){return Pc(()=>{let s=new FormData,c=(t??"").trim();return c&&s.append("path",c.startsWith("/")?c:`/${c}`),n?s.append("file",e,n):s.append("file",e),s},s=>R(`${r}/file/upload`,{method:"POST",body:s}))}function wp(e,t,n=q()){return Pc(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await Ae();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function br(e,t=q()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return dt(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function xr(e,t,n=q()){return wp(t,await pt(e,n),n)}async function kr(e,t=q()){let n=await R(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new C(`Delete failed (${n.status}): ${await ye(n)}`,{status:n.status,response:n});return n.json()}async function Pr(e,t=q()){let n=await R(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new C(`Mkdir failed (${n.status}): ${await ye(n)}`,{status:n.status,response:n});return n.json()}async function wr(e,t,n=q()){let r=await R(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new C(`Rename failed (${r.status}): ${await ye(r)}`,{status:r.status,response:r});return r.json()}async function _p(){return xc(await X().project.current())}async function wc(){return xc(await X().global.health())}async function Sp(){try{return(await wc()).healthy===!0}catch{return!1}}var _c={list:mr,read:ut,readBlob:pt,status:fr,findFiles:yr,findText:hr,upload:dt,create:br,copy:xr,remove:kr,mkdir:Pr,rename:wr,currentProject:_p,health:wc,isReachable:Sp,toDaemonPath:De,toSandboxAbsolutePath:hp,toWorkspaceRelative:bp};var Q=()=>T().backendUrl||"",Cp=e=>new Promise(t=>setTimeout(t,e)),Rp=new Set([502,503,504]),Sc=e=>Rp.has(e),Tp=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Ip=2,_r=!1;function jp(e){_r=e}function Ap(){return _r}async function ie(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,d=null,g=!1,h=!1;try{d=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,h=!0,u.abort())},s);let m=await ue(),x=c.body instanceof FormData,w={};if(x||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),_r&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new de,success:!1};let k=await fetch(e,{...c,headers:w,signal:u.signal,credentials:c.credentials??"omit"});if(d&&(clearTimeout(d),d=null),!k.ok&&Tp(c.method)&&Sc(k.status))for(let P=0;P<Ip;P++){try{await k.arrayBuffer()}catch{}await Cp(250*2**P);let _=new AbortController,D=setTimeout(()=>{_.abort()},s);try{k=await fetch(e,{...c,headers:w,signal:_.signal,credentials:c.credentials??"omit"})}catch{break}finally{D&&(clearTimeout(D),D=null)}if(k.ok||!Sc(k.status))break}if(!k.ok){let P=`HTTP ${k.status}: ${k.statusText}`,_=null;try{_=await k.json(),typeof _.message=="string"?P=_.message:_.error&&typeof _.error=="string"?P=_.error:typeof _.detail=="string"?P=_.detail:typeof _.detail?.message=="string"&&(P=_.detail.message)}catch{}let D=new C(P,{status:k.status,response:k,details:_||void 0,data:_,detail:_?.detail,code:_?.code||_?.error_code||_?.detail?.error_code||k.status.toString()});if(k.status===402&&(D=me(D)),k.status===403&&_?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}return k.status===431&&(D=new ge(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."})),n&&T().onError?.(D,r),{error:D,success:!1}}let l,i=k.headers.get("content-type");return i?.includes("application/json")?l=await k.json():i?.includes("text/")?l=await k.text():l=await k.blob(),{data:l,success:!0}}catch(m){d&&(clearTimeout(d),d=null);let x=m?.name==="AbortError"||m?.name==="AbortSignal"||m instanceof Error&&m.message.includes("aborted");x&&(g=!0);let w;if(x){if(!h)return{error:new C("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let k=e.replace(Q(),"")||e;w=new C(`Request timed out after ${Math.round(s/1e3)}s: ${k}`,{code:"TIMEOUT",url:e,endpoint:k,timeout:s}),n&&T().onError?.(w,r)}else m instanceof Error?(w=new C(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&T().onError?.(w,r)):(w=new C(String(m)),n&&T().onError?.(w,r));return{error:w,success:!1}}}var Ep={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new C(r.message||"Database error",{code:r.code,details:r});return T().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new C(n.message,{name:n.name||"ApiError",stack:n.stack}):new C(String(n));return T().onError?.(r,t),{error:r,success:!1}}}},o={get:(e,t)=>ie(`${Q()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>ie(`${Q()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>ie(`${Q()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>ie(`${Q()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ie(`${Q()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],ie(`${Q()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],ie(`${Q()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Sr(e){return e.replace(/\/v1\/?$/,"")}async function he(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Sr(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 vr(){return a(await o.get("/accounts"))}async function Cr(e){return a(await o.post("/accounts",e))}async function Rr(e){return a(await o.get(`/accounts/${e}`))}async function Tr(e,t){return a(await o.patch(`/accounts/${e}`,{name:t}))}async function Ir(e){return a(await o.get(`/accounts/${e}/members`))}async function jr(e,t){return a(await o.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Ar(e){return a(await o.get(`/accounts/${e}/invites`))}async function Er(e,t){return a(await o.delete(`/accounts/${e}/invites/${t}`))}async function qr(e,t){return a(await o.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function $r(e){return a(await o.get(`/account-invites/${e}`,{showErrors:!1}))}async function Dr(e){return a(await o.post(`/account-invites/${e}/accept`,{}))}async function Mr(e){return a(await o.post(`/account-invites/${e}/decline`,{}))}async function Ur(e,t){return a(await o.delete(`/accounts/${e}/members/${t}`))}async function Or(e,t,n){return a(await o.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function Lr(e){return a(await o.post(`/accounts/${e}/leave`,{}))}async function qp(e){return he(e,"/v1/accounts")}async function Fr(){let e=await o.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function oe(){return a(await o.get("/projects"))}async function Gr(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/projects${t}`))}async function gt(e,t){return a(await o.get(`/projects/${e}`,t))}async function Br(e,t,n="write"){return a(await o.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Kr(e,t){return a(await o.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function Nr(e){return a(await o.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function $p(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function mt(e,t){return a(await o.get(`/projects/${e}/detail`,{showErrors:!1,...t}))}async function ft(e,t){return a(await o.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function yt(e,t){return a(await o.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Hr(e){return a(await o.post("/projects",e))}async function Wr(e){return a(await o.post("/projects/create-repo",e))}async function Vr(e){return a(await o.post("/projects/provision",{seed_starter:!0,...e}))}async function Dp(){try{return a(await o.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function ht(e,t){return a(await o.patch(`/projects/${e}`,t))}async function zr(e,t,n){return a(await o.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function Jr(e,t){return a(await o.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Mp(e,t){return a(await o.patch(`/projects/${e}/warm-pool`,t))}async function Xr(e,t){return a(await o.patch(`/projects/${e}/onboarding`,{completed:t}))}async function bt(e){return a(await o.delete(`/projects/${e}`))}async function Up(e,t){return he(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Op(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Sr(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 Qr(e){return a(await o.post("/projects/link-repository",e,{showErrors:!1}))}async function Yr(e){return a(await o.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Zr(e){return a(await o.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function es(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),a(await o.get(`/projects/github/repositories?${n.toString()}`,{showErrors:!1}))}async function ts(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return a(await o.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function ns(e){return a(await o.post("/projects/github/installation",e,{showErrors:!1}))}async function rs(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),a(await o.delete(`/projects/github/installation?${n.toString()}`))}async function Lp(e,t){return a(await o.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function ss(e,t){return a(await o.get(`/projects/${e}/access-requests`,t))}async function is(e,t,n="member"){return a(await o.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function os(e,t){return a(await o.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function as(e){return a(await o.get(`/projects/${e}/access`))}async function cs(e,t,n){return a(await o.put(`/projects/${e}/access/${t}`,{role:n}))}async function ls(e,t){return a(await o.delete(`/projects/${e}/access/${t}`))}function Fp(e){return"status"in e&&e.status==="invited"}async function us(e,t,n,r){return a(await o.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function ps(e){return a(await o.get(`/projects/${e}/access/pending-invites`))}async function ds(e,t){return a(await o.delete(`/projects/${e}/access/pending-invites/${t}`))}async function gs(e,t){return a(await o.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function ms(e){return a(await o.get(`/projects/${e}/group-grants`))}async function fs(e,t,n,r){return a(await o.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function ys(e,t,n,r){return a(await o.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function hs(e,t){return a(await o.delete(`/projects/${e}/group-grants/${t}`))}async function bs(e){return a(await o.get(`/projects/${e}/resource-grants`))}async function xs(e,t){return a(await o.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function ks(e,t){return a(await o.delete(`/projects/${e}/resource-grants/${t}`))}async function Ps(e,t){return a(await o.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function ws(e,t){return a(await o.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function _s(e,t,n,r="once"){return a(await o.post(`/projects/${e}/approvals/${t}`,{decision:n,scope:r}))}async function Ss(e){return a(await o.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function vs(e,t){return a(await o.post(`/projects/${e}/secrets`,t))}async function Cs(e,t,n){return a(await o.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function Rs(e,t,n){return a(await o.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Ts(e,t){return a(await o.put(`/projects/${e}/git-credential`,t))}async function Is(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function js(e,t,n){return a(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function As(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function Es(e){return a(await o.get(`/projects/${e}/connector-profiles`))}async function qs(e,t){return a(await o.post(`/projects/${e}/connector-profiles`,t))}async function $s(e,t,n){return a(await o.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}async function Ds(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function Ms(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function Us(e){return a(await o.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function Os(e){return a(await o.post(`/executor/projects/${e}/connectors/sync`,{}))}async function Ls(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function Fs(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function Gs(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Bs(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function Ks(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function Ns(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function Hs(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Ws(e,t){return a(await o.post(`/executor/projects/${e}/connectors`,t))}async function Vs(e,t){return a(await o.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function zs(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return a(await o.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Js(){return a(await o.get("/executor/connect-status"))}async function Xs(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,{value:n}))}async function Qs(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function Ys(e){return a(await o.get(`/executor/projects/${e}/policies`))}async function Zs(e,t,n){return a(await o.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function ei(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function ti(e){return a(await o.get(`/projects/${e}/snapshots`))}async function xt(e){return a(await o.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function ni(e,t){return a(await o.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function ri(e){return a(await o.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function si(e,t){return a(await o.post(`/projects/${e}/sandbox-templates`,t))}async function ii(e,t,n){return a(await o.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function oi(e,t){return a(await o.delete(`/projects/${e}/sandbox-templates/${t}`))}async function ai(e,t){return a(await o.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function ci(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function li(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function ui(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),a(await o.get(`/projects/${e}/files/search?${r.toString()}`))}async function pi(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),a(await o.get(`/projects/${e}/files/content?${r.toString()}`))}async function di(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 ue(),u=`${T().backendUrl||""}/projects/${e}/files/archive${s}`,d=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!d.ok){let g=await d.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${d.status})`)}return await d.blob()}async function gi(e){return a(await o.get(`/projects/${e}/branches`))}async function mi(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/commits${r}`))}async function fi(e,t){return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function yi(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function hi(e,t,n){let r=new URLSearchParams({path:t});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),a(await o.get(`/projects/${e}/files/history?${r.toString()}`))}async function bi(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return a(await o.get(`/projects/${e}/version-diff?${n.toString()}`))}async function xi(e,t){let n=t?`?status=${t}`:"";return a(await o.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function ki(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}`))}async function Pi(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/diff`))}async function wi(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function _i(e,t){return a(await o.post(`/projects/${e}/change-requests`,t))}async function Si(e,t,n){return a(await o.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function vi(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function Ci(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function Ri(e,t,n){return a(await o.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function Ti(e,t,n){return a(await o.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var Ii=new Set;function ji(e){e&&Ii.add(e)}function Ai(e){return!!e&&Ii.has(e)}function Gp(e){e&&Ii.delete(e)}async function be(e){return a(await o.get(`/projects/${e}/sessions`))}async function Ei(e,t,n){return a(await o.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function qi(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/previews`))}async function $i(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Di(e,t,n){return a(await o.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function Mi(e,t,n){return a(await o.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function xe(e,t){let n=a(await o.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||ji(n?.session_id),n}async function Ui(e,t,n){return a(await o.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function Oi(e,t,n,r){let s=n?`?limit=${n}`:"";return a(await o.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function Li(e,t,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return a(await o.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Fi(e,t,n){return a(await o.patch(`/projects/${e}/sessions/${t}`,n))}async function Gi(e,t){return a(await o.delete(`/projects/${e}/sessions/${t}`))}async function Me(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function Ue(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function Bi(e){return a(await o.get(`/projects/${e}/triggers`))}async function Ki(e,t){return a(await o.post(`/projects/${e}/triggers`,t))}async function Ni(e,t,n){return a(await o.patch(`/projects/${e}/triggers/${t}`,n))}async function Hi(e,t){return a(await o.delete(`/projects/${e}/triggers/${t}`))}async function Wi(e,t){return a(await o.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Vi(e,t){return a(await o.post(`/projects/${e}/triggers/${t}/fire`,{}))}var Y=new Map;function zi(e,t){return`${e}::${t}`}function vc(e,t){Y.delete(e),Y.set(e,t)}function Cc(e,t){let n=zi(e,t),r=Y.get(n);return r&&vc(n,r),r}function Rc(e,t,n){let r=zi(e,t);if(!Y.has(r)&&Y.size>=512){let s=Y.keys().next().value;s!==void 0&&Y.delete(s)}vc(r,n)}function Tc(e,t){Y.delete(zi(e,t))}var kt=class extends Error{status;code;terminal;constructor(t,n){super(t),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function Bp(e){return e instanceof Error&&e.name==="SessionStartError"}function Kp(e){let t=e,n=t?.status,r=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new kt(s,{status:n,code:r,terminal:!0}):null}async function ke(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await o.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let d=Kp(s.error);if(d&&!(d.status===404&&Ai(t)))throw d;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&Rc(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:st(u),sandboxId:u}),c}function Np(e,t){return["session-start",e,t]}async function Ji(e){return a(await o.get(`/projects/${e}/model-defaults`))}async function Xi(e,t){return a(await o.put(`/projects/${e}/model-defaults`,t))}async function Qi(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await o.delete(`/projects/${e}/model-defaults?${n}`))}async function Yi(e,t,n){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,n))}async function Hp(e,t){return a(await o.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function Wp(e,t,n){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,n))}async function Zi(e,t){return a(await o.put(`/projects/${e}/default-agent`,{agent:t}))}function eo(){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 to(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?eo():s.data}async function no(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?eo():s.data}async function ro(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return a(await o.get(`/billing/transactions${n?`?${n}`:""}`))}async function so(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return a(await o.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function io(){return a(await o.get("/billing/credit-breakdown"))}async function oo(e){let t=e!=null?`?days=${e}`:"";return a(await o.get(`/billing/usage-history${t}`))}async function ao(){return a(await o.get("/billing/tier-configurations"))}async function Vp(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return he(e,`/v1/billing/account-state${t}`)}async function co(e){return a(await o.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function lo(e,t){return a(await o.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function uo(e,t){return a(await o.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function po(e,t){return a(await o.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function go(e){return a(await o.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function mo(e,t,n){return a(await o.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function fo(e){return a(await o.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function yo(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),a(await o.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function ho(e){return a(await o.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function bo(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function xo(e){return a(await o.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function ko(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function Po(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var zp={oauth_available:!1,install_url:null};async function wo(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?zp:t.data}async function _o(e){return a(await o.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function So(e){let t=await o.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function vo(e,t){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Co(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Ro(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Jp={provider:"agentmail",managed_available:!1};async function To(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Ro(r.data):null}async function Io(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Jp:t.data}async function jo(e,t){let n=a(await o.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Ro(n)}async function Ao(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function Eo(e,t,n){let r=a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Ro(r)}async function qo(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/meet/voices`,{showErrors:!1});return t.success?t.data??null:null}async function $o(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/voice`,{voice:t},{showErrors:!1}),"Failed to save voice")}async function Do(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function Mo(e,t){let n=await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/voices/${encodeURIComponent(t)}/preview`,{},{showErrors:!1});return!n.success||!n.data?.b64?null:n.data.b64}async function Xp(e){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Qp(e,t,n){return a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Uo(e,t,n,r){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/speak`,{bot_id:t,text:n,voice:r},{showErrors:!1}),"Failed to speak in meeting")}async function Oo(e){return a(await o.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Lo(e,t){return a(await o.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Fo(e){return a(await o.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Go(e,t){return a(await o.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Bo(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return a(await o.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Ko(e,t){return a(await o.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function No(e,t){return a(await o.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ho(e,t){return a(await o.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Wo(e,t){return a(await o.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Vo(e,t){return a(await o.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function zo(e,t){return a(await o.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Jo(e){return a(await o.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Xo(e,t){return a(await o.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Qo(e,t){return a(await o.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Yo(e){return a(await o.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Zo(e,t){return a(await o.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function ea(e,t){return a(await o.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function ta(e,t,n){return a(await o.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n}),"Gateway request failed")}async function na(e){let t=new FormData;t.append("audio_file",e);let n=await o.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function ra(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return a(await o.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function sa(e,t){return a(await o.get(`/projects/${e}/review/items/${t}`))}async function ia(e,t){return a(await o.post(`/projects/${e}/review/items`,t))}async function oa(e,t,n){return a(await o.post(`/projects/${e}/review/items/${t}/act`,n))}async function aa(e,t){return a(await o.post(`/projects/${e}/review/bulk`,t))}async function ca(e){return a(await o.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function la(e){return a(await o.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function ua(e,t){let n=await o.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Pt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Ic(e,t=""){return`${Ee()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function jc(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Pt(s,t.status)}return r}async function Yp(e){return jc(Ic(e))}async function Zp(e){return jc(Ic(e,"/messages"))}async function pa(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/accounts/tokens${t}`))}async function da(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return a(await o.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function ga(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await o.delete(`/accounts/tokens/${e}${n}`))}async function ma(e){return a(await o.get(`/projects/${e}/cli-token`))}async function fa(e,t){return a(await o.post(`/projects/${e}/cli-token`,t??{}))}async function ya(e,t){return a(await o.delete(`/projects/${e}/cli-token/${t}`))}async function ha(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return a(await o.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function ba(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since);let r=n.toString();return a(await o.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function xa(e){return a(await o.get(`/accounts/${e}/audit/webhooks`))}async function ka(e,t){return a(await o.post(`/accounts/${e}/audit/webhooks`,t))}async function Pa(e,t,n){return a(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function wa(e,t){return a(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function _a(e,t){return a(await o.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function Sa(e,t){return a(await o.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function va(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source);let n=t.toString()?`?${t.toString()}`:"";return a(await o.get(`/marketplace/items${n}`))}async function Ca(){return a(await o.get("/marketplace/marketplaces"))}async function Ra(){return a(await o.get("/marketplace/marketplaces/featured"))}async function Ta(e){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function Ia(e,t){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function ja(){return a(await o.get("/marketplace/sources"))}async function Aa(e){return a(await o.post("/marketplace/sources",e),"Failed to add marketplace source")}async function Ea(e){return a(await o.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function ed(e){return a(await o.get(`/templates/${encodeURIComponent(e)}`))}async function td(e,t){return a(await o.post(`/templates/${encodeURIComponent(e)}/install`,t))}function nd(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 qa(e,t){let n=(e===void 0?q():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await R(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var V={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var Ac=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Ec=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,qc=new Set([22,4096,parseInt(V.KORTIX_MASTER,10)]);function rd(e){return Ec.test(e)}function wt(e){if(!e)return"/";let t=e,n=t.indexOf("](");n!==-1&&(t=t.slice(0,n));let r=t.toLowerCase().indexOf("%5d(");return r!==-1&&(t=t.slice(0,r)),t?t.startsWith("/")?t:`/${t}`:"/"}function sd(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var id=new Set(["'",'"',"`","<","(","["]),od=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function ad(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&&id.has(e[t]);)t++;for(;n>t&&od.has(e[n-1]);)n--;return e.slice(t,n)}function cd(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var ld=/^\/proxy\/(\d{1,5})(\/.*)?$/,ud=/^\/(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 $c(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:ud.test(t.pathname)}catch{return!1}}function Le(e){if(!e)return null;let t=ad(sd(e.trim())),n=Da(t);if(n){let r=wt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(V.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(ld);if(g){let h=parseInt(g[1],10);if(h>=1&&h<=65535)return s=h,c=wt(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let d=wt(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${d}`,port:s,path:d}}catch{let r=cd(e);return r&&r!==e?Le(r):null}}function pd(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let c=r.index,u=c+r[0].length;t.some(([g,h])=>c>=g&&u<=h)||t.push([c,u])}return t}function dd(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Dc(e){let t=[],n=new Set,r=pd(e);Ac.lastIndex=0;let s;for(;(s=Ac.exec(e))!==null;){let c=Le(s[0]);if(!c)continue;let{originalUrl:u,port:d,path:g}=c;d<1||d>65535||qc.has(d)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:d,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:dd(s.index,r)}))}return t}function gd(e){return Dc(e).length>0}function md(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Pe(e,t,n){let r=wt(t);if(!md(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 fd(e,t){return Pe(e,"/",t)}function Mc(e){let t=Le(e);return!(!t||qc.has(t.port)||$c(e))}function $a(e,t){if(!e)return e;let n=Le(e);return n?Mc(n.originalUrl)?Pe(n.port,n.path,t):n.originalUrl:e}function yd(e,t="/"){return`http://localhost:${e}${t}`}var Uc=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Da(e){let t=e.match(Ec);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(Uc);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 hd(e){try{let t=Da(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function bd(e){return rd(e)||Uc.test(e)}var Oe="/web-proxy/";function xd(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Oe}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(V.KORTIX_MASTER,10);return`${Pe(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function kd(e){try{let t=new URL(e),n=t.pathname.indexOf(Oe);if(n===-1)return null;let s=t.pathname.slice(n+Oe.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],d=s[3]||"/";return`${c}://${u}${d}${t.search}${t.hash}`}catch{return null}}function Pd(e){try{return new URL(e).pathname.includes(Oe)}catch{return e.includes(Oe)}}function wd(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 _d(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 Oc="frontend";function _t(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Oc}] ${t}`,...n?[n]:[]);try{X().app.log({service:Oc,level:e,message:t,extra:n})}catch{}}var Z={debug:(e,t)=>_t("debug",e,t),info:(e,t)=>_t("info",e,t),warn:(e,t)=>_t("warn",e,t),error:(e,t)=>_t("error",e,t)};function Lc(e){return{type:"heartbeat-gap",gapMs:e}}function Fc(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 Sd={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},vd=16,Cd=8,Rd=6e4,Td=5e3,Id=250,jd=1e3,Ad=3e4,Ed=5,qd=3e3,$d=3e4,Dd=2e4,Md=2e3,Ud=8;function Od(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Gc(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function St(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??Sd,d=e.connectTimeoutMs??Dd,g=e.heartbeatTimeoutMs??Rd,h=e.maxConsecutiveHardFailures??Ud,m=new AbortController,x=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",x,{once:!0}));let w=u.now(),k=[],l,i=0,P=new Map,_=()=>{if(l&&u.clearTimeout(l),l=void 0,k.length===0)return;let A=k;k=[],P.clear(),i=u.now(),w=u.now();for(let v of A)if(v)try{n(v.event)}catch(I){console.warn("[opencode-events] event handler threw, skipping",I)}},D=()=>{if(l)return;let A=u.now()-i;l=u.setTimeout(_,Math.max(0,vd-A))};return(async()=>{let A=0,v=0;for(;!m.signal.aborted;){let I=!1,j=!1,f,S,U=null,N=u.now(),M=new AbortController,O=Gc(m.signal);O.promise.then(()=>M.abort());try{let F=await new Promise((qt,Ce)=>{let G=!1;S=u.setTimeout(()=>{G||(G=!0,Z.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:d}),M.abort(),Ce(new Error(`SSE connect timed out after ${d}ms`)))},d),t.global.event({signal:M.signal,sseDefaultRetryDelay:qd,sseMaxRetryDelay:$d,sseMaxRetryAttempts:1}).then(W=>{G||(G=!0,u.clearTimeout(S),qt(W))},W=>{G||(G=!0,u.clearTimeout(S),Ce(W))})}),{stream:E}=F;w=u.now();let B=()=>{u.clearTimeout(f),f=u.setTimeout(()=>{Z.warn("SSE heartbeat timeout, forcing reconnect"),M.abort()},g)};B();let ze=u.now(),vl=E[Symbol.asyncIterator]();for(;!M.signal.aborted;){let qt=vl.next().then(J=>({kind:"next",result:J}),J=>({kind:"error",error:J})),Ce=Gc(M.signal),G=await Promise.race([qt,Ce.promise.then(()=>({kind:"aborted"}))]);if(Ce.cleanup(),G.kind==="aborted")break;if(G.kind==="error")throw G.error;if(G.result.done)break;I=!0,B();let W=G.result.value,Je=W&&typeof W=="object"&&"payload"in W?W.payload:W;if(!Je?.type)continue;let $t=Od(Je);if($t){let J=P.get($t);J!==void 0&&(k[J]=void 0),P.set($t,k.length)}k.push({type:Je.type,event:Je}),D(),!(u.now()-ze<Cd)&&(ze=u.now(),await new Promise(J=>u.setTimeout(J,0)))}j=I}catch(F){if(m.signal.aborted)break;U=F;let E=String(F),B=E.includes("401")||E.includes("403")||E.includes("Unauthorized")||E.includes("Token refresh failed");if(Z.error("SSE event stream error",{error:E,retryCount:A,isAuthError:B}),B)try{je(),await rt(),Z.info("SSE: refreshed auth token after auth error")}catch(ze){Z.error("SSE: failed to refresh auth token",{error:String(ze)})}}finally{u.clearTimeout(f),u.clearTimeout(S),M.abort(),O.cleanup(),_()}if(m.signal.aborted)break;let ce=u.now()-N,Ve=U?.cause?.status;if(v=!I&&(typeof Ve=="number"&&Ve>=400||ce<Md)?v+1:0,v>=h){Z.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(U)});try{s?.({consecutiveFailures:v,lastError:U})}catch(F){console.warn("[opencode-events] onParked handler threw",F)}break}let ve=u.now()-w;ve>Td&&r?.(ve),j?A=0:(A++,A>1&&Z.warn("SSE event stream reconnecting",{retryCount:A}));let H=j?Id:Math.min(jd*2**Math.min(A-1,Ed),Ad);await new Promise(F=>{let E=u.setTimeout(F,H),B=()=>{u.clearTimeout(E),F()};m.signal.addEventListener("abort",B,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",x),l&&u.clearTimeout(l)}}}function Ld(){return X()}var vt=new Map,Fe=class extends Error{constructor(t){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${t}\`.`),this.name="SessionNotReadyError"}};function Bc(e,t){Qe(e,t);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new C(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let i=T().backendUrl??e.backendUrl,P=80,_=n(i);return _&&(P=_.port?Number(_.port):_.protocol==="https:"?443:80),{sandboxId:l,backendPort:P,apiBaseUrl:i}}let s={list:vr,get:Rr,create:Cr,updateName:Tr,leave:Lr,members:Ir,invite:jr,removeMember:Ur,updateMemberRole:Or,invites:Ar,cancelInvite:Er,resendInvite:qr,tokens:{list:pa,create:da,revoke:ga},audit:{log:ha,export:ba,webhooks:{list:xa,create:ka,update:Pa,remove:wa}}},c={accountState:to,accountStateMinimal:no,transactions:ro,transactionsSummary:so,creditBreakdown:io,usageHistory:oo,tierConfigurations:ao,checkout:{createSession:l=>co(l),confirmSession:(l,i)=>lo(l,i)},subscription:{createPortalSession:(l,i)=>uo(l,i),cancel:(l,i)=>po(l,i),reactivate:l=>go(l),scheduleDowngrade:(l,i,P)=>mo(l,i,P),cancelScheduledChange:l=>fo(l),prorationPreview:(l,i)=>yo(l,i)},credits:{purchase:l=>ho(l),autoTopupSettings:l=>bo(l),configureAutoTopup:l=>xo(l)}},u={describe:$r,accept:Dr,decline:Mr},d={list:oe,listForAccount:Gr,get:gt,detail:mt,create:Hr,createRepo:Wr,provision:Vr,update:ht,archive:bt,llmCatalog:ft,modelPicker:yt,sandboxHealth:xt,sandboxTemplates:ei,sessions:be,createSession:xe},g={linkRepository:Qr,getInstallation:Yr,listInstallations:Zr,listRepositories:es,listRepositoryBranches:ts,saveInstallation:ns,deleteInstallation:rs},h={list:ca,create:la,revoke:ua},m=Js,x={items:l=>va(l),item:l=>Ta(l),itemFile:(l,i)=>Ia(l,i),marketplaces:()=>Ca(),featured:()=>Ra(),sources:{list:()=>ja(),add:l=>Aa(l),remove:l=>Ea(l)}};function w(l){return{get:i=>gt(l,i),detail:()=>mt(l),update:i=>ht(l,i),archive:()=>bt(l),llmCatalog:()=>ft(l),modelPicker:()=>yt(l),sandboxHealth:()=>xt(l),onboardingComplete:(...i)=>Xr(l,...i),tokens:{list:()=>ma(l),create:i=>fa(l,i),revoke:i=>ya(l,i)},setupLinks:{requestSecret:i=>_a(l,i),requestConnector:i=>Sa(l,i)},validateManifest:i=>Kr(l,i),gitToken:()=>Nr(l),secrets:{list:()=>Ss(l),upsert:i=>vs(l,i),remove:i=>Is(l,i),setPersonal:(...i)=>js(l,...i),removePersonal:i=>As(l,i),setGitCredential:i=>Ts(l,i),startProviderOAuth:(...i)=>Cs(l,...i),pollProviderOAuth:(...i)=>Rs(l,...i)},access:{list:()=>as(l),invite:(...i)=>us(l,...i),update:(...i)=>cs(l,...i),revoke:i=>ls(l,i),pendingInvites:()=>ps(l),resendInvite:(...i)=>gs(l,...i),revokeInvite:(...i)=>ds(l,...i),requests:()=>ss(l),approveRequest:(...i)=>is(l,...i),rejectRequest:(...i)=>os(l,...i),groupGrants:()=>ms(l),attachGroupGrant:(...i)=>fs(l,...i),updateGroupGrant:(...i)=>ys(l,...i),detachGroupGrant:i=>hs(l,i),resourceGrants:{list:()=>bs(l),create:i=>xs(l,i),remove:i=>ks(l,i)}},connectors:{list:()=>Us(l),config:(...i)=>Ks(l,...i),create:(...i)=>Ws(l,...i),remove:(...i)=>Vs(l,...i),sync:()=>Os(l),setName:(...i)=>Ns(l,...i),setCredentialMode:(...i)=>Ls(l,...i),setCredential:(...i)=>Xs(l,...i),setSensitive:(...i)=>Fs(l,...i),profiles:{list:()=>Es(l),reconcile:(...i)=>qs(l,...i),updateCredential:(...i)=>$s(l,...i),revoke:(...i)=>Ds(l,...i),activate:(...i)=>Ms(l,...i)},policies:{get:(...i)=>Gs(l,...i),set:(...i)=>Bs(l,...i)},pipedream:{listApps:(...i)=>zs(l,...i),connect:(...i)=>Hs(l,...i),finalize:(...i)=>Qs(l,...i)}},policies:{list:()=>Ys(l),set:(...i)=>Zs(l,...i)},triggers:{list:()=>Bi(l),create:(...i)=>Ki(l,...i),update:(...i)=>Ni(l,...i),remove:(...i)=>Hi(l,...i),fire:(...i)=>Vi(l,...i),setActivation:(...i)=>Wi(l,...i)},files:{list:i=>li(l,i),read:(i,P)=>pi(l,i,P),search:(...i)=>ui(l,...i),archive:(...i)=>di(l,...i),history:(...i)=>hi(l,...i)},git:{commits:()=>mi(l),commit:i=>fi(l,i),commitDiff:i=>yi(l,i),branches:()=>gi(l),versionDiff:(...i)=>bi(l,...i),inviteCollaborator:(...i)=>Br(l,...i)},changeRequests:{list:()=>xi(l),get:i=>ki(l,i),diff:i=>Pi(l,i),mergePreview:i=>wi(l,i),open:(...i)=>_i(l,...i),merge:(...i)=>Si(l,...i),close:(...i)=>vi(l,...i),reopen:(...i)=>Ci(l,...i),requestChanges:(...i)=>Ri(l,...i)},sessions:{list:()=>be(l),create:i=>xe(l,i)},review:{list:i=>ra(l,i),get:i=>sa(l,i),submit:i=>ia(l,i),act:(...i)=>oa(l,...i),bulkAct:i=>aa(l,i)},approvals:{list:i=>Ps(l,i),resolve:(...i)=>_s(l,...i),sessionsNeedingInput:i=>ws(l,i)},gateway:{logs:i=>Bo(l,i),log:i=>Ko(l,i),overview:i=>No(l,i),series:i=>Ho(l,i),breakdown:i=>Wo(l,i),sessions:i=>Vo(l,i),errors:i=>zo(l,i),budgets:()=>Jo(l),setBudget:i=>Xo(l,i),deleteBudget:i=>Qo(l,i),keys:()=>Yo(l),createKey:i=>Zo(l,i),revokeKey:i=>ea(l,i),routing:{get:()=>Oo(l),set:i=>Lo(l,i),reset:()=>Fo(l),preview:i=>Go(l,i)},playground:(i,P)=>ta(l,i,P)},channels:{slack:{installation:()=>ko(l),connect:i=>Po(l,i),mode:()=>wo(l),manifest:()=>_o(l),disconnect:()=>So(l),getFile:i=>vo(l,i),uploadFile:i=>Co(l,i)},email:{installation:i=>To(l,i),mode:()=>Io(l),connect:i=>jo(l,i),disconnect:i=>Ao(l,i),updatePolicy:(...i)=>Eo(l,...i)},meet:{voices:()=>qo(l),setVoice:i=>$o(l,i),setBotName:i=>Do(l,i),previewVoice:i=>Mo(l,i),speak:(i,P,_)=>Uo(l,i,P,_)}},updateExperimentalFeature:(...i)=>zr(l,...i),modelDefaults:{get:()=>Ji(l),set:i=>Xi(l,i),clear:i=>Qi(l,i)},setDefaultAgent:i=>Zi(l,i),sandbox:{list:()=>ci(l),snapshots:()=>ti(l),rebuildSnapshot:i=>ni(l,i),fixWithAgent:()=>ri(l),createTemplate:i=>si(l,i),updateTemplate:(...i)=>ii(l,...i),removeTemplate:i=>oi(l,i),buildTemplate:i=>ai(l,i),setProvider:i=>Jr(l,i)},setAgentScope:(...i)=>Yi(l,...i),session:i=>k(l,i)}}function k(l,i){let P=null,_,D;function A(){if(P)return P;let f=Cc(l,i);return f&&(P=f),P}async function v(){let f=A();if(f)return f;let S=`${l}
8
+ ${i}`,U=vt.get(S);if(U)return P=await U,P;let N=(async()=>{let M=await ke(l,i,3e4);if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new C(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let O=M.sandbox.external_id;if(!O)throw new C("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let ce=st(O);return uc(ce,O),{opencodeSessionId:M.opencode_session_id,runtimeUrl:ce,sandboxId:O}})();vt.set(S,N);try{return P=await N,P}finally{vt.get(S)===N&&vt.delete(S)}}function I(f){let S=A();if(!S)throw new Fe(f);return S}function j(){P=null,Tc(l,i)}return{get:f=>Ui(l,i,f),update:f=>Fi(l,i,f),delete:()=>(j(),Gi(l,i)),start:(...f)=>ke(l,i,...f),restart:()=>(j(),Me(l,i)),stop:()=>(j(),Ue(l,i)),setSharing:f=>Ei(l,i,f),previews:()=>qi(l,i),commit:f=>Ti(l,i,f),publicShares:{list:()=>$i(l,i),create:(...f)=>Di(l,i,...f),revoke:(...f)=>Mi(l,i,...f)},audit:(f,S)=>Oi(l,i,f,S),transcript:f=>Li(l,i,f),ensureReady:v,health:f=>qa(A()?.runtimeUrl??null,f),previewUrl:(f,S="/")=>Pe(f,S,r(I("previewUrl").sandboxId)),proxyUrl:f=>$a(f,r(I("proxyUrl").sandboxId)),setModel:f=>{_=f},setAgent:f=>{D=f},send:async(f,S)=>{let{opencodeSessionId:U,runtimeUrl:N}=await v(),M=S?.model??_,O=S?.agent??D;return se(N).session.prompt({sessionID:U,parts:[{type:"text",text:f}],...M?{model:M}:{},...O?{agent:O}:{}})},abort:async()=>{let{opencodeSessionId:f,runtimeUrl:S}=await v();return se(S).session.abort({sessionID:f})},stream:async f=>{let{runtimeUrl:S}=await v();return St({client:se(S),onEvent:f.onEvent,onGapRehydrate:f.onGapRehydrate,signal:f.signal})},get runtime(){return se(I("runtime").runtimeUrl)},files:{list:async f=>mr(f,(await v()).runtimeUrl),read:async f=>ut(f,(await v()).runtimeUrl),readBlob:async f=>pt(f,(await v()).runtimeUrl),status:async()=>fr((await v()).runtimeUrl),findFiles:async(f,S)=>yr(f,S,(await v()).runtimeUrl),findText:async f=>hr(f,(await v()).runtimeUrl),upload:async(f,S,U)=>dt(f,S,U,(await v()).runtimeUrl),create:async f=>br(f,(await v()).runtimeUrl),copy:async(f,S)=>xr(f,S,(await v()).runtimeUrl),remove:async f=>kr(f,(await v()).runtimeUrl),mkdir:async f=>Pr(f,(await v()).runtimeUrl),rename:async(f,S)=>wr(f,S,(await v()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:u,projects:d,project:w,session:k,github:g,billing:c,sandboxShares:h,transcribe:na,connectStatus:m,marketplace:x,validateToken:Fr,runtime:Ld}}function Kc(){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 Ma={thinking:!1,toolDetails:!0,assistantMetadata:!0};function Fd(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Gd(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 Bd(e,t){if(e.type==="text"&&!("synthetic"in e&&e.synthetic))return`${e.text}
9
9
 
10
10
  `;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
11
11
  >
12
12
  > ${(e.text||"").replace(/\n/g,`
13
13
  > `)}
14
14
 
15
- `:"";if(e.type==="tool"){let r=e,n=`**Tool: ${r.tool}**
16
- `;if(t.toolDetails&&r.state?.input)try{let s=typeof r.state.input=="string"?r.state.input:JSON.stringify(r.state.input,null,2);n+=`
15
+ `:"";if(e.type==="tool"){let n=e,r=`**Tool: ${n.tool}**
16
+ `;if(t.toolDetails&&n.state?.input)try{let s=typeof n.state.input=="string"?n.state.input:JSON.stringify(n.state.input,null,2);r+=`
17
17
  <details>
18
18
  <summary>Input</summary>
19
19
 
@@ -22,8 +22,8 @@ ${s}
22
22
  \`\`\`
23
23
 
24
24
  </details>
25
- `}catch{}if(t.toolDetails&&r.state?.status==="completed"&&r.state?.output){let s=r.state.output,c=s.length>2e3?s.slice(0,2e3)+`
26
- ... (truncated)`:s;n+=`
25
+ `}catch{}if(t.toolDetails&&n.state?.status==="completed"&&n.state?.output){let s=n.state.output,c=s.length>2e3?s.slice(0,2e3)+`
26
+ ... (truncated)`:s;r+=`
27
27
  <details>
28
28
  <summary>Output</summary>
29
29
 
@@ -32,33 +32,33 @@ ${c}
32
32
  \`\`\`
33
33
 
34
34
  </details>
35
- `}return t.toolDetails&&r.state?.status==="error"&&r.state?.error&&(n+=`
35
+ `}return t.toolDetails&&n.state?.status==="error"&&n.state?.error&&(r+=`
36
36
  **Error:**
37
37
  \`\`\`
38
- ${r.state.error}
38
+ ${n.state.error}
39
39
  \`\`\`
40
- `),n+=`
41
- `,n}return""}function Nd(e,t){if(!t)return`## Assistant
40
+ `),r+=`
41
+ `,r}return""}function Kd(e,t){if(!t)return`## Assistant
42
42
 
43
- `;let r=e.agent?Gd(e.agent):"Assistant",n=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=Bd(e.time.completed-e.time.created));let c=[n,s].filter(Boolean).join(" \xB7 ");return c?`## ${r} (${c})
43
+ `;let n=e.agent?Fd(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=Gd(e.time.completed-e.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
44
44
 
45
- `:`## ${r}
45
+ `:`## ${n}
46
46
 
47
- `}function Hd(e,t,r){let n="";e.role==="user"?n+=`## User
47
+ `}function Nd(e,t,n){let r="";e.role==="user"?r+=`## User
48
48
 
49
- `:n+=Nd(e,r.assistantMetadata);for(let s of t)n+=Kd(s,r);return n}function Hc(e,t,r=Ua){let n=`# ${e.title||"Untitled Session"}
49
+ `:r+=Kd(e,n.assistantMetadata);for(let s of t)r+=Bd(s,n);return r}function Nc(e,t,n=Ma){let r=`# ${e.title||"Untitled Session"}
50
50
 
51
- `;n+=`**Session ID:** \`${e.id}\`
52
- `,n+=`**Created:** ${new Date(e.time.created).toLocaleString()}
53
- `,n+=`**Updated:** ${new Date(e.time.updated).toLocaleString()}
51
+ `;r+=`**Session ID:** \`${e.id}\`
52
+ `,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
53
+ `,r+=`**Updated:** ${new Date(e.time.updated).toLocaleString()}
54
54
 
55
- `,n+=`---
55
+ `,r+=`---
56
56
 
57
- `;for(let s of t)n+=Hd(s.info,s.parts,r),n+=`---
57
+ `;for(let s of t)r+=Nd(s.info,s.parts,n),r+=`---
58
58
 
59
- `;return n}function Wc(e,t){return`session-${e}.md`}function K(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let r=JSON.parse(t);if(typeof r=="string"){t=r;try{let n=JSON.parse(t);return Ge(n)||t}catch{return t}}return Ge(r)||t}catch{return Wd(t)??t}}return typeof e=="object"?Ge(e)||"An error occurred":String(e)}function zc(e){let t=e.indexOf("{"),r=e.lastIndexOf("}");if(!(t===-1||r===-1||r<=t))return e.slice(t,r+1)}function Wd(e){let t=zc(e);if(t)try{return Ge(JSON.parse(t))}catch{return}}function Ge(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let r=t.data;if(typeof r?.message=="string")return r.message;let n=t.error;if(typeof n?.message=="string")return n.message}function Oa(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Vc(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,r=typeof e.code=="string"&&e.code?e.code:void 0,n=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!r&&!n&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||Ge(e)||"",provider:t,code:r,suggestion:n,upstreamStatus:s,requestId:c}}function ee(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,d=Oa(u)??Oa(zc(u));return d!==void 0?ee(d):void 0}if(typeof e!="object")return;let t=e,r=Vc(t);if(r)return r;let n=t.error;if(n&&typeof n=="object"&&!Array.isArray(n)){let u=Vc(n);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Oa(s.responseBody);if(u!==void 0){let d=ee(u);if(d)return d}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let d=ee(u);if(d)return d}}}var Vd={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"}},zd=[{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 Jd(e){return e.replace(/^oc[-_]/,"")}function Be(e){return Jd(e).replace(/-/g,"_")}function Ct(e){return Be(e).split(/[_\s]+/).filter(Boolean).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}function Rt(e){let t=Be(e),r=Vd[t];if(r)return r;for(let{prefix:n,category:s}of zd)if(t.startsWith(n))return{label:Ct(e),category:s};return{label:Ct(e),category:"other"}}var Xd=256*1024;function Qd(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Yd(e){if(e===void 0)return{};if(e.length>Xd)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Zd(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,r=t.success===!1,n=t.error,s=typeof n=="string"&&n.length>0||typeof n=="object"&&n!==null;if(!(!r&&!s))return s?K(n):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function eg(e,t){let r="title"in t?t.title:void 0,n=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=Yd(n),u=Qd(t),d=t.status==="error"?t.error:void 0;if(u==="done"){let g=Zd(s);g&&(u="error",d=g)}return{name:e,title:r||Rt(e).label,status:u,input:t.input,output:n,outputParsed:s,outputText:c,error:d}}function tg(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function rg(e){return{kind:"reasoning",id:e.id,text:e.text}}function ng(e){return{kind:"tool",id:e.id,tool:eg(e.tool,e.state)}}function sg(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 ig(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function og(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function ag(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function cg(e){return{kind:"agent",id:e.id,name:e.name}}function lg(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:K(e.error),createdAt:e.time.created}}function ug(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function pg(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function dg(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function La(e){switch(e.type){case"text":return tg(e);case"reasoning":return rg(e);case"tool":return ng(e);case"file":return sg(e);case"subtask":return ig(e);case"patch":return og(e);case"snapshot":return ag(e);case"agent":return cg(e);case"retry":return lg(e);case"compaction":return ug(e);case"step-start":return pg(e);case"step-finish":return dg(e);default:return{kind:"unknown",raw:e}}}function gg(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",r=ee(e);return{name:t,message:r?.message||K(e),provider:r?.provider,code:r?.code,suggestion:r?.suggestion,upstreamStatus:r?.upstreamStatus,requestId:r?.requestId}}function mg(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Jc(e){let t=e.parts.map(La),r=e.info.role==="assistant"?e.info.error:void 0,n=gg(r),s=!n&&!t.some(mg);return{parts:t,error:n,isEmpty:s}}function te(e){return e.type==="text"}function Tt(e){return e.type==="reasoning"}function z(e){return e.type==="tool"}function Xc(e){return e.type==="file"}function fg(e){return e.type==="agent"}function yg(e){return e.type==="compaction"}function hg(e){return e.type==="snapshot"}function bg(e){return e.type==="patch"}function xg(e){if(te(e)||Tt(e))return e.text}function Qc(e){if(!Xc(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function kg(e){let t=[],r=[];for(let n of e)Qc(n)?t.push(n):r.push(n);return{attachments:t,stickyParts:r}}function Pg(e,t){let r=[];return e?.tool&&r.push(e.tool),t?.tool&&r.push(t.tool),r}function wg(e,t,r){return r.some(n=>n.messageID===t&&n.callID===e.callID)}var _g=new Set(["todoread","context_info"]);function Yc(e){return!_g.has(e.tool)}function Sg(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let n=e.state?.metadata?.sessionId;if(typeof n=="string"&&n)return n;let s=e.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=e.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let r=e.tool?.replace(/-/g,"_")||"";if(r==="session_spawn"||r==="session_start_background"){let n=e.state?.output;if(n){let s=n.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function vg(e){if(e)for(let t=e.length-1;t>=0;t--){let r=e[t]?.info;if(r?.role==="assistant"&&r.error)return K(r.error)}}function Cg(e){let t=[];for(let r of e)if(r.info.role==="assistant")for(let n of r.parts)z(n)&&Yc(n)&&t.push(n);return t}function Rg(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Zc(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:el(t.path)};case"glob":return{icon:"search",title:"Glob",subtitle:t.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:t.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:t.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:t.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:t.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:t.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:t.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:t.prompt?.slice?.(0,40)};case"presentation-gen":{let r=t.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[r]||"Presentation",subtitle:t.slide_title||t.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:t.title||t.description};case"task":return{icon:"square-kanban",title:`Agent (${t.subagent_type||"task"})`,subtitle:tl(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:Fa(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Fa(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 Zc(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Fa(e){if(!e)return;let t=e.split("/"),r=t[t.length-1]||e;if(t.length<=1)return r;let n=t[t.length-2];return n?`${r} /${n}`:r}function el(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Tg(e,t){if(!t)return e;if(e.startsWith(t)){let r=e.slice(t.length);return r.startsWith("/")?r.slice(1):r}return e}function Ke(e,t=120){if(typeof e!="string")return"";let r=e.split(`
60
- `).map(n=>n.trim()).find(Boolean);return r?r.length>t?`${r.slice(0,t).trim()}\u2026`:r:""}function tl(e){let t=Ke(e.description);if(t)return t;let r=Ke(e.title,80);if(r)return r;let n=Ke(e.message);if(n)return n;let s=Ke(e.prompt);if(s)return s;let c=Ke(e.agent_id,40);return c?`Agent ${c}`:"Worker task"}function Ig(e,t){return!e||!t?[]:(e[t]??[]).filter(n=>n.severity===1).slice(0,3)}function jg(e,t){return e.find(r=>r.tool?.callID===t)}function Ag(e,t){return e.find(r=>r.tool?.callID===t)}var Eg=/\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 $g(e){return e?e.replace(Eg,""):""}function qg(e){let t=[],r=new Map;for(let s of e)if(s.info.role==="user"){if(r.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};t.push(c),r.set(s.info.id,c)}let n=null;for(let s of e){if(s.info.role==="user"){n=r.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let c=s.info;if(c.parentID){let d=r.get(c.parentID);if(d){d.assistantMessages.push(s);continue}}if(n){n.assistantMessages.push(s);continue}if(t.length>0){t[0].assistantMessages.unshift(s);continue}let u={userMessage:s,assistantMessages:[]};t.push(u)}return t}function Dg(e){let t=[];for(let r of e.assistantMessages)for(let n of r.parts)t.push({part:n,message:r});return t}function Mg(e){for(let t=e.length-1;t>=0;t--){let r=e[t].part;if(te(r)&&r.text?.trim())return r}}function Ug(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Og(e,t,r){if(r)return[];let n=[];for(let s of e.assistantMessages)for(let c of s.parts){if(!z(c))continue;let u=c,d=u.state?.metadata?.answers;u.tool==="question"&&(d?.length??0)>0&&n.push({part:c,message:s})}return n}function Lg(e){let t=new Map;for(let r of e){if(!r.parentID)continue;let n=t.get(r.parentID);n?n.push(r.id):t.set(r.parentID,[r.id])}return t}function Fg(e){let t=e-6e4;return(r,n)=>{let s=r.time.updated??r.time.created,c=n.time.updated??n.time.created,u=s>t,d=c>t;return u&&d?r.id<n.id?-1:r.id>n.id?1:0:u&&!d?-1:!u&&d?1:c-s}}function rl(e,t){let r=e.get(t);if(!r||r.length===0)return[];let n=[];for(let s of r)n.push(s),n.push(...rl(e,s));return n}function nl(e){let t=e.userMessage.parts;if(t.length===0||!t.every(c=>te(c)&&c.synthetic)||e.assistantMessages.length!==1)return!1;let n=e.assistantMessages[0].parts;if(n.length!==1)return!1;let s=n[0];return z(s)&&s.tool==="bash"}function Gg(e){if(nl(e))return e.assistantMessages[0].parts[0]}function Bg(e,t){for(let r=t.length-1;r>=0;r--)if(t[r].info.role==="user")return t[r].info.id===e;return!1}function Kg(e,t){return!t||!e?!1:e.type!=="idle"}function Ng(e,t){return!e&&!!t}function Hg(e){for(let t of e.assistantMessages){let r=t.info;if(r.error)return K(r.error)}}function Wg(e){for(let t of e.assistantMessages){let r=t.info;if(r.error)return ee(r.error)}}function Ga(e){if(e){if(z(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${e.tool}...`}if(Tt(e)){let t=e.text?.trimStart();if(t){let r=t.match(/^\*\*(.+?)\*\*/);if(r)return`Thinking about ${r[1].trim()}...`}return"Thinking..."}if(te(e))return"Gathering thoughts..."}}function Vg(e,t){for(let r=e.length-1;r>=0;r--){let n=e[r].part,s=z(n)?n:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&t&&t.length>0){for(let u=t.length-1;u>=0;u--){let d=t[u];if(d.info.role==="assistant")for(let g=d.parts.length-1;g>=0;g--){let h=Ga(d.parts[g]);if(h)return h}}return"Delegating to agent..."}let c=Ga(n);if(c)return c}return"Considering next steps..."}function zg(e){if(!Number.isFinite(e)||e<1e3)return"";let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let r=Math.floor(t/60),n=t%60;return n>0?`${r}m ${n}s`:`${r}m`}var Ba=1.2;function sl(e,t){if(!e)return 0;let r=e.input??0,n=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,c=e.cache?.write??0,d=Math.max(0,r-s-c)/1e6*t.inputPer1M;return d+=n/1e6*t.outputPer1M,s>0&&(d+=s/1e6*(t.cacheReadPer1M??t.inputPer1M)),c>0&&(d+=c/1e6*t.inputPer1M),d}function il(e,t,r,n){let s=e.cost||0;if(s>0)return s;if(!n||!t||!r)return 0;let c=n(t,r);return c?sl(e.tokens,c):0}function ol(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function Jg(e,t){let r=0,n=0,s=0,c=0,u=0,d=0,g=!1;for(let{part:h,message:m}of e)if(h.type==="step-finish"){g=!0;let x=h,{providerID:w,modelID:k}=ol(m.info);r+=il(x,w,k,t),n+=x.tokens?.input||0,s+=x.tokens?.output||0,c+=x.tokens?.reasoning||0,u+=x.tokens?.cache?.read||0,d+=x.tokens?.cache?.write||0}if(!g)for(let{message:h}of e){if(h.info.role!=="assistant")continue;let m=h.info,x=al(m,t);if(x<=0)continue;g=!0,r+=x;let w=m.tokens;w&&(n+=w.input??0,s+=w.output??0,c+=w.reasoning??0,u+=w.cache?.read??0,d+=w.cache?.write??0)}if(g)return{cost:r*Ba,tokens:{input:n,output:s,reasoning:c,cacheRead:u,cacheWrite:d}}}function al(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let r=t(e.providerID,e.modelID);return r?sl({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},r):0}function Xg(e,t){let r=0;for(let n of e){if(n.info?.role!=="assistant")continue;let s=n.info,{providerID:c,modelID:u}=ol(s),d=0,g=!1;for(let h of n.parts)h.type==="step-finish"&&(g=!0,d+=il(h,c,u,t));g||(d+=al(s,t)),r+=d}return r*Ba}function Qg(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function Yg(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function Zg(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 em(e){if(!(!e||e.type!=="retry"))return K(e.message)}function tm(e){return(e.info.summary?.diffs?.length??0)>0}var rm=4e3;function Ne(e,t=rm){return e.length>t?`${e.slice(0,t)}
61
- \u2026`:e}function cl(e){if(e!==void 0)try{return Ne(JSON.stringify(e,null,2))}catch{return}}function q(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function we(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function nm(e){let t=q(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let r=we(e.outputParsed);if(!r)return{kind:"web-search",query:t};let s=(Array.isArray(r.results)?r.results:Array.isArray(r.images)?r.images:[]).slice(0,50).map(c=>{let u=we(c)??{};return{title:q(u.title)??"",url:q(u.url,u.link)??"",snippet:q(u.snippet,u.description,u.source)}});return{kind:"web-search",query:q(r.query)??t,results:s.length>0?s:void 0,answer:q(r.answer)}}var sm=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function im(e,t,r){let n="",s=0;for(;;){let c=e.indexOf(t,s);if(c===-1)return n+e.slice(s);let u=e.indexOf(r,c+t.length);if(u===-1)return n+e.slice(s);n+=e.slice(s,c),s=u+r.length}}var om=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function am(e){let t=-1;for(let r of om){let n=e.indexOf(r);n!==-1&&(t===-1||n<t)&&(t=n)}return t===-1?e:e.slice(0,t)}var cm=/\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 lm(e){return e.replace(cm,"")}function um(e){let t=q(e.input?.command)??"",r=e.output??"",n=r.match(sm),s=n?Number(n[1]):void 0,u=lm(am(im(r,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:u||void 0,exitCode:s}}function Na(e){return q(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function pm(e){let t=e.status==="error"?e.error:e.output&&Ne(e.output)||void 0;return{kind:"file-read",path:Na(e),preview:t}}function dm(e){let t=q(e.input?.content),r=e.status==="error"?e.error:Ne(t??e.output??"")||void 0;return{kind:"file-write",path:Na(e),preview:r}}var gm=256*1024;function mm(e,t){if(e.length+t.length>gm)return;let r=e.split(`
62
- `),n=t.split(`
63
- `),s=0;for(;s<r.length&&s<n.length&&r[s]===n[s];)s++;let c=r.length,u=n.length;for(;c>s&&u>s&&r[c-1]===n[u-1];)c--,u--;let d=[];for(let g=0;g<s;g++)d.push({type:"unchanged",text:r[g]});for(let g=s;g<c;g++)d.push({type:"removed",text:r[g]});for(let g=s;g<u;g++)d.push({type:"added",text:n[g]});for(let g=c;g<r.length;g++)d.push({type:"unchanged",text:r[g]});return d}function fm(e){let t=q(e.input?.oldString),r=q(e.input?.newString),n=t!==void 0&&r!==void 0?mm(t,r):void 0;return{kind:"file-edit",path:Na(e),diff:n}}var ul=/^Found\s+(\d+)\s+match/i,ym=/^(\/[^:]+?):\s*/,ll=/Line\s+(\d+):/g;function hm(e){let t=e.trim(),r=t.match(ul),n=r?t.slice(r[0].length).trim():t;if(!n)return[];let s=[];for(let c of n.split(/\n\n+/)){let u=c.trim();if(!u)continue;let d=u.match(ym);if(!d)continue;let g=d[1],h=u.slice(d[0].length),m=[],x;for(ll.lastIndex=0;(x=ll.exec(h))!==null;)m.push({line:Number(x[1]),contentStart:x.index+x[0].length,headerStart:x.index});for(let w=0;w<m.length;w++){let k=w+1<m.length?m[w+1].headerStart:h.length,l=h.slice(m[w].contentStart,k).trim();s.push({path:g,line:m[w].line,content:l.endsWith(";")?l.slice(0,-1):l})}}return s}function bm(e){return e.trim().split(`
64
- `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function xm(e){let t=q(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let r=ul.test(e.output.trim())?hm(e.output):bm(e.output);return{kind:"search",pattern:t,matches:r.length>0?r.slice(0,200):void 0}}function km(e){let t=q(e.input?.description,e.input?.title,e.input?.prompt)??e.title,r=q(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:r}}function Ka(e){let t=we(e)??{};return{content:q(t.content)??"",status:q(t.status)??"pending",priority:q(t.priority)}}function Pm(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Ka)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Ka)};let r=we(e.outputParsed);return r&&Array.isArray(r.todos)?{kind:"todo",items:r.todos.map(Ka)}:{kind:"todo",items:[]}}function wm(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(n=>{let s=we(n)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(d=>{let g=we(d),h=g&&q(g.label);return h?[{label:h,description:g?q(g.description):void 0}]:[]});return{question:q(s.question)??"",header:q(s.header),options:u}})}}function _m(e){let r=e.input&&Object.keys(e.input).length>0?cl(e.input):void 0,n;return e.outputParsed!==void 0?n=typeof e.outputParsed=="string"?Ne(e.outputParsed):cl(e.outputParsed):e.outputText!==void 0?n=Ne(e.outputText):n=e.error,{kind:"generic",label:e.title,inputPretty:r,outputPretty:n}}function pl(e){switch(Be(e.name)){case"web_search":case"websearch":case"image_search":return nm(e);case"bash":return um(e);case"read":return pm(e);case"write":return dm(e);case"edit":case"morph_edit":return fm(e);case"grep":case"glob":return xm(e);case"task":return km(e);case"todowrite":return Pm(e);case"question":case"ask":return wm(e);default:return _m(e)}}var It=[{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"us.anthropic.claude-opus-4-8",transport:"bedrock",pricingRef:"anthropic/claude-opus-4.8",tier:"flagship",vision:!0,limit:{context:1e6,output:64e3}},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"us.anthropic.claude-sonnet-4-6",transport:"bedrock",pricingRef:"anthropic/claude-sonnet-4.6",tier:"balanced",vision:!0,limit:{context:1e6,output:64e3}},{id:"glm-5.2",name:"GLM 5.2",upstreamModelId:"z-ai/glm-5.2",transport:"openrouter",pricingRef:"z-ai/glm-5.2",tier:"balanced",vision:!1,limit:{context:1e6,output:131072},openrouterProvider:{order:["z-ai"],allow_fallbacks:!0}},{id:"qwen3.7-max",name:"Qwen3.7 Max",upstreamModelId:"qwen/qwen3.7-max",transport:"openrouter",pricingRef:"qwen/qwen3.7-max",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",upstreamModelId:"deepseek/deepseek-v4-pro",transport:"openrouter",pricingRef:"deepseek/deepseek-v4-pro",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"deepseek/deepseek-v4-flash",transport:"openrouter",pricingRef:"deepseek/deepseek-v4-flash",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}}],Lx=new Map(It.map(e=>[e.id,e]));var Fx=It.map(e=>e.id),Gx=(It.find(e=>e.tier==="flagship")??It[0]).id;var dl=!1;function jt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Sm(e,t){if(e==null)return t;let r=e.trim().toLowerCase();return["1","true","yes","y","on"].includes(r)?!0:["0","false","no","n","off"].includes(r)?!1:t}function vm(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 At(e,t,r){return e!==void 0?e:Sm(jt(t),r)}var Cm={get disableMobileAdvertising(){return At(T().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return At(T().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return At(T().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return At(T().featureFlags?.enableAutoModel,"NEXT_PUBLIC_ENABLE_AUTO_MODEL",dl)}};var He="kortix-active-instance",gl=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function ml(e){return gl.some(t=>e===t||e.startsWith(`${t}/`))}function _e(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let r=decodeURIComponent(t[1]),n=t[2]??"";return{instanceId:r,innerPath:n?`/${n}`:""}}function Rm(e){let t=_e(e);return!!t&&t.innerPath===""}function Tm(e){let t=_e(e);return!t||!t.innerPath?e:t.innerPath}function fl(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let r=_e(t);return r?`/instances/${encodeURIComponent(e)}${r.innerPath}`:t}return ml(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function yl(e){return e?_e(e)?.instanceId??null:null}function Im(){return typeof window>"u"?null:yl(window.location.pathname)||hl()}function hl(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${He}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function jm(e){if(typeof document>"u")return;let t=r=>{document.cookie=r};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${He}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${He}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${He}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Am(e,t){return t?fl(t,e):e}function Em(e){let t=_e(e);return t?t.innerPath||"/dashboard":e}function bl(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 xl(e){let t=bl(e).trim();if(!t)return null;let r=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],n=t.indexOf("{");n>=0&&r.push(t.slice(n));for(let s of r)if(s)try{return JSON.parse(s)}catch{}return null}function Ha(e){let t=xl(e);if(!t||typeof t!="object")return null;let r=t;return r.name==="ConfigInvalidError"?r:null}function $m(e){return Ha(e)!==null}function qm(e){let t=Ha(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),d=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${d}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:bl(e)||"The sandbox is running, but OpenCode returned an error."}}function L(){let e=jt("BACKEND_URL")||T().backendUrl;return e||"http://localhost:8008/v1"}function We(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let r=We(t);if(r)return r}return}if(e&&typeof e=="object"){let t=e;return We(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var kl=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Pl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function Dm(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 Wa(e,t,r){let n=r?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:r?.sandbox_id||t.sandbox_id||t.session_id,external_id:n,name:t.name||`${e.name} session`,provider:r?.provider||t.sandbox_provider||"daytona",base_url:r?.base_url||t.sandbox_url||(r?.external_id?`${L()}/p/${r.external_id}/${V.KORTIX_MASTER}`:""),status:Dm(r?.status||t.status),metadata:{...t.metadata??{},project_id:e.project_id,session_id:t.session_id,project_name:e.name,runtime_status:r?.status,error:t.error},created_at:r?.created_at||t.created_at,updated_at:r?.updated_at||t.updated_at}}async function Va(){let e=await oe(),t=[];for(let r of e){let n=await be(r.project_id).catch(()=>[]);for(let s of n)t.push({project:r,session:s,runtime:null,sandbox:Wa(r,s,null)})}return t.sort((r,n)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[r.sandbox.status]??99)-(s[n.sandbox.status]??99);return c!==0?c:Date.parse(n.sandbox.updated_at)-Date.parse(r.sandbox.updated_at)})}async function ae(e){let t=await Va();return e?t.find(r=>r.sandbox.sandbox_id===e||r.sandbox.external_id===e||r.session.session_id===e||r.runtime?.external_id===e)??null:t[0]??null}async function Et(e,t={}){let r={"Content-Type":"application/json",...t.headers},n=t.signal??AbortSignal.timeout(3e4),s=await R(`${L()}${e}`,{...t,headers:r,signal:n}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let d=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new C(d,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=me(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function za(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${L()}/p/${e.external_id}/${V.KORTIX_MASTER}`}function Mm(e,t){return e.external_id?`${L()}/p/${e.external_id}/${t}`:null}async function Um(){let e=await o.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function wl(e){let t=await ae();if(t)return{sandbox:t.sandbox,created:!1};let n=(await oe())[0];if(!n)throw new Error("Create a project before starting a sandbox");let s=await xe(n.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await ke(n.project_id,s.session_id))?.sandbox??null;return{sandbox:Wa(n,s,c),created:!0}}async function Om(){return(await ae().catch(()=>null))?.sandbox??null}async function Lm(e){return{sandbox:(await wl(e)).sandbox}}async function Fm(e){let t=We(e);return t?(await ae(t).catch(()=>null))?.sandbox??null:null}async function Gm(e,t){throw await ae(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function Bm(e){let t=We(e);return(await Va().catch(()=>[])).map(n=>n.sandbox).filter(n=>!t||n.sandbox_id===t||n.external_id===t)}async function Km(){if(typeof window>"u")return null;let e=L(),t=Array.from(new Set([e,...kl]));for(let r of t)try{let n=await fetch(Pl(r),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!n.ok)continue;let s=await n.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function Nm(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await ae(e);if(!t)throw new Error("Project session sandbox not found");await Me(t.project.project_id,t.session.session_id)}async function Hm(e){if(!e)throw new Error("No sandbox selected to stop");let t=await ae(e);if(!t)throw new Error("Project session sandbox not found");await Ue(t.project.project_id,t.session.session_id)}async function Wm(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function Vm(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function zm(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function Jm(e,t,r="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function Xm(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function Qm(e,t,r){throw new Error("Sandbox members moved to project access; update project access instead")}async function Ym(e,t,r){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function Zm(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function ef(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function tf(e,t,r,n){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Ja(e,t,r){let n=za(e),s=await R(`${ne(n)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...r});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function rf(e,t){return Ja(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function nf(e,t,r,n="member"){await Ja(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:r,role:n})})}async function sf(e,t,r){await Ja(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(r)}`,{method:"DELETE"})}async function of(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function af(e){let t=await Et(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function cf(e){let t=await Et(`/platform/invites/${encodeURIComponent(e)}/accept`,{method:"POST"});if(!t.success||!t.data)throw new Error(t.error||"Failed to accept invite");return t.data}async function lf(e){let t=await Et(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function uf(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function pf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function df(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function gf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function mf(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function ff(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var _l=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function yf(e){return _l.includes(e)}async function hf(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 bf(e){let t=e?`?channel=${e}`:"",r=await fetch(`${L()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!r.ok)throw new Error(`Version check failed: ${r.status}`);let n=await r.json();try{let s=await Sl(e||"stable");n.changelog=s.find(c=>c.version===n.version)??s[0]??null}catch{n.changelog=null}return n}async function Sl(e){let t=e?`?channel=${e}`:"",r=await fetch(`${L()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!r.ok)throw new Error(`Changelog fetch failed: ${r.status}`);return(await r.json()).changelog}async function xf(){let e=await fetch(`${L()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function kf(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Pf(e){}async function wf(e){}async function _f(e){return{serverTypes:[],location:e||"hel1"}}async function Sf(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function vf(e){let t=await o.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function Cf(e,t){await o.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function Rf(){let e=await o.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function Tf(e){let t=await o.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function If(e,t){return`${L()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}async function jf(){let e=await o.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function Af(e={}){let t=await o.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function Ef(e){let t=await o.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function $f(e){let t=await o.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function qf(){let e=await o.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function vl(e){try{let t=new URL(e);if(/^\/proxy\/\d+(?:\/|$)/.test(t.pathname))return`${t.origin}/v1/p/auth`;let r=t.pathname.indexOf("/p/");return r!==-1?`${t.origin}${t.pathname.slice(0,r)}/p/auth`:`${t.origin}/v1/p/auth`}catch{return null}}function Df(e,t){try{let r=new URL(e),n=r.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(n)||/^\/proxy\/\d+(?:\/|$)/.test(n)))return!1;let c=new Set;if(t)try{c.add(new URL(t).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(r.origin)}catch{return!1}}function Mf(e,t){return Df(e,t)?(t?vl(t):null)??vl(e):null}function Uf(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function Of(e,t){try{let r=new URL(e);return r.searchParams.set("token",t),r.toString()}catch{return e}}return El(Lf);})();
59
+ `;return r}function Hc(e,t){return`session-${e}.md`}function K(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return Ge(r)||t}catch{return t}}return Ge(n)||t}catch{return Hd(t)??t}}return typeof e=="object"?Ge(e)||"An error occurred":String(e)}function Vc(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Hd(e){let t=Vc(e);if(t)try{return Ge(JSON.parse(t))}catch{return}}function Ge(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let n=t.data;if(typeof n?.message=="string")return n.message;let r=t.error;if(typeof r?.message=="string")return r.message}function Ua(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Wc(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||Ge(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function ee(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,d=Ua(u)??Ua(Vc(u));return d!==void 0?ee(d):void 0}if(typeof e!="object")return;let t=e,n=Wc(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Wc(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Ua(s.responseBody);if(u!==void 0){let d=ee(u);if(d)return d}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let d=ee(u);if(d)return d}}}var Wd={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"}},Vd=[{prefix:"pty_",category:"shell"},{prefix:"agent_",category:"task"},{prefix:"session_",category:"task"},{prefix:"task_",category:"task"},{prefix:"trigger_",category:"task"},{prefix:"project_",category:"task"}];function zd(e){return e.replace(/^oc[-_]/,"")}function Be(e){return zd(e).replace(/-/g,"_")}function Ct(e){return Be(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Rt(e){let t=Be(e),n=Wd[t];if(n)return n;for(let{prefix:r,category:s}of Vd)if(t.startsWith(r))return{label:Ct(e),category:s};return{label:Ct(e),category:"other"}}var Jd=256*1024;function Xd(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Qd(e){if(e===void 0)return{};if(e.length>Jd)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Yd(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?K(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function Zd(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=Qd(r),u=Xd(t),d=t.status==="error"?t.error:void 0;if(u==="done"){let g=Yd(s);g&&(u="error",d=g)}return{name:e,title:n||Rt(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:d}}function eg(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function tg(e){return{kind:"reasoning",id:e.id,text:e.text}}function ng(e){return{kind:"tool",id:e.id,tool:Zd(e.tool,e.state)}}function rg(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 sg(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function ig(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function og(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function ag(e){return{kind:"agent",id:e.id,name:e.name}}function cg(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:K(e.error),createdAt:e.time.created}}function lg(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function ug(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function pg(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Oa(e){switch(e.type){case"text":return eg(e);case"reasoning":return tg(e);case"tool":return ng(e);case"file":return rg(e);case"subtask":return sg(e);case"patch":return ig(e);case"snapshot":return og(e);case"agent":return ag(e);case"retry":return cg(e);case"compaction":return lg(e);case"step-start":return ug(e);case"step-finish":return pg(e);default:return{kind:"unknown",raw:e}}}function dg(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ee(e);return{name:t,message:n?.message||K(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function gg(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function zc(e){let t=e.parts.map(Oa),n=e.info.role==="assistant"?e.info.error:void 0,r=dg(n),s=!r&&!t.some(gg);return{parts:t,error:r,isEmpty:s}}function te(e){return e.type==="text"}function Tt(e){return e.type==="reasoning"}function z(e){return e.type==="tool"}function Jc(e){return e.type==="file"}function mg(e){return e.type==="agent"}function fg(e){return e.type==="compaction"}function yg(e){return e.type==="snapshot"}function hg(e){return e.type==="patch"}function bg(e){if(te(e)||Tt(e))return e.text}function Xc(e){if(!Jc(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function xg(e){let t=[],n=[];for(let r of e)Xc(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function kg(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Pg(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var wg=new Set(["todoread","context_info"]);function Qc(e){return!wg.has(e.tool)}function _g(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 Sg(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return K(n.error)}}function vg(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)z(r)&&Qc(r)&&t.push(r);return t}function Cg(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Yc(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:Zc(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:el(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:La(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:La(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 Yc(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function La(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 Zc(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Rg(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 Ke(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 el(e){let t=Ke(e.description);if(t)return t;let n=Ke(e.title,80);if(n)return n;let r=Ke(e.message);if(r)return r;let s=Ke(e.prompt);if(s)return s;let c=Ke(e.agent_id,40);return c?`Agent ${c}`:"Worker task"}function Tg(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function Ig(e,t){return e.find(n=>n.tool?.callID===t)}function jg(e,t){return e.find(n=>n.tool?.callID===t)}var Ag=/\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 Eg(e){return e?e.replace(Ag,""):""}function qg(e){let t=[],n=new Map;for(let s of e)if(s.info.role==="user"){if(n.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};t.push(c),n.set(s.info.id,c)}let r=null;for(let s of e){if(s.info.role==="user"){r=n.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let c=s.info;if(c.parentID){let d=n.get(c.parentID);if(d){d.assistantMessages.push(s);continue}}if(r){r.assistantMessages.push(s);continue}if(t.length>0){t[0].assistantMessages.unshift(s);continue}let u={userMessage:s,assistantMessages:[]};t.push(u)}return t}function $g(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function Dg(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(te(n)&&n.text?.trim())return n}}function Mg(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Ug(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let c of s.parts){if(!z(c))continue;let u=c,d=u.state?.metadata?.answers;u.tool==="question"&&(d?.length??0)>0&&r.push({part:c,message:s})}return r}function Og(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 Lg(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,c=r.time.updated??r.time.created,u=s>t,d=c>t;return u&&d?n.id<r.id?-1:n.id>r.id?1:0:u&&!d?-1:!u&&d?1:c-s}}function tl(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(...tl(e,s));return r}function nl(e){let t=e.userMessage.parts;if(t.length===0||!t.every(c=>te(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 z(s)&&s.tool==="bash"}function Fg(e){if(nl(e))return e.assistantMessages[0].parts[0]}function Gg(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 Bg(e,t){return!t||!e?!1:e.type!=="idle"}function Kg(e,t){return!e&&!!t}function Ng(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return K(n.error)}}function Hg(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ee(n.error)}}function Fa(e){if(e){if(z(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${e.tool}...`}if(Tt(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(te(e))return"Gathering thoughts..."}}function Wg(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=z(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&t&&t.length>0){for(let u=t.length-1;u>=0;u--){let d=t[u];if(d.info.role==="assistant")for(let g=d.parts.length-1;g>=0;g--){let h=Fa(d.parts[g]);if(h)return h}}return"Delegating to agent..."}let c=Fa(r);if(c)return c}return"Considering next steps..."}function Vg(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 Ga=1.2;function rl(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,c=e.cache?.write??0,d=Math.max(0,n-s-c)/1e6*t.inputPer1M;return d+=r/1e6*t.outputPer1M,s>0&&(d+=s/1e6*(t.cacheReadPer1M??t.inputPer1M)),c>0&&(d+=c/1e6*t.inputPer1M),d}function sl(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?rl(e.tokens,c):0}function il(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function zg(e,t){let n=0,r=0,s=0,c=0,u=0,d=0,g=!1;for(let{part:h,message:m}of e)if(h.type==="step-finish"){g=!0;let x=h,{providerID:w,modelID:k}=il(m.info);n+=sl(x,w,k,t),r+=x.tokens?.input||0,s+=x.tokens?.output||0,c+=x.tokens?.reasoning||0,u+=x.tokens?.cache?.read||0,d+=x.tokens?.cache?.write||0}if(!g)for(let{message:h}of e){if(h.info.role!=="assistant")continue;let m=h.info,x=ol(m,t);if(x<=0)continue;g=!0,n+=x;let w=m.tokens;w&&(r+=w.input??0,s+=w.output??0,c+=w.reasoning??0,u+=w.cache?.read??0,d+=w.cache?.write??0)}if(g)return{cost:n*Ga,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:d}}}function ol(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?rl({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function Jg(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=il(s),d=0,g=!1;for(let h of r.parts)h.type==="step-finish"&&(g=!0,d+=sl(h,c,u,t));g||(d+=ol(s,t)),n+=d}return n*Ga}function Xg(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function Qg(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function Yg(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 Zg(e){if(!(!e||e.type!=="retry"))return K(e.message)}function em(e){return(e.info.summary?.diffs?.length??0)>0}var tm=4e3;function Ne(e,t=tm){return e.length>t?`${e.slice(0,t)}
61
+ \u2026`:e}function al(e){if(e!==void 0)try{return Ne(JSON.stringify(e,null,2))}catch{return}}function $(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function we(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function nm(e){let t=$(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=we(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=we(c)??{};return{title:$(u.title)??"",url:$(u.url,u.link)??"",snippet:$(u.snippet,u.description,u.source)}});return{kind:"web-search",query:$(n.query)??t,results:s.length>0?s:void 0,answer:$(n.answer)}}var rm=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function sm(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 im=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function om(e){let t=-1;for(let n of im){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var am=/\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 cm(e){return e.replace(am,"")}function lm(e){let t=$(e.input?.command)??"",n=e.output??"",r=n.match(rm),s=r?Number(r[1]):void 0,u=cm(om(sm(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 Ka(e){return $(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function um(e){let t=e.status==="error"?e.error:e.output&&Ne(e.output)||void 0;return{kind:"file-read",path:Ka(e),preview:t}}function pm(e){let t=$(e.input?.content),n=e.status==="error"?e.error:Ne(t??e.output??"")||void 0;return{kind:"file-write",path:Ka(e),preview:n}}var dm=256*1024;function gm(e,t){if(e.length+t.length>dm)return;let n=e.split(`
62
+ `),r=t.split(`
63
+ `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let c=n.length,u=r.length;for(;c>s&&u>s&&n[c-1]===r[u-1];)c--,u--;let d=[];for(let g=0;g<s;g++)d.push({type:"unchanged",text:n[g]});for(let g=s;g<c;g++)d.push({type:"removed",text:n[g]});for(let g=s;g<u;g++)d.push({type:"added",text:r[g]});for(let g=c;g<n.length;g++)d.push({type:"unchanged",text:n[g]});return d}function mm(e){let t=$(e.input?.oldString),n=$(e.input?.newString),r=t!==void 0&&n!==void 0?gm(t,n):void 0;return{kind:"file-edit",path:Ka(e),diff:r}}var ll=/^Found\s+(\d+)\s+match/i,fm=/^(\/[^:]+?):\s*/,cl=/Line\s+(\d+):/g;function ym(e){let t=e.trim(),n=t.match(ll),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let c of r.split(/\n\n+/)){let u=c.trim();if(!u)continue;let d=u.match(fm);if(!d)continue;let g=d[1],h=u.slice(d[0].length),m=[],x;for(cl.lastIndex=0;(x=cl.exec(h))!==null;)m.push({line:Number(x[1]),contentStart:x.index+x[0].length,headerStart:x.index});for(let w=0;w<m.length;w++){let k=w+1<m.length?m[w+1].headerStart:h.length,l=h.slice(m[w].contentStart,k).trim();s.push({path:g,line:m[w].line,content:l.endsWith(";")?l.slice(0,-1):l})}}return s}function hm(e){return e.trim().split(`
64
+ `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function bm(e){let t=$(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=ll.test(e.output.trim())?ym(e.output):hm(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function xm(e){let t=$(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=$(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function Ba(e){let t=we(e)??{};return{content:$(t.content)??"",status:$(t.status)??"pending",priority:$(t.priority)}}function km(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(Ba)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(Ba)};let n=we(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Ba)}:{kind:"todo",items:[]}}function Pm(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=we(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(d=>{let g=we(d),h=g&&$(g.label);return h?[{label:h,description:g?$(g.description):void 0}]:[]});return{question:$(s.question)??"",header:$(s.header),options:u}})}}function wm(e){let n=e.input&&Object.keys(e.input).length>0?al(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?Ne(e.outputParsed):al(e.outputParsed):e.outputText!==void 0?r=Ne(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function ul(e){switch(Be(e.name)){case"web_search":case"websearch":case"image_search":return nm(e);case"bash":return lm(e);case"read":return um(e);case"write":return pm(e);case"edit":case"morph_edit":return mm(e);case"grep":case"glob":return bm(e);case"task":return xm(e);case"todowrite":return km(e);case"question":case"ask":return Pm(e);default:return wm(e)}}var It=[{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"us.anthropic.claude-opus-4-8",transport:"bedrock",pricingRef:"anthropic/claude-opus-4.8",tier:"flagship",vision:!0,limit:{context:1e6,output:64e3}},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"us.anthropic.claude-sonnet-4-6",transport:"bedrock",pricingRef:"anthropic/claude-sonnet-4.6",tier:"balanced",vision:!0,limit:{context:1e6,output:64e3}},{id:"glm-5.2",name:"GLM 5.2",upstreamModelId:"z-ai/glm-5.2",transport:"openrouter",pricingRef:"z-ai/glm-5.2",tier:"balanced",vision:!1,limit:{context:1e6,output:131072},openrouterProvider:{order:["z-ai"],allow_fallbacks:!0}},{id:"qwen3.7-max",name:"Qwen3.7 Max",upstreamModelId:"qwen/qwen3.7-max",transport:"openrouter",pricingRef:"qwen/qwen3.7-max",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",upstreamModelId:"deepseek/deepseek-v4-pro",transport:"openrouter",pricingRef:"deepseek/deepseek-v4-pro",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"deepseek/deepseek-v4-flash",transport:"openrouter",pricingRef:"deepseek/deepseek-v4-flash",tier:"balanced",vision:!1,limit:{context:1048576,output:64e3}}],Ox=new Map(It.map(e=>[e.id,e]));var Lx=It.map(e=>e.id),Fx=(It.find(e=>e.tier==="flagship")??It[0]).id;var pl=!1;function jt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function _m(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 Sm(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 At(e,t,n){return e!==void 0?e:_m(jt(t),n)}var vm={get disableMobileAdvertising(){return At(T().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return At(T().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return At(T().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return At(T().featureFlags?.enableAutoModel,"NEXT_PUBLIC_ENABLE_AUTO_MODEL",pl)}};var He="kortix-active-instance",dl=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function gl(e){return dl.some(t=>e===t||e.startsWith(`${t}/`))}function _e(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 Cm(e){let t=_e(e);return!!t&&t.innerPath===""}function Rm(e){let t=_e(e);return!t||!t.innerPath?e:t.innerPath}function ml(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=_e(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return gl(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function fl(e){return e?_e(e)?.instanceId??null:null}function Tm(){return typeof window>"u"?null:fl(window.location.pathname)||yl()}function yl(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${He}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function Im(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${He}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${He}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${He}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function jm(e,t){return t?ml(t,e):e}function Am(e){let t=_e(e);return t?t.innerPath||"/dashboard":e}function hl(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 bl(e){let t=hl(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 Na(e){let t=bl(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function Em(e){return Na(e)!==null}function qm(e){let t=Na(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),d=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${d}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:hl(e)||"The sandbox is running, but OpenCode returned an error."}}function L(){let e=jt("BACKEND_URL")||T().backendUrl;return e||"http://localhost:8008/v1"}function We(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let n=We(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return We(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var xl=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function kl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function $m(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 Ha(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?`${L()}/p/${n.external_id}/${V.KORTIX_MASTER}`:""),status:$m(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 Wa(){let e=await oe(),t=[];for(let n of e){let r=await be(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Ha(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 ae(e){let t=await Wa();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 Et(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await R(`${L()}${e}`,{...t,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let d=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new C(d,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=me(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function Va(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${L()}/p/${e.external_id}/${V.KORTIX_MASTER}`}function Dm(e,t){return e.external_id?`${L()}/p/${e.external_id}/${t}`:null}async function Mm(){let e=await o.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Pl(e){let t=await ae();if(t)return{sandbox:t.sandbox,created:!1};let r=(await oe())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await xe(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await ke(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Ha(r,s,c),created:!0}}async function Um(){return(await ae().catch(()=>null))?.sandbox??null}async function Om(e){return{sandbox:(await Pl(e)).sandbox}}async function Lm(e){let t=We(e);return t?(await ae(t).catch(()=>null))?.sandbox??null:null}async function Fm(e,t){throw await ae(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function Gm(e){let t=We(e);return(await Wa().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function Bm(){if(typeof window>"u")return null;let e=L(),t=Array.from(new Set([e,...xl]));for(let n of t)try{let r=await fetch(kl(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 Km(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await ae(e);if(!t)throw new Error("Project session sandbox not found");await Me(t.project.project_id,t.session.session_id)}async function Nm(e){if(!e)throw new Error("No sandbox selected to stop");let t=await ae(e);if(!t)throw new Error("Project session sandbox not found");await Ue(t.project.project_id,t.session.session_id)}async function Hm(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function Wm(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Vm(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function zm(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function Jm(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function Xm(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function Qm(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function Ym(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Zm(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function ef(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function za(e,t,n){let r=Va(e),s=await R(`${re(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 tf(e,t){return za(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function nf(e,t,n,r="member"){await za(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function rf(e,t,n){await za(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function sf(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function of(e){let t=await Et(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function af(e){let t=await Et(`/platform/invites/${encodeURIComponent(e)}/accept`,{method:"POST"});if(!t.success||!t.data)throw new Error(t.error||"Failed to accept invite");return t.data}async function cf(e){let t=await Et(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function lf(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function uf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function pf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function df(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function gf(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function mf(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var wl=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function ff(e){return wl.includes(e)}async function yf(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 hf(e){let t=e?`?channel=${e}`:"",n=await fetch(`${L()}/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 _l(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function _l(e){let t=e?`?channel=${e}`:"",n=await fetch(`${L()}/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 bf(){let e=await fetch(`${L()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function xf(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function kf(e){}async function Pf(e){}async function wf(e){return{serverTypes:[],location:e||"hel1"}}async function _f(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function Sf(e){let t=await o.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function vf(e,t){await o.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function Cf(){let e=await o.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function Rf(e){let t=await o.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function Tf(e,t){return`${L()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}async function If(){let e=await o.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function jf(e={}){let t=await o.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function Af(e){let t=await o.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function Ef(e){let t=await o.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function qf(){let e=await o.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function Sl(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 $f(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 Df(e,t){return $f(e,t)?(t?Sl(t):null)??Sl(e):null}function Mf(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function Uf(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}return Al(Of);})();