@kortix/sdk 0.10.15 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -2
- package/dist/browser/session-sync/session-sync-registry.d.ts +3 -0
- package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
- package/dist/browser/session-sync/session-sync-registry.js +31 -2
- package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
- package/dist/core/acp/client.d.ts +45 -0
- package/dist/core/acp/client.d.ts.map +1 -0
- package/dist/core/acp/client.js +277 -0
- package/dist/core/acp/client.js.map +1 -0
- package/dist/core/acp/index.d.ts +5 -0
- package/dist/core/acp/index.d.ts.map +1 -0
- package/dist/core/acp/index.js +5 -0
- package/dist/core/acp/index.js.map +1 -0
- package/dist/core/acp/projection.d.ts +23 -0
- package/dist/core/acp/projection.d.ts.map +1 -0
- package/dist/core/acp/projection.js +603 -0
- package/dist/core/acp/projection.js.map +1 -0
- package/dist/core/acp/session-controller.d.ts +90 -0
- package/dist/core/acp/session-controller.d.ts.map +1 -0
- package/dist/core/acp/session-controller.js +530 -0
- package/dist/core/acp/session-controller.js.map +1 -0
- package/dist/core/acp/types.d.ts +66 -0
- package/dist/core/acp/types.d.ts.map +1 -0
- package/dist/core/acp/types.js +21 -0
- package/dist/core/acp/types.js.map +1 -0
- package/dist/core/client/kortix.d.ts +141 -14
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +40 -7
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/http/api-client.d.ts.map +1 -1
- package/dist/core/http/api-client.js +48 -68
- package/dist/core/http/api-client.js.map +1 -1
- package/dist/core/rest/platform-client/host-boundary.d.ts +114 -0
- package/dist/core/rest/platform-client/host-boundary.d.ts.map +1 -0
- package/dist/core/rest/platform-client/host-boundary.js +229 -0
- package/dist/core/rest/platform-client/host-boundary.js.map +1 -0
- package/dist/core/rest/platform-client/index.d.ts +1 -0
- package/dist/core/rest/platform-client/index.d.ts.map +1 -1
- package/dist/core/rest/platform-client/index.js +1 -0
- package/dist/core/rest/platform-client/index.js.map +1 -1
- package/dist/core/rest/projects-client/account-lifecycle.d.ts +22 -0
- package/dist/core/rest/projects-client/account-lifecycle.d.ts.map +1 -0
- package/dist/core/rest/projects-client/account-lifecycle.js +26 -0
- package/dist/core/rest/projects-client/account-lifecycle.js.map +1 -0
- package/dist/core/rest/projects-client/admin-providers.d.ts +10 -0
- package/dist/core/rest/projects-client/admin-providers.d.ts.map +1 -0
- package/dist/core/rest/projects-client/admin-providers.js +34 -0
- package/dist/core/rest/projects-client/admin-providers.js.map +1 -0
- package/dist/core/rest/projects-client/agent-config.d.ts +7 -0
- package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
- package/dist/core/rest/projects-client/agent-config.js.map +1 -1
- package/dist/core/rest/projects-client/billing.d.ts +89 -0
- package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
- package/dist/core/rest/projects-client/billing.js +43 -0
- package/dist/core/rest/projects-client/billing.js.map +1 -1
- package/dist/core/rest/projects-client/channels.d.ts +8 -27
- package/dist/core/rest/projects-client/channels.d.ts.map +1 -1
- package/dist/core/rest/projects-client/channels.js +12 -23
- package/dist/core/rest/projects-client/channels.js.map +1 -1
- package/dist/core/rest/projects-client/connectors.d.ts +162 -13
- package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
- package/dist/core/rest/projects-client/connectors.js +64 -2
- package/dist/core/rest/projects-client/connectors.js.map +1 -1
- package/dist/core/rest/projects-client/gateway.d.ts +1 -0
- package/dist/core/rest/projects-client/gateway.d.ts.map +1 -1
- package/dist/core/rest/projects-client/gateway.js.map +1 -1
- package/dist/core/rest/projects-client/iam.d.ts +492 -0
- package/dist/core/rest/projects-client/iam.d.ts.map +1 -0
- package/dist/core/rest/projects-client/iam.js +287 -0
- package/dist/core/rest/projects-client/iam.js.map +1 -0
- package/dist/core/rest/projects-client/index.d.ts +6 -0
- package/dist/core/rest/projects-client/index.d.ts.map +1 -1
- package/dist/core/rest/projects-client/index.js +6 -0
- package/dist/core/rest/projects-client/index.js.map +1 -1
- package/dist/core/rest/projects-client/marketplace-catalog.d.ts +9 -2
- package/dist/core/rest/projects-client/marketplace-catalog.d.ts.map +1 -1
- package/dist/core/rest/projects-client/marketplace-catalog.js +7 -0
- package/dist/core/rest/projects-client/marketplace-catalog.js.map +1 -1
- package/dist/core/rest/projects-client/presentations.d.ts +12 -0
- package/dist/core/rest/projects-client/presentations.d.ts.map +1 -0
- package/dist/core/rest/projects-client/presentations.js +9 -0
- package/dist/core/rest/projects-client/presentations.js.map +1 -0
- package/dist/core/rest/projects-client/projects.d.ts +55 -10
- package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
- package/dist/core/rest/projects-client/projects.js +14 -7
- package/dist/core/rest/projects-client/projects.js.map +1 -1
- package/dist/core/rest/projects-client/public-voice-join.d.ts +59 -0
- package/dist/core/rest/projects-client/public-voice-join.d.ts.map +1 -0
- package/dist/core/rest/projects-client/public-voice-join.js +64 -0
- package/dist/core/rest/projects-client/public-voice-join.js.map +1 -0
- package/dist/core/rest/projects-client/referrals.d.ts +53 -0
- package/dist/core/rest/projects-client/referrals.d.ts.map +1 -0
- package/dist/core/rest/projects-client/referrals.js +27 -0
- package/dist/core/rest/projects-client/referrals.js.map +1 -0
- package/dist/core/rest/projects-client/session-sandbox.d.ts +2 -0
- package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -1
- package/dist/core/rest/projects-client/session-sandbox.js +10 -0
- package/dist/core/rest/projects-client/session-sandbox.js.map +1 -1
- package/dist/core/rest/projects-client/sessions.d.ts +89 -0
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sessions.js +49 -1
- package/dist/core/rest/projects-client/sessions.js.map +1 -1
- package/dist/core/session/index.d.ts +2 -0
- package/dist/core/session/index.d.ts.map +1 -1
- package/dist/core/session/index.js +2 -0
- package/dist/core/session/index.js.map +1 -1
- package/dist/core/session/presentation.d.ts +12 -0
- package/dist/core/session/presentation.d.ts.map +1 -0
- package/dist/core/session/presentation.js +70 -0
- package/dist/core/session/presentation.js.map +1 -0
- package/dist/core/session/rewind.d.ts +18 -0
- package/dist/core/session/rewind.d.ts.map +1 -0
- package/dist/core/session/rewind.js +17 -0
- package/dist/core/session/rewind.js.map +1 -0
- package/dist/core/session/runtime-transport.d.ts +16 -0
- package/dist/core/session/runtime-transport.d.ts.map +1 -0
- package/dist/core/session/runtime-transport.js +30 -0
- package/dist/core/session/runtime-transport.js.map +1 -0
- package/dist/core/session/url.d.ts +43 -0
- package/dist/core/session/url.d.ts.map +1 -1
- package/dist/core/session/url.js +81 -0
- package/dist/core/session/url.js.map +1 -1
- package/dist/core/session-sync/session-sync-controller.d.ts +28 -0
- package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
- package/dist/core/session-sync/session-sync-controller.js +127 -4
- package/dist/core/session-sync/session-sync-controller.js.map +1 -1
- package/dist/core/stream/fetch-sse.d.ts +23 -0
- package/dist/core/stream/fetch-sse.d.ts.map +1 -0
- package/dist/core/stream/fetch-sse.js +119 -0
- package/dist/core/stream/fetch-sse.js.map +1 -0
- package/dist/core/turns/state.d.ts.map +1 -1
- package/dist/core/turns/state.js +11 -4
- package/dist/core/turns/state.js.map +1 -1
- package/dist/core/turns/types.d.ts +6 -0
- package/dist/core/turns/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/kortix.esm.min.js +24 -16
- package/dist/kortix.global.js +24 -16
- package/dist/node/server.d.ts +14 -0
- package/dist/node/server.d.ts.map +1 -1
- package/dist/node/server.js +42 -0
- package/dist/node/server.js.map +1 -1
- package/dist/platform/auth-core.d.ts +3 -5
- package/dist/platform/auth-core.d.ts.map +1 -1
- package/dist/platform/auth-core.js +4 -6
- package/dist/platform/auth-core.js.map +1 -1
- package/dist/react/agent-selection-scope.d.ts +8 -0
- package/dist/react/agent-selection-scope.d.ts.map +1 -0
- package/dist/react/agent-selection-scope.js +4 -0
- package/dist/react/agent-selection-scope.js.map +1 -0
- package/dist/react/index.d.ts +13 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +13 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/initial-session-pin.d.ts +8 -0
- package/dist/react/initial-session-pin.d.ts.map +1 -0
- package/dist/react/initial-session-pin.js +4 -0
- package/dist/react/initial-session-pin.js.map +1 -0
- package/dist/react/opencode.d.ts +25 -2
- package/dist/react/opencode.d.ts.map +1 -1
- package/dist/react/opencode.js +24 -1
- package/dist/react/opencode.js.map +1 -1
- package/dist/react/provider-selection.d.ts +1 -0
- package/dist/react/provider-selection.d.ts.map +1 -1
- package/dist/react/provider-selection.js +22 -0
- package/dist/react/provider-selection.js.map +1 -1
- package/dist/react/run-pty-command.d.ts +5 -0
- package/dist/react/run-pty-command.d.ts.map +1 -0
- package/dist/react/run-pty-command.js +42 -0
- package/dist/react/run-pty-command.js.map +1 -0
- package/dist/react/runtime-actions.d.ts +51 -0
- package/dist/react/runtime-actions.d.ts.map +1 -0
- package/dist/react/runtime-actions.js +105 -0
- package/dist/react/runtime-actions.js.map +1 -0
- package/dist/react/session-agent-name-guard.d.ts +16 -0
- package/dist/react/session-agent-name-guard.d.ts.map +1 -0
- package/dist/react/session-agent-name-guard.js +22 -0
- package/dist/react/session-agent-name-guard.js.map +1 -0
- package/dist/react/session-busy.d.ts +8 -0
- package/dist/react/session-busy.d.ts.map +1 -0
- package/dist/react/session-busy.js +4 -0
- package/dist/react/session-busy.js.map +1 -0
- package/dist/react/session-title-sync.d.ts +19 -0
- package/dist/react/session-title-sync.d.ts.map +1 -0
- package/dist/react/session-title-sync.js +81 -0
- package/dist/react/session-title-sync.js.map +1 -0
- package/dist/react/use-acp-session-runtime.d.ts +34 -0
- package/dist/react/use-acp-session-runtime.d.ts.map +1 -0
- package/dist/react/use-acp-session-runtime.js +84 -0
- package/dist/react/use-acp-session-runtime.js.map +1 -0
- package/dist/react/use-admin-accounts.d.ts +122 -0
- package/dist/react/use-admin-accounts.d.ts.map +1 -0
- package/dist/react/use-admin-accounts.js +146 -0
- package/dist/react/use-admin-accounts.js.map +1 -0
- package/dist/react/use-admin-analytics.d.ts +332 -0
- package/dist/react/use-admin-analytics.d.ts.map +1 -0
- package/dist/react/use-admin-analytics.js +518 -0
- package/dist/react/use-admin-analytics.js.map +1 -0
- package/dist/react/use-admin-billing.d.ts +27 -0
- package/dist/react/use-admin-billing.d.ts.map +1 -0
- package/dist/react/use-admin-billing.js +61 -0
- package/dist/react/use-admin-billing.js.map +1 -0
- package/dist/react/use-admin-feedback.d.ts +119 -0
- package/dist/react/use-admin-feedback.d.ts.map +1 -0
- package/dist/react/use-admin-feedback.js +148 -0
- package/dist/react/use-admin-feedback.js.map +1 -0
- package/dist/react/use-admin-sandboxes.d.ts +157 -0
- package/dist/react/use-admin-sandboxes.d.ts.map +1 -0
- package/dist/react/use-admin-sandboxes.js +145 -0
- package/dist/react/use-admin-sandboxes.js.map +1 -0
- package/dist/react/use-admin-users.d.ts +98 -0
- package/dist/react/use-admin-users.d.ts.map +1 -0
- package/dist/react/use-admin-users.js +121 -0
- package/dist/react/use-admin-users.js.map +1 -0
- package/dist/react/use-authenticated-preview-url.d.ts +24 -0
- package/dist/react/use-authenticated-preview-url.d.ts.map +1 -0
- package/dist/react/use-authenticated-preview-url.js +137 -0
- package/dist/react/use-authenticated-preview-url.js.map +1 -0
- package/dist/react/use-canonical-opencode-session.d.ts +4 -0
- package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
- package/dist/react/use-canonical-opencode-session.js +9 -4
- package/dist/react/use-canonical-opencode-session.js.map +1 -1
- package/dist/react/use-model-defaults.d.ts +22 -0
- package/dist/react/use-model-defaults.d.ts.map +1 -0
- package/dist/react/use-model-defaults.js +104 -0
- package/dist/react/use-model-defaults.js.map +1 -0
- package/dist/react/use-model-store.d.ts.map +1 -1
- package/dist/react/use-model-store.js +11 -0
- package/dist/react/use-model-store.js.map +1 -1
- package/dist/react/use-opencode-events/index.d.ts +3 -1
- package/dist/react/use-opencode-events/index.d.ts.map +1 -1
- package/dist/react/use-opencode-events/index.js +6 -2
- package/dist/react/use-opencode-events/index.js.map +1 -1
- package/dist/react/use-opencode-local.d.ts.map +1 -1
- package/dist/react/use-opencode-local.js +10 -1
- package/dist/react/use-opencode-local.js.map +1 -1
- package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/agents.js +5 -3
- package/dist/react/use-opencode-sessions/agents.js.map +1 -1
- package/dist/react/use-opencode-sessions/commands.d.ts +7 -2
- package/dist/react/use-opencode-sessions/commands.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/commands.js +13 -9
- package/dist/react/use-opencode-sessions/commands.js.map +1 -1
- package/dist/react/use-opencode-sessions/provider-load-plan.d.ts +6 -0
- package/dist/react/use-opencode-sessions/provider-load-plan.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/provider-load-plan.js +4 -0
- package/dist/react/use-opencode-sessions/provider-load-plan.js.map +1 -0
- package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/providers.js +39 -27
- package/dist/react/use-opencode-sessions/providers.js.map +1 -1
- package/dist/react/use-opencode-sessions/sessions.d.ts +1 -1
- package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/sessions.js +2 -2
- package/dist/react/use-opencode-sessions/sessions.js.map +1 -1
- package/dist/react/use-ops-overview.d.ts +64 -0
- package/dist/react/use-ops-overview.d.ts.map +1 -0
- package/dist/react/use-ops-overview.js +16 -0
- package/dist/react/use-ops-overview.js.map +1 -0
- package/dist/react/use-session-model-selection.d.ts +15 -0
- package/dist/react/use-session-model-selection.d.ts.map +1 -0
- package/dist/react/use-session-model-selection.js +27 -0
- package/dist/react/use-session-model-selection.js.map +1 -0
- package/dist/react/use-session-sync.d.ts.map +1 -1
- package/dist/react/use-session-sync.js +3 -1
- package/dist/react/use-session-sync.js.map +1 -1
- package/dist/react/use-session.d.ts +78 -4
- package/dist/react/use-session.d.ts.map +1 -1
- package/dist/react/use-session.js +329 -34
- package/dist/react/use-session.js.map +1 -1
- package/dist/react/use-system-status.d.ts +39 -0
- package/dist/react/use-system-status.d.ts.map +1 -0
- package/dist/react/use-system-status.js +68 -0
- package/dist/react/use-system-status.js.map +1 -0
- package/dist/react/use-teams-installations.d.ts +36 -0
- package/dist/react/use-teams-installations.d.ts.map +1 -0
- package/dist/react/use-teams-installations.js +94 -0
- package/dist/react/use-teams-installations.js.map +1 -0
- package/dist/react/use-tunnel.d.ts +120 -0
- package/dist/react/use-tunnel.d.ts.map +1 -0
- package/dist/react/use-tunnel.js +268 -0
- package/dist/react/use-tunnel.js.map +1 -0
- package/package.json +2 -2
package/dist/kortix.global.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";var Kortix=(()=>{var $t=Object.defineProperty;var Ul=Object.getOwnPropertyDescriptor;var Ol=Object.getOwnPropertyNames;var Ll=Object.prototype.hasOwnProperty;var Fl=(e,t)=>{for(var n in t)$t(e,n,{get:t[n],enumerable:!0})},Gl=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ol(t))!Ll.call(e,s)&&s!==n&&$t(e,s,{get:()=>t[s],enumerable:!(r=Ul(t,s))||r.enumerable});return e};var Bl=e=>Gl($t({},"__esModule",{value:!0}),e);var ty={};Fl(ty,{ACTIVE_INSTANCE_COOKIE:()=>Ve,ApiError:()=>C,AuthError:()=>ye,BillingError:()=>ie,COST_MARKUP:()=>Wa,DEFAULT_TRANSCRIPT_OPTIONS:()=>Ba,DESTRUCTIVE_PHASES:()=>jl,FEATURE_NOT_SUPPORTED_CODE:()=>$c,INSTANCE_SCOPED_ROUTES:()=>kl,PublicSessionShareError:()=>Pt,RequestTooLargeError:()=>he,RuntimeNotReadyError:()=>at,SANDBOX_PORTS:()=>J,SessionNotReadyError:()=>Ge,SessionStartError:()=>kt,__getConfigResolver:()=>Hl,__setConfigResolver:()=>Nl,acceptAccountInvite:()=>$r,acceptInvite:()=>wf,actReviewItem:()=>da,activateConnectionProfile:()=>Us,addMarketplaceSource:()=>Ua,addSandboxMember:()=>uf,allDescendantIds:()=>ul,appendPreviewToken:()=>Yf,approveProjectAccessRequest:()=>is,approveTask:()=>Pu,archiveProject:()=>bt,assignTicket:()=>Iu,attachGroupToProject:()=>fs,authenticatedFetch:()=>R,backendApi:()=>o,buildInstancePath:()=>wl,buildPreviewAuthEndpoint:()=>Xf,buildSandboxTemplate:()=>gi,buildWebProxyUrl:()=>qd,bulkActReviewItems:()=>ga,cancelAccountInvite:()=>jr,cancelSandbox:()=>af,cancelSandboxUpdate:()=>Mf,cancelScheduledChange:()=>Po,cancelSubscription:()=>bo,childMapByParent:()=>Zg,claimComputer:()=>Gf,classifyPart:()=>Na,classifyTurn:()=>rl,clearModelDefault:()=>ro,clearSessionFresh:()=>ed,closeChangeRequest:()=>Ai,closeMilestone:()=>rp,collectTurnParts:()=>Jg,commentTicket:()=>Au,commitSessionChanges:()=>qi,computeStatusFromPart:()=>Va,configureAutoTopup:()=>vo,configureKortix:()=>Qe,confirmCheckoutSession:()=>yo,connectEmail:()=>Mo,connectSlack:()=>Ro,createAccount:()=>Sr,createAccountAuditWebhook:()=>Ca,createAccountToken:()=>ba,createBackup:()=>vf,createCheckoutSession:()=>fo,createConnector:()=>Js,createGatewayKey:()=>ia,createHttpSessionSyncController:()=>Dl,createInstance:()=>Of,createKortix:()=>Qc,createKortixPty:()=>cr,createMilestone:()=>tp,createPortalSession:()=>ho,createProject:()=>Kr,createProjectAgent:()=>Gu,createProjectCliToken:()=>Pa,createProjectRepo:()=>Nr,createProjectResourceGrant:()=>xs,createProjectSession:()=>_e,createProjectTrigger:()=>Ji,createSandbox:()=>Zm,createSandboxShare:()=>fa,createSandboxTemplate:()=>ui,createSessionPublicShare:()=>Gi,createTask:()=>bu,createTicket:()=>Cu,declineAccountInvite:()=>qr,declineInvite:()=>_f,deleteBackup:()=>Rf,deleteConnector:()=>Qs,deleteCredential:()=>up,deleteEnv:()=>or,deleteGatewayBudget:()=>ra,deleteGitHubInstallation:()=>rs,deleteInstance:()=>Lf,deleteKortixProject:()=>Xu,deleteMilestone:()=>ip,deletePersonalProjectSecret:()=>As,deleteProjectAgent:()=>Ku,deleteProjectResourceGrant:()=>ks,deleteProjectSecret:()=>Is,deleteProjectSession:()=>Wi,deleteProjectTrigger:()=>Qi,deleteSandboxTemplate:()=>di,deleteTask:()=>wu,deleteTicket:()=>Eu,describeAccountInvite:()=>Er,detachGroupFromProject:()=>hs,detectLocalhostUrls:()=>Nc,disconnectEmail:()=>Uo,disconnectGitHubApp:()=>zf,disconnectSlack:()=>jo,discoverConnectorAuth:()=>Xs,discoverLocalSandbox:()=>rf,dropClientForUrl:()=>xp,dropPublicClientForUrl:()=>wp,ensurePmSession:()=>Lu,ensureSandbox:()=>Il,env:()=>_c,exportAccountAudit:()=>Sa,extractGatewayErrorDetails:()=>re,extractInstanceRoute:()=>Ce,featureFlags:()=>Fm,fetchAccountStateWithToken:()=>ad,fetchAccountsWithToken:()=>Np,fetchProjectArchive:()=>bi,fetchProjectsForAccountWithToken:()=>Xp,files:()=>Ac,findLastTextPart:()=>Xg,fireProjectTrigger:()=>Zi,fixSandboxWithAgent:()=>li,formatBillingErrorForUI:()=>wc,formatCost:()=>pm,formatDuration:()=>cm,formatOpenCodeRuntimeError:()=>zm,formatTokens:()=>dm,formatTranscript:()=>Zc,generateSessionId:()=>Yc,getAccount:()=>vr,getAccountState:()=>ao,getAccountStateMinimal:()=>co,getActiveInstanceIdFromCookie:()=>Sl,getAgentCardLabel:()=>ll,getAgentConfig:()=>id,getAgentPersona:()=>Nu,getAllVersions:()=>$f,getAnsweredQuestionParts:()=>Yg,getAuthToken:()=>Ee,getAuthTokenWithRetry:()=>tr,getAutoTopupSettings:()=>So,getBillingCreditBreakdown:()=>po,getBillingTierConfigurations:()=>mo,getBillingTransactionsSummary:()=>uo,getBillingUsageHistory:()=>go,getChangeRequest:()=>Ci,getChangeRequestDiff:()=>Ri,getChangeRequestMergePreview:()=>Ti,getChildSessionError:()=>Lg,getChildSessionId:()=>Og,getChildSessionToolParts:()=>Fg,getClient:()=>Z,getClientForUrl:()=>ae,getConnectStatus:()=>ti,getConnectorConfig:()=>Vs,getConnectorPolicies:()=>Ns,getCurrentInstanceIdFromPathname:()=>_l,getCurrentInstanceIdFromWindow:()=>Km,getDefaultAccountState:()=>oo,getDiagnostics:()=>Kg,getDirectory:()=>cl,getDiscoverIntegration:()=>ei,getEmailInstallation:()=>qo,getEmailMode:()=>Do,getFileWithDir:()=>Ha,getFilename:()=>al,getFullChangelog:()=>Al,getGatewayBreakdown:()=>Yo,getGatewayBudgets:()=>ta,getGatewayErrors:()=>ea,getGatewayKeys:()=>sa,getGatewayLog:()=>Jo,getGatewayOverview:()=>Xo,getGatewayRoutingPolicy:()=>No,getGatewaySeries:()=>Qo,getGatewaySessions:()=>Zo,getGitHubAppStatus:()=>Nf,getGitHubInstallation:()=>Xr,getHiddenToolParts:()=>Dg,getInvite:()=>Pf,getJustavpsServerTypes:()=>Uf,getKortixProject:()=>Wu,getKortixProjectBySession:()=>zu,getKortixPtyWebSocketUrl:()=>pr,getLatestSandboxVersion:()=>Ef,getManagedGitStatus:()=>Wp,getMarketplaceCatalogItem:()=>qa,getMarketplaceCatalogItemFile:()=>Da,getMeetVoices:()=>Lo,getMilestone:()=>Zu,getModelDefaults:()=>to,getOpenCodeConfigInvalidError:()=>Qa,getPartText:()=>$g,getPermissionForTool:()=>Ng,getProject:()=>gt,getProjectActivity:()=>Hu,getProjectCommit:()=>Pi,getProjectCommitDiff:()=>wi,getProjectDetail:()=>mt,getProjectFileHistory:()=>_i,getProjectGitToken:()=>Br,getProjectLlmCatalog:()=>ft,getProjectLlmCatalogProviders:()=>Vp,getProjectModelPicker:()=>yt,getProjectSandboxHealth:()=>xt,getProjectSandboxProviderTransition:()=>zp,getProjectSession:()=>Ki,getProrationPreview:()=>wo,getProviders:()=>Qm,getProxyBaseUrl:()=>jd,getPublicClientForUrl:()=>Pp,getPublicSessionShare:()=>gd,getPublicSessionShareMessages:()=>md,getQuestionForTool:()=>Hg,getRetryInfo:()=>gm,getRetryMessage:()=>mm,getReviewItem:()=>ua,getSSHConnection:()=>If,getSandbox:()=>Ym,getSandboxById:()=>ef,getSandboxMemberScopes:()=>ff,getSandboxPortUrl:()=>Xm,getSandboxProvisionStatus:()=>Bf,getSandboxProvisionStreamUrl:()=>Kf,getSandboxUpdateStatus:()=>Af,getSandboxUrl:()=>ec,getServiceLogs:()=>fp,getSessionAudit:()=>Ni,getSessionCost:()=>um,getSessionHealth:()=>La,getSessionPreviewCandidates:()=>Li,getSessionTranscript:()=>Hi,getShellModePart:()=>tm,getSlackChannelFile:()=>Ao,getSlackInstallation:()=>Co,getSlackManifest:()=>Io,getSlackMode:()=>To,getSupabaseAccessToken:()=>rt,getSupabaseAccessTokenWithRetry:()=>me,getTask:()=>fu,getTaskStatus:()=>hu,getTemplate:()=>fd,getTicket:()=>Su,getToolInfo:()=>Gg,getTranscriptFilename:()=>el,getTurnCost:()=>lm,getTurnError:()=>im,getTurnErrorDetails:()=>om,getTurnStatus:()=>am,getVersionDiff:()=>Si,getViewerSandboxScopes:()=>mf,getWorkingState:()=>rm,grantSandboxProjectAccess:()=>bf,groupMessagesIntoTurns:()=>zg,hasDiffs:()=>fm,hasLocalhostUrls:()=>Td,heartbeatGapEvent:()=>zc,humanizeToolName:()=>Ct,installTemplate:()=>yd,invalidateTokenCache:()=>Ae,inviteAccountMember:()=>Tr,inviteProjectMember:()=>us,inviteRepoCollaborator:()=>Fr,isAdminBypassEnabled:()=>Bp,isAgentPart:()=>Ig,isAppRouteUrl:()=>Kc,isAttachment:()=>il,isBillingError:()=>Pc,isCompactionPart:()=>jg,isConfigured:()=>Ye,isDestructivePhase:()=>jf,isExternalUrl:()=>Ud,isFilePart:()=>sl,isInstanceDetailPath:()=>Gm,isInstanceScopedAppPath:()=>Pl,isInviteSent:()=>Zp,isLastUserMessage:()=>nm,isManagedGithubProject:()=>Hp,isOpenCodeConfigInvalidError:()=>Wm,isPatchPart:()=>Eg,isPreviewUrl:()=>$d,isProxiableLocalhostUrl:()=>Hc,isReasoningPart:()=>Tt,isRuntimeReady:()=>hd,isSessionFresh:()=>Ui,isSessionStartError:()=>nd,isShellMode:()=>pl,isSnapshotPart:()=>Ag,isSubdomainPreviewUrl:()=>Qf,isTextPart:()=>se,isToolPart:()=>X,isToolPartHidden:()=>Mg,isWebProxyUrl:()=>Md,kortixPty:()=>vc,leaveAccount:()=>Ur,linkGitHubInstallation:()=>ns,linkRepository:()=>Jr,listAccountAudit:()=>_a,listAccountAuditWebhooks:()=>va,listAccountInvites:()=>Ir,listAccountMembers:()=>Rr,listAccountTokens:()=>ha,listAccounts:()=>_r,listBackups:()=>Sf,listBillingTransactions:()=>lo,listChangeRequests:()=>vi,listChannelBindings:()=>ud,listColumns:()=>$u,listConnectionProfiles:()=>Es,listConnectors:()=>Fs,listCredentialEvents:()=>ap,listCredentials:()=>op,listDiscoverIntegrations:()=>Zs,listEnv:()=>sr,listFeaturedMarketplaces:()=>$a,listFields:()=>Du,listGatewayLogs:()=>zo,listGitHubInstallations:()=>Qr,listGitHubRepositories:()=>Zr,listGitHubRepositoryBranches:()=>es,listKortixProjectSessions:()=>Ju,listKortixProjects:()=>Vu,listKortixPty:()=>ar,listLinkableGitHubInstallations:()=>Yr,listMarketplaceCatalogItems:()=>Aa,listMarketplaceSources:()=>Ma,listMarketplaces:()=>Ea,listMilestoneEvents:()=>ep,listMilestones:()=>Yu,listPendingApprovals:()=>Ps,listPendingProjectInvites:()=>ps,listPipedreamApps:()=>Ys,listProjectAccess:()=>as,listProjectAccessRequests:()=>ss,listProjectAgents:()=>Fu,listProjectBranches:()=>xi,listProjectCliTokens:()=>ka,listProjectCommits:()=>ki,listProjectFiles:()=>fi,listProjectGroupGrants:()=>ms,listProjectPolicies:()=>si,listProjectResourceGrants:()=>bs,listProjectSandboxTemplates:()=>oi,listProjectSandboxes:()=>mi,listProjectSecrets:()=>Ss,listProjectSessions:()=>we,listProjectSnapshots:()=>ai,listProjectTriggers:()=>zi,listProjects:()=>le,listProjectsForAccount:()=>Lr,listReviewItems:()=>la,listSandboxMembers:()=>lf,listSandboxProjectMembers:()=>hf,listSandboxShares:()=>ma,listSandboxes:()=>nf,listServiceTemplates:()=>mp,listServices:()=>gp,listSessionPublicShares:()=>Fi,listSessionsNeedingInput:()=>ws,listTaskEvents:()=>yu,listTasks:()=>mu,listTemplates:()=>Uu,listTicketEvents:()=>vu,listTickets:()=>_u,loadHttpSessionHistory:()=>ql,markInstanceError:()=>Ff,markSessionFresh:()=>Mi,mergeChangeRequest:()=>ji,narrowChatEvent:()=>Jc,normalizeAppPathname:()=>Vm,normalizeExternalInput:()=>Od,normalizeToolName:()=>Ke,openChangeRequest:()=>Ii,openEventStream:()=>St,parseBillingError:()=>be,parseFlagOverride:()=>Lm,parseLocalhostUrl:()=>Fe,parseOpenCodeErrorPayload:()=>Cl,parseSubdomainUrl:()=>Ga,parseWebProxyUrl:()=>Dd,patchKortixProject:()=>Qu,pipedreamConnect:()=>zs,pipedreamConnectConnectionProfile:()=>Os,pipedreamFinalize:()=>ri,pipedreamFinalizeConnectionProfile:()=>Ls,platformConfig:()=>I,pollProjectProviderOAuth:()=>Rs,previewGatewayRoute:()=>Wo,previewMeetVoice:()=>Bo,projectSessionStartSeed:()=>td,provisionProject:()=>Hr,provisionProjectWithToken:()=>Qp,proxyLocalhostUrl:()=>Fa,proxyUrlToInternal:()=>Ed,purchaseCredits:()=>_o,reactivateSandbox:()=>cf,reactivateSubscription:()=>xo,readProjectFile:()=>hi,rebuildProjectSnapshot:()=>ci,reconcileConnectionProfile:()=>$s,reconcileMemberConnectionProfile:()=>qs,reconcileServices:()=>hp,registerService:()=>bp,rejectProjectAccessRequest:()=>os,relativizePath:()=>Bg,removeAccountAuditWebhook:()=>Ta,removeAccountMember:()=>Dr,removeKortixPty:()=>ur,removeMarketplaceSource:()=>Oa,removeSandboxMember:()=>pf,renameSandbox:()=>tf,reopenChangeRequest:()=>Ei,reopenMilestone:()=>sp,replaceColumns:()=>qu,replaceFields:()=>Mu,replaceTemplates:()=>Ou,requestChangesOnChangeRequest:()=>$i,requestProjectAccess:()=>Yp,requestProjectConnector:()=>ja,requestProjectSecret:()=>Ia,resendAccountInvite:()=>Ar,resendPendingProjectInvite:()=>gs,resetClient:()=>kp,resetGatewayRoutingPolicy:()=>Vo,resetPublicClient:()=>_p,resetSandboxUpdateStatus:()=>Df,resolveApproval:()=>_s,restartProjectSession:()=>Ue,restartSandbox:()=>sf,restoreBackup:()=>Cf,revealCredential:()=>lp,revokeAccountToken:()=>xa,revokeConnectionProfile:()=>Ms,revokeGatewayKey:()=>oa,revokePendingProjectInvite:()=>ds,revokeProjectAccess:()=>ls,revokeProjectCliToken:()=>wa,revokeSandboxInvite:()=>kf,revokeSandboxProjectAccess:()=>xf,revokeSandboxShare:()=>ya,revokeSessionPublicShare:()=>Bi,rewriteLocalhostUrl:()=>Se,runGatewayPlayground:()=>aa,saveGitHubInstallation:()=>ts,scheduleDowngrade:()=>ko,searchProjectFiles:()=>yi,serviceAction:()=>yp,sessionStartKey:()=>sd,setActiveInstanceCookie:()=>Nm,setAdminBypass:()=>Gp,setAgentScope:()=>so,setBootstrapAuthToken:()=>uu,setCachedAuthToken:()=>lu,setConnectorCredential:()=>ni,setConnectorCredentialMode:()=>Bs,setConnectorName:()=>Ws,setConnectorPolicies:()=>Hs,setConnectorSensitive:()=>Ks,setEnv:()=>ir,setGatewayBudget:()=>na,setGatewayRoutingPolicy:()=>Ho,setGitHubAppFromExisting:()=>Vf,setGitHubAppPat:()=>Wf,setMeetBotName:()=>Go,setMeetVoice:()=>Fo,setModelDefault:()=>no,setPersonalProjectSecret:()=>js,setProjectOnboardingComplete:()=>zr,setProjectPolicies:()=>ii,setProjectSessionSharing:()=>Oi,setProjectTriggersActivation:()=>Yi,setupSSH:()=>Tf,shouldHideResponsePart:()=>sm,shouldShowToolPart:()=>ol,sortSessions:()=>em,speakInMeeting:()=>Ko,splitUserParts:()=>qg,startGitHubAppManifest:()=>Hf,startProjectProviderOAuth:()=>Cs,startProjectSession:()=>ue,startTask:()=>ku,stopProjectSession:()=>Oe,stopSandbox:()=>of,stripAnsi:()=>Wg,stripInstancePrefix:()=>Bm,stripTrailingSlashes:()=>oe,submitReviewItem:()=>pa,supabaseClient:()=>Kp,syncConnectors:()=>Gs,systemReload:()=>vp,toInstanceAwarePath:()=>Hm,toInternalUrl:()=>Ad,toolInfo:()=>Rt,toolViewModel:()=>xl,transcribeAudio:()=>ca,triggerSandboxUpdate:()=>qf,triggersRequest:()=>Sc,turnHasSteps:()=>Qg,unassignTicket:()=>ju,unwrapError:()=>W,updateAccountAuditWebhook:()=>Ra,updateAccountMemberRole:()=>Mr,updateAccountName:()=>Cr,updateAgentConfig:()=>od,updateChannelBinding:()=>pd,updateConnectionProfileCredential:()=>Ds,updateEmailPolicy:()=>Oo,updateExperimentalFeature:()=>Vr,updateKortixPty:()=>lr,updateMilestone:()=>np,updateProject:()=>ht,updateProjectAccess:()=>cs,updateProjectAgent:()=>Bu,updateProjectDefaultAgent:()=>io,updateProjectGroupGrant:()=>ys,updateProjectSandboxProvider:()=>Wr,updateProjectSession:()=>Vi,updateProjectTrigger:()=>Xi,updateSandboxMemberRole:()=>df,updateSandboxMemberScope:()=>yf,updateSandboxMemberSpendCap:()=>gf,updateSandboxTemplate:()=>pi,updateTask:()=>xu,updateTemplateWarmPool:()=>Jp,updateTicket:()=>Ru,updateTicketStatus:()=>Tu,uploadSlackChannelFile:()=>Eo,upsertCredential:()=>cp,upsertProjectGitCredential:()=>Ts,upsertProjectSecret:()=>vs,validateProjectManifest:()=>Gr,validateToken:()=>Or,verifyGatewayProvider:()=>dd});var Kl={backendUrl:"",getToken:async()=>null},qt=null,Xe=null;function Nl(e){Xe=e}function Hl(){return Xe}function Qe(e,t){t?.global!==!1&&(qt=e)}function I(){return Xe?.()??qt??Kl}function Ye(){return qt!==null||Xe?.()!==void 0}var rc=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:d,sseSleepFn:g,url:h,...m})=>{let k,w=g??(i=>new Promise(P=>setTimeout(P,i)));return{stream:async function*(){let i=c??3e3,P=0,_=m.signal??new AbortController().signal;for(;!_.aborted;){P++;let D=m.headers instanceof Headers?m.headers:new Headers(m.headers);k!==void 0&&D.set("Last-Event-ID",k);try{let A={redirect:"follow",...m,body:m.serializedBody,headers:D,signal:_},S=new Request(h,A);e&&(S=await e(h,A));let j=await(m.fetch??globalThis.fetch)(S);if(!j.ok)throw new Error(`SSE failed: ${j.status} ${j.statusText}`);if(!j.body)throw new Error("No body in SSE response");let f=j.body.pipeThrough(new TextDecoderStream).getReader(),v="",L=()=>{try{f.cancel()}catch{}};_.addEventListener("abort",L);try{for(;;){let{done:N,value:U}=await f.read();if(N)break;v+=U,v=v.replace(/\r\n/g,`
|
|
1
|
+
"use strict";var Kortix=(()=>{var pn=Object.defineProperty;var Fu=Object.getOwnPropertyDescriptor;var Gu=Object.getOwnPropertyNames;var Bu=Object.prototype.hasOwnProperty;var Nu=(e,t)=>{for(var n in t)pn(e,n,{get:t[n],enumerable:!0})},Hu=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Gu(t))!Bu.call(e,s)&&s!==n&&pn(e,s,{get:()=>t[s],enumerable:!(r=Fu(t,s))||r.enumerable});return e};var Ku=e=>Hu(pn({},"__esModule",{value:!0}),e);var Wx={};Nu(Wx,{ACTIVE_INSTANCE_COOKIE:()=>ht,AcpClient:()=>Zt,AcpRpcError:()=>Ne,AcpSessionController:()=>nn,AcpTransportError:()=>Z,ApiError:()=>I,AuthError:()=>je,BillingError:()=>he,COST_MARKUP:()=>wc,DEFAULT_TRANSCRIPT_OPTIONS:()=>hc,DESTRUCTIVE_PHASES:()=>Tu,FEATURE_NOT_SUPPORTED_CODE:()=>pl,HostBoundaryError:()=>ie,INSTANCE_SCOPED_ROUTES:()=>hu,PublicSessionShareError:()=>Kt,PublicVoiceJoinError:()=>Wt,RequestTooLargeError:()=>Ee,RuntimeNotReadyError:()=>Et,SANDBOX_FS_ROOTS:()=>Dt,SANDBOX_PORTS:()=>ne,SessionNotReadyError:()=>gt,SessionStartError:()=>Ht,__getConfigResolver:()=>zu,__setConfigResolver:()=>Vu,acceptAccountInvite:()=>os,acceptInvite:()=>Lb,actReviewItem:()=>Ga,activateConnectionProfile:()=>pi,addGroupMembers:()=>Fg,addMarketplaceSource:()=>dc,addSandboxMember:()=>Cb,allDescendantIds:()=>Jl,appendPreviewToken:()=>Lx,applyAcpEnvelope:()=>tn,approveProjectAccessRequest:()=>Es,approveTask:()=>Sp,archiveProject:()=>Bt,assignTicket:()=>Ep,attachGroupToProject:()=>Bs,authenticatedFetch:()=>j,backendApi:()=>i,bindSlackIdentity:()=>kg,bindTeamsIdentity:()=>wg,buildAcpBridgeEndpoint:()=>Rc,buildInstancePath:()=>xu,buildPresentationTemplateImageUrl:()=>Gx,buildPresentationTemplatePdfUrl:()=>Fx,buildPreviewAuthEndpoint:()=>Ux,buildPublicTemplateUrl:()=>Iu,buildRuntimePresentationConversionUrl:()=>Eu,buildSandboxTemplate:()=>Bi,buildStaticFileHealthPreviewUrl:()=>wf,buildStaticFileLocalUrl:()=>kf,buildStaticFilePreviewUrl:()=>Pf,buildStaticFileServicePath:()=>Cl,buildTunnelEventStreamUrl:()=>Uu,buildWebProxyUrl:()=>Cf,bulkActReviewItems:()=>Ba,bulkDeletePolicies:()=>Jg,bulkImportPolicies:()=>Qg,cancelAccountDeletion:()=>Gm,cancelAccountInvite:()=>rs,cancelSandbox:()=>Sb,cancelSandboxUpdate:()=>Zb,cancelScheduledChange:()=>Zo,cancelSubscription:()=>Qo,checkAccessEmail:()=>dx,childMapByParent:()=>Wy,claimComputer:()=>sx,claimPerSeatBilling:()=>xg,claimWarmProjectSession:()=>xo,classifyPart:()=>xc,classifyTurn:()=>Bl,clearModelDefault:()=>Mo,clearSessionFresh:()=>lg,closeChangeRequest:()=>oo,closeMilestone:()=>od,collectTurnParts:()=>By,commentTicket:()=>qp,commitSessionChanges:()=>lo,computeStatusFromPart:()=>kc,configureAutoTopup:()=>ra,configureKortix:()=>wt,confirmCheckoutSession:()=>zo,connectEmail:()=>fa,connectSlack:()=>oa,convertPresentationToGoogleSlides:()=>Ym,convertRuntimePresentation:()=>Bx,copyFile:()=>st,createAccount:()=>Xr,createAccountAuditWebhook:()=>tc,createAccountToken:()=>Va,createAcpClient:()=>vc,createAcpProjection:()=>en,createAcpSessionController:()=>nb,createAuditWebhook:()=>jm,createBackup:()=>Bb,createCheckoutSession:()=>Vo,createConnector:()=>Si,createFile:()=>rt,createGatewayKey:()=>qa,createGroup:()=>Mg,createHttpSessionSyncController:()=>Mu,createInstance:()=>tx,createKortix:()=>Ml,createKortixPty:()=>Lr,createMarketplaceInstallSession:()=>rf,createMilestone:()=>sd,createPerSeatCheckout:()=>bg,createPolicy:()=>Wg,createPortalSession:()=>Jo,createProject:()=>ys,createProjectAgent:()=>Hp,createProjectCliToken:()=>Qa,createProjectRepo:()=>hs,createProjectResourceGrant:()=>Ws,createProjectSession:()=>Ge,createProjectTrigger:()=>To,createRole:()=>nm,createSSEStream:()=>Ou,createSandbox:()=>hb,createSandboxShare:()=>Ha,createSandboxTemplate:()=>Li,createScimToken:()=>cm,createServiceAccountApi:()=>Cm,createSessionPublicShare:()=>yo,createSessionRuntimePolicy:()=>Jh,createSsoGroupMapping:()=>bm,createTask:()=>kp,createTicket:()=>Ap,createTunnelEventStream:()=>Kx,declineAccountInvite:()=>as,declineInvite:()=>Fb,deleteAccountImmediately:()=>Bm,deleteAuditWebhook:()=>$m,deleteBackup:()=>Hb,deleteConnector:()=>Ri,deleteCredential:()=>gd,deleteEnv:()=>Ur,deleteFile:()=>it,deleteGatewayBudget:()=>Ea,deleteGitHubInstallation:()=>Is,deleteGroup:()=>Og,deleteInstance:()=>nx,deleteKortixProject:()=>Zp,deleteMilestone:()=>cd,deletePersonalProjectSecret:()=>si,deletePolicy:()=>zg,deleteProjectAgent:()=>Wp,deleteProjectResourceGrant:()=>Vs,deleteProjectSecret:()=>ni,deleteProjectSession:()=>vo,deleteProjectTrigger:()=>Io,deleteRole:()=>im,deleteSandboxTemplate:()=>Gi,deleteServiceAccountApi:()=>Am,deleteSsoGroupMapping:()=>xm,deleteSsoProvider:()=>ym,deleteTask:()=>vp,deleteTicket:()=>Dp,describeAccountInvite:()=>is,detachGroupFromProject:()=>Hs,detectLocalhostUrls:()=>vl,disableServiceAccountApi:()=>Tm,disconnectEmail:()=>ya,disconnectGitHubApp:()=>Dx,disconnectSlack:()=>la,discoverConnectionProfileOAuth2:()=>ng,discoverConnectorAuth:()=>vi,discoverLocalSandbox:()=>kb,downloadAccountAudit:()=>Cx,dropClientForUrl:()=>wd,dropPublicClientForUrl:()=>vd,ensurePmSession:()=>Bp,ensureProjectConnectorProfile:()=>Zd,ensureSandbox:()=>Cu,ensureWarmProjectSession:()=>bo,env:()=>rl,exportAccountAudit:()=>Za,extractGatewayErrorDetails:()=>ge,extractInstanceRoute:()=>He,featureFlags:()=>ib,fetchAccountStateWithToken:()=>yg,fetchAccountsWithToken:()=>Nd,fetchProjectArchive:()=>Vi,fetchProjectsForAccountWithToken:()=>Jd,files:()=>ll,findFiles:()=>tt,findLastTextPart:()=>Ny,findText:()=>nt,fireProjectTrigger:()=>Eo,fixSandboxWithAgent:()=>Oi,formatBillingErrorForUI:()=>nl,formatCost:()=>sh,formatDuration:()=>th,formatOpenCodeRuntimeError:()=>Su,formatRuntimeError:()=>Su,formatTokens:()=>ih,formatTranscript:()=>Ol,generateSessionId:()=>Ul,getAccount:()=>Yr,getAccountDeletionStatus:()=>Lm,getAccountState:()=>Fo,getAccountStateMinimal:()=>Go,getActiveInstanceIdFromCookie:()=>ku,getAdminProviderAnalytics:()=>Vm,getAdminProviderDistribution:()=>Hm,getAdminProviderFallback:()=>Jm,getAdminRole:()=>Nm,getAgentCardLabel:()=>zl,getAgentConfig:()=>mg,getAgentPersona:()=>Vp,getAllVersions:()=>Qb,getAnsweredQuestionParts:()=>Ky,getAuthToken:()=>Qe,getAuthTokenWithRetry:()=>Er,getAutoTopupSettings:()=>na,getAutoTopupSetupStatus:()=>hg,getBillingCreditBreakdown:()=>Ho,getBillingTierConfigurations:()=>Wo,getBillingTransactionsSummary:()=>No,getBillingUsageHistory:()=>Ko,getChangeRequest:()=>to,getChangeRequestDiff:()=>no,getChangeRequestMergePreview:()=>ro,getChildSessionError:()=>Ey,getChildSessionId:()=>jy,getChildSessionToolParts:()=>$y,getClient:()=>ce,getClientForUrl:()=>te,getConnectStatus:()=>Ii,getConnectionPolicies:()=>ag,getConnectionProfileOAuth2Application:()=>tg,getConnectionProfileOAuth2Status:()=>og,getConnectorConfig:()=>ki,getConnectorPolicies:()=>xi,getConnectorSetupLink:()=>hx,getCurrentInstanceIdFromPathname:()=>Pu,getCurrentInstanceIdFromWindow:()=>cb,getCurrentProject:()=>Wr,getDefaultAccountState:()=>Lo,getDiagnostics:()=>My,getDirectory:()=>Vl,getDiscoverIntegration:()=>Ai,getEmailInstallation:()=>ga,getEmailMode:()=>ma,getEnterpriseDemo:()=>Um,getFileStatus:()=>et,getFileWithDir:()=>Pc,getFilename:()=>Wl,getFullChangelog:()=>Au,getGatewayBreakdown:()=>Ca,getGatewayBudgets:()=>Ia,getGatewayErrors:()=>Aa,getGatewayKeys:()=>$a,getGatewayLog:()=>Sa,getGatewayOverview:()=>va,getGatewayRoutingPolicy:()=>xa,getGatewaySeries:()=>Ra,getGatewaySessions:()=>Ta,getGitHubAppStatus:()=>jx,getGitHubInstallation:()=>_s,getGoogleAuthUrl:()=>Xm,getGroup:()=>Dg,getHiddenToolParts:()=>Ty,getInvite:()=>Ob,getJustavpsServerTypes:()=>ex,getKortixProject:()=>Qp,getKortixProjectBySession:()=>Xp,getKortixPtyWebSocketUrl:()=>Br,getLatestSandboxVersion:()=>Jb,getMaintenanceConfig:()=>_x,getManagedGitStatus:()=>Wd,getMarketplaceCatalogItem:()=>lc,getMarketplaceCatalogItemFile:()=>uc,getMfaRequired:()=>um,getMilestone:()=>nd,getModelDefaults:()=>qo,getOAuthConsentRequest:()=>fx,getOpenCodeConfigInvalidError:()=>Ac,getPartText:()=>Ry,getPatPolicy:()=>Sm,getPermissionForTool:()=>Uy,getProject:()=>Ut,getProjectActivity:()=>zp,getProjectCommit:()=>Qi,getProjectCommitDiff:()=>Xi,getProjectDetail:()=>Ot,getProjectFileHistory:()=>Yi,getProjectGitToken:()=>fs,getProjectLlmCatalog:()=>Lt,getProjectLlmCatalogProviders:()=>Kd,getProjectModelPicker:()=>Ft,getProjectSandboxHealth:()=>Nt,getProjectSandboxProviderTransition:()=>Vd,getProjectSession:()=>Po,getProrationPreview:()=>ea,getProviders:()=>fb,getProxyBaseUrl:()=>_f,getPublicClientForUrl:()=>Sd,getPublicMarketplaceItem:()=>ux,getPublicMarketplaceItemFile:()=>px,getPublicSessionShare:()=>Zm,getPublicSessionShareMessages:()=>ef,getPublicShareByToken:()=>kx,getPublicTemplate:()=>Ix,getPublicVoiceJoin:()=>tf,getPublicVoiceTranscript:()=>nf,getQuestionForTool:()=>Oy,getReferralCode:()=>Tg,getReferralStats:()=>jg,getRetryInfo:()=>oh,getRetryMessage:()=>ah,getReviewItem:()=>La,getRolePermissions:()=>Zg,getRoleUsage:()=>tm,getSSHConnection:()=>Wb,getSandbox:()=>yb,getSandboxById:()=>bb,getSandboxMemberScopes:()=>Eb,getSandboxPortUrl:()=>mb,getSandboxProvisionStatus:()=>ix,getSandboxProvisionStreamUrl:()=>ox,getSandboxUpdateStatus:()=>zb,getSandboxUrl:()=>Ec,getSecretSetupLink:()=>xx,getServerHealth:()=>Mt,getServiceLogs:()=>bd,getSessionAudit:()=>ko,getSessionCost:()=>rh,getSessionHealth:()=>mc,getSessionPolicy:()=>Pm,getSessionPreviewCandidates:()=>mo,getSessionTranscript:()=>wo,getShellModePart:()=>zy,getSlackChannelFile:()=>ua,getSlackInstallation:()=>ia,getSlackManifest:()=>ca,getSlackMode:()=>aa,getSsoProvider:()=>gm,getStaticFileHealthPath:()=>Tl,getSupabaseAccessToken:()=>Tt,getSupabaseAccessTokenWithRetry:()=>Ae,getTask:()=>bp,getTaskStatus:()=>Pp,getTemplate:()=>sf,getTicket:()=>Cp,getToolInfo:()=>qy,getTranscriptFilename:()=>Ll,getTurnCost:()=>nh,getTurnError:()=>Yy,getTurnErrorDetails:()=>Zy,getTurnStatus:()=>eh,getUsageRollup:()=>sa,getUserRolesWithToken:()=>vx,getVersionDiff:()=>Zi,getViewerSandboxScopes:()=>jb,getVoiceTranscript:()=>_o,getWorkingState:()=>Qy,grantSandboxProjectAccess:()=>Db,groupMessagesIntoTurns:()=>Gy,hasDiffs:()=>ch,hasLocalhostUrls:()=>bf,hasPreviewTarget:()=>Rl,heartbeatGapEvent:()=>$l,humanizeToolName:()=>Xt,importSsoProviderFromMetadata:()=>fm,installTemplate:()=>of,invalidateTokenCache:()=>Je,inviteAccountMember:()=>ts,inviteProjectMember:()=>Us,inviteRepoCollaborator:()=>gs,isAdminBypassEnabled:()=>Gd,isAgentPart:()=>wy,isAppRouteUrl:()=>Sl,isAttachment:()=>Hl,isBillingError:()=>tl,isCompactionPart:()=>_y,isConfigured:()=>_t,isDestructivePhase:()=>Vb,isExternalUrl:()=>If,isFilePart:()=>Nl,isInstanceDetailPath:()=>ob,isInstanceScopedAppPath:()=>bu,isInternalLocalhostUrl:()=>Rf,isInviteSent:()=>Yd,isLastUserMessage:()=>Jy,isManagedGithubProject:()=>Hd,isOpenCodeConfigInvalidError:()=>db,isPatchPart:()=>vy,isPreviewUrl:()=>vf,isProxiableLocalhostUrl:()=>Al,isReasoningPart:()=>Yt,isRuntimeReady:()=>af,isServerReachable:()=>Vr,isSessionFresh:()=>po,isSessionStartError:()=>pg,isShellMode:()=>Ql,isSnapshotPart:()=>Sy,isSubdomainPreviewUrl:()=>Ox,isTextPart:()=>fe,isToolPart:()=>re,isToolPartHidden:()=>Ay,isUnderSandboxRoot:()=>Nr,isWebProxyUrl:()=>Af,kortixPty:()=>il,leaveAccount:()=>us,linkGitHubInstallation:()=>As,linkRepository:()=>ws,listAccountAudit:()=>Ya,listAccountAuditWebhooks:()=>ec,listAccountInvites:()=>ns,listAccountMembers:()=>es,listAccountSessions:()=>wm,listAccountTokens:()=>Wa,listAccounts:()=>Qr,listActions:()=>em,listAdminSandboxes:()=>Km,listAgentIdentities:()=>Yg,listAllConnectionProfiles:()=>oi,listAuditEvents:()=>qm,listAuditWebhooks:()=>Im,listBackups:()=>Gb,listBillingTransactions:()=>Bo,listChangeRequests:()=>eo,listChannelBindings:()=>vg,listColumns:()=>Mp,listConnectionProfiles:()=>ii,listConnectors:()=>fi,listCredentialEvents:()=>ud,listCredentials:()=>ld,listDiscoverIntegrations:()=>Ti,listEnv:()=>Dr,listFeaturedMarketplaces:()=>cc,listFields:()=>Op,listFiles:()=>Ze,listGatewayLogs:()=>_a,listGitHubInstallations:()=>Ss,listGitHubRepositories:()=>Rs,listGitHubRepositoryBranches:()=>Cs,listGroupMembers:()=>Lg,listGroupProjectGrants:()=>Gg,listGroups:()=>qg,listKortixProjectSessions:()=>Yp,listKortixProjects:()=>Jp,listKortixPty:()=>Or,listLinkableGitHubInstallations:()=>vs,listMarketplaceCatalogItems:()=>oc,listMarketplaceSources:()=>pc,listMarketplaces:()=>ac,listMemberGroups:()=>Ng,listMemberProjectAccess:()=>Hg,listMilestoneEvents:()=>rd,listMilestones:()=>td,listPendingApprovals:()=>zs,listPendingProjectInvites:()=>Os,listPipedreamApps:()=>Ci,listPolicies:()=>Kg,listProjectAccess:()=>qs,listProjectAccessRequests:()=>js,listProjectAgents:()=>Np,listProjectBranches:()=>zi,listProjectCliTokens:()=>Ja,listProjectCommits:()=>Ji,listProjectFiles:()=>Hi,listProjectGroupGrants:()=>Gs,listProjectPolicies:()=>$i,listProjectResourceGrants:()=>Ks,listProjectSandboxTemplates:()=>Di,listProjectSandboxes:()=>Ni,listProjectSecrets:()=>Xs,listProjectSessions:()=>Fe,listProjectSnapshots:()=>Mi,listProjectTriggers:()=>Co,listProjects:()=>ke,listProjectsForAccount:()=>ds,listPublicMarketplaceItems:()=>cx,listPublicMarketplaces:()=>lx,listReferrals:()=>Eg,listReviewItems:()=>Oa,listRoles:()=>Xg,listSandboxMembers:()=>Rb,listSandboxProjectMembers:()=>qb,listSandboxShares:()=>Na,listSandboxes:()=>Pb,listScimTokens:()=>am,listServiceAccountsApi:()=>Rm,listServiceTemplates:()=>hd,listServices:()=>yd,listSessionPublicShares:()=>fo,listSessionsNeedingInput:()=>Js,listSsoGroupMappings:()=>hm,listTaskEvents:()=>xp,listTasks:()=>hp,listTemplates:()=>Fp,listTicketEvents:()=>Tp,listTickets:()=>Rp,loadHttpSessionHistory:()=>Du,markInstanceError:()=>rx,markSessionFresh:()=>ct,mergeChangeRequest:()=>io,migrateAdminSandboxProvider:()=>zm,mkdir:()=>ot,narrowChatEvent:()=>ql,normalizeAppPathname:()=>pb,normalizeExternalInput:()=>jf,normalizeToolName:()=>me,openChangeRequest:()=>so,openEventStream:()=>Jt,openStressTestStream:()=>Tx,parseBillingError:()=>$e,parseFlagOverride:()=>sb,parseLocalhostUrl:()=>dt,parseOpenCodeErrorPayload:()=>_u,parseSubdomainUrl:()=>yc,parseWebProxyUrl:()=>Tf,patchKortixProject:()=>ed,pipedreamConnect:()=>_i,pipedreamConnectConnectionProfile:()=>gi,pipedreamFinalize:()=>Ei,pipedreamFinalizeConnectionProfile:()=>mi,platformConfig:()=>q,pollConnectionProfileOAuth2DeviceAuthorization:()=>ig,pollProjectProviderOAuth:()=>ei,previewGatewayRoute:()=>wa,previewMfaRequired:()=>pm,probeEffectivePermission:()=>Dm,probeEffectivePermissions:()=>Mm,projectSessionStartSeed:()=>ug,provisionProject:()=>bs,provisionProjectWithToken:()=>Qd,proxyLocalhostUrl:()=>fc,proxyUrlToInternal:()=>Sf,purchaseCredits:()=>ta,putConnectionProfileOAuth2Application:()=>eg,reactivateSandbox:()=>vb,reactivateSubscription:()=>Xo,readBlob:()=>Ue,readFile:()=>Me,readProjectFile:()=>Wi,rebuildProjectSnapshot:()=>Ui,reconcileConnectionProfile:()=>ai,reconcileMemberConnectionProfile:()=>ci,reconcileServices:()=>Pd,recordPlatformLogout:()=>mx,refreshReferralCode:()=>Ag,registerService:()=>kd,rejectProjectAccessRequest:()=>$s,relativizePath:()=>Dy,removeAccountAuditWebhook:()=>rc,removeAccountMember:()=>cs,removeGroupMember:()=>Bg,removeKortixPty:()=>Gr,removeMarketplaceSource:()=>gc,removeSandboxMember:()=>Tb,renameFile:()=>at,renameSandbox:()=>xb,reopenChangeRequest:()=>ao,reopenMilestone:()=>ad,replaceColumns:()=>Up,replaceFields:()=>Lp,replaceTemplates:()=>Gp,requestAccountDeletion:()=>Fm,requestChangesOnChangeRequest:()=>co,requestProjectAccess:()=>Xd,requestProjectConnector:()=>ic,requestProjectSecret:()=>sc,resendAccountInvite:()=>ss,resendPendingProjectInvite:()=>Fs,resetClient:()=>_d,resetGatewayRoutingPolicy:()=>ka,resetPublicClient:()=>Rd,resetSandboxUpdateStatus:()=>Yb,resolveApproval:()=>Qs,resolveSessionRuntimeTransport:()=>gu,restartProjectSession:()=>lt,restartSandbox:()=>wb,restoreBackup:()=>Nb,revealCredential:()=>dd,revokeAccountSession:()=>_m,revokeAccountToken:()=>za,revokeConnectionProfile:()=>ui,revokeGatewayKey:()=>Da,revokePendingProjectInvite:()=>Ls,revokeProjectAccess:()=>Ms,revokeProjectCliToken:()=>Xa,revokeSandboxInvite:()=>Ub,revokeSandboxProjectAccess:()=>Mb,revokeSandboxShare:()=>Ka,revokeScimToken:()=>lm,revokeSessionPublicShare:()=>ho,rewriteLocalhostUrl:()=>pe,runGatewayPlayground:()=>Ma,saveGitHubInstallation:()=>Ts,scheduleDowngrade:()=>Yo,searchProjectFiles:()=>Ki,sendReferralEmails:()=>$g,serviceAction:()=>xd,sessionStartKey:()=>gg,setActiveInstanceCookie:()=>lb,setAdminBypass:()=>Fd,setAdminProviderDistribution:()=>Wm,setAdminProviderFallback:()=>Qm,setAgentScope:()=>Uo,setBootstrapAuthToken:()=>gp,setCachedAuthToken:()=>dp,setConnectionPolicies:()=>cg,setConnectorCredential:()=>ji,setConnectorCredentialMode:()=>hi,setConnectorName:()=>wi,setConnectorPolicies:()=>Pi,setConnectorSensitive:()=>bi,setDefaultConnectionProfile:()=>di,setEnterpriseDemo:()=>Om,setEnv:()=>Mr,setGatewayBudget:()=>ja,setGatewayRoutingPolicy:()=>Pa,setGitHubAppFromExisting:()=>$x,setGitHubAppPat:()=>qx,setMaintenanceConfig:()=>Sx,setMeetBotName:()=>ba,setMemberSuperAdmin:()=>om,setMfaRequired:()=>dm,setModelDefault:()=>Do,setPersonalProjectSecret:()=>ri,setProjectOnboardingComplete:()=>ks,setProjectPolicies:()=>qi,setProjectSessionModel:()=>Ro,setProjectSessionSharing:()=>go,setProjectTriggersActivation:()=>jo,setupSSH:()=>Kb,shouldHideResponsePart:()=>Xy,shouldShowToolPart:()=>Kl,sortSessions:()=>Vy,splitUserParts:()=>Cy,startConnectionProfileOAuth2Authorization:()=>rg,startConnectionProfileOAuth2DeviceAuthorization:()=>sg,startConnectorSetupLink:()=>bx,startGitHubAppManifest:()=>Ex,startProjectProviderOAuth:()=>Zs,startProjectSession:()=>_e,startSessionWithToken:()=>wx,startTask:()=>_p,stopProjectSession:()=>ut,stopSandbox:()=>_b,stripAnsi:()=>Fy,stripInstancePrefix:()=>ab,stripTrailingSlashes:()=>be,submitAccessRequest:()=>gx,submitDemoRequest:()=>Rx,submitOAuthConsent:()=>yx,submitReviewItem:()=>Fa,submitSecretSetupLink:()=>Px,supabaseClient:()=>Bd,syncConnectors:()=>yi,syncSubscription:()=>Pg,systemReload:()=>Td,toDaemonPath:()=>xe,toInstanceAwarePath:()=>ub,toInternalUrl:()=>Il,toSandboxAbsolutePath:()=>Hr,toWorkspaceRelative:()=>Kr,toolInfo:()=>Se,toolViewModel:()=>su,transcribeAudio:()=>Ua,triggerSandboxUpdate:()=>Xb,triggersRequest:()=>sl,turnHasSteps:()=>Hy,unassignTicket:()=>$p,unwrapError:()=>Y,updateAccountAuditWebhook:()=>nc,updateAccountMemberRole:()=>ls,updateAccountName:()=>Zr,updateAgentConfig:()=>fg,updateAuditWebhook:()=>Em,updateChannelBinding:()=>Rg,updateConnectionProfileCredential:()=>li,updateEmailPolicy:()=>ha,updateExperimentalFeature:()=>xs,updateGroup:()=>Ug,updateKortixPty:()=>Fr,updateMilestone:()=>id,updatePatPolicy:()=>vm,updatePolicy:()=>Vg,updateProject:()=>Gt,updateProjectAccess:()=>Ds,updateProjectAgent:()=>Kp,updateProjectDefaultAgent:()=>Oo,updateProjectGroupGrant:()=>Ns,updateProjectSandboxProvider:()=>Ps,updateProjectSession:()=>So,updateProjectTrigger:()=>Ao,updateRole:()=>rm,updateRolePermissions:()=>sm,updateSandboxMemberRole:()=>Ab,updateSandboxMemberScope:()=>$b,updateSandboxMemberSpendCap:()=>Ib,updateSandboxTemplate:()=>Fi,updateSessionPolicy:()=>km,updateTask:()=>wp,updateTemplateWarmPool:()=>zd,updateTicket:()=>Ip,updateTicketStatus:()=>jp,uploadFile:()=>Oe,uploadSlackChannelFile:()=>pa,upsertCredential:()=>pd,upsertProjectGitCredential:()=>ti,upsertProjectSecret:()=>Ys,upsertSsoProvider:()=>mm,validateProjectManifest:()=>ms,validateReferralCode:()=>Ig,validateToken:()=>ps,verifyGatewayProvider:()=>Cg});var Wu={backendUrl:"",getToken:async()=>null},dn=null,kt=null;function Vu(e){kt=e}function zu(){return kt}function wt(e,t){t?.global!==!1&&(dn=e)}function q(){return kt?.()??dn??Wu}function _t(){return dn!==null||kt?.()!==void 0}var Uc=({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:o,sseMaxRetryAttempts:l,sseMaxRetryDelay:p,sseSleepFn:d,url:f,...m})=>{let h,x=d??(a=>new Promise(S=>setTimeout(S,a)));return{stream:async function*(){let a=o??3e3,S=0,T=m.signal??new AbortController().signal;for(;!T.aborted;){S++;let C=m.headers instanceof Headers?m.headers:new Headers(m.headers);h!==void 0&&C.set("Last-Event-ID",h);try{let w={redirect:"follow",...m,body:m.serializedBody,headers:C,signal:T},v=new Request(f,w);e&&(v=await e(f,w));let $=await(m.fetch??globalThis.fetch)(v);if(!$.ok)throw new Error(`SSE failed: ${$.status} ${$.statusText}`);if(!$.body)throw new Error("No body in SSE response");let y=$.body.pipeThrough(new TextDecoderStream).getReader(),R="",H=()=>{try{y.cancel()}catch{}};T.addEventListener("abort",H);try{for(;;){let{done:V,value:B}=await y.read();if(V)break;R+=B,R=R.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
|
-
`);let
|
|
3
|
+
`);let F=R.split(`
|
|
4
4
|
|
|
5
|
-
`);
|
|
6
|
-
`),
|
|
7
|
-
`);try{B=JSON.parse(E),O=!0}catch{B=E}}O&&(s&&await s(B),r&&(B=await r(B))),n?.({data:B,event:H,id:k,retry:i}),M.length&&(yield B)}}}finally{_.removeEventListener("abort",L),f.releaseLock()}break}catch(A){if(t?.(A),u!==void 0&&P>=u)break;let S=Math.min(i*2**(P-1),d??3e4);await w(S)}}}()}};var Vl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Wl=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},zl=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ze=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let d=(e?s:s.map(g=>encodeURIComponent(g))).join(Wl(r));switch(r){case"label":return`.${d}`;case"matrix":return`;${n}=${d}`;case"simple":return d;default:return`${n}=${d}`}}let c=Vl(r),u=s.map(d=>r==="label"||r==="simple"?e?d:encodeURIComponent(d):ge({allowReserved:e,name:n,value:d})).join(c);return r==="label"||r==="matrix"?c+u:u},ge=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},et=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let g=[];Object.entries(s).forEach(([m,k])=>{g=[...g,m,e?k:encodeURIComponent(k)]});let h=g.join(",");switch(r){case"form":return`${n}=${h}`;case"label":return`.${h}`;case"matrix":return`;${n}=${h}`;default:return h}}let u=zl(r),d=Object.entries(s).map(([g,h])=>ge({allowReserved:e,name:r==="deepObject"?`${n}[${g}]`:g,value:h})).join(u);return r==="label"||r==="matrix"?u+d:d};var Jl=/\{[^{}]+\}/g,Xl=({path:e,url:t})=>{let n=t,r=t.match(Jl);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),d="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),d="label"):u.startsWith(";")&&(u=u.substring(1),d="matrix");let g=e[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,Ze({explode:c,name:u,style:d,value:g}));continue}if(typeof g=="object"){n=n.replace(s,et({explode:c,name:u,style:d,value:g,valueOnly:!0}));continue}if(d==="matrix"){n=n.replace(s,`;${ge({name:u,value:g})}`);continue}let h=encodeURIComponent(d==="label"?`.${g}`:g);n=n.replace(s,h)}return n},sc=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(e??"")+c;t&&(u=Xl({path:t,url:u}));let d=n?r(n):"";return d.startsWith("?")&&(d=d.substring(1)),d&&(u+=`?${d}`),u};function Dt(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(t)return e.body}var ic=async(e,t)=>{let n=typeof t=="function"?await t(e):t;if(n)return e.scheme==="bearer"?`Bearer ${n}`:e.scheme==="basic"?`Basic ${btoa(n)}`:n};var Mt={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var oc=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let d=e[c]||t;if(Array.isArray(u)){let g=Ze({allowReserved:d.allowReserved,explode:!0,name:c,style:"form",value:u,...d.array});g&&s.push(g)}else if(typeof u=="object"){let g=et({allowReserved:d.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...d.object});g&&s.push(g)}else{let g=ge({allowReserved:d.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},ac=e=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>t.startsWith(n)))return"blob";if(t.startsWith("text/"))return"text"}},Ql=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,cc=async({security:e,...t})=>{for(let n of e){if(Ql(t,n.name))continue;let r=await ic(n,t.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":t.query||(t.query={}),t.query[s]=r;break;case"cookie":t.headers.append("Cookie",`${s}=${r}`);break;default:t.headers.set(s,r);break}}},Ut=e=>sc({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:oc(e.querySerializer),url:e.url}),Ot=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=tt(e.headers,t.headers),n},Yl=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},tt=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?Yl(n):Object.entries(n);for(let[s,c]of r)if(c===null)t.delete(s);else if(Array.isArray(c))for(let u of c)t.append(s,u);else c!==void 0&&t.set(s,typeof c=="object"?JSON.stringify(c):c)}return t},Te=class{fns=[];clear(){this.fns=[]}eject(t){let n=this.getInterceptorIndex(t);this.fns[n]&&(this.fns[n]=null)}exists(t){let n=this.getInterceptorIndex(t);return!!this.fns[n]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,n){let r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=n,t):!1}use(t){return this.fns.push(t),this.fns.length-1}},lc=()=>({error:new Te,request:new Te,response:new Te}),Zl=oc({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),eu={"Content-Type":"application/json"},Ie=(e={})=>({...Mt,headers:eu,parseAs:"auto",querySerializer:Zl,...e});var je=(e={})=>{let t=Ot(Ie(),e),n=()=>({...t}),r=h=>(t=Ot(t,h),n()),s=lc(),c=async h=>{let m={...t,...h,fetch:h.fetch??t.fetch??globalThis.fetch,headers:tt(t.headers,h.headers),serializedBody:void 0};m.security&&await cc({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let k=Ut(m);return{opts:m,url:k}},u=async h=>{let{opts:m,url:k}=await c(h),w={redirect:"follow",...m,body:Dt(m)},x=new Request(k,w);for(let T of s.request.fns)T&&(x=await T(x,m));let l=m.fetch,i;try{i=await l(x)}catch(T){let j=T;for(let f of s.error.fns)f&&(j=await f(T,void 0,x,m));if(j=j||{},m.throwOnError)throw j;return m.responseStyle==="data"?void 0:{error:j,request:x,response:void 0}}for(let T of s.response.fns)T&&(i=await T(i,x,m));let P={request:x,response:i};if(i.ok){let T=(m.parseAs==="auto"?ac(i.headers.get("Content-Type")):m.parseAs)??"json";if(i.status===204||i.headers.get("Content-Length")==="0"){let f;switch(T){case"arrayBuffer":case"blob":case"text":f=await i[T]();break;case"formData":f=new FormData;break;case"stream":f=i.body;break;default:f={};break}return m.responseStyle==="data"?f:{data:f,...P}}let j;switch(T){case"arrayBuffer":case"blob":case"formData":case"text":j=await i[T]();break;case"json":{let f=await i.text();j=f?JSON.parse(f):{};break}case"stream":return m.responseStyle==="data"?i.body:{data:i.body,...P}}return T==="json"&&(m.responseValidator&&await m.responseValidator(j),m.responseTransformer&&(j=await m.responseTransformer(j))),m.responseStyle==="data"?j:{data:j,...P}}let _=await i.text(),D;try{D=JSON.parse(_)}catch{}let A=D??_,S=A;for(let T of s.error.fns)T&&(S=await T(A,i,x,m));if(S=S||{},m.throwOnError)throw S;return m.responseStyle==="data"?void 0:{error:S,...P}},d=h=>m=>u({...m,method:h}),g=h=>async m=>{let{opts:k,url:w}=await c(m);return rc({...k,body:k.body,headers:k.headers,method:h,onRequest:async(x,l)=>{let i=new Request(x,l);for(let P of s.request.fns)P&&(i=await P(i,k));return i},serializedBody:Dt(k),url:w})};return{buildUrl:Ut,connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),getConfig:n,head:d("HEAD"),interceptors:s,options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),request:u,setConfig:r,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:d("TRACE")}};var tu={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},nu=Object.entries(tu),uc=(e,t)=>{t||(t=new Map);for(let n of e)"in"in n?n.key&&t.set(n.key,{in:n.in,map:n.map}):"key"in n?t.set(n.key,{map:n.map}):n.args&&uc(n.args,t);return t},ru=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},p=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=uc(t),s;for(let[c,u]of e.entries())if(t[c]&&(s=t[c]),!!s)if("in"in s)if(s.key){let d=r.get(s.key),g=d.map||s.key;d.in&&(n[d.in][g]=u)}else n.body=u;else for(let[d,g]of Object.entries(u??{})){let h=r.get(d);if(h)if(h.in){let m=h.map||d;n[h.in][m]=g}else n[h.map]=g;else{let m=nu.find(([k])=>d.startsWith(k));if(m){let[k,w]=m;n[w][d.slice(k.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[k,w]of Object.entries(s.allowExtra))if(w){n[k][d]=g;break}}}}return ru(n),n};var pc=je(Ie({baseUrl:"http://localhost:4096"}));var y=class{client;constructor(t){this.client=t?.client??pc}},Lt=class{defaultKey="default";instances=new Map;get(t){let n=this.instances.get(t??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(t,n){this.instances.set(n??this.defaultKey,t)}},Ft=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Gt=class extends y{log(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Bt=class extends y{moveSession(t,n){let r=p([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Kt=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Nt=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Ht=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},Vt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},Wt=class extends y{generateName(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},zt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},Jt=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new zt({client:this.client})}},Xt=class extends y{_controlPlane;get controlPlane(){return this._controlPlane??=new Bt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Kt({client:this.client})}_console;get console(){return this._console??=new Nt({client:this.client})}_session;get session(){return this._session??=new Ht({client:this.client})}_resource;get resource(){return this._resource??=new Vt({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Wt({client:this.client})}_workspace;get workspace(){return this._workspace??=new Jt({client:this.client})}},Qt=class extends y{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=p([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Yt=class extends y{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=p([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new Qt({client:this.client})}},Zt=class extends y{subscribe(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},en=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},tn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},nn=class extends y{remove(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rn=class extends y{text(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},sn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},on=class extends y{dispose(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},an=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},cn=class extends y{raw(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},ln=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new cn({client:this.client})}},un=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},pn=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},dn=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},gn=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},mn=class extends y{status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=p([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new gn({client:this.client})}},fn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},yn=class extends y{shells(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},hn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},bn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},xn=class extends y{authorize(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},kn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new xn({client:this.client})}},Pn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},wn=class extends y{delete(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},_n=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Sn=class extends y{start(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=p([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new _n({client:this.client})}},vn=class extends y{next(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Cn=class extends y{appendPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=p([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new vn({client:this.client})}},Rn=class extends y{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},Tn=class extends y{get(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},In=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},jn=class extends y{stage(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},An=class extends y{list(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},En=class extends y{list(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},$n=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=p([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new jn({client:this.client})}_permission;get permission(){return this._permission??=new An({client:this.client})}_question;get question(){return this._question??=new En({client:this.client})}},qn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Dn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Mn=class extends y{key(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Un=class extends y{cancel(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=p([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},On=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new Mn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Un({client:this.client})}},Ln=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Fn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Gn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Bn=class extends y{_request;get request(){return this._request??=new Fn({client:this.client})}_saved;get saved(){return this._saved??=new Gn({client:this.client})}},Kn=class extends y{read(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},Nn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Hn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},Vn=class extends y{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Wn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=p([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=p([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},zn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Jn=class extends y{_request;get request(){return this._request??=new zn({client:this.client})}},Xn=class extends y{list(t,n){let r=p([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Qn=class extends y{remove(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=p([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},Yn=class extends y{_health;get health(){return this._health??=new Rn({client:this.client})}_location;get location(){return this._location??=new Tn({client:this.client})}_agent;get agent(){return this._agent??=new In({client:this.client})}_session;get session(){return this._session??=new $n({client:this.client})}_model;get model(){return this._model??=new qn({client:this.client})}_provider;get provider(){return this._provider??=new Dn({client:this.client})}_integration;get integration(){return this._integration??=new On({client:this.client})}_credential;get credential(){return this._credential??=new Ln({client:this.client})}_permission;get permission(){return this._permission??=new Bn({client:this.client})}_fs;get fs(){return this._fs??=new Kn({client:this.client})}_command;get command(){return this._command??=new Nn({client:this.client})}_skill;get skill(){return this._skill??=new Hn({client:this.client})}_event;get event(){return this._event??=new Vn({client:this.client})}_pty;get pty(){return this._pty??=new Wn({client:this.client})}_question;get question(){return this._question??=new Jn({client:this.client})}_reference;get reference(){return this._reference??=new Xn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Qn({client:this.client})}},nt=class e extends y{static __registry=new Lt;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new Ft({client:this.client})}_app;get app(){return this._app??=new Gt({client:this.client})}_experimental;get experimental(){return this._experimental??=new Xt({client:this.client})}_global;get global(){return this._global??=new Yt({client:this.client})}_event;get event(){return this._event??=new Zt({client:this.client})}_config;get config(){return this._config??=new en({client:this.client})}_tool;get tool(){return this._tool??=new tn({client:this.client})}_worktree;get worktree(){return this._worktree??=new nn({client:this.client})}_find;get find(){return this._find??=new rn({client:this.client})}_file;get file(){return this._file??=new sn({client:this.client})}_instance;get instance(){return this._instance??=new on({client:this.client})}_path;get path(){return this._path??=new an({client:this.client})}_vcs;get vcs(){return this._vcs??=new ln({client:this.client})}_command;get command(){return this._command??=new un({client:this.client})}_lsp;get lsp(){return this._lsp??=new pn({client:this.client})}_formatter;get formatter(){return this._formatter??=new dn({client:this.client})}_mcp;get mcp(){return this._mcp??=new mn({client:this.client})}_project;get project(){return this._project??=new fn({client:this.client})}_pty;get pty(){return this._pty??=new yn({client:this.client})}_question;get question(){return this._question??=new hn({client:this.client})}_permission;get permission(){return this._permission??=new bn({client:this.client})}_provider;get provider(){return this._provider??=new kn({client:this.client})}_session;get session(){return this._session??=new Pn({client:this.client})}_part;get part(){return this._part??=new wn({client:this.client})}_sync;get sync(){return this._sync??=new Sn({client:this.client})}_tui;get tui(){return this._tui??=new Cn({client:this.client})}_v2;get v2(){return this._v2??=new Yn({client:this.client})}};function gc(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let c=e,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||dc(n,t);return new Error(u,{cause:{body:e,status:t?.status}})}if(typeof e=="string"&&e.length>0)return new Error(e,{cause:{body:e,status:t?.status}});let s=t?"(empty response body)":"network error (no response)";return new Error(`opencode server ${dc(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function dc(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,c=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function su(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function iu(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let d=su(e.headers.get(c),u==="directory"?t.directory:t.workspace,u==="directory"?encodeURIComponent:void 0);if(d){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,d);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function Zn(e){e?.fetch||(e={...e,fetch:r=>(r.timeout=!1,fetch(r))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)}),e?.experimental_workspaceID&&(e.headers={...e.headers,"x-opencode-workspace":e.experimental_workspaceID});let t=je(e);return t.interceptors.request.use(n=>iu(n,{directory:e?.directory,workspace:e?.experimental_workspaceID})),t.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),t.interceptors.error.use(gc),new nt({client:t})}function ou(e){return new Promise(t=>setTimeout(t,e))}async function mc(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,c=t?.invalidateBetweenAttempts??!1,u=null;for(let d=0;d<r;d++)if(d>0&&(c&&n?.(),s>0&&await ou(s)),u=await e(),u)return u;return u}var au=3e4;function cu(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function fc(e,t,n=au){let r=e instanceof Request?e.signal:t?.signal;if(cu(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function er(e,t,n){let r=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,c)=>{r.set(c,s)}),n&&!r.has("Authorization")&&r.set("Authorization",`Bearer ${n}`),r}function yc(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function rt(){return I().getToken()}async function me(e){return mc(()=>I().getToken(),e,Ae)}function Ae(){}function lu(e){}function uu(e){}async function Ee(){return rt()}async function tr(e){return me(e)}function hc(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function R(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await tr();if(!s)return yc();let c=er(e,t,s),u=fc(e,t),d=await hc(e,t,c,u);if(d.status===401&&r&&s){Ae();let g=await tr({attempts:2,baseDelayMs:200});if(g&&g!==s){let h=er(e,t,g);return hc(e,t,h,u)}}return d}var fe={url:null,sandboxId:null,dbSandboxId:null,version:0},pu=new Set;function bc(e,t=null,n=null){if(!(fe.url===e&&fe.sandboxId===t&&fe.dbSandboxId===n)){fe={url:e,sandboxId:t,dbSandboxId:n,version:fe.version+1};for(let r of pu)r()}}function xc(){return fe.url}function du(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function $e(){return du(I().backendUrl||"http://localhost:8008/v1")}function kc(){let e=I().sandboxId||"";return`${$e()}/p/${e}/8000`}function gu(e){return`${$e()}/p/${e}/8000`}function st(e){return gu(e)}function $(){let e=xc();return e||(I().billingEnabled??!1?"":kc())}var C=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},ye=class extends C{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},ie=class e extends Error{status;detail;constructor(t,n,r){super(r||n.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=n,Object.setPrototypeOf(this,e.prototype)}},he=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,e.prototype)}};function be(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new ie(t,{message:r?.message||e.message||"Billing error",...r})}function Pc(e){return e instanceof ie}function wc(e){if(!(e instanceof ie))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function nr(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function rr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function sr(e){let t=rr(e),n=await R(`${t}/env`);if(!n.ok)throw new Error(await nr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function ir(e,t,n){let r=rr(e),s=await R(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await nr(s,"Failed to save secret"))}async function or(e,t){let n=rr(e),r=await R(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await nr(r,"Failed to delete secret"))}var _c={list:sr,set:ir,delete:or};async function Sc(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await R(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function oe(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function it(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function qe(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return oe(e)}async function ar(e){let t=qe(e),n=await R(`${t}/kortix/pty`);if(!n.ok)throw new Error(await it(n,"Failed to list terminals"));return n.json()}async function cr(e,t){let n=qe(e),r=await R(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await it(r,"Failed to create terminal"));return r.json()}async function lr(e,t,n){let r=qe(e),s=await R(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await it(s,"Failed to update terminal"));return s.json()}async function ur(e,t){let n=qe(e),r=await R(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await it(r,"Failed to remove terminal"))}async function pr(e,t){let n=qe(t),s=`${(()=>{try{let d=new URL(n);return d.protocol==="https:"?d.protocol="wss:":d.protocol==="http:"&&(d.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&d.protocol==="ws:"&&(d.protocol="wss:"),oe(d.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,c=await Ee();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var vc={list:ar,create:cr,update:lr,remove:ur,webSocketUrl:pr};async function b(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await R(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),d={};try{d=u?JSON.parse(u):{}}catch{d={}}if(!c.ok)throw new Error(d?.error||d?.message||d?.details||u.slice(0,200)||`Request failed with ${c.status}`);return d}async function mu(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return b(e,`/kortix/tasks${r}`)}async function fu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function yu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function hu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function bu(e,t){return b(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function xu(e,t,n){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function ku(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Pu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function wu(e,t){return b(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function _u(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return b(e,`/kortix/tickets${n}`)}async function Su(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function vu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Cu(e,t){return b(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Ru(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Tu(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Iu(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function ju(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Au(e,t,n){return b(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Eu(e,t){return b(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function $u(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function qu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Du(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Mu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Uu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Ou(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Lu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Fu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Gu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Bu(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Ku(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Nu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function Hu(e,t,n=200){return b(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Vu(e){return b(e,"/kortix/projects")}async function Wu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function zu(e,t){return b(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Ju(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Xu(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Qu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Yu(e,t,n="all"){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function Zu(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function ep(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function tp(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function np(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function rp(e,t,n,r){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function sp(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function ip(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function op(e,t){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function ap(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function cp(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function lp(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function up(e,t,n){return b(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var pp=1e4,dp={retryOnAuthError:!1};function xe(e,t,n){return b(e,t,{signal:AbortSignal.timeout(pp),...n},dp)}async function gp(e,t=!1){return(await xe(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function mp(e){return(await xe(e,"/kortix/services/templates")).templates??[]}async function fp(e,t){return(await xe(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function yp(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return xe(e,s,{method:r?"DELETE":"POST"})}async function hp(e,t){return xe(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function bp(e,t){return xe(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var ot=new Map,at=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function Z(){let e=$();if(!e)throw new at;return ae(e)}function ae(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=ot.get(e);if(t)return t;if(!Ye())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Zn({baseUrl:e,fetch:R});return ot.set(e,n),n}function xp(e){ot.delete(e)}function kp(){ot.clear()}var ct=new Map;function Pp(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=ct.get(e);if(t)return t;let n=Zn({baseUrl:e,fetch});return ct.set(e,n),n}function wp(e){ct.delete(e)}function _p(){ct.clear()}async function Sp(e){let t=await e.text().catch(()=>"");try{let n=JSON.parse(t);return n?.error||n?.message||t||e.statusText||`HTTP ${e.status}`}catch{return t||e.statusText||`HTTP ${e.status}`}}async function vp(e){let t=$();if(!t)throw new C("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await R(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new C(`System reload failed (${n.status}): ${await Sp(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function Rc(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new C(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function ke(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function lt(e,t=$()){let n=await R(`${t}${e}`);if(!n.ok)throw new C(await ke(n),{status:n.status,response:n});return n.json()}var Tc=["/workspace","/tmp","/home","/opt"],Cp=Tc.filter(e=>e!=="/workspace");function Rp(e){return Tc.some(t=>e===t||e.startsWith(`${t}/`))}function Tp(e){return Rp(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function Me(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(Cp.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Ip=Me;async function dr(e,t=$()){let n=Me(e)||".";return(await lt(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function ut(e,t=$()){let n=Me(e),r=await R(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new C(await ke(r),{status:r.status,response:r});return r.json()}async function jp(e,t,n=$()){let r=Me(e),s=await R(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new C(await ke(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new C("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return t&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:t}):c}async function pt(e,t=$()){try{return await jp(e,void 0,t)}catch{}let n=await ut(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function gr(e=$()){return lt("/file/status",e)}async function mr(e,t,n=$()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),lt(`/find/file?${r.toString()}`,n)}async function fr(e,t=$()){return(await lt(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var De=[400,1200],Ap=e=>e===408||e===429||e===502||e===503||e===504,Cc=e=>new Promise(t=>setTimeout(t,e));async function Ep(e){let t=await e.text().catch(()=>""),n=null;try{n=t?JSON.parse(t):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(e.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(t)?e.status===502||/bad gateway/i.test(t)?"Bad gateway while reaching the sandbox upload service. Please retry.":e.statusText||`HTTP ${e.status}`:t.replace(/\s+/g," ").trim().slice(0,500)||e.statusText||`HTTP ${e.status}`}async function Ic(e,t){let n;for(let s=0;s<=De.length;s++){let c;try{c=await t(e())}catch(d){if(n=d,s===De.length)break;await Cc(De[s]);continue}if(c.ok)return c.json();let u=await Ep(c);if(n=new C(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!Ap(c.status)||s===De.length)throw n;await Cc(De[s])}if(n instanceof C)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new C(`Upload failed: ${r}`)}function dt(e,t,n,r=$()){return Ic(()=>{let s=new FormData,c=(t??"").trim();return c&&s.append("path",c.startsWith("/")?c:`/${c}`),n?s.append("file",e,n):s.append("file",e),s},s=>R(`${r}/file/upload`,{method:"POST",body:s}))}function $p(e,t,n=$()){return Ic(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},c=await Ee();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function yr(e,t=$()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return dt(new File([" "],c,{type:"application/octet-stream"}),u,void 0,t)}async function hr(e,t,n=$()){return $p(t,await pt(e,n),n)}async function br(e,t=$()){let n=await R(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new C(`Delete failed (${n.status}): ${await ke(n)}`,{status:n.status,response:n});return n.json()}async function xr(e,t=$()){let n=await R(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new C(`Mkdir failed (${n.status}): ${await ke(n)}`,{status:n.status,response:n});return n.json()}async function kr(e,t,n=$()){let r=await R(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new C(`Rename failed (${r.status}): ${await ke(r)}`,{status:r.status,response:r});return r.json()}async function qp(){return Rc(await Z().project.current())}async function jc(){return Rc(await Z().global.health())}async function Dp(){try{return(await jc()).healthy===!0}catch{return!1}}var Ac={list:dr,read:ut,readBlob:pt,status:gr,findFiles:mr,findText:fr,upload:dt,create:yr,copy:hr,remove:br,mkdir:xr,rename:kr,currentProject:qp,health:jc,isReachable:Dp,toDaemonPath:Me,toSandboxAbsolutePath:Tp,toWorkspaceRelative:Ip};var ee=()=>I().backendUrl||"",$c="feature_not_supported",Up=e=>new Promise(t=>setTimeout(t,e)),Op=new Set([502,503,504]),Ec=e=>Op.has(e),Lp=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Fp=2,Pr=!1;function Gp(e){Pr=e}function Bp(){return Pr}async function ce(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=t,u=new AbortController,d=null,g=!1,h=!1;try{d=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,h=!0,u.abort())},s);let m=await me(),k=c.body instanceof FormData,w={};if(k||(w["Content-Type"]="application/json"),Object.assign(w,c.headers),Pr&&(w["x-kortix-admin-bypass"]="1"),m)w.Authorization=`Bearer ${m}`;else return{error:new ye,success:!1};let x=await fetch(e,{...c,headers:w,signal:u.signal,credentials:c.credentials??"omit"});if(d&&(clearTimeout(d),d=null),!x.ok&&Lp(c.method)&&Ec(x.status))for(let P=0;P<Fp;P++){try{await x.arrayBuffer()}catch{}await Up(250*2**P);let _=new AbortController,D=setTimeout(()=>{_.abort()},s);try{x=await fetch(e,{...c,headers:w,signal:_.signal,credentials:c.credentials??"omit"})}catch{break}finally{D&&(clearTimeout(D),D=null)}if(x.ok||!Ec(x.status))break}if(!x.ok){let P=`HTTP ${x.status}: ${x.statusText}`,_=null;try{_=await x.json(),typeof _.message=="string"?P=_.message:_.error&&typeof _.error=="string"?P=_.error:typeof _.detail=="string"?P=_.detail:typeof _.detail?.message=="string"&&(P=_.detail.message)}catch{}let D=new C(P,{status:x.status,response:x,details:_||void 0,data:_,detail:_?.detail,code:_?.code||_?.error_code||_?.detail?.error_code||x.status.toString()});if(x.status===402&&(D=be(D)),x.status===403&&_?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}x.status===431&&(D=new he(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let A=x.status===501&&_?.code===$c;return n&&!A&&I().onError?.(D,r),{error:D,success:!1}}let l,i=x.headers.get("content-type");return i?.includes("application/json")?l=await x.json():i?.includes("text/")?l=await x.text():l=await x.blob(),{data:l,success:!0}}catch(m){d&&(clearTimeout(d),d=null);let k=m?.name==="AbortError"||m?.name==="AbortSignal"||m instanceof Error&&m.message.includes("aborted");k&&(g=!0);let w;if(k){if(!h)return{error:new C("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let x=e.replace(ee(),"")||e;w=new C(`Request timed out after ${Math.round(s/1e3)}s: ${x}`,{code:"TIMEOUT",url:e,endpoint:x,timeout:s}),n&&I().onError?.(w,r)}else m instanceof Error?(w=new C(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&I().onError?.(w,r)):(w=new C(String(m)),n&&I().onError?.(w,r));return{error:w,success:!1}}}var Kp={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new C(r.message||"Database error",{code:r.code,details:r});return I().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new C(n.message,{name:n.name||"ApiError",stack:n.stack}):new C(String(n));return I().onError?.(r,t),{error:r,success:!1}}}},o={get:(e,t)=>ce(`${ee()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>ce(`${ee()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>ce(`${ee()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>ce(`${ee()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ce(`${ee()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],ce(`${ee()}${e}`,{...s,method:"POST",body:t,headers:c})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],ce(`${ee()}${e}`,{...s,method:"PUT",body:t,headers:c})}};function a(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function wr(e){return e.replace(/\/v1\/?$/,"")}async function Pe(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=wr(e.backendUrl);try{let r=await fetch(`${n}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function _r(){return a(await o.get("/accounts"))}async function Sr(e){return a(await o.post("/accounts",e))}async function vr(e){return a(await o.get(`/accounts/${e}`))}async function Cr(e,t){return a(await o.patch(`/accounts/${e}`,{name:t}))}async function Rr(e){return a(await o.get(`/accounts/${e}/members`))}async function Tr(e,t){return a(await o.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Ir(e){return a(await o.get(`/accounts/${e}/invites`))}async function jr(e,t){return a(await o.delete(`/accounts/${e}/invites/${t}`))}async function Ar(e,t){return a(await o.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function Er(e){return a(await o.get(`/account-invites/${e}`,{showErrors:!1}))}async function $r(e){return a(await o.post(`/account-invites/${e}/accept`,{}))}async function qr(e){return a(await o.post(`/account-invites/${e}/decline`,{}))}async function Dr(e,t){return a(await o.delete(`/accounts/${e}/members/${t}`))}async function Mr(e,t,n){return a(await o.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function Ur(e){return a(await o.post(`/accounts/${e}/leave`,{}))}async function Np(e){return Pe(e,"/v1/accounts")}async function Or(){let e=await o.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function le(){return a(await o.get("/projects"))}async function Lr(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/projects${t}`))}async function gt(e,t){return a(await o.get(`/projects/${e}`,t))}async function Fr(e,t,n="write"){return a(await o.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Gr(e,t){return a(await o.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function Br(e){return a(await o.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Hp(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function mt(e,t){return a(await o.get(`/projects/${e}/detail`,{showErrors:!1,...t}))}async function ft(e,t){return a(await o.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function yt(e,t){return a(await o.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Vp(e,t){return a(await o.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function Kr(e){return a(await o.post("/projects",e))}async function Nr(e){return a(await o.post("/projects/create-repo",e))}async function Hr(e){return a(await o.post("/projects/provision",{...e.repository_source_project_id?{}:{seed_starter:!0},...e}))}async function Wp(){try{return a(await o.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function ht(e,t){return a(await o.patch(`/projects/${e}`,t))}async function Vr(e,t,n){return a(await o.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function Wr(e,t){return a(await o.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function zp(e,t){return a(await o.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function Jp(e,t){return a(await o.patch(`/projects/${e}/warm-pool`,t))}async function zr(e,t){return a(await o.patch(`/projects/${e}/onboarding`,{completed:t}))}async function bt(e){return a(await o.delete(`/projects/${e}`))}async function Xp(e,t){return Pe(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Qp(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=wr(e.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({...t.repository_source_project_id?{}:{seed_starter:!0},...t}),signal:AbortSignal.timeout(e.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function Jr(e){return a(await o.post("/projects/link-repository",e,{showErrors:!1}))}async function Xr(e){return a(await o.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Qr(e){return a(await o.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Yr(e){return a(await o.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Zr(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await o.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function es(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return a(await o.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function ts(e){return a(await o.post("/projects/github/installation",e,{showErrors:!1}))}async function ns(e){return a(await o.post("/projects/github/installations/link",e,{showErrors:!1}))}async function rs(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),a(await o.delete(`/projects/github/installation?${n.toString()}`))}async function Yp(e,t){return a(await o.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function ss(e,t){return a(await o.get(`/projects/${e}/access-requests`,t))}async function is(e,t,n="member"){return a(await o.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function os(e,t){return a(await o.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function as(e){return a(await o.get(`/projects/${e}/access`))}async function cs(e,t,n){return a(await o.put(`/projects/${e}/access/${t}`,{role:n}))}async function ls(e,t){return a(await o.delete(`/projects/${e}/access/${t}`))}function Zp(e){return"status"in e&&e.status==="invited"}async function us(e,t,n,r){return a(await o.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function ps(e){return a(await o.get(`/projects/${e}/access/pending-invites`))}async function ds(e,t){return a(await o.delete(`/projects/${e}/access/pending-invites/${t}`))}async function gs(e,t){return a(await o.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function ms(e){return a(await o.get(`/projects/${e}/group-grants`))}async function fs(e,t,n,r){return a(await o.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function ys(e,t,n,r){return a(await o.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function hs(e,t){return a(await o.delete(`/projects/${e}/group-grants/${t}`))}async function bs(e){return a(await o.get(`/projects/${e}/resource-grants`))}async function xs(e,t){return a(await o.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function ks(e,t){return a(await o.delete(`/projects/${e}/resource-grants/${t}`))}async function Ps(e,t){return a(await o.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function ws(e,t){return a(await o.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function _s(e,t,n,r="once"){return a(await o.post(`/projects/${e}/approvals/${t}`,{decision:n,scope:r}))}async function Ss(e){return a(await o.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function vs(e,t){return a(await o.post(`/projects/${e}/secrets`,t))}async function Cs(e,t,n){return a(await o.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function Rs(e,t,n){return a(await o.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Ts(e,t){return a(await o.put(`/projects/${e}/git-credential`,t))}async function Is(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function js(e,t,n){return a(await o.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function As(e,t){return a(await o.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function Es(e){return a(await o.get(`/projects/${e}/connector-profiles`))}async function $s(e,t){return a(await o.post(`/projects/${e}/connector-profiles`,t))}async function qs(e,t){return a(await o.post(`/projects/${e}/connector-profiles/me`,t))}async function Ds(e,t,n){return a(await o.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}async function Ms(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function Us(e,t){return a(await o.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function Os(e,t,n={}){return a(await o.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}async function Ls(e,t){return a(await o.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}async function Fs(e){return a(await o.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function Gs(e){return a(await o.post(`/executor/projects/${e}/connectors/sync`,{}))}async function Bs(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function Ks(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function Ns(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Hs(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function Vs(e,t){return a(await o.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function Ws(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function zs(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Js(e,t){return a(await o.post(`/executor/projects/${e}/connectors`,t))}async function Xs(e,t){return a(await o.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function Qs(e,t){return a(await o.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Ys(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return a(await o.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Zs(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return a(await o.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function ei(e,t){let n=new URLSearchParams({id:t});return a(await o.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function ti(){return a(await o.get("/executor/connect-status"))}async function ni(e,t,n){return a(await o.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,{value:n}))}async function ri(e,t){return a(await o.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function si(e){return a(await o.get(`/executor/projects/${e}/policies`))}async function ii(e,t,n){return a(await o.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function oi(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function ai(e){return a(await o.get(`/projects/${e}/snapshots`))}async function xt(e){return a(await o.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function ci(e,t){return a(await o.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function li(e){return a(await o.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function ui(e,t){return a(await o.post(`/projects/${e}/sandbox-templates`,t))}async function pi(e,t,n){return a(await o.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function di(e,t){return a(await o.delete(`/projects/${e}/sandbox-templates/${t}`))}async function gi(e,t){return a(await o.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function mi(e){return a(await o.get(`/projects/${e}/sandboxes`))}async function fi(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function yi(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),a(await o.get(`/projects/${e}/files/search?${r.toString()}`))}async function hi(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),a(await o.get(`/projects/${e}/files/content?${r.toString()}`))}async function bi(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",c=await me(),u=`${I().backendUrl||""}/projects/${e}/files/archive${s}`,d=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!d.ok){let g=await d.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${d.status})`)}return await d.blob()}async function xi(e){return a(await o.get(`/projects/${e}/branches`))}async function ki(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return a(await o.get(`/projects/${e}/commits${r}`))}async function Pi(e,t){return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function wi(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await o.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function _i(e,t,n){let r=new URLSearchParams({path:t});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),a(await o.get(`/projects/${e}/files/history?${r.toString()}`))}async function Si(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return a(await o.get(`/projects/${e}/version-diff?${n.toString()}`))}async function vi(e,t){let n=t?`?status=${t}`:"";return a(await o.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function Ci(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}`))}async function Ri(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/diff`))}async function Ti(e,t){return a(await o.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Ii(e,t){return a(await o.post(`/projects/${e}/change-requests`,t))}async function ji(e,t,n){return a(await o.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function Ai(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function Ei(e,t){return a(await o.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function $i(e,t,n){return a(await o.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function qi(e,t,n){return a(await o.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var Di=new Set;function Mi(e){e&&Di.add(e)}function Ui(e){return!!e&&Di.has(e)}function ed(e){e&&Di.delete(e)}async function we(e,t){let n=t?.scope&&t.scope!=="visible"?`?scope=${t.scope}`:"";return a(await o.get(`/projects/${e}/sessions${n}`))}async function Oi(e,t,n){return a(await o.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function Li(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/previews`))}async function Fi(e,t){return a(await o.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Gi(e,t,n){return a(await o.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function Bi(e,t,n){return a(await o.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function _e(e,t){let n=a(await o.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||Mi(n?.session_id),n}async function Ki(e,t,n){return a(await o.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function Ni(e,t,n,r){let s=n?`?limit=${n}`:"";return a(await o.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function Hi(e,t,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return a(await o.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Vi(e,t,n){return a(await o.patch(`/projects/${e}/sessions/${t}`,n))}async function Wi(e,t){return a(await o.delete(`/projects/${e}/sessions/${t}`))}async function Ue(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function Oe(e,t){return a(await o.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function zi(e){return a(await o.get(`/projects/${e}/triggers`))}async function Ji(e,t){return a(await o.post(`/projects/${e}/triggers`,t))}async function Xi(e,t,n){return a(await o.patch(`/projects/${e}/triggers/${t}`,n))}async function Qi(e,t){return a(await o.delete(`/projects/${e}/triggers/${t}`))}async function Yi(e,t){return a(await o.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Zi(e,t){return a(await o.post(`/projects/${e}/triggers/${t}/fire`,{}))}var te=new Map;function eo(e,t){return`${e}::${t}`}function qc(e,t){te.delete(e),te.set(e,t)}function Dc(e,t){let n=eo(e,t),r=te.get(n);return r&&qc(n,r),r}function Mc(e,t,n){let r=eo(e,t);if(!te.has(r)&&te.size>=512){let s=te.keys().next().value;s!==void 0&&te.delete(s)}qc(r,n)}function Uc(e,t){te.delete(eo(e,t))}function td(e){if(e.status!=="running"||!e.sandbox_provider||!e.sandbox_url||!e.opencode_session_id)return null;let t=e.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return t?{stage:"ready",agent_name:e.agent_name??"default",retriable:!0,sandbox:{sandbox_id:e.sandbox_id,session_id:e.session_id,project_id:e.project_id,account_id:e.account_id,provider:e.sandbox_provider,external_id:t,base_url:e.sandbox_url,status:"active",config:{},metadata:e.metadata,last_used_at:e.updated_at,created_at:e.created_at,updated_at:e.updated_at},opencode_session_id:e.opencode_session_id,runtime_url:e.sandbox_url}:null}var kt=class extends Error{status;code;terminal;constructor(t,n){super(t),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function nd(e){return e instanceof Error&&e.name==="SessionStartError"}function rd(e){let t=e,n=t?.status,r=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new kt(s,{status:n,code:r,terminal:!0}):null}async function ue(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await o.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let d=rd(s.error);if(d&&!(d.status===404&&Ui(t)))throw d;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&Mc(e,t,{opencodeSessionId:c.opencode_session_id,runtimeUrl:st(u),sandboxId:u}),c}function sd(e,t){return["session-start",e,t]}async function to(e){return a(await o.get(`/projects/${e}/model-defaults`))}async function no(e,t){return a(await o.put(`/projects/${e}/model-defaults`,t))}async function ro(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return a(await o.delete(`/projects/${e}/model-defaults?${n}`))}async function so(e,t,n){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,n))}async function id(e,t){return a(await o.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function od(e,t,n){return a(await o.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,n))}async function io(e,t){return a(await o.put(`/projects/${e}/default-agent`,{agent:t}))}function oo(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function ao(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?oo():s.data}async function co(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await o.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?oo():s.data}async function lo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return a(await o.get(`/billing/transactions${n?`?${n}`:""}`))}async function uo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return a(await o.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function po(){return a(await o.get("/billing/credit-breakdown"))}async function go(e){let t=e!=null?`?days=${e}`:"";return a(await o.get(`/billing/usage-history${t}`))}async function mo(){return a(await o.get("/billing/tier-configurations"))}async function ad(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Pe(e,`/v1/billing/account-state${t}`)}async function fo(e){return a(await o.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function yo(e,t){return a(await o.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function ho(e,t){return a(await o.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function bo(e,t){return a(await o.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function xo(e){return a(await o.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function ko(e,t,n){return a(await o.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function Po(e){return a(await o.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function wo(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),a(await o.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function _o(e){return a(await o.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function So(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function vo(e){return a(await o.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function Co(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function Ro(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var cd={oauth_available:!1,install_url:null};async function To(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?cd:t.data}async function Io(e){return a(await o.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function jo(e){let t=await o.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function Ao(e,t){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Eo(e,t){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function $o(e){return{...e,profileId:e.profileId??e.profile_id??null}}var ld={provider:"agentmail",managed_available:!1};async function qo(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?$o(r.data):null}async function Do(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?ld:t.data}async function Mo(e,t){let n=a(await o.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return $o(n)}async function Uo(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await o.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function Oo(e,t,n){let r=a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return $o(r)}async function Lo(e){let t=await o.get(`/projects/${encodeURIComponent(e)}/channels/meet/voices`,{showErrors:!1});return t.success?t.data??null:null}async function Fo(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/voice`,{voice:t},{showErrors:!1}),"Failed to save voice")}async function Go(e,t){return a(await o.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function Bo(e,t){let n=await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/voices/${encodeURIComponent(t)}/preview`,{},{showErrors:!1});return!n.success||!n.data?.b64?null:n.data.b64}async function ud(e){return a(await o.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function pd(e,t,n){return a(await o.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Ko(e,t,n,r){return a(await o.post(`/projects/${encodeURIComponent(e)}/channels/meet/speak`,{bot_id:t,text:n,voice:r},{showErrors:!1}),"Failed to speak in meeting")}async function No(e){return a(await o.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Ho(e,t){return a(await o.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Vo(e){return a(await o.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Wo(e,t){return a(await o.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function zo(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return a(await o.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Jo(e,t){return a(await o.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Xo(e,t){return a(await o.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Qo(e,t){return a(await o.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Yo(e,t){return a(await o.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Zo(e,t){return a(await o.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function ea(e,t){return a(await o.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function ta(e){return a(await o.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function na(e,t){return a(await o.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function ra(e,t){return a(await o.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function sa(e){return a(await o.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function ia(e,t){return a(await o.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function oa(e,t){return a(await o.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function aa(e,t,n,r,s){return a(await o.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function dd(e,t){return a(await o.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function ca(e){let t=new FormData;t.append("audio_file",e);let n=await o.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function la(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return a(await o.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function ua(e,t){return a(await o.get(`/projects/${e}/review/items/${t}`))}async function pa(e,t){return a(await o.post(`/projects/${e}/review/items`,t))}async function da(e,t,n){return a(await o.post(`/projects/${e}/review/items/${t}/act`,n))}async function ga(e,t){return a(await o.post(`/projects/${e}/review/bulk`,t))}async function ma(e){return a(await o.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function fa(e){return a(await o.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function ya(e,t){let n=await o.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Pt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Oc(e,t=""){return`${$e()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function Lc(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Pt(s,t.status)}return r}async function gd(e){return Lc(Oc(e))}async function md(e){return Lc(Oc(e,"/messages"))}async function ha(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await o.get(`/accounts/tokens${t}`))}async function ba(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return a(await o.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function xa(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await o.delete(`/accounts/tokens/${e}${n}`))}async function ka(e){return a(await o.get(`/projects/${e}/cli-token`))}async function Pa(e,t){return a(await o.post(`/projects/${e}/cli-token`,t??{}))}async function wa(e,t){return a(await o.delete(`/projects/${e}/cli-token/${t}`))}async function _a(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return a(await o.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Sa(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since);let r=n.toString();return a(await o.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function va(e){return a(await o.get(`/accounts/${e}/audit/webhooks`))}async function Ca(e,t){return a(await o.post(`/accounts/${e}/audit/webhooks`,t))}async function Ra(e,t,n){return a(await o.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Ta(e,t){return a(await o.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Ia(e,t){return a(await o.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function ja(e,t){return a(await o.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function Aa(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source);let n=t.toString()?`?${t.toString()}`:"";return a(await o.get(`/marketplace/items${n}`))}async function Ea(){return a(await o.get("/marketplace/marketplaces"))}async function $a(){return a(await o.get("/marketplace/marketplaces/featured"))}async function qa(e){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function Da(e,t){return a(await o.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function Ma(){return a(await o.get("/marketplace/sources"))}async function Ua(e){return a(await o.post("/marketplace/sources",e),"Failed to add marketplace source")}async function Oa(e){return a(await o.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function fd(e){return a(await o.get(`/templates/${encodeURIComponent(e)}`))}async function yd(e,t){return a(await o.post(`/templates/${encodeURIComponent(e)}/install`,t))}function hd(e){return e?e.runtimeReady!==void 0?e.runtimeReady===!0:e.opencode!==void 0?e.opencode==="ok"||e.opencode===!0:e.status!=="starting"&&e.status!=="down"&&e.status!=="error":!1}async function La(e,t){let n=(e===void 0?$():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await R(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var J={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var Fc=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Gc=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Bc=new Set([22,4096,parseInt(J.KORTIX_MASTER,10)]);function bd(e){return Gc.test(e)}function wt(e){if(!e)return"/";let t=e,n=t.indexOf("](");n!==-1&&(t=t.slice(0,n));let r=t.toLowerCase().indexOf("%5d(");return r!==-1&&(t=t.slice(0,r)),t?t.startsWith("/")?t:`/${t}`:"/"}function xd(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var kd=new Set(["'",'"',"`","<","(","["]),Pd=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function wd(e){let t=0,n=e.length;for(;t<n&&(e[t]===" "||e[t]===" ");)t++;for(;n>t&&(e[n-1]===" "||e[n-1]===" ");)n--;for(;t<n&&kd.has(e[t]);)t++;for(;n>t&&Pd.has(e[n-1]);)n--;return e.slice(t,n)}function _d(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Sd=/^\/proxy\/(\d{1,5})(\/.*)?$/,vd=/^\/(connectors|settings|dashboard|projects|agents|skills|tools|commands|support|changelog|files|p|browser|desktop|terminal|sessions|services|workspace|channels|scheduled-tasks|marketplace|templates|tunnel|admin|auth)(\/|$|\?)/;function Kc(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:vd.test(t.pathname)}catch{return!1}}function Fe(e){if(!e)return null;let t=wd(xd(e.trim())),n=Ga(t);if(n){let r=wt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(J.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(Sd);if(g){let h=parseInt(g[1],10);if(h>=1&&h<=65535)return s=h,c=wt(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let d=wt(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${d}`,port:s,path:d}}catch{let r=_d(e);return r&&r!==e?Fe(r):null}}function Cd(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let c=r.index,u=c+r[0].length;t.some(([g,h])=>c>=g&&u<=h)||t.push([c,u])}return t}function Rd(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Nc(e){let t=[],n=new Set,r=Cd(e);Fc.lastIndex=0;let s;for(;(s=Fc.exec(e))!==null;){let c=Fe(s[0]);if(!c)continue;let{originalUrl:u,port:d,path:g}=c;d<1||d>65535||Bc.has(d)||n.has(u)||(n.add(u),t.push({originalUrl:u,port:d,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Rd(s.index,r)}))}return t}function Td(e){return Nc(e).length>0}function Id(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Se(e,t,n){let r=wt(t);if(!Id(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${e}${r}`}return`http://p${e}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function jd(e,t){return Se(e,"/",t)}function Hc(e){let t=Fe(e);return!(!t||Bc.has(t.port)||Kc(e))}function Fa(e,t){if(!e)return e;let n=Fe(e);return n?Hc(n.originalUrl)?Se(n.port,n.path,t):n.originalUrl:e}function Ad(e,t="/"){return`http://localhost:${e}${t}`}var Vc=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Ga(e){let t=e.match(Gc);if(t)return{port:parseInt(t[1],10),sandboxId:t[2],backendPort:t[3]?parseInt(t[3],10):80,path:t[4]||"/"};let n=e.match(Vc);if(n)try{let r=new URL(e);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function Ed(e){try{let t=Ga(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function $d(e){return bd(e)||Vc.test(e)}var Le="/web-proxy/";function qd(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Le}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(J.KORTIX_MASTER,10);return`${Se(c,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Dd(e){try{let t=new URL(e),n=t.pathname.indexOf(Le);if(n===-1)return null;let s=t.pathname.slice(n+Le.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],d=s[3]||"/";return`${c}://${u}${d}${t.search}${t.hash}`}catch{return null}}function Md(e){try{return new URL(e).pathname.includes(Le)}catch{return e.includes(Le)}}function Ud(e){if(!e)return!1;let t=e.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(t)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t))}function Od(e){let t=e.trim();return t?/^https?:\/\//i.test(t)?t:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t)?`https://${t}`:null:null}var Wc="frontend";function _t(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Wc}] ${t}`,...n?[n]:[]);try{Z().app.log({service:Wc,level:e,message:t,extra:n})}catch{}}var ne={debug:(e,t)=>_t("debug",e,t),info:(e,t)=>_t("info",e,t),warn:(e,t)=>_t("warn",e,t),error:(e,t)=>_t("error",e,t)};function zc(e){return{type:"heartbeat-gap",gapMs:e}}function Jc(e){switch(e.type){case"message.updated":return{type:"message.updated",sessionID:e.properties.sessionID,message:e.properties.info};case"message.removed":return{type:"message.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:e.properties.sessionID,part:e.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID,partID:e.properties.partID};case"session.status":return{type:"session.status",sessionID:e.properties.sessionID,status:e.properties.status};case"session.idle":return{type:"session.idle",sessionID:e.properties.sessionID};case"session.error":return{type:"session.error",sessionID:e.properties.sessionID,error:e.properties.error};case"question.asked":return{type:"question.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,questions:e.properties.questions,tool:e.properties.tool};case"question.replied":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"replied",answers:e.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,permission:e.properties.permission,patterns:e.properties.patterns,tool:e.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:e.properties.sessionID,requestID:e.properties.requestID,reply:e.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:e.properties.sessionID,todos:e.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var Ld={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Fd=16,Gd=8,Bd=6e4,Kd=5e3,Nd=250,Hd=1e3,Vd=3e4,Wd=5,zd=3e3,Jd=3e4,Xd=2e4,Qd=2e3,Yd=8;function Zd(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Xc(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function St(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=e,u=e.timers??Ld,d=e.connectTimeoutMs??Xd,g=e.heartbeatTimeoutMs??Bd,h=e.maxConsecutiveHardFailures??Yd,m=new AbortController,k=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",k,{once:!0}));let w=u.now(),x=[],l,i=0,P=new Map,_=()=>{if(l&&u.clearTimeout(l),l=void 0,x.length===0)return;let A=x;x=[],P.clear(),i=u.now(),w=u.now();for(let S of A)if(S)try{n(S.event)}catch(T){console.warn("[opencode-events] event handler threw, skipping",T)}},D=()=>{if(l)return;let A=u.now()-i;l=u.setTimeout(_,Math.max(0,Fd-A))};return(async()=>{let A=0,S=0;for(;!m.signal.aborted;){let T=!1,j=!1,f,v,L=null,N=u.now(),U=new AbortController,G=Xc(m.signal);G.promise.then(()=>U.abort());try{let O=await new Promise((At,Re)=>{let K=!1;v=u.setTimeout(()=>{K||(K=!0,ne.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:d}),U.abort(),Re(new Error(`SSE connect timed out after ${d}ms`)))},d),t.global.event({signal:U.signal,sseDefaultRetryDelay:zd,sseMaxRetryDelay:Jd,sseMaxRetryAttempts:1}).then(z=>{K||(K=!0,u.clearTimeout(v),At(z))},z=>{K||(K=!0,u.clearTimeout(v),Re(z))})}),{stream:E}=O;w=u.now();let V=()=>{u.clearTimeout(f),f=u.setTimeout(()=>{ne.warn("SSE heartbeat timeout, forcing reconnect"),U.abort()},g)};V();let ze=u.now(),Ml=E[Symbol.asyncIterator]();for(;!U.signal.aborted;){let At=Ml.next().then(Y=>({kind:"next",result:Y}),Y=>({kind:"error",error:Y})),Re=Xc(U.signal),K=await Promise.race([At,Re.promise.then(()=>({kind:"aborted"}))]);if(Re.cleanup(),K.kind==="aborted")break;if(K.kind==="error")throw K.error;if(K.result.done)break;T=!0,V();let z=K.result.value,Je=z&&typeof z=="object"&&"payload"in z?z.payload:z;if(!Je?.type)continue;let Et=Zd(Je);if(Et){let Y=P.get(Et);Y!==void 0&&(x[Y]=void 0),P.set(Et,x.length)}x.push({type:Je.type,event:Je}),D(),!(u.now()-ze<Gd)&&(ze=u.now(),await new Promise(Y=>u.setTimeout(Y,0)))}j=T}catch(O){if(m.signal.aborted)break;L=O;let E=String(O),V=E.includes("401")||E.includes("403")||E.includes("Unauthorized")||E.includes("Token refresh failed");if(ne.error("SSE event stream error",{error:E,retryCount:A,isAuthError:V}),V)try{Ae(),await rt(),ne.info("SSE: refreshed auth token after auth error")}catch(ze){ne.error("SSE: failed to refresh auth token",{error:String(ze)})}}finally{u.clearTimeout(f),u.clearTimeout(v),U.abort(),G.cleanup(),_()}if(m.signal.aborted)break;let de=u.now()-N,Q=L?.cause?.status;if(S=!T&&(typeof Q=="number"&&Q>=400||de<Qd)?S+1:0,S>=h){ne.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:S,lastError:String(L)});try{s?.({consecutiveFailures:S,lastError:L})}catch(O){console.warn("[opencode-events] onParked handler threw",O)}break}let H=u.now()-w;H>Kd&&r?.(H),j?A=0:(A++,A>1&&ne.warn("SSE event stream reconnecting",{retryCount:A}));let B=j?Nd:Math.min(Hd*2**Math.min(A-1,Wd),Vd);await new Promise(O=>{let E=u.setTimeout(O,B),V=()=>{u.clearTimeout(E),O()};m.signal.addEventListener("abort",V,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",k),l&&u.clearTimeout(l)}}}function eg(){return Z()}var vt=new Map,Ge=class extends Error{constructor(t){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${t}\`.`),this.name="SessionNotReadyError"}};function Qc(e,t){Qe(e,t);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new C(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let i=I().backendUrl??e.backendUrl,P=80,_=n(i);return _&&(P=_.port?Number(_.port):_.protocol==="https:"?443:80),{sandboxId:l,backendPort:P,apiBaseUrl:i}}let s={list:_r,get:vr,create:Sr,updateName:Cr,leave:Ur,members:Rr,invite:Tr,removeMember:Dr,updateMemberRole:Mr,invites:Ir,cancelInvite:jr,resendInvite:Ar,tokens:{list:ha,create:ba,revoke:xa},audit:{log:_a,export:Sa,webhooks:{list:va,create:Ca,update:Ra,remove:Ta}}},c={accountState:ao,accountStateMinimal:co,transactions:lo,transactionsSummary:uo,creditBreakdown:po,usageHistory:go,tierConfigurations:mo,checkout:{createSession:l=>fo(l),confirmSession:(l,i)=>yo(l,i)},subscription:{createPortalSession:(l,i)=>ho(l,i),cancel:(l,i)=>bo(l,i),reactivate:l=>xo(l),scheduleDowngrade:(l,i,P)=>ko(l,i,P),cancelScheduledChange:l=>Po(l),prorationPreview:(l,i)=>wo(l,i)},credits:{purchase:l=>_o(l),autoTopupSettings:l=>So(l),configureAutoTopup:l=>vo(l)}},u={describe:Er,accept:$r,decline:qr},d={list:le,listForAccount:Lr,get:gt,detail:mt,create:Kr,createRepo:Nr,provision:Hr,update:ht,archive:bt,llmCatalog:ft,modelPicker:yt,sandboxHealth:xt,sandboxTemplates:oi,sessions:we,createSession:_e},g={linkRepository:Jr,getInstallation:Xr,listInstallations:Qr,listLinkableInstallations:Yr,listRepositories:Zr,listRepositoryBranches:es,linkInstallation:ns,saveInstallation:ts,deleteInstallation:rs},h={list:ma,create:fa,revoke:ya},m=ti,k={items:l=>Aa(l),item:l=>qa(l),itemFile:(l,i)=>Da(l,i),marketplaces:()=>Ea(),featured:()=>$a(),sources:{list:()=>Ma(),add:l=>Ua(l),remove:l=>Oa(l)}};function w(l){return{get:i=>gt(l,i),detail:()=>mt(l),update:i=>ht(l,i),archive:()=>bt(l),llmCatalog:()=>ft(l),modelPicker:()=>yt(l),sandboxHealth:()=>xt(l),onboardingComplete:(...i)=>zr(l,...i),tokens:{list:()=>ka(l),create:i=>Pa(l,i),revoke:i=>wa(l,i)},setupLinks:{requestSecret:i=>Ia(l,i),requestConnector:i=>ja(l,i)},validateManifest:i=>Gr(l,i),gitToken:()=>Br(l),secrets:{list:()=>Ss(l),upsert:i=>vs(l,i),remove:i=>Is(l,i),setPersonal:(...i)=>js(l,...i),removePersonal:i=>As(l,i),setGitCredential:i=>Ts(l,i),startProviderOAuth:(...i)=>Cs(l,...i),pollProviderOAuth:(...i)=>Rs(l,...i)},access:{list:()=>as(l),invite:(...i)=>us(l,...i),update:(...i)=>cs(l,...i),revoke:i=>ls(l,i),pendingInvites:()=>ps(l),resendInvite:(...i)=>gs(l,...i),revokeInvite:(...i)=>ds(l,...i),requests:()=>ss(l),approveRequest:(...i)=>is(l,...i),rejectRequest:(...i)=>os(l,...i),groupGrants:()=>ms(l),attachGroupGrant:(...i)=>fs(l,...i),updateGroupGrant:(...i)=>ys(l,...i),detachGroupGrant:i=>hs(l,i),resourceGrants:{list:()=>bs(l),create:i=>xs(l,i),remove:i=>ks(l,i)}},connectors:{list:()=>Fs(l),config:(...i)=>Vs(l,...i),create:(...i)=>Js(l,...i),remove:(...i)=>Qs(l,...i),sync:()=>Gs(l),auth:{discover:(...i)=>Xs(l,...i)},setName:(...i)=>Ws(l,...i),setCredentialMode:(...i)=>Bs(l,...i),setCredential:(...i)=>ni(l,...i),setSensitive:(...i)=>Ks(l,...i),profiles:{list:()=>Es(l),reconcile:(...i)=>$s(l,...i),reconcileMember:(...i)=>qs(l,...i),updateCredential:(...i)=>Ds(l,...i),revoke:(...i)=>Ms(l,...i),activate:(...i)=>Us(l,...i),pipedreamConnect:(...i)=>Os(l,...i),pipedreamFinalize:(...i)=>Ls(l,...i)},policies:{get:(...i)=>Ns(l,...i),set:(...i)=>Hs(l,...i)},pipedream:{listApps:(...i)=>Ys(l,...i),connect:(...i)=>zs(l,...i),finalize:(...i)=>ri(l,...i)},discover:{list:(...i)=>Zs(l,...i),detail:(...i)=>ei(l,...i)}},policies:{list:()=>si(l),set:(...i)=>ii(l,...i)},triggers:{list:()=>zi(l),create:(...i)=>Ji(l,...i),update:(...i)=>Xi(l,...i),remove:(...i)=>Qi(l,...i),fire:(...i)=>Zi(l,...i),setActivation:(...i)=>Yi(l,...i)},files:{list:i=>fi(l,i),read:(i,P)=>hi(l,i,P),search:(...i)=>yi(l,...i),archive:(...i)=>bi(l,...i),history:(...i)=>_i(l,...i)},git:{commits:()=>ki(l),commit:i=>Pi(l,i),commitDiff:i=>wi(l,i),branches:()=>xi(l),versionDiff:(...i)=>Si(l,...i),inviteCollaborator:(...i)=>Fr(l,...i)},changeRequests:{list:()=>vi(l),get:i=>Ci(l,i),diff:i=>Ri(l,i),mergePreview:i=>Ti(l,i),open:(...i)=>Ii(l,...i),merge:(...i)=>ji(l,...i),close:(...i)=>Ai(l,...i),reopen:(...i)=>Ei(l,...i),requestChanges:(...i)=>$i(l,...i)},sessions:{list:i=>we(l,i),create:i=>_e(l,i)},review:{list:i=>la(l,i),get:i=>ua(l,i),submit:i=>pa(l,i),act:(...i)=>da(l,...i),bulkAct:i=>ga(l,i)},approvals:{list:i=>Ps(l,i),resolve:(...i)=>_s(l,...i),sessionsNeedingInput:i=>ws(l,i)},gateway:{logs:i=>zo(l,i),log:i=>Jo(l,i),overview:i=>Xo(l,i),series:i=>Qo(l,i),breakdown:i=>Yo(l,i),sessions:i=>Zo(l,i),errors:i=>ea(l,i),budgets:()=>ta(l),setBudget:i=>na(l,i),deleteBudget:i=>ra(l,i),keys:()=>sa(l),createKey:i=>ia(l,i),revokeKey:i=>oa(l,i),routing:{get:()=>No(l),set:i=>Ho(l,i),reset:()=>Vo(l),preview:i=>Wo(l,i)},playground:(i,P,_)=>aa(l,i,P,_)},channels:{slack:{installation:()=>Co(l),connect:i=>Ro(l,i),mode:()=>To(l),manifest:()=>Io(l),disconnect:()=>jo(l),getFile:i=>Ao(l,i),uploadFile:i=>Eo(l,i)},email:{installation:i=>qo(l,i),mode:()=>Do(l),connect:i=>Mo(l,i),disconnect:i=>Uo(l,i),updatePolicy:(...i)=>Oo(l,...i)},meet:{voices:()=>Lo(l),setVoice:i=>Fo(l,i),setBotName:i=>Go(l,i),previewVoice:i=>Bo(l,i),speak:(i,P,_)=>Ko(l,i,P,_)}},updateExperimentalFeature:(...i)=>Vr(l,...i),modelDefaults:{get:()=>to(l),set:i=>no(l,i),clear:i=>ro(l,i)},setDefaultAgent:i=>io(l,i),sandbox:{list:()=>mi(l),snapshots:()=>ai(l),rebuildSnapshot:i=>ci(l,i),fixWithAgent:()=>li(l),createTemplate:i=>ui(l,i),updateTemplate:(...i)=>pi(l,...i),removeTemplate:i=>di(l,i),buildTemplate:i=>gi(l,i),setProvider:i=>Wr(l,i)},setAgentScope:(...i)=>so(l,...i),session:i=>x(l,i)}}function x(l,i){let P=null,_,D;function A(){if(P)return P;let f=Dc(l,i);return f&&(P=f),P}async function S(f){let v=A();if(v)return v;let L=f?.readyTimeoutMs??18e4,N=`${l}
|
|
8
|
-
${
|
|
5
|
+
`);R=F.pop()??"";for(let Ce of F){let oe=Ce.split(`
|
|
6
|
+
`),N=[],Q;for(let U of oe)if(U.startsWith("data:"))N.push(U.replace(/^data:\s*/,""));else if(U.startsWith("event:"))Q=U.replace(/^event:\s*/,"");else if(U.startsWith("id:"))h=U.replace(/^id:\s*/,"");else if(U.startsWith("retry:")){let X=Number.parseInt(U.replace(/^retry:\s*/,""),10);Number.isNaN(X)||(a=X)}let z,K=!1;if(N.length){let U=N.join(`
|
|
7
|
+
`);try{z=JSON.parse(U),K=!0}catch{z=U}}K&&(s&&await s(z),r&&(z=await r(z))),n?.({data:z,event:Q,id:h,retry:a}),N.length&&(yield z)}}}finally{T.removeEventListener("abort",H),y.releaseLock()}break}catch(w){if(t?.(w),l!==void 0&&S>=l)break;let v=Math.min(a*2**(S-1),p??3e4);await x(v)}}}()}};var Ju=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Qu=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Xu=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},St=({allowReserved:e,explode:t,name:n,style:r,value:s})=>{if(!t){let p=(e?s:s.map(d=>encodeURIComponent(d))).join(Qu(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=Ju(r),l=s.map(p=>r==="label"||r==="simple"?e?p:encodeURIComponent(p):Te({allowReserved:e,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+l:l},Te=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},vt=({allowReserved:e,explode:t,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!t){let d=[];Object.entries(s).forEach(([m,h])=>{d=[...d,m,e?h:encodeURIComponent(h)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let l=Xu(r),p=Object.entries(s).map(([d,f])=>Te({allowReserved:e,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(l);return r==="label"||r==="matrix"?l+p:p};var Yu=/\{[^{}]+\}/g,Zu=({path:e,url:t})=>{let n=t,r=t.match(Yu);if(r)for(let s of r){let o=!1,l=s.substring(1,s.length-1),p="simple";l.endsWith("*")&&(o=!0,l=l.substring(0,l.length-1)),l.startsWith(".")?(l=l.substring(1),p="label"):l.startsWith(";")&&(l=l.substring(1),p="matrix");let d=e[l];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,St({explode:o,name:l,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,vt({explode:o,name:l,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${Te({name:l,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},Oc=({baseUrl:e,path:t,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,l=(e??"")+o;t&&(l=Zu({path:t,url:l}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(l+=`?${p}`),l};function gn(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(t)return e.body}var Lc=async(e,t)=>{let n=typeof t=="function"?await t(e):t;if(n)return e.scheme==="bearer"?`Bearer ${n}`:e.scheme==="basic"?`Basic ${btoa(n)}`:n};var mn={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)};var Fc=({parameters:e={},...t}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let l=r[o];if(l==null)continue;let p=e[o]||t;if(Array.isArray(l)){let d=St({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:l,...p.array});d&&s.push(d)}else if(typeof l=="object"){let d=vt({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:l,...p.object});d&&s.push(d)}else{let d=Te({allowReserved:p.allowReserved,name:o,value:l});d&&s.push(d)}}return s.join("&")},Gc=e=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>t.startsWith(n)))return"blob";if(t.startsWith("text/"))return"text"}},ep=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)):!1,Bc=async({security:e,...t})=>{for(let n of e){if(ep(t,n.name))continue;let r=await Lc(n,t.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":t.query||(t.query={}),t.query[s]=r;break;case"cookie":t.headers.append("Cookie",`${s}=${r}`);break;default:t.headers.set(s,r);break}}},fn=e=>Oc({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Fc(e.querySerializer),url:e.url}),yn=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=Rt(e.headers,t.headers),n},tp=e=>{let t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},Rt=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let r=n instanceof Headers?tp(n):Object.entries(n);for(let[s,o]of r)if(o===null)t.delete(s);else if(Array.isArray(o))for(let l of o)t.append(s,l);else o!==void 0&&t.set(s,typeof o=="object"?JSON.stringify(o):o)}return t},We=class{fns=[];clear(){this.fns=[]}eject(t){let n=this.getInterceptorIndex(t);this.fns[n]&&(this.fns[n]=null)}exists(t){let n=this.getInterceptorIndex(t);return!!this.fns[n]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,n){let r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=n,t):!1}use(t){return this.fns.push(t),this.fns.length-1}},Nc=()=>({error:new We,request:new We,response:new We}),np=Fc({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),rp={"Content-Type":"application/json"},Ve=(e={})=>({...mn,headers:rp,parseAs:"auto",querySerializer:np,...e});var ze=(e={})=>{let t=yn(Ve(),e),n=()=>({...t}),r=f=>(t=yn(t,f),n()),s=Nc(),o=async f=>{let m={...t,...f,fetch:f.fetch??t.fetch??globalThis.fetch,headers:Rt(t.headers,f.headers),serializedBody:void 0};m.security&&await Bc({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let h=fn(m);return{opts:m,url:h}},l=async f=>{let{opts:m,url:h}=await o(f),x={redirect:"follow",...m,body:gn(m)},P=new Request(h,x);for(let A of s.request.fns)A&&(P=await A(P,m));let u=m.fetch,a;try{a=await u(P)}catch(A){let $=A;for(let y of s.error.fns)y&&($=await y(A,void 0,P,m));if($=$||{},m.throwOnError)throw $;return m.responseStyle==="data"?void 0:{error:$,request:P,response:void 0}}for(let A of s.response.fns)A&&(a=await A(a,P,m));let S={request:P,response:a};if(a.ok){let A=(m.parseAs==="auto"?Gc(a.headers.get("Content-Type")):m.parseAs)??"json";if(a.status===204||a.headers.get("Content-Length")==="0"){let y;switch(A){case"arrayBuffer":case"blob":case"text":y=await a[A]();break;case"formData":y=new FormData;break;case"stream":y=a.body;break;default:y={};break}return m.responseStyle==="data"?y:{data:y,...S}}let $;switch(A){case"arrayBuffer":case"blob":case"formData":case"text":$=await a[A]();break;case"json":{let y=await a.text();$=y?JSON.parse(y):{};break}case"stream":return m.responseStyle==="data"?a.body:{data:a.body,...S}}return A==="json"&&(m.responseValidator&&await m.responseValidator($),m.responseTransformer&&($=await m.responseTransformer($))),m.responseStyle==="data"?$:{data:$,...S}}let T=await a.text(),C;try{C=JSON.parse(T)}catch{}let w=C??T,v=w;for(let A of s.error.fns)A&&(v=await A(w,a,P,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...S}},p=f=>m=>l({...m,method:f}),d=f=>async m=>{let{opts:h,url:x}=await o(m);return Uc({...h,body:h.body,headers:h.headers,method:f,onRequest:async(P,u)=>{let a=new Request(P,u);for(let S of s.request.fns)S&&(a=await S(a,h));return a},serializedBody:gn(h),url:x})};return{buildUrl:fn,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:l,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var sp={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},ip=Object.entries(sp),Hc=(e,t)=>{t||(t=new Map);for(let n of e)"in"in n?n.key&&t.set(n.key,{in:n.in,map:n.map}):"key"in n?t.set(n.key,{map:n.map}):n.args&&Hc(n.args,t);return t},op=e=>{for(let[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},g=(e,t)=>{let n={body:{},headers:{},path:{},query:{}},r=Hc(t),s;for(let[o,l]of e.entries())if(t[o]&&(s=t[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=l)}else n.body=l;else for(let[p,d]of Object.entries(l??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=ip.find(([h])=>p.startsWith(h));if(m){let[h,x]=m;n[x][p.slice(h.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[h,x]of Object.entries(s.allowExtra))if(x){n[h][p]=d;break}}}}return op(n),n};var Kc=ze(Ve({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(t){this.client=t?.client??Kc}},hn=class{defaultKey="default";instances=new Map;get(t){let n=this.instances.get(t??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(t,n){this.instances.set(n??this.defaultKey,t)}},bn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},xn=class extends b{log(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Pn=class extends b{moveSession(t,n){let r=g([t],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},kn=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},wn=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},_n=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},Sn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},vn=class extends b{generateName(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Rn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},Cn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new Rn({client:this.client})}},Tn=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new Pn({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new kn({client:this.client})}_console;get console(){return this._console??=new wn({client:this.client})}_session;get session(){return this._session??=new _n({client:this.client})}_resource;get resource(){return this._resource??=new Sn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new vn({client:this.client})}_workspace;get workspace(){return this._workspace??=new Cn({client:this.client})}},An=class extends b{get(t){return(t?.client??this.client).get({url:"/global/config",...t})}update(t,n){let r=g([t],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},In=class extends b{health(t){return(t?.client??this.client).get({url:"/global/health",...t})}event(t){return(t?.client??this.client).sse.get({url:"/global/event",...t})}dispose(t){return(t?.client??this.client).post({url:"/global/dispose",...t})}upgrade(t,n){let r=g([t],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new An({client:this.client})}},jn=class extends b{subscribe(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},En=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},$n=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},qn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Dn=class extends b{text(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},Mn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},Un=class extends b{dispose(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},On=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},Ln=class extends b{raw(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Fn=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new Ln({client:this.client})}},Gn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},Bn=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Nn=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},Hn=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Kn=class extends b{status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(t,n){let r=g([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new Hn({client:this.client})}},Wn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},Vn=class extends b{shells(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},zn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},Jn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Qn=class extends b{authorize(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Xn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new Qn({client:this.client})}},Yn=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},Zn=class extends b{delete(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},er=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},tr=class extends b{start(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(t,n){let r=g([t],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new er({client:this.client})}},nr=class extends b{next(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rr=class extends b{appendPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(t,n){let r=g([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new nr({client:this.client})}},sr=class extends b{get(t){return(t?.client??this.client).get({url:"/api/health",...t})}},ir=class extends b{get(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},or=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},ar=class extends b{stage(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},cr=class extends b{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},lr=class extends b{list(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},ur=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(t,n){let r=g([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new ar({client:this.client})}_permission;get permission(){return this._permission??=new cr({client:this.client})}_question;get question(){return this._question??=new lr({client:this.client})}},pr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},dr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},gr=class extends b{key(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},mr=class extends b{cancel(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(t,n){let r=g([t],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},fr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new gr({client:this.client})}_attempt;get attempt(){return this._attempt??=new mr({client:this.client})}},yr=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},hr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},br=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},xr=class extends b{_request;get request(){return this._request??=new hr({client:this.client})}_saved;get saved(){return this._saved??=new br({client:this.client})}},Pr=class extends b{read(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},kr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},wr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},_r=class extends b{subscribe(t){return(t?.client??this.client).sse.get({url:"/api/event",...t})}},Sr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(t,n){let r=g([t],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(t,n){let r=g([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},vr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},Rr=class extends b{_request;get request(){return this._request??=new vr({client:this.client})}},Cr=class extends b{list(t,n){let r=g([t],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},Tr=class extends b{remove(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(t,n){let r=g([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},Ar=class extends b{_health;get health(){return this._health??=new sr({client:this.client})}_location;get location(){return this._location??=new ir({client:this.client})}_agent;get agent(){return this._agent??=new or({client:this.client})}_session;get session(){return this._session??=new ur({client:this.client})}_model;get model(){return this._model??=new pr({client:this.client})}_provider;get provider(){return this._provider??=new dr({client:this.client})}_integration;get integration(){return this._integration??=new fr({client:this.client})}_credential;get credential(){return this._credential??=new yr({client:this.client})}_permission;get permission(){return this._permission??=new xr({client:this.client})}_fs;get fs(){return this._fs??=new Pr({client:this.client})}_command;get command(){return this._command??=new kr({client:this.client})}_skill;get skill(){return this._skill??=new wr({client:this.client})}_event;get event(){return this._event??=new _r({client:this.client})}_pty;get pty(){return this._pty??=new Sr({client:this.client})}_question;get question(){return this._question??=new Rr({client:this.client})}_reference;get reference(){return this._reference??=new Cr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new Tr({client:this.client})}},Ct=class e extends b{static __registry=new hn;constructor(t){super(t),e.__registry.set(this,t?.key)}_auth;get auth(){return this._auth??=new bn({client:this.client})}_app;get app(){return this._app??=new xn({client:this.client})}_experimental;get experimental(){return this._experimental??=new Tn({client:this.client})}_global;get global(){return this._global??=new In({client:this.client})}_event;get event(){return this._event??=new jn({client:this.client})}_config;get config(){return this._config??=new En({client:this.client})}_tool;get tool(){return this._tool??=new $n({client:this.client})}_worktree;get worktree(){return this._worktree??=new qn({client:this.client})}_find;get find(){return this._find??=new Dn({client:this.client})}_file;get file(){return this._file??=new Mn({client:this.client})}_instance;get instance(){return this._instance??=new Un({client:this.client})}_path;get path(){return this._path??=new On({client:this.client})}_vcs;get vcs(){return this._vcs??=new Fn({client:this.client})}_command;get command(){return this._command??=new Gn({client:this.client})}_lsp;get lsp(){return this._lsp??=new Bn({client:this.client})}_formatter;get formatter(){return this._formatter??=new Nn({client:this.client})}_mcp;get mcp(){return this._mcp??=new Kn({client:this.client})}_project;get project(){return this._project??=new Wn({client:this.client})}_pty;get pty(){return this._pty??=new Vn({client:this.client})}_question;get question(){return this._question??=new zn({client:this.client})}_permission;get permission(){return this._permission??=new Jn({client:this.client})}_provider;get provider(){return this._provider??=new Xn({client:this.client})}_session;get session(){return this._session??=new Yn({client:this.client})}_part;get part(){return this._part??=new Zn({client:this.client})}_sync;get sync(){return this._sync??=new tr({client:this.client})}_tui;get tui(){return this._tui??=new rr({client:this.client})}_v2;get v2(){return this._v2??=new Ar({client:this.client})}};function Vc(e,t,n,r){if(!r?.throwOnError||e instanceof Error)return e;if(typeof e=="object"&&e!==null&&Object.keys(e).length>0){let o=e,l=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||Wc(n,t);return new Error(l,{cause:{body:e,status:t?.status}})}if(typeof e=="string"&&e.length>0)return new Error(e,{cause:{body:e,status:t?.status}});let s=t?"(empty response body)":"network error (no response)";return new Error(`opencode server ${Wc(n,t)}: ${s}`,{cause:{body:e,status:t?.status}})}function Wc(e,t){let n=e?.method??"?",r=e?.url??"?",s=t?.status,o=t?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function ap(e,t,n){if(e)return t&&(e===t||n&&e===n(t))?t:e}function cp(e,t){if(e.method!=="GET"&&e.method!=="HEAD")return e;let n=new URL(e.url),r=!1;for(let[o,l]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=ap(e.headers.get(o),l==="directory"?t.directory:t.workspace,l==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[l,`location[${l}]`]:[l])n.searchParams.has(d)||n.searchParams.set(d,p);r=!0}}if(!r)return e;let s=new Request(n,e);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function Ir(e){e?.fetch||(e={...e,fetch:r=>(r.timeout=!1,fetch(r))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)}),e?.experimental_workspaceID&&(e.headers={...e.headers,"x-opencode-workspace":e.experimental_workspaceID});let t=ze(e);return t.interceptors.request.use(n=>cp(n,{directory:e?.directory,workspace:e?.experimental_workspaceID})),t.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),t.interceptors.error.use(Vc),new Ct({client:t})}function lp(e){return new Promise(t=>setTimeout(t,e))}async function zc(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,o=t?.invalidateBetweenAttempts??!1,l=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await lp(s)),l=await e(),l)return l;return l}var up=3e4;function pp(e){let t=e instanceof Request?e.url:String(e);return t.includes("/global/event")||t.includes("/kortix/acp/")}function Jc(e,t,n=up){let r=e instanceof Request?e.signal:t?.signal;if(pp(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function jr(e,t,n){let r=new Headers(e instanceof Request?e.headers:void 0);return t?.headers&&new Headers(t.headers).forEach((s,o)=>{r.set(o,s)}),n&&!r.has("Authorization")&&r.set("Authorization",`Bearer ${n}`),r}function Qc(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function Tt(){return q().getToken()}async function Ae(e){return zc(()=>q().getToken(),e,Je)}function Je(){}function dp(e){}function gp(e){}async function Qe(){return Tt()}async function Er(e){return Ae(e)}function Xc(e,t,n,r){if(e instanceof Request){let s=new Request(e,{headers:n,...r?{signal:r}:{}});return fetch(s)}return fetch(e,{...t,headers:n,...r?{signal:r}:{}})}async function j(e,t,n){let{retryOnAuthError:r=!0}=n??{},s=await Er();if(!s)return Qc();let o=jr(e,t,s),l=Jc(e,t),p=await Xc(e,t,o,l);if(p.status===401&&r&&s){Je();let d=await Er({attempts:2,baseDelayMs:200});if(d&&d!==s){let f=jr(e,t,d);return Xc(e,t,f,l)}}return p}var Ie={url:null,sandboxId:null,dbSandboxId:null,version:0},mp=new Set;function Yc(e,t=null,n=null){if(!(Ie.url===e&&Ie.sandboxId===t&&Ie.dbSandboxId===n)){Ie={url:e,sandboxId:t,dbSandboxId:n,version:Ie.version+1};for(let r of mp)r()}}function Zc(){return Ie.url}function fp(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function ye(){return fp(q().backendUrl||"http://localhost:8008/v1")}function el(){let e=q().sandboxId||"";return`${ye()}/p/${e}/8000`}function yp(e){return`${ye()}/p/${e}/8000`}function At(e){return yp(e)}function O(){let e=Zc();return e||(q().billingEnabled??!1?"":el())}var I=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let l=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:l,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},je=class extends I{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},he=class e extends Error{status;detail;constructor(t,n,r){super(r||n.message||`Billing Error: ${t}`),this.name="BillingError",this.status=t,this.detail=n,Object.setPrototypeOf(this,e.prototype)}},Ee=class e extends Error{status;detail;constructor(t=431,n,r){let s="Request headers are too large",o="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=t,this.detail={message:n?.message||s,suggestion:n?.suggestion||o},Object.setPrototypeOf(this,e.prototype)}};function $e(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new he(t,{message:r?.message||e.message||"Billing error",...r})}function tl(e){return e instanceof he}function nl(e){if(!(e instanceof he))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:e.detail?.message||"Please upgrade to continue."}}async function $r(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function qr(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function Dr(e){let t=qr(e),n=await j(`${t}/env`);if(!n.ok)throw new Error(await $r(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Mr(e,t,n){let r=qr(e),s=await j(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await $r(s,"Failed to save secret"))}async function Ur(e,t){let n=qr(e),r=await j(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await $r(r,"Failed to delete secret"))}var rl={list:Dr,set:Mr,delete:Ur};async function sl(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await j(`${r}/kortix/triggers${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}function be(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}async function It(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Xe(e){if(!e)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return be(e)}async function Or(e){let t=Xe(e),n=await j(`${t}/kortix/pty`);if(!n.ok)throw new Error(await It(n,"Failed to list terminals"));return n.json()}async function Lr(e,t){let n=Xe(e),r=await j(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await It(r,"Failed to create terminal"));return r.json()}async function Fr(e,t,n){let r=Xe(e),s=await j(`${r}/kortix/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await It(s,"Failed to update terminal"));return s.json()}async function Gr(e,t){let n=Xe(e),r=await j(`${n}/kortix/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await It(r,"Failed to remove terminal"))}async function Br(e,t){let n=Xe(t),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),be(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(e)}/connect`,o=await Qe();if(!o)return s;let l=s.includes("?")?"&":"?";return`${s}${l}token=${encodeURIComponent(o)}`}var il={list:Or,create:Lr,update:Fr,remove:Gr,webSocketUrl:Br};async function _(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await j(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),l=await o.text(),p={};try{p=l?JSON.parse(l):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||l.slice(0,200)||`Request failed with ${o.status}`);return p}async function hp(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return _(e,`/kortix/tasks${r}`)}async function bp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`)}async function xp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/events`)}async function Pp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/status`)}async function kp(e,t){return _(e,"/kortix/tasks",{method:"POST",body:JSON.stringify(t)})}async function wp(e,t,n){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function _p(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function Sp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function vp(e,t){return _(e,`/kortix/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Rp(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return _(e,`/kortix/tickets${n}`)}async function Cp(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`)}async function Tp(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/events`)}async function Ap(e,t){return _(e,"/kortix/tickets",{method:"POST",body:JSON.stringify(t)})}async function Ip(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function jp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Ep(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function $p(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function qp(e,t,n){return _(e,`/kortix/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Dp(e,t){return _(e,`/kortix/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Mp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`)}async function Up(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Op(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`)}async function Lp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Fp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`)}async function Gp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Bp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Np(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`)}async function Hp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Kp(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Wp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Vp(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function zp(e,t,n=200){return _(e,`/kortix/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Jp(e){return _(e,"/kortix/projects")}async function Qp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`)}async function Xp(e,t){return _(e,`/kortix/projects/by-session/${encodeURIComponent(t)}`)}async function Yp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/sessions`)}async function Zp(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function ed(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function td(e,t,n="all"){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function nd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function rd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function sd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function id(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function od(e,t,n,r){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function ad(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function cd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function ld(e,t){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`)}async function ud(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function pd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function dd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function gd(e,t,n){return _(e,`/kortix/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var md=1e4,fd={retryOnAuthError:!1};function qe(e,t,n){return _(e,t,{signal:AbortSignal.timeout(md),...n},fd)}async function yd(e,t=!1){return(await qe(e,`/kortix/services${t?"?all=true":""}`)).services??[]}async function hd(e){return(await qe(e,"/kortix/services/templates")).templates??[]}async function bd(e,t){return(await qe(e,`/kortix/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function xd(e,t,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(t)}`:`/kortix/services/${encodeURIComponent(t)}/${n}`;return qe(e,s,{method:r?"DELETE":"POST"})}async function Pd(e,t){return qe(e,`/kortix/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function kd(e,t){return qe(e,"/kortix/services/register",{method:"POST",body:JSON.stringify(t)})}var jt=new Map,Et=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function ce(){let e=O();if(!e)throw new Et;return te(e)}function te(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=jt.get(e);if(t)return t;if(!_t())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=Ir({baseUrl:e,fetch:j});return jt.set(e,n),n}function wd(e){jt.delete(e)}function _d(){jt.clear()}var $t=new Map;function Sd(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=$t.get(e);if(t)return t;let n=Ir({baseUrl:e,fetch});return $t.set(e,n),n}function vd(e){$t.delete(e)}function Rd(){$t.clear()}async function Cd(e){let t=await e.text().catch(()=>"");try{let n=JSON.parse(t);return n?.error||n?.message||t||e.statusText||`HTTP ${e.status}`}catch{return t||e.statusText||`HTTP ${e.status}`}}async function Td(e){let t=O();if(!t)throw new I("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=await j(`${t}/kortix/services/system/reload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})});if(!n.ok)throw new I(`System reload failed (${n.status}): ${await Cd(n)}`,{status:n.status,response:n,code:"RUNTIME_UNAVAILABLE"});return n.json()}function al(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new I(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function De(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}async function qt(e,t=O()){let n=await j(`${t}${e}`);if(!n.ok)throw new I(await De(n),{status:n.status,response:n});return n.json()}var Dt=["/workspace","/tmp","/home","/opt"],Ad=Dt.filter(e=>e!=="/workspace");function Nr(e){return Dt.some(t=>e===t||e.startsWith(`${t}/`))}function Hr(e){return Nr(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function xe(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(Ad.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Kr=xe;async function Ze(e,t=O()){let n=xe(e)||".";return(await qt(`/file?path=${encodeURIComponent(n)}`,t)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function Me(e,t=O()){let n=xe(e),r=await j(`${t}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new I(await De(r),{status:r.status,response:r});return r.json()}async function Id(e,t,n=O()){let r=xe(e),s=await j(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new I(await De(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new I("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let o=await s.blob();return t&&(!o.type||o.type==="application/octet-stream")?new Blob([o],{type:t}):o}async function Ue(e,t=O()){try{return await Id(e,void 0,t)}catch{}let n=await Me(e,t);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function et(e=O()){return qt("/file/status",e)}async function tt(e,t,n=O()){let r=new URLSearchParams({query:e});return t?.type&&r.set("type",t.type),t?.limit&&r.set("limit",String(t.limit)),qt(`/find/file?${r.toString()}`,n)}async function nt(e,t=O()){return(await qt(`/find?pattern=${encodeURIComponent(e)}`,t)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var Ye=[400,1200],jd=e=>e===408||e===429||e===502||e===503||e===504,ol=e=>new Promise(t=>setTimeout(t,e));async function Ed(e){let t=await e.text().catch(()=>""),n=null;try{n=t?JSON.parse(t):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(e.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(t)?e.status===502||/bad gateway/i.test(t)?"Bad gateway while reaching the sandbox upload service. Please retry.":e.statusText||`HTTP ${e.status}`:t.replace(/\s+/g," ").trim().slice(0,500)||e.statusText||`HTTP ${e.status}`}async function cl(e,t){let n;for(let s=0;s<=Ye.length;s++){let o;try{o=await t(e())}catch(p){if(n=p,s===Ye.length)break;await ol(Ye[s]);continue}if(o.ok)return o.json();let l=await Ed(o);if(n=new I(`Upload failed (${o.status}): ${l}`,{status:o.status,response:o}),!jd(o.status)||s===Ye.length)throw n;await ol(Ye[s])}if(n instanceof I)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new I(`Upload failed: ${r}`)}function Oe(e,t,n,r=O()){return cl(()=>{let s=new FormData,o=(t??"").trim();return o&&s.append("path",o.startsWith("/")?o:`/${o}`),n?s.append("file",e,n):s.append("file",e),s},s=>j(`${r}/file/upload`,{method:"POST",body:s}))}function $d(e,t,n=O()){return cl(()=>{let r=new FormData;return r.append(e,t,e.split("/").pop()||"file"),r},async r=>{let s={},o=await Qe();return o&&(s.Authorization=`Bearer ${o}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function rt(e,t=O()){let n=e.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),o=s.pop()||"untitled",l=s.join("/")||"/workspace";return Oe(new File([" "],o,{type:"application/octet-stream"}),l,void 0,t)}async function st(e,t,n=O()){return $d(t,await Ue(e,n),n)}async function it(e,t=O()){let n=await j(`${t}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Delete failed (${n.status}): ${await De(n)}`,{status:n.status,response:n});return n.json()}async function ot(e,t=O()){let n=await j(`${t}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new I(`Mkdir failed (${n.status}): ${await De(n)}`,{status:n.status,response:n});return n.json()}async function at(e,t,n=O()){let r=await j(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e,to:t})});if(!r.ok)throw new I(`Rename failed (${r.status}): ${await De(r)}`,{status:r.status,response:r});return r.json()}async function Wr(){return al(await ce().project.current())}async function Mt(){return al(await ce().global.health())}async function Vr(){try{return(await Mt()).healthy===!0}catch{return!1}}var ll={list:Ze,read:Me,readBlob:Ue,status:et,findFiles:tt,findText:nt,upload:Oe,create:rt,copy:st,remove:it,mkdir:ot,rename:at,currentProject:Wr,health:Mt,isReachable:Vr,toDaemonPath:xe,toSandboxAbsolutePath:Hr,toWorkspaceRelative:Kr};var le=()=>q().backendUrl||"",pl="feature_not_supported",Dd=e=>new Promise(t=>setTimeout(t,e)),Md=new Set([502,503,504]),Ud=e=>Md.has(e),Od=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Ld=2,ul=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted"),zr=!1;function Fd(e){zr=e}function Gd(){return zr}async function Pe(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=t,l=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!l.signal.aborted&&(d=!0,f=!0,l.abort())},s);let m=await Ae(),h=o.body instanceof FormData,x={};if(h||(x["Content-Type"]="application/json"),Object.assign(x,o.headers),zr&&(x["x-kortix-admin-bypass"]="1"),m)x.Authorization=`Bearer ${m}`;else return{error:new je,success:!1};let P=Od(o.method),u=P?Ld+1:1,a;for(let C=0;C<u;C++){C>0&&await Dd(250*2**(C-1));let w=C===0?l:new AbortController;C>0&&(p=setTimeout(()=>{f=!0,w.abort()},s));try{a=await fetch(e,{...o,headers:x,signal:w.signal,credentials:o.credentials??"omit"})}catch(A){if(p&&(clearTimeout(p),p=null),ul(A)||C===u-1)throw A;continue}if(p&&(clearTimeout(p),p=null),!(P&&Ud(a.status)&&C<u-1))break;try{await a.arrayBuffer()}catch{}}if(!a.ok){let C=`HTTP ${a.status}: ${a.statusText}`,w=null;try{w=await a.json(),typeof w.message=="string"?C=w.message:w.error&&typeof w.error=="string"?C=w.error:typeof w.detail=="string"?C=w.detail:typeof w.detail?.message=="string"&&(C=w.detail.message)}catch{}let v=new I(C,{status:a.status,response:a,details:w||void 0,data:w,detail:w?.detail,code:w?.code||w?.error_code||w?.detail?.error_code||a.status.toString()});if(a.status===402&&(v=$e(v)),a.status===403&&w?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}a.status===431&&(v=new Ee(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let A=a.status===501&&w?.code===pl;return n&&!A&&q().onError?.(v,r),{error:v,success:!1}}let S,T=a.headers.get("content-type");return T?.includes("application/json")?S=await a.json():T?.includes("text/")?S=await a.text():S=await a.blob(),{data:S,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let h=ul(m);h&&(d=!0);let x;if(h){if(!f)return{error:new I("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let P=e.replace(le(),"")||e;x=new I(`Request timed out after ${Math.round(s/1e3)}s: ${P}`,{code:"TIMEOUT",url:e,endpoint:P,timeout:s}),n&&q().onError?.(x,r)}else m instanceof Error?(x=new I(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&q().onError?.(x,r)):(x=new I(String(m)),n&&q().onError?.(x,r));return{error:x,success:!1}}}var Bd={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new I(r.message||"Database error",{code:r.code,details:r});return q().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new I(n.message,{name:n.name||"ApiError",stack:n.stack}):new I(String(n));return q().onError?.(r,t),{error:r,success:!1}}}},i={get:(e,t)=>Pe(`${le()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>Pe(`${le()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>Pe(`${le()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>Pe(`${le()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>Pe(`${le()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],Pe(`${le()}${e}`,{...s,method:"POST",body:t,headers:o})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],Pe(`${le()}${e}`,{...s,method:"PUT",body:t,headers:o})}};function c(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Jr(e){return e.replace(/\/v1\/?$/,"")}async function Le(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Jr(e.backendUrl);try{let r=await fetch(`${n}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function Qr(){return c(await i.get("/accounts"))}async function Xr(e){return c(await i.post("/accounts",e))}async function Yr(e){return c(await i.get(`/accounts/${e}`))}async function Zr(e,t){return c(await i.patch(`/accounts/${e}`,{name:t}))}async function es(e){return c(await i.get(`/accounts/${e}/members`))}async function ts(e,t){return c(await i.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function ns(e){return c(await i.get(`/accounts/${e}/invites`))}async function rs(e,t){return c(await i.delete(`/accounts/${e}/invites/${t}`))}async function ss(e,t){return c(await i.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function is(e){return c(await i.get(`/account-invites/${e}`,{showErrors:!1}))}async function os(e){return c(await i.post(`/account-invites/${e}/accept`,{}))}async function as(e){return c(await i.post(`/account-invites/${e}/decline`,{}))}async function cs(e,t){return c(await i.delete(`/accounts/${e}/members/${t}`))}async function ls(e,t,n){return c(await i.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function us(e){return c(await i.post(`/accounts/${e}/leave`,{}))}async function Nd(e){return Le(e,"/v1/accounts")}async function ps(){let e=await i.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}async function ke(){return c(await i.get("/projects"))}async function ds(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/projects${t}`))}async function Ut(e,t){return c(await i.get(`/projects/${e}`,t))}async function gs(e,t,n="write"){return c(await i.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function ms(e,t){return c(await i.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function fs(e){return c(await i.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function Hd(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function Ot(e,t){let n=c(await i.get(`/projects/${e}/detail`,{showErrors:!1,...t}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Lt(e,t){return c(await i.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function Ft(e,t){return c(await i.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function Kd(e,t){return c(await i.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function ys(e){return c(await i.post("/projects",e))}async function hs(e){return c(await i.post("/projects/create-repo",e))}async function bs(e,t={}){return c(await i.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}async function Wd(){try{return c(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Gt(e,t){return c(await i.patch(`/projects/${e}`,t))}async function xs(e,t,n){return c(await i.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function Ps(e,t){return c(await i.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function Vd(e,t){return c(await i.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function zd(e,t){return c(await i.patch(`/projects/${e}/warm-pool`,t))}async function ks(e,t){return c(await i.patch(`/projects/${e}/onboarding`,{completed:t}))}async function Bt(e){return c(await i.delete(`/projects/${e}`))}async function Jd(e,t){return Le(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function Qd(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Jr(e.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...t}),signal:AbortSignal.timeout(e.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function ws(e){return c(await i.post("/projects/link-repository",e,{showErrors:!1}))}async function _s(e){return c(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Ss(e){return c(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function vs(e){return c(await i.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Rs(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),c(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function Cs(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return c(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Ts(e){return c(await i.post("/projects/github/installation",e,{showErrors:!1}))}async function As(e){return c(await i.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Is(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),c(await i.delete(`/projects/github/installation?${n.toString()}`))}async function Xd(e,t){return c(await i.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function js(e,t){return c(await i.get(`/projects/${e}/access-requests`,t))}async function Es(e,t,n="member"){return c(await i.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function $s(e,t){return c(await i.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function qs(e){return c(await i.get(`/projects/${e}/access`))}async function Ds(e,t,n){return c(await i.put(`/projects/${e}/access/${t}`,{role:n}))}async function Ms(e,t){return c(await i.delete(`/projects/${e}/access/${t}`))}function Yd(e){return"status"in e&&e.status==="invited"}async function Us(e,t,n,r){return c(await i.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Os(e){return c(await i.get(`/projects/${e}/access/pending-invites`))}async function Ls(e,t){return c(await i.delete(`/projects/${e}/access/pending-invites/${t}`))}async function Fs(e,t){return c(await i.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Gs(e){return c(await i.get(`/projects/${e}/group-grants`))}async function Bs(e,t,n,r){return c(await i.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function Ns(e,t,n,r){return c(await i.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Hs(e,t){return c(await i.delete(`/projects/${e}/group-grants/${t}`))}async function Ks(e){return c(await i.get(`/projects/${e}/resource-grants`))}async function Ws(e,t){return c(await i.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function Vs(e,t){return c(await i.delete(`/projects/${e}/resource-grants/${t}`))}async function zs(e,t){return c(await i.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Js(e,t){return c(await i.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Qs(e,t,n,r="once"){return c(await i.post(`/projects/${e}/approvals/${t}`,{decision:n,scope:r}))}async function Xs(e){return c(await i.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function Ys(e,t){return c(await i.post(`/projects/${e}/secrets`,t))}async function Zs(e,t,n){return c(await i.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing}))}async function ei(e,t,n){return c(await i.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function ti(e,t){return c(await i.put(`/projects/${e}/git-credential`,t))}async function ni(e,t){return c(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function ri(e,t,n){return c(await i.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function si(e,t){return c(await i.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}async function ii(e){return c(await i.get(`/projects/${e}/connector-profiles`))}async function oi(e){return c(await i.get(`/projects/${e}/connector-profiles/all`))}async function ai(e,t){return c(await i.post(`/projects/${e}/connector-profiles`,t))}async function ci(e,t){return c(await i.post(`/projects/${e}/connector-profiles/me`,t))}async function li(e,t,n){return c(await i.put(`/projects/${e}/connector-profiles/${t}/credential`,n))}function we(e,t,n){return`/projects/${e}/connector-profiles/${t}/oauth2/${n}`}async function Zd(e,t){return c(await i.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/profile`,{}))}async function eg(e,t,n){return c(await i.put(we(e,t,"application"),n))}async function tg(e,t){return c(await i.get(we(e,t,"application")))}async function ng(e,t,n){return c(await i.post(we(e,t,"discover"),n))}async function rg(e,t,n){return c(await i.post(we(e,t,"authorize"),n))}async function sg(e,t,n){return c(await i.post(we(e,t,"device"),n))}async function ig(e,t,n){return c(await i.post(we(e,t,`device/${encodeURIComponent(n)}`),{}))}async function og(e,t){return c(await i.get(we(e,t,"status")))}async function ui(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/revoke`,{}))}async function pi(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/activate`,{}))}async function di(e,t){return c(await i.put(`/projects/${e}/connector-profiles/${t}/default`,{}))}async function gi(e,t,n={}){return c(await i.post(`/projects/${e}/connector-profiles/${t}/connect`,n))}async function mi(e,t){return c(await i.post(`/projects/${e}/connector-profiles/${t}/connect/finalize`,{}))}async function fi(e){return c(await i.get(`/executor/projects/${e}/connectors`,{showErrors:!1}))}async function yi(e){return c(await i.post(`/executor/projects/${e}/connectors/sync`,{}))}async function hi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function bi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function xi(e,t){return c(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Pi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function ki(e,t){return c(await i.get(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function wi(e,t,n){return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function _i(e,t){return c(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{}))}async function Si(e,t){return c(await i.post(`/executor/projects/${e}/connectors`,t))}async function vi(e,t){return c(await i.post(`/executor/projects/${e}/connectors/auth-discovery`,t))}async function Ri(e,t){return c(await i.delete(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function Ci(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return c(await i.get(`/executor/projects/${e}/pipedream/apps${s?`?${s}`:""}`))}async function Ti(e,t,n){let r=new URLSearchParams;t&&r.set("q",t),n&&r.set("cursor",n);let s=r.toString();return c(await i.get(`/executor/projects/${e}/discover/integrations${s?`?${s}`:""}`))}async function Ai(e,t){let n=new URLSearchParams({id:t});return c(await i.get(`/executor/projects/${e}/discover/integrations/detail?${n.toString()}`))}async function Ii(){return c(await i.get("/executor/connect-status"))}async function ji(e,t,n){let r=typeof n=="string"?{value:n}:n;return c(await i.put(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function Ei(e,t){return c(await i.post(`/executor/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,{}))}async function ag(e,t){return c(await i.get(`/projects/${e}/connector-profiles/${encodeURIComponent(t)}/policies`))}async function cg(e,t,n){return c(await i.put(`/projects/${e}/connector-profiles/${encodeURIComponent(t)}/policies`,{policies:n}))}async function $i(e){return c(await i.get(`/executor/projects/${e}/policies`))}async function qi(e,t,n){return c(await i.put(`/executor/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function Di(e){return c(await i.get(`/projects/${e}/sandboxes`))}async function Mi(e){return c(await i.get(`/projects/${e}/snapshots`))}async function Nt(e){return c(await i.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Ui(e,t){return c(await i.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function Oi(e){return c(await i.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function Li(e,t){return c(await i.post(`/projects/${e}/sandbox-templates`,t))}async function Fi(e,t,n){return c(await i.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Gi(e,t){return c(await i.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Bi(e,t){return c(await i.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Ni(e){return c(await i.get(`/projects/${e}/sandboxes`))}async function Hi(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return c(await i.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Ki(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),c(await i.get(`/projects/${e}/files/search?${r.toString()}`))}async function Wi(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),c(await i.get(`/projects/${e}/files/content?${r.toString()}`))}async function Vi(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await Ae(),l=`${q().backendUrl||""}/projects/${e}/files/archive${s}`,p=await fetch(l,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function zi(e){return c(await i.get(`/projects/${e}/branches`))}async function Ji(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return c(await i.get(`/projects/${e}/commits${r}`))}async function Qi(e,t){return c(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Xi(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return c(await i.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Yi(e,t,n){let r=new URLSearchParams({path:t});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),c(await i.get(`/projects/${e}/files/history?${r.toString()}`))}async function Zi(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return c(await i.get(`/projects/${e}/version-diff?${n.toString()}`))}async function eo(e,t){let n=t?`?status=${t}`:"";return c(await i.get(`/projects/${e}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function to(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}`))}async function no(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}/diff`))}async function ro(e,t){return c(await i.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function so(e,t){return c(await i.post(`/projects/${e}/change-requests`,t))}async function io(e,t,n){return c(await i.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function oo(e,t){return c(await i.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function ao(e,t){return c(await i.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function co(e,t,n){return c(await i.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function lo(e,t,n){return c(await i.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}var uo=new Set;function ct(e){e&&uo.add(e)}function po(e){return!!e&&uo.has(e)}function lg(e){e&&uo.delete(e)}async function Fe(e,t){let n=new URLSearchParams;t?.scope&&t.scope!=="visible"&&n.set("scope",t.scope),t?.end_user_ref&&n.set("end_user_ref",t.end_user_ref);let r=n.size>0?`?${n}`:"";return c(await i.get(`/projects/${e}/sessions${r}`))}async function go(e,t,n){return c(await i.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function mo(e,t){return c(await i.get(`/projects/${e}/sessions/${t}/previews`))}async function fo(e,t){return c(await i.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function yo(e,t,n){return c(await i.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function ho(e,t,n){return c(await i.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function Ge(e,t){let n=c(await i.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||ct(n?.session_id),n}async function bo(e){let t=c(await i.post(`/projects/${e}/sessions/warm`,{}));return ct(t.session.session_id),t}async function xo(e,t){let n=c(await i.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return ct(n.session_id),n}async function Po(e,t,n){return c(await i.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function ko(e,t,n,r){let s=n?`?limit=${n}`:"";return c(await i.get(`/projects/${e}/sessions/${t}/audit${s}`,{showErrors:r?.showErrors}))}async function wo(e,t,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return c(await i.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function _o(e,t,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return c(await i.get(`/projects/${e}/sessions/${t}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function So(e,t,n){return c(await i.patch(`/projects/${e}/sessions/${t}`,n))}async function vo(e,t){return c(await i.delete(`/projects/${e}/sessions/${t}`))}async function lt(e,t){return c(await i.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function ut(e,t){return c(await i.post(`/projects/${e}/sessions/${t}/stop`,{}))}async function Ro(e,t,n){return c(await i.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{opencode_model:n}))}async function Co(e){return c(await i.get(`/projects/${e}/triggers`))}async function To(e,t){return c(await i.post(`/projects/${e}/triggers`,t))}async function Ao(e,t,n){return c(await i.patch(`/projects/${e}/triggers/${t}`,n))}async function Io(e,t){return c(await i.delete(`/projects/${e}/triggers/${t}`))}async function jo(e,t){return c(await i.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Eo(e,t){return c(await i.post(`/projects/${e}/triggers/${t}/fire`,{}))}var ue=new Map;function $o(e,t){return`${e}::${t}`}function dl(e,t){ue.delete(e),ue.set(e,t)}function gl(e,t){let n=$o(e,t),r=ue.get(n);return r&&dl(n,r),r}function ml(e,t,n){let r=$o(e,t);if(!ue.has(r)&&ue.size>=512){let s=ue.keys().next().value;s!==void 0&&ue.delete(s)}dl(r,n)}function fl(e,t){ue.delete($o(e,t))}function ug(e){if(e.status!=="running"||!e.sandbox_provider||!e.sandbox_url||!e.opencode_session_id)return null;let t=e.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return!t||!e.sandbox_id?null:{stage:"ready",agent_name:e.agent_name??"default",retriable:!0,sandbox:{sandbox_id:e.sandbox_id,session_id:e.session_id,project_id:e.project_id,account_id:e.account_id,provider:e.sandbox_provider,external_id:t,base_url:e.sandbox_url,status:"active",config:{},metadata:e.metadata,last_used_at:e.updated_at,created_at:e.created_at,updated_at:e.updated_at},opencode_session_id:e.opencode_session_id,runtime_url:e.sandbox_url}}var Ht=class extends Error{status;code;terminal;constructor(t,n){super(t),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function pg(e){return e instanceof Error&&e.name==="SessionStartError"}function dg(e){let t=e,n=t?.status,r=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Ht(s,{status:n,code:r,terminal:!0}):null}async function _e(e,t,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${e}/sessions/${t}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=dg(s.error);if(p&&!(p.status===404&&po(t)))throw p;return null}let o=s.data,l=o.sandbox?.external_id;return o.stage==="ready"&&l&&o.opencode_session_id&&ml(e,t,{opencodeSessionId:o.opencode_session_id,runtimeUrl:At(l),sandboxId:l}),o}function gg(e,t){return["session-start",e,t]}async function qo(e){return c(await i.get(`/projects/${e}/model-defaults`))}async function Do(e,t){return c(await i.put(`/projects/${e}/model-defaults`,t))}async function Mo(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return c(await i.delete(`/projects/${e}/model-defaults?${n}`))}async function Uo(e,t,n){return c(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,n))}async function mg(e,t){return c(await i.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`))}async function fg(e,t,n){return c(await i.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,n))}async function Oo(e,t){return c(await i.put(`/projects/${e}/default-agent`,{agent:t}))}function Lo(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function Fo(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?Lo():s.data}async function Go(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?Lo():s.data}async function Bo(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return c(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function No(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return c(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Ho(){return c(await i.get("/billing/credit-breakdown"))}async function Ko(e){let t=e!=null?`?days=${e}`:"";return c(await i.get(`/billing/usage-history${t}`))}async function Wo(){return c(await i.get("/billing/tier-configurations"))}async function yg(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Le(e,`/v1/billing/account-state${t}`)}async function Vo(e){return c(await i.post("/billing/create-checkout-session",{account_id:e.accountId,tier_key:e.tierKey,success_url:e.successUrl,cancel_url:e.cancelUrl,commitment_type:e.commitmentType,locale:e.locale,server_type:e.serverType,location:e.location}),"Failed to create checkout session")}async function zo(e,t){return c(await i.post("/billing/confirm-checkout-session",{account_id:t,session_id:e}),"Failed to confirm checkout session")}async function Jo(e,t){return c(await i.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Qo(e,t){return c(await i.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function Xo(e){return c(await i.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function Yo(e,t,n){return c(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:e,commitment_type:t}),"Failed to schedule downgrade")}async function Zo(e){return c(await i.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function ea(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),c(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function ta(e){return c(await i.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function na(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function ra(e){return c(await i.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount}),"Failed to configure auto-topup")}async function hg(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function bg(e){return c(await i.post("/billing/create-per-seat-checkout",{account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl,locale:e.locale}),"Failed to create per-seat checkout")}async function xg(e){return c(await i.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function Pg(e){return c(await i.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function sa(e={}){let t=new URLSearchParams;e.start&&t.set("start",e.start),e.end&&t.set("end",e.end),e.groupBy&&t.set("group_by",e.groupBy);let n=e.endUserRef??e.originRef;n&&t.set("end_user_ref",n),e.accountId&&t.set("account_id",e.accountId);let r=t.toString();return c(await i.get(`/usage${r?`?${r}`:""}`))}async function yl(e,t){return c(await i.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function kg(e){return yl("slack",e)}function wg(e){return yl("teams",e)}async function ia(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function oa(e,t){return c(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var _g={oauth_available:!1,install_url:null};async function aa(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?_g:t.data}async function ca(e){return c(await i.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function la(e){let t=await i.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function ua(e,t){return c(await i.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function pa(e,t){return c(await i.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function da(e){return{...e,profileId:e.profileId??e.profile_id??null}}var Sg={provider:"agentmail",managed_available:!1};async function ga(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?da(r.data):null}async function ma(e){let t=await i.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Sg:t.data}async function fa(e,t){let n=c(await i.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return da(n)}async function ya(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await i.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function ha(e,t,n){let r=c(await i.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return da(r)}async function ba(e,t){return c(await i.put(`/projects/${encodeURIComponent(e)}/channels/meet/name`,{name:t},{showErrors:!1}),"Failed to save name")}async function vg(e){return c(await i.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function Rg(e,t,n){return c(await i.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function xa(e){return c(await i.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Pa(e,t){return c(await i.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function ka(e){return c(await i.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function wa(e,t){return c(await i.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function _a(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return c(await i.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Sa(e,t){return c(await i.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function va(e,t){return c(await i.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ra(e,t){return c(await i.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ca(e,t){return c(await i.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ta(e,t){return c(await i.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Aa(e,t){return c(await i.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function Ia(e){return c(await i.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function ja(e,t){return c(await i.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Ea(e,t){return c(await i.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function $a(e){return c(await i.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function qa(e,t){return c(await i.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Da(e,t){return c(await i.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function Ma(e,t,n,r,s){return c(await i.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function Cg(e,t){return c(await i.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function Ua(e){let t=new FormData;t.append("audio_file",e);let n=await i.upload("/transcription",t,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function Tg(){return c(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function Ag(){return c(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function Ig(e){return c(await i.post("/referrals/validate",{referral_code:e}),"VALIDATE_CODE_FAILED")}async function jg(){return c(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function Eg(e={}){let t=new URLSearchParams({limit:String(e.limit??50),offset:String(e.offset??0)});return c(await i.get(`/referrals/list?${t}`),"GET_REFERRALS_FAILED")}async function $g(e){return c(await i.post("/referrals/email",{emails:e}),"SEND_EMAILS_FAILED")}function k(e){if(!e.success||e.data===void 0)throw e.error||new Error("Unexpected empty response");return e.data}function D(e){return i.get(e,{showErrors:!1})}async function qg(e){return k(await D(`/accounts/${e}/iam/groups`)).groups}async function Dg(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}`))}async function Mg(e,t){return k(await i.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function Ug(e,t,n){return k(await i.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function Og(e,t){return k(await i.delete(`/accounts/${e}/iam/groups/${t}`))}async function Lg(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}/members`)).members}async function Fg(e,t,n){return k(await i.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function Gg(e,t){return k(await D(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function Bg(e,t,n){return k(await i.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function Ng(e,t){return k(await D(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function Hg(e,t){return k(await D(`/accounts/${e}/iam/members/${t}/project-access`)).projects}async function Kg(e,t={}){let n=new URLSearchParams;t.principalType&&n.set("principalType",t.principalType),t.principalId&&n.set("principalId",t.principalId),t.scopeType&&n.set("scopeType",t.scopeType),t.scopeId!==void 0&&n.set("scopeId",t.scopeId===null?"null":t.scopeId);let r=n.toString();return k(await D(`/accounts/${e}/iam/policies${r?`?${r}`:""}`)).policies}async function Wg(e,t){return k(await i.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function Vg(e,t,n){return k(await i.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function zg(e,t){return k(await i.delete(`/accounts/${e}/iam/policies/${t}`))}async function Jg(e,t){return k(await i.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function Qg(e,t){return k(await i.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function Xg(e){return k(await D(`/accounts/${e}/iam/roles`)).roles}async function Yg(e){return k(await D(`/accounts/${e}/iam/agent-identities`)).agents}async function Zg(e,t){return k(await D(`/accounts/${e}/iam/roles/${t}/permissions`))}async function em(e){return k(await D(`/accounts/${e}/iam/actions`)).actions}async function tm(e,t){return k(await D(`/accounts/${e}/iam/roles/${t}/usage`))}async function nm(e,t){return k(await i.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function rm(e,t,n){return k(await i.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function sm(e,t,n){return k(await i.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function im(e,t){return k(await i.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function om(e,t,n){return k(await i.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function am(e){return k(await D(`/accounts/${e}/iam/scim/tokens`)).tokens}async function cm(e,t){return k(await i.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function lm(e,t){return k(await i.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function um(e){return k(await D(`/accounts/${e}/iam/mfa-required`))}async function pm(e){return k(await D(`/accounts/${e}/iam/mfa-required/preview`))}async function dm(e,t){return k(await i.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function gm(e){return k(await D(`/accounts/${e}/iam/sso/provider`)).provider}async function mm(e,t){return k(await i.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function fm(e,t){return k(await i.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function ym(e){return k(await i.delete(`/accounts/${e}/iam/sso/provider`))}async function hm(e){return k(await D(`/accounts/${e}/iam/sso/mappings`)).mappings}async function bm(e,t){return k(await i.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function xm(e,t){return k(await i.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function Pm(e){return k(await D(`/accounts/${e}/iam/session-policy`))}async function km(e,t){return k(await i.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function wm(e){return k(await D(`/accounts/${e}/iam/sessions`)).sessions}async function _m(e,t){return k(await i.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function Sm(e){return k(await D(`/accounts/${e}/iam/pat-policy`))}async function vm(e,t){return k(await i.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function Rm(e){return k(await D(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function Cm(e,t){return k(await i.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function Tm(e,t){return k(await i.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function Am(e,t){return k(await i.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function Im(e){return k(await D(`/accounts/${e}/audit/webhooks`)).webhooks}async function jm(e,t){return k(await i.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function Em(e,t,n){return k(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function $m(e,t){return k(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function qm(e,t={}){let n=new URLSearchParams;t.action&&n.set("action",t.action),t.actor&&n.set("actor",t.actor),t.resource_type&&n.set("resource_type",t.resource_type),t.since&&n.set("since",t.since),t.until&&n.set("until",t.until),t.q&&n.set("q",t.q),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString();return k(await D(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Dm(e,t,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),k(await D(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function Mm(e,t,n){return n.length===0?[]:k(await i.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function Um(e){return k(await D(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function Om(e,t){return k(await i.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function Lm(){let e=await i.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:c(e,"Failed to load account deletion status")}async function Fm(e="User requested deletion"){return c(await i.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function Gm(){return c(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function Bm(){return c(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function Nm(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function Hm(){return i.get("/admin/api/provider-distribution").then(e=>c(e))}function Km(e=300){return i.get(`/admin/api/sandboxes?limit=${e}`).then(t=>c(t))}function Wm(e){return i.put("/admin/api/provider-distribution",e).then(t=>c(t))}function Vm(e){return i.get(`/admin/api/provider-analytics?days=${e}`).then(t=>c(t))}function zm(e,t){return i.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>c(n))}function Jm(){return i.get("/admin/api/provider-fallback").then(e=>c(e))}function Qm(e){return i.put("/admin/api/provider-fallback",{enabled:e}).then(t=>c(t))}async function Xm(e){return c(await i.get(`/google/auth-url?return_url=${encodeURIComponent(e)}`),"Failed to get Google auth URL")}async function Ym(e,t){return c(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:e,sandbox_url:t},{timeout:18e4}),"Failed to upload to Google Slides")}async function Oa(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return c(await i.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function La(e,t){return c(await i.get(`/projects/${e}/review/items/${t}`))}async function Fa(e,t){return c(await i.post(`/projects/${e}/review/items`,t))}async function Ga(e,t,n){return c(await i.post(`/projects/${e}/review/items/${t}/act`,n))}async function Ba(e,t){return c(await i.post(`/projects/${e}/review/bulk`,t))}async function Na(e){return c(await i.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Ha(e){return c(await i.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function Ka(e,t){let n=await i.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Kt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function hl(e,t=""){return`${ye()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function bl(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Kt(s,t.status)}return r}async function Zm(e){return bl(hl(e))}async function ef(e){return bl(hl(e,"/messages"))}var Wt=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function xl(e){return`${ye()}/public/voice-join/${encodeURIComponent(e)}`}async function Pl(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Wt(s,t.status)}return r}async function tf(e){return Pl(xl(e))}async function nf(e,t=0){let n=`${xl(e)}/transcript?cursor=${encodeURIComponent(String(t))}`;return Pl(n)}async function Wa(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return c(await i.get(`/accounts/tokens${t}`))}async function Va(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return c(await i.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function za(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return c(await i.delete(`/accounts/tokens/${e}${n}`))}async function Ja(e){return c(await i.get(`/projects/${e}/cli-token`))}async function Qa(e,t){return c(await i.post(`/projects/${e}/cli-token`,t??{}))}async function Xa(e,t){return c(await i.delete(`/projects/${e}/cli-token/${t}`))}async function Ya(e,t){let n=new URLSearchParams;t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since),t?.cursor&&n.set("cursor",t.cursor),t?.limit!=null&&n.set("limit",String(t.limit));let r=n.toString();return c(await i.get(`/accounts/${e}/audit${r?`?${r}`:""}`))}async function Za(e,t){let n=new URLSearchParams;t?.format&&n.set("format",t.format),t?.action&&n.set("action",t.action),t?.since&&n.set("since",t.since);let r=n.toString();return c(await i.get(`/accounts/${e}/audit/export${r?`?${r}`:""}`))}async function ec(e){return c(await i.get(`/accounts/${e}/audit/webhooks`))}async function tc(e,t){return c(await i.post(`/accounts/${e}/audit/webhooks`,t))}async function nc(e,t,n){return c(await i.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function rc(e,t){return c(await i.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function sc(e,t){return c(await i.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function ic(e,t){return c(await i.post(`/projects/${e}/connect-requests`,{slug:t.slug,expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function oc(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString()?`?${t.toString()}`:"";return c(await i.get(`/marketplace/items${n}`))}async function ac(){return c(await i.get("/marketplace/marketplaces"))}async function cc(){return c(await i.get("/marketplace/marketplaces/featured"))}async function lc(e){return c(await i.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function uc(e,t){return c(await i.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function pc(){return c(await i.get("/marketplace/sources"))}async function dc(e){return c(await i.post("/marketplace/sources",e),"Failed to add marketplace source")}async function gc(e){return c(await i.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function rf(e,t){return c(await i.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function sf(e){return c(await i.get(`/templates/${encodeURIComponent(e)}`))}async function of(e,t){return c(await i.post(`/templates/${encodeURIComponent(e)}/install`,t))}function af(e){return e?e.runtimeReady!==void 0?e.runtimeReady===!0:e.opencode!==void 0?e.opencode==="ok"||e.opencode===!0:e.status!=="starting"&&e.status!=="down"&&e.status!=="error":!1}async function mc(e,t){let n=(e===void 0?O():e)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await j(`${n}/kortix/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}return{status:r.status,ok:r.ok,health:o,body:s}}var ne={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var kl=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,wl=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,_l=new Set([22,4096,parseInt(ne.KORTIX_MASTER,10)]);function cf(e){return wl.test(e)}function Vt(e){if(!e)return"/";let t=e,n=t.indexOf("](");n!==-1&&(t=t.slice(0,n));let r=t.toLowerCase().indexOf("%5d(");return r!==-1&&(t=t.slice(0,r)),t?t.startsWith("/")?t:`/${t}`:"/"}function lf(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var uf=new Set(["'",'"',"`","<","(","["]),pf=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function df(e){let t=0,n=e.length;for(;t<n&&(e[t]===" "||e[t]===" ");)t++;for(;n>t&&(e[n-1]===" "||e[n-1]===" ");)n--;for(;t<n&&uf.has(e[t]);)t++;for(;n>t&&pf.has(e[n-1]);)n--;return e.slice(t,n)}function gf(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var mf=/^\/proxy\/(\d{1,5})(\/.*)?$/,ff=/^\/(connectors|settings|dashboard|projects|agents|skills|tools|commands|support|changelog|files|p|browser|desktop|terminal|sessions|services|workspace|channels|scheduled-tasks|marketplace|templates|tunnel|admin|auth)(\/|$|\?)/;function Sl(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:ff.test(t.pathname)}catch{return!1}}function dt(e){if(!e)return null;let t=df(lf(e.trim())),n=yc(t);if(n){let r=Vt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let o=`${r.pathname||"/"}${r.search}${r.hash}`,l=parseInt(ne.KORTIX_MASTER,10);if(s===l){let d=r.pathname.match(mf);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=Vt(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=Vt(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=gf(e);return r&&r!==e?dt(r):null}}function yf(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let o=r.index,l=o+r[0].length;t.some(([d,f])=>o>=d&&l<=f)||t.push([o,l])}return t}function hf(e,t){return t.some(([n,r])=>e>=n&&e<r)}function vl(e){let t=[],n=new Set,r=yf(e);kl.lastIndex=0;let s;for(;(s=kl.exec(e))!==null;){let o=dt(s[0]);if(!o)continue;let{originalUrl:l,port:p,path:d}=o;p<1||p>65535||_l.has(p)||n.has(l)||(n.add(l),t.push({originalUrl:l,port:p,path:d,startIndex:s.index,endIndex:s.index+l.length,inCodeBlock:hf(s.index,r)}))}return t}function bf(e){return vl(e).length>0}function xf(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Rl(e){return e.sandboxId.trim().length>0}function pe(e,t,n){let r=Vt(t);if(!Rl(n))return Il(e,r);if(!xf(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${e}${r}`}return`http://p${e}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function Pf(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return pe(3211,`/open?path=/workspace/${r}`,t)}function Cl(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function kf(e){return`http://localhost:3211${Cl(e)}`}function Tl(){return"/health"}function wf(e){return pe(3211,Tl(),e)}function _f(e,t){return pe(e,"/",t)}function Al(e){let t=dt(e);return!(!t||_l.has(t.port)||Sl(e))}function fc(e,t){if(!e)return e;let n=dt(e);return n?Al(n.originalUrl)?pe(n.port,n.path,t):n.originalUrl:e}function Il(e,t="/"){return`http://localhost:${e}${t}`}var jl=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function yc(e){let t=e.match(wl);if(t)return{port:parseInt(t[1],10),sandboxId:t[2],backendPort:t[3]?parseInt(t[3],10):80,path:t[4]||"/"};let n=e.match(jl);if(n)try{let r=new URL(e);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function Sf(e){try{let t=yc(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function vf(e){return cf(e)||jl.test(e)}function Rf(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var pt="/web-proxy/";function Cf(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${pt}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(ne.KORTIX_MASTER,10);return`${pe(o,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function Tf(e){try{let t=new URL(e),n=t.pathname.indexOf(pt);if(n===-1)return null;let s=t.pathname.slice(n+pt.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],l=s[2],p=s[3]||"/";return`${o}://${l}${p}${t.search}${t.hash}`}catch{return null}}function Af(e){try{return new URL(e).pathname.includes(pt)}catch{return e.includes(pt)}}function If(e){if(!e)return!1;let t=e.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(t)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t))}function jf(e){let t=e.trim();return t?/^https?:\/\//i.test(t)?t:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t)?`https://${t}`:null:null}var El="frontend";function zt(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${El}] ${t}`,...n?[n]:[]);try{ce().app.log({service:El,level:e,message:t,extra:n})}catch{}}var de={debug:(e,t)=>zt("debug",e,t),info:(e,t)=>zt("info",e,t),warn:(e,t)=>zt("warn",e,t),error:(e,t)=>zt("error",e,t)};function $l(e){return{type:"heartbeat-gap",gapMs:e}}function ql(e){switch(e.type){case"message.updated":return{type:"message.updated",sessionID:e.properties.sessionID,message:e.properties.info};case"message.removed":return{type:"message.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:e.properties.sessionID,part:e.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID,partID:e.properties.partID};case"session.status":return{type:"session.status",sessionID:e.properties.sessionID,status:e.properties.status};case"session.idle":return{type:"session.idle",sessionID:e.properties.sessionID};case"session.error":return{type:"session.error",sessionID:e.properties.sessionID,error:e.properties.error};case"question.asked":return{type:"question.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,questions:e.properties.questions,tool:e.properties.tool};case"question.replied":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"replied",answers:e.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,permission:e.properties.permission,patterns:e.properties.patterns,tool:e.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:e.properties.sessionID,requestID:e.properties.requestID,reply:e.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:e.properties.sessionID,todos:e.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var Ef={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},$f=16,qf=8,Df=6e4,Mf=5e3,Uf=250,Of=1e3,Lf=3e4,Ff=5,Gf=3e3,Bf=3e4,Nf=2e4,Hf=2e3,Kf=8;function Wf(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Dl(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}function Jt(e){let{client:t,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=e,l=e.timers??Ef,p=e.connectTimeoutMs??Nf,d=e.heartbeatTimeoutMs??Df,f=e.maxConsecutiveHardFailures??Kf,m=new AbortController,h=()=>m.abort();o&&(o.aborted?m.abort():o.addEventListener("abort",h,{once:!0}));let x=l.now(),P=[],u,a=0,S=new Map,T=()=>{if(u&&l.clearTimeout(u),u=void 0,P.length===0)return;let w=P;P=[],S.clear(),a=l.now(),x=l.now();for(let v of w)if(v)try{n(v.event)}catch(A){console.warn("[opencode-events] event handler threw, skipping",A)}},C=()=>{if(u)return;let w=l.now()-a;u=l.setTimeout(T,Math.max(0,$f-w))};return(async()=>{let w=0,v=0;for(;!m.signal.aborted;){let A=!1,$=!1,y,R,H=null,V=l.now(),B=new AbortController,F=Dl(m.signal);F.promise.then(()=>B.abort());try{let K=await new Promise((ln,Ke)=>{let J=!1;R=l.setTimeout(()=>{J||(J=!0,de.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),B.abort(),Ke(new Error(`SSE connect timed out after ${p}ms`)))},p),t.global.event({signal:B.signal,sseDefaultRetryDelay:Gf,sseMaxRetryDelay:Bf,sseMaxRetryAttempts:1}).then(ee=>{J||(J=!0,l.clearTimeout(R),ln(ee))},ee=>{J||(J=!0,l.clearTimeout(R),Ke(ee))})}),{stream:U}=K;x=l.now();let X=()=>{l.clearTimeout(y),y=l.setTimeout(()=>{de.warn("SSE heartbeat timeout, forcing reconnect"),B.abort()},d)};X();let xt=l.now(),Lu=U[Symbol.asyncIterator]();for(;!B.signal.aborted;){let ln=Lu.next().then(ae=>({kind:"next",result:ae}),ae=>({kind:"error",error:ae})),Ke=Dl(B.signal),J=await Promise.race([ln,Ke.promise.then(()=>({kind:"aborted"}))]);if(Ke.cleanup(),J.kind==="aborted")break;if(J.kind==="error")throw J.error;if(J.result.done)break;A=!0,X();let ee=J.result.value,Pt=ee&&typeof ee=="object"&&"payload"in ee?ee.payload:ee;if(!Pt?.type)continue;let un=Wf(Pt);if(un){let ae=S.get(un);ae!==void 0&&(P[ae]=void 0),S.set(un,P.length)}P.push({type:Pt.type,event:Pt}),C(),!(l.now()-xt<qf)&&(xt=l.now(),await new Promise(ae=>l.setTimeout(ae,0)))}$=A}catch(K){if(m.signal.aborted)break;H=K;let U=String(K),X=U.includes("401")||U.includes("403")||U.includes("Unauthorized")||U.includes("Token refresh failed");if(de.error("SSE event stream error",{error:U,retryCount:w,isAuthError:X}),X)try{Je(),await Tt(),de.info("SSE: refreshed auth token after auth error")}catch(xt){de.error("SSE: failed to refresh auth token",{error:String(xt)})}}finally{l.clearTimeout(y),l.clearTimeout(R),B.abort(),F.cleanup(),T()}if(m.signal.aborted)break;let Ce=l.now()-V,oe=H?.cause?.status;if(v=!A&&(typeof oe=="number"&&oe>=400||Ce<Hf)?v+1:0,v>=f){de.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(H)});try{s?.({consecutiveFailures:v,lastError:H})}catch(K){console.warn("[opencode-events] onParked handler threw",K)}break}let Q=l.now()-x;Q>Mf&&r?.(Q),$?w=0:(w++,w>1&&de.warn("SSE event stream reconnecting",{retryCount:w}));let z=$?Uf:Math.min(Of*2**Math.min(w-1,Ff),Lf);await new Promise(K=>{let U=l.setTimeout(K,z),X=()=>{l.clearTimeout(U),K()};m.signal.addEventListener("abort",X,{once:!0})})}})(),{close:()=>{m.abort(),o&&o.removeEventListener("abort",h),u&&l.clearTimeout(u)}}}function Vf(){return ce()}var Qt=new Map,gt=class extends Error{constructor(t){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${t}\`.`),this.name="SessionNotReadyError"}};function Ml(e,t){wt(e,t);function n(u){try{return new URL(u)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(u,window.location.origin)}catch{return null}throw new I(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(u)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(u){let a=q().backendUrl??e.backendUrl,S=80,T=n(a);return T&&(S=T.port?Number(T.port):T.protocol==="https:"?443:80),{sandboxId:u,backendPort:S,apiBaseUrl:a}}let s={list:Qr,get:Yr,create:Xr,updateName:Zr,leave:us,members:es,invite:ts,removeMember:cs,updateMemberRole:ls,invites:ns,cancelInvite:rs,resendInvite:ss,tokens:{list:Wa,create:Va,revoke:za},audit:{log:Ya,export:Za,webhooks:{list:ec,create:tc,update:nc,remove:rc}}},o={accountState:Fo,accountStateMinimal:Go,transactions:Bo,transactionsSummary:No,creditBreakdown:Ho,usageHistory:Ko,usageRollup:sa,tierConfigurations:Wo,checkout:{createSession:u=>Vo(u),confirmSession:(u,a)=>zo(u,a)},subscription:{createPortalSession:(u,a)=>Jo(u,a),cancel:(u,a)=>Qo(u,a),reactivate:u=>Xo(u),scheduleDowngrade:(u,a,S)=>Yo(u,a,S),cancelScheduledChange:u=>Zo(u),prorationPreview:(u,a)=>ea(u,a)},credits:{purchase:u=>ta(u),autoTopupSettings:u=>na(u),configureAutoTopup:u=>ra(u)}},l={describe:is,accept:os,decline:as},p={list:ke,listForAccount:ds,get:Ut,detail:Ot,create:ys,createRepo:hs,provision:bs,update:Gt,archive:Bt,llmCatalog:Lt,modelPicker:Ft,sandboxHealth:Nt,sandboxTemplates:Di,sessions:Fe,createSession:Ge},d={linkRepository:ws,getInstallation:_s,listInstallations:Ss,listLinkableInstallations:vs,listRepositories:Rs,listRepositoryBranches:Cs,linkInstallation:As,saveInstallation:Ts,deleteInstallation:Is},f={list:Na,create:Ha,revoke:Ka},m=Ii,h={items:u=>oc(u),item:u=>lc(u),itemFile:(u,a)=>uc(u,a),marketplaces:()=>ac(),featured:()=>cc(),sources:{list:()=>pc(),add:u=>dc(u),remove:u=>gc(u)}};function x(u){return{get:a=>Ut(u,a),detail:()=>Ot(u),update:a=>Gt(u,a),archive:()=>Bt(u),llmCatalog:()=>Lt(u),modelPicker:()=>Ft(u),sandboxHealth:()=>Nt(u),onboardingComplete:(...a)=>ks(u,...a),tokens:{list:()=>Ja(u),create:a=>Qa(u,a),revoke:a=>Xa(u,a)},setupLinks:{requestSecret:a=>sc(u,a),requestConnector:a=>ic(u,a)},validateManifest:a=>ms(u,a),gitToken:()=>fs(u),secrets:{list:()=>Xs(u),upsert:a=>Ys(u,a),remove:a=>ni(u,a),setPersonal:(...a)=>ri(u,...a),removePersonal:a=>si(u,a),setGitCredential:a=>ti(u,a),startProviderOAuth:(...a)=>Zs(u,...a),pollProviderOAuth:(...a)=>ei(u,...a)},access:{list:()=>qs(u),invite:(...a)=>Us(u,...a),update:(...a)=>Ds(u,...a),revoke:a=>Ms(u,a),pendingInvites:()=>Os(u),resendInvite:(...a)=>Fs(u,...a),revokeInvite:(...a)=>Ls(u,...a),requests:()=>js(u),approveRequest:(...a)=>Es(u,...a),rejectRequest:(...a)=>$s(u,...a),groupGrants:()=>Gs(u),attachGroupGrant:(...a)=>Bs(u,...a),updateGroupGrant:(...a)=>Ns(u,...a),detachGroupGrant:a=>Hs(u,a),resourceGrants:{list:()=>Ks(u),create:a=>Ws(u,a),remove:a=>Vs(u,a)}},connectors:{list:()=>fi(u),config:(...a)=>ki(u,...a),create:(...a)=>Si(u,...a),remove:(...a)=>Ri(u,...a),sync:()=>yi(u),auth:{discover:(...a)=>vi(u,...a)},setName:(...a)=>wi(u,...a),setCredentialMode:(...a)=>hi(u,...a),setCredential:(...a)=>ji(u,...a),setSensitive:(...a)=>bi(u,...a),profiles:{list:()=>ii(u),listAll:()=>oi(u),reconcile:(...a)=>ai(u,...a),reconcileMember:(...a)=>ci(u,...a),updateCredential:(...a)=>li(u,...a),revoke:(...a)=>ui(u,...a),activate:(...a)=>pi(u,...a),setDefault:(...a)=>di(u,...a),pipedreamConnect:(...a)=>gi(u,...a),pipedreamFinalize:(...a)=>mi(u,...a)},policies:{get:(...a)=>xi(u,...a),set:(...a)=>Pi(u,...a)},pipedream:{listApps:(...a)=>Ci(u,...a),connect:(...a)=>_i(u,...a),finalize:(...a)=>Ei(u,...a)},discover:{list:(...a)=>Ti(u,...a),detail:(...a)=>Ai(u,...a)}},policies:{list:()=>$i(u),set:(...a)=>qi(u,...a)},triggers:{list:()=>Co(u),create:(...a)=>To(u,...a),update:(...a)=>Ao(u,...a),remove:(...a)=>Io(u,...a),fire:(...a)=>Eo(u,...a),setActivation:(...a)=>jo(u,...a)},files:{list:a=>Hi(u,a),read:(a,S)=>Wi(u,a,S),search:(...a)=>Ki(u,...a),archive:(...a)=>Vi(u,...a),history:(...a)=>Yi(u,...a)},git:{commits:()=>Ji(u),commit:a=>Qi(u,a),commitDiff:a=>Xi(u,a),branches:()=>zi(u),versionDiff:(...a)=>Zi(u,...a),inviteCollaborator:(...a)=>gs(u,...a)},changeRequests:{list:()=>eo(u),get:a=>to(u,a),diff:a=>no(u,a),mergePreview:a=>ro(u,a),open:(...a)=>so(u,...a),merge:(...a)=>io(u,...a),close:(...a)=>oo(u,...a),reopen:(...a)=>ao(u,...a),requestChanges:(...a)=>co(u,...a)},sessions:{list:a=>Fe(u,a),create:a=>Ge(u,a),ensureWarm:()=>bo(u),claimWarm:a=>xo(u,a)},review:{list:a=>Oa(u,a),get:a=>La(u,a),submit:a=>Fa(u,a),act:(...a)=>Ga(u,...a),bulkAct:a=>Ba(u,a)},approvals:{list:a=>zs(u,a),resolve:(...a)=>Qs(u,...a),sessionsNeedingInput:a=>Js(u,a)},gateway:{logs:a=>_a(u,a),log:a=>Sa(u,a),overview:a=>va(u,a),series:a=>Ra(u,a),breakdown:a=>Ca(u,a),sessions:a=>Ta(u,a),errors:a=>Aa(u,a),budgets:()=>Ia(u),setBudget:a=>ja(u,a),deleteBudget:a=>Ea(u,a),keys:()=>$a(u),createKey:a=>qa(u,a),revokeKey:a=>Da(u,a),routing:{get:()=>xa(u),set:a=>Pa(u,a),reset:()=>ka(u),preview:a=>wa(u,a)},playground:(a,S,T)=>Ma(u,a,S,T)},channels:{slack:{installation:()=>ia(u),connect:a=>oa(u,a),mode:()=>aa(u),manifest:()=>ca(u),disconnect:()=>la(u),getFile:a=>ua(u,a),uploadFile:a=>pa(u,a)},email:{installation:a=>ga(u,a),mode:()=>ma(u),connect:a=>fa(u,a),disconnect:a=>ya(u,a),updatePolicy:(...a)=>ha(u,...a)},voice:{setBotName:a=>ba(u,a)}},updateExperimentalFeature:(...a)=>xs(u,...a),modelDefaults:{get:()=>qo(u),set:a=>Do(u,a),clear:a=>Mo(u,a)},setDefaultAgent:a=>Oo(u,a),sandbox:{list:()=>Ni(u),snapshots:()=>Mi(u),rebuildSnapshot:a=>Ui(u,a),fixWithAgent:()=>Oi(u),createTemplate:a=>Li(u,a),updateTemplate:(...a)=>Fi(u,...a),removeTemplate:a=>Gi(u,a),buildTemplate:a=>Bi(u,a),setProvider:a=>Ps(u,a)},setAgentScope:(...a)=>Uo(u,...a),session:a=>P(u,a)}}function P(u,a){let S=null,T,C;function w(){if(S)return S;let y=gl(u,a);return y&&(S=y),S}async function v(y){let R=w();if(R)return R;let H=y?.readyTimeoutMs??18e4,V=`${u}
|
|
8
|
+
${a}`,B=Qt.get(V);if(B)return S=await B,S;let F=(async()=>{let Ce=Date.now()+H,oe=()=>Math.max(0,Ce-Date.now()),N=await _e(u,a,Math.min(3e4,oe()));for(;Date.now()<Ce&&(N==null||(N.stage==="provisioning"||N.stage==="starting")&&N.retriable);)await new Promise(K=>setTimeout(K,Math.min(1e3,oe()))),N=await _e(u,a,Math.min(3e4,oe()));if(!N||N.stage!=="ready"||!N.sandbox||!N.opencode_session_id)throw new I(`Session runtime not ready (stage: ${N?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let Q=N.sandbox.external_id;if(!Q)throw new I("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let z=At(Q);return Yc(z,Q),{opencodeSessionId:N.opencode_session_id,runtimeUrl:z,sandboxId:Q}})();Qt.set(V,F);try{return S=await F,S}finally{Qt.get(V)===F&&Qt.delete(V)}}function A(y){let R=w();if(!R)throw new gt(y);return R}function $(){S=null,fl(u,a)}return{get:y=>Po(u,a,y),update:y=>So(u,a,y),delete:()=>($(),vo(u,a)),start:(...y)=>_e(u,a,...y),restart:()=>($(),lt(u,a)),stop:()=>($(),ut(u,a)),setSharing:y=>go(u,a,y),previews:()=>mo(u,a),commit:y=>lo(u,a,y),publicShares:{list:()=>fo(u,a),create:(...y)=>yo(u,a,...y),revoke:(...y)=>ho(u,a,...y)},audit:(y,R)=>ko(u,a,y,R),transcript:y=>wo(u,a,y),voiceTranscript:y=>_o(u,a,y),ensureReady:v,health:y=>mc(w()?.runtimeUrl??null,y),previewUrl:(y,R="/")=>pe(y,R,r(A("previewUrl").sandboxId)),proxyUrl:y=>fc(y,r(A("proxyUrl").sandboxId)),setModel:y=>{T=y},changeModel:y=>Ro(u,a,y),setAgent:y=>{C=y},send:async(y,R)=>{let{opencodeSessionId:H,runtimeUrl:V}=await v(),B=R?.model??T,F=R?.agent??C;return te(V).session.prompt({sessionID:H,parts:[{type:"text",text:y}],...B?{model:B}:{},...F?{agent:F}:{}})},abort:async()=>{let{opencodeSessionId:y,runtimeUrl:R}=await v();return te(R).session.abort({sessionID:y})},rewind:async y=>{let{opencodeSessionId:R,runtimeUrl:H}=await v();return te(H).session.revert({sessionID:R,messageID:y})},restoreRewind:async()=>{let{opencodeSessionId:y,runtimeUrl:R}=await v();return te(R).session.unrevert({sessionID:y})},stream:async y=>{let{runtimeUrl:R}=await v();return Jt({client:te(R),onEvent:y.onEvent,onGapRehydrate:y.onGapRehydrate,signal:y.signal})},get runtime(){return te(A("runtime").runtimeUrl)},files:{list:async y=>Ze(y,(await v()).runtimeUrl),read:async y=>Me(y,(await v()).runtimeUrl),readBlob:async y=>Ue(y,(await v()).runtimeUrl),status:async()=>et((await v()).runtimeUrl),findFiles:async(y,R)=>tt(y,R,(await v()).runtimeUrl),findText:async y=>nt(y,(await v()).runtimeUrl),upload:async(y,R,H)=>Oe(y,R,H,(await v()).runtimeUrl),create:async y=>rt(y,(await v()).runtimeUrl),copy:async(y,R)=>st(y,R,(await v()).runtimeUrl),remove:async y=>it(y,(await v()).runtimeUrl),mkdir:async y=>ot(y,(await v()).runtimeUrl),rename:async(y,R)=>at(y,R,(await v()).runtimeUrl)}}}return{config:e,accounts:s,accountInvites:l,projects:p,project:x,session:P,github:d,billing:o,sandboxShares:f,transcribe:Ua,connectStatus:m,marketplace:h,validateToken:ps,runtime:Vf}}function Ul(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let r=0;r<16;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=[...t].map(r=>r.toString(16).padStart(2,"0"));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n.slice(10).join("")}`}var hc={thinking:!1,toolDetails:!0,assistantMetadata:!0};function zf(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Jf(e){let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let n=Math.floor(t/60),r=t%60;return`${n}m ${r.toFixed(0)}s`}function Qf(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
|
|
9
9
|
|
|
10
10
|
`;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
|
|
11
11
|
>
|
|
@@ -38,15 +38,15 @@ ${s}
|
|
|
38
38
|
${e.state.error}
|
|
39
39
|
\`\`\`
|
|
40
40
|
`),n+=`
|
|
41
|
-
`,n}return""}function
|
|
41
|
+
`,n}return""}function Xf(e,t){if(!t)return`## Assistant
|
|
42
42
|
|
|
43
|
-
`;let n=e.agent?
|
|
43
|
+
`;let n=e.agent?zf(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=Jf(e.time.completed-e.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
|
|
44
44
|
|
|
45
45
|
`:`## ${n}
|
|
46
46
|
|
|
47
|
-
`}function
|
|
47
|
+
`}function Yf(e,t,n){let r="";e.role==="user"?r+=`## User
|
|
48
48
|
|
|
49
|
-
`:r+=
|
|
49
|
+
`:r+=Xf(e,n.assistantMetadata);for(let s of t)r+=Qf(s,n);return r}function Ol(e,t,n=hc){let r=`# ${e.title||"Untitled Session"}
|
|
50
50
|
|
|
51
51
|
`;r+=`**Session ID:** \`${e.id}\`
|
|
52
52
|
`,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
|
|
@@ -54,11 +54,19 @@ ${e.state.error}
|
|
|
54
54
|
|
|
55
55
|
`,r+=`---
|
|
56
56
|
|
|
57
|
-
`;for(let s of t)r+=
|
|
57
|
+
`;for(let s of t)r+=Yf(s.info,s.parts,n),r+=`---
|
|
58
58
|
|
|
59
|
-
`;return r}function el(e,t){return`session-${e}.md`}function W(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return Be(r)||t}catch{return t}}return Be(n)||t}catch{return og(t)??t}}return typeof e=="object"?Be(e)||"An error occurred":String(e)}function nl(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function og(e){let t=nl(e);if(t)try{return Be(JSON.parse(t))}catch{return}}function Be(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let n=t.data;if(typeof n?.message=="string")return n.message;let r=t.error;if(typeof r?.message=="string")return r.message}function Ka(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function tl(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,c=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof e.message=="string"&&e.message||Be(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function re(e){if(e==null)return;if(typeof e=="string"){let u=e.startsWith("Error: ")?e.slice(7):e,d=Ka(u)??Ka(nl(u));return d!==void 0?re(d):void 0}if(typeof e!="object")return;let t=e,n=tl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=tl(r);if(u)return u}let s=t.data;if(s&&typeof s.responseBody=="string"){let u=Ka(s.responseBody);if(u!==void 0){let d=re(u);if(d)return d}}let c=t.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let d=re(u);if(d)return d}}}var ag={bash:{label:"Shell",category:"shell"},pty_spawn:{label:"Spawn Terminal",category:"shell"},pty_read:{label:"Terminal Output",category:"shell"},pty_write:{label:"Terminal Input",category:"shell"},pty_input:{label:"Terminal Input",category:"shell"},pty_kill:{label:"Kill Process",category:"shell"},read:{label:"Read File",category:"files"},list:{label:"List Directory",category:"files"},ls:{label:"List Directory",category:"files"},write:{label:"Write File",category:"edit"},edit:{label:"Edit File",category:"edit"},multiedit:{label:"Edit File",category:"edit"},morph_edit:{label:"Edit File",category:"edit"},apply_patch:{label:"Apply Patch",category:"edit"},patch:{label:"Apply Patch",category:"edit"},grep:{label:"Search Code",category:"search"},glob:{label:"Find Files",category:"search"},image_search:{label:"Image Search",category:"search"},session_search:{label:"Search Sessions",category:"search"},webfetch:{label:"Fetch Page",category:"web"},scrape_webpage:{label:"Scrape Page",category:"web"},websearch:{label:"Web Search",category:"web"},web_search:{label:"Web Search",category:"web"},image_gen:{label:"Generate Image",category:"web"},video_gen:{label:"Generate Video",category:"web"},task:{label:"Delegate to Agent",category:"task"},todowrite:{label:"Plan Tasks",category:"task"},todoread:{label:"Read Plan",category:"task"},question:{label:"Ask Question",category:"task"},presentation_gen:{label:"Presentation",category:"task"},show:{label:"Show Output",category:"task"},show_user:{label:"Show Output",category:"task"},prune:{label:"Prune Context",category:"other"},distill:{label:"Distill Context",category:"other"},compress:{label:"Compress Context",category:"other"},context_info:{label:"Context Info",category:"other"}},cg=[{prefix:"pty_",category:"shell"},{prefix:"agent_",category:"task"},{prefix:"session_",category:"task"},{prefix:"task_",category:"task"},{prefix:"trigger_",category:"task"},{prefix:"project_",category:"task"}];function lg(e){return e.replace(/^oc[-_]/,"")}function Ke(e){return lg(e).replace(/-/g,"_")}function Ct(e){return Ke(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Rt(e){let t=Ke(e),n=ag[t];if(n)return n;for(let{prefix:r,category:s}of cg)if(t.startsWith(r))return{label:Ct(e),category:s};return{label:Ct(e),category:"other"}}var ug=256*1024;function pg(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function dg(e){if(e===void 0)return{};if(e.length>ug)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function gg(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?W(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function mg(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:c}=dg(r),u=pg(t),d=t.status==="error"?t.error:void 0;if(u==="done"){let g=gg(s);g&&(u="error",d=g)}return{name:e,title:n||Rt(e).label,status:u,input:t.input,output:r,outputParsed:s,outputText:c,error:d}}function fg(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function yg(e){return{kind:"reasoning",id:e.id,text:e.text}}function hg(e){return{kind:"tool",id:e.id,tool:mg(e.tool,e.state)}}function bg(e){let t=e.mime;return{kind:"file",id:e.id,filename:e.filename,mime:t,url:e.url,isImage:t.startsWith("image/"),isPdf:t==="application/pdf"}}function xg(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function kg(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Pg(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function wg(e){return{kind:"agent",id:e.id,name:e.name}}function _g(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:W(e.error),createdAt:e.time.created}}function Sg(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function vg(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function Cg(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Na(e){switch(e.type){case"text":return fg(e);case"reasoning":return yg(e);case"tool":return hg(e);case"file":return bg(e);case"subtask":return xg(e);case"patch":return kg(e);case"snapshot":return Pg(e);case"agent":return wg(e);case"retry":return _g(e);case"compaction":return Sg(e);case"step-start":return vg(e);case"step-finish":return Cg(e);default:return{kind:"unknown",raw:e}}}function Rg(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=re(e);return{name:t,message:n?.message||W(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function Tg(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function rl(e){let t=e.parts.map(Na),n=e.info.role==="assistant"?e.info.error:void 0,r=Rg(n),s=!r&&!t.some(Tg);return{parts:t,error:r,isEmpty:s}}function se(e){return e.type==="text"}function Tt(e){return e.type==="reasoning"}function X(e){return e.type==="tool"}function sl(e){return e.type==="file"}function Ig(e){return e.type==="agent"}function jg(e){return e.type==="compaction"}function Ag(e){return e.type==="snapshot"}function Eg(e){return e.type==="patch"}function $g(e){if(se(e)||Tt(e))return e.text}function il(e){if(!sl(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function qg(e){let t=[],n=[];for(let r of e)il(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Dg(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Mg(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var Ug=new Set(["todoread","context_info"]);function ol(e){return!Ug.has(e.tool)}function Og(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=e.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Lg(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return W(n.error)}}function Fg(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)X(r)&&ol(r)&&t.push(r);return t}function Gg(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:al(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:cl(t.path)};case"glob":return{icon:"search",title:"Glob",subtitle:t.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:t.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:t.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:t.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:t.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:t.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:t.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:t.prompt?.slice?.(0,40)};case"presentation-gen":{let n=t.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:t.slide_title||t.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:t.title||t.description};case"task":return{icon:"square-kanban",title:`Agent (${t.subagent_type||"task"})`,subtitle:ll(t)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${t.agent||"KortixWorker"})`,subtitle:t.description||t.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:t.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:Ha(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Ha(t.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:t.files?.length?`${t.files.length} file${t.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:t.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:t.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${t.mode||"summary"})`,subtitle:t.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:t.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:t.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:t.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:t.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:t.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:t.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:t.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:t.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:t.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:t.name||t.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:t.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:t.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:t.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:t.name||t.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:t.name||t.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:t.name||t.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:t.name||t.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:t.name||t.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:t.name||t.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${t.agent_type||"worker"})`,subtitle:t.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:t.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:t.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:t.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:t.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:t.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:t.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:t.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:t.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:t.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:t.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:t.title||t.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:t.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:t.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:t.id};default:return{icon:"cpu",title:e}}}function al(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Ha(e){if(!e)return;let t=e.split("/"),n=t[t.length-1]||e;if(t.length<=1)return n;let r=t[t.length-2];return r?`${n} /${r}`:n}function cl(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Bg(e,t){if(!t)return e;if(e.startsWith(t)){let n=e.slice(t.length);return n.startsWith("/")?n.slice(1):n}return e}function Ne(e,t=120){if(typeof e!="string")return"";let n=e.split(`
|
|
60
|
-
`).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function
|
|
61
|
-
\u2026`:e}function
|
|
59
|
+
`;return r}function Ll(e,t){return`session-${e}.md`}function Y(e){if(!e)return"An error occurred";if(typeof e=="string"){let t=e.startsWith("Error: ")?e.slice(7):e;try{let n=JSON.parse(t);if(typeof n=="string"){t=n;try{let r=JSON.parse(t);return mt(r)||t}catch{return t}}return mt(n)||t}catch{return Zf(t)??t}}return typeof e=="object"?mt(e)||"An error occurred":String(e)}function Gl(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Zf(e){let t=Gl(e);if(t)try{return mt(JSON.parse(t))}catch{return}}function mt(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let n=t.data;if(typeof n?.message=="string")return n.message;let r=t.error;if(typeof r?.message=="string")return r.message}function bc(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function Fl(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,o=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0;return!t&&!n&&!r&&s===void 0&&!o?void 0:{message:typeof e.message=="string"&&e.message||mt(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:o}}function ge(e){if(e==null)return;if(typeof e=="string"){let l=e.startsWith("Error: ")?e.slice(7):e,p=bc(l)??bc(Gl(l));return p!==void 0?ge(p):void 0}if(typeof e!="object")return;let t=e,n=Fl(t);if(n)return n;let r=t.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let l=Fl(r);if(l)return l}let s=t.data;if(s&&typeof s.responseBody=="string"){let l=bc(s.responseBody);if(l!==void 0){let p=ge(l);if(p)return p}}let o=t.cause;if(o&&typeof o=="object"){let l=o.body;if(l!==void 0){let p=ge(l);if(p)return p}}}var ey={bash:{label:"Shell",category:"shell"},pty_spawn:{label:"Spawn Terminal",category:"shell"},pty_read:{label:"Terminal Output",category:"shell"},pty_write:{label:"Terminal Input",category:"shell"},pty_input:{label:"Terminal Input",category:"shell"},pty_kill:{label:"Kill Process",category:"shell"},read:{label:"Read File",category:"files"},list:{label:"List Directory",category:"files"},ls:{label:"List Directory",category:"files"},write:{label:"Write File",category:"edit"},edit:{label:"Edit File",category:"edit"},multiedit:{label:"Edit File",category:"edit"},morph_edit:{label:"Edit File",category:"edit"},apply_patch:{label:"Apply Patch",category:"edit"},patch:{label:"Apply Patch",category:"edit"},grep:{label:"Search Code",category:"search"},glob:{label:"Find Files",category:"search"},image_search:{label:"Image Search",category:"search"},session_search:{label:"Search Sessions",category:"search"},webfetch:{label:"Fetch Page",category:"web"},scrape_webpage:{label:"Scrape Page",category:"web"},websearch:{label:"Web Search",category:"web"},web_search:{label:"Web Search",category:"web"},image_gen:{label:"Generate Image",category:"web"},video_gen:{label:"Generate Video",category:"web"},task:{label:"Delegate to Agent",category:"task"},todowrite:{label:"Plan Tasks",category:"task"},todoread:{label:"Read Plan",category:"task"},question:{label:"Ask Question",category:"task"},presentation_gen:{label:"Presentation",category:"task"},show:{label:"Show Output",category:"task"},show_user:{label:"Show Output",category:"task"},prune:{label:"Prune Context",category:"other"},distill:{label:"Distill Context",category:"other"},compress:{label:"Compress Context",category:"other"},context_info:{label:"Context Info",category:"other"}},ty=[{prefix:"pty_",category:"shell"},{prefix:"agent_",category:"task"},{prefix:"session_",category:"task"},{prefix:"task_",category:"task"},{prefix:"trigger_",category:"task"},{prefix:"project_",category:"task"}];function ny(e){return e.replace(/^oc[-_]/,"")}function me(e){return ny(e).replace(/-/g,"_")}function Xt(e){return me(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Se(e){let t=me(e),n=ey[t];if(n)return n;for(let{prefix:r,category:s}of ty)if(t.startsWith(r))return{label:Xt(e),category:s};return{label:Xt(e),category:"other"}}var ry=256*1024;function sy(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function iy(e){if(e===void 0)return{};if(e.length>ry)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function oy(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Y(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}function ay(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=iy(r),l=sy(t),p=t.status==="error"?t.error:void 0;if(l==="done"){let d=oy(s);d&&(l="error",p=d)}return{name:e,title:n||Se(e).label,status:l,input:t.input,output:r,outputParsed:s,outputText:o,error:p}}function cy(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function ly(e){return{kind:"reasoning",id:e.id,text:e.text}}function uy(e){return{kind:"tool",id:e.id,tool:ay(e.tool,e.state)}}function py(e){let t=e.mime;return{kind:"file",id:e.id,filename:e.filename,mime:t,url:e.url,isImage:t.startsWith("image/"),isPdf:t==="application/pdf"}}function dy(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function gy(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function my(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function fy(e){return{kind:"agent",id:e.id,name:e.name}}function yy(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Y(e.error),createdAt:e.time.created}}function hy(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function by(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function xy(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function xc(e){switch(e.type){case"text":return cy(e);case"reasoning":return ly(e);case"tool":return uy(e);case"file":return py(e);case"subtask":return dy(e);case"patch":return gy(e);case"snapshot":return my(e);case"agent":return fy(e);case"retry":return yy(e);case"compaction":return hy(e);case"step-start":return by(e);case"step-finish":return xy(e);default:return{kind:"unknown",raw:e}}}function Py(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ge(e);return{name:t,message:n?.message||Y(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function ky(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Bl(e){let t=e.parts.map(xc),n=e.info.role==="assistant"?e.info.error:void 0,r=Py(n),s=!r&&!t.some(ky);return{parts:t,error:r,isEmpty:s}}function fe(e){return e.type==="text"}function Yt(e){return e.type==="reasoning"}function re(e){return e.type==="tool"}function Nl(e){return e.type==="file"}function wy(e){return e.type==="agent"}function _y(e){return e.type==="compaction"}function Sy(e){return e.type==="snapshot"}function vy(e){return e.type==="patch"}function Ry(e){if(fe(e)||Yt(e))return e.text}function Hl(e){if(!Nl(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function Cy(e){let t=[],n=[];for(let r of e)Hl(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function Ty(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function Ay(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var Iy=new Set(["todoread","context_info"]);function Kl(e){return!Iy.has(e.tool)}function jy(e){let t=e.tool||"";if(t==="task"||t==="agent_spawn"||t==="agent-spawn"||t==="agent_message"||t==="agent-message"||t==="agent_task"||t==="agent-task"||t==="agent_task_update"||t==="agent-task-update"||t==="agent_task_message"||t==="agent-task-message"||t==="agent_task_start"||t==="agent-task-start"||t==="task_create"||t==="task-create"||t==="task_start"||t==="task-start"||t==="task_update"||t==="task-update"||t==="task_message"||t==="task-message"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=e.state?.title;if(s){let l=s.match(/\bses_[a-zA-Z0-9]+/);if(l)return l[0]}let o=e.state?.output;if(o){let l=o.match(/\bses_[a-zA-Z0-9]+/);if(l)return l[0]}return}let n=e.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=e.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Ey(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return Y(n.error)}}function $y(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)re(r)&&Kl(r)&&t.push(r);return t}function qy(e,t={}){switch(e){case"read":return{icon:"glasses",title:"Read",subtitle:Wl(t.filePath)};case"list":return{icon:"list",title:"List",subtitle:Vl(t.path)};case"glob":return{icon:"search",title:"Glob",subtitle:t.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:t.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:t.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:t.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:t.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:t.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:t.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:t.prompt?.slice?.(0,40)};case"presentation-gen":{let n=t.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:t.slide_title||t.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:t.title||t.description};case"task":return{icon:"square-kanban",title:`Agent (${t.subagent_type||"task"})`,subtitle:zl(t)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${t.agent||"KortixWorker"})`,subtitle:t.description||t.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:t.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:Pc(t.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Pc(t.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:t.files?.length?`${t.files.length} file${t.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:t.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:t.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${t.mode||"summary"})`,subtitle:t.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:t.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:t.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:t.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:t.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:t.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:t.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:t.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:t.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:t.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:t.name||t.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:t.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:t.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:t.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:t.name||t.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:t.name||t.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:t.name||t.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:t.name||t.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:t.name||t.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:t.name||t.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${t.agent_type||"worker"})`,subtitle:t.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:t.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:t.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:t.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:t.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:t.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:t.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:t.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:t.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:t.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:t.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:t.title||t.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:t.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:t.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:t.id};default:return{icon:"cpu",title:e}}}function Wl(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Pc(e){if(!e)return;let t=e.split("/"),n=t[t.length-1]||e;if(t.length<=1)return n;let r=t[t.length-2];return r?`${n} /${r}`:n}function Vl(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function Dy(e,t){if(!t)return e;if(e.startsWith(t)){let n=e.slice(t.length);return n.startsWith("/")?n.slice(1):n}return e}function ft(e,t=120){if(typeof e!="string")return"";let n=e.split(`
|
|
60
|
+
`).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function zl(e){let t=ft(e.description);if(t)return t;let n=ft(e.title,80);if(n)return n;let r=ft(e.message);if(r)return r;let s=ft(e.prompt);if(s)return s;let o=ft(e.agent_id,40);return o?`Agent ${o}`:"Worker task"}function My(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function Uy(e,t){return e.find(n=>n.tool?.callID===t)}function Oy(e,t){return e.find(n=>n.tool?.callID===t)}var Ly=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function Fy(e){return e?e.replace(Ly,""):""}function Gy(e){let t=[],n=new Map;for(let s of e)if(s.info.role==="user"){if(n.has(s.info.id))continue;let o={userMessage:s,assistantMessages:[]};t.push(o),n.set(s.info.id,o)}let r=null;for(let s of e){if(s.info.role==="user"){r=n.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let o=s.info;if(o.parentID){let p=n.get(o.parentID);if(p){p.assistantMessages.push(s);continue}}if(r){r.assistantMessages.push(s);continue}if(t.length>0){t[0].assistantMessages.unshift(s);continue}let l={userMessage:s,assistantMessages:[]};t.push(l)}return t}function By(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function Ny(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(fe(n)&&n.text?.trim())return n}}function Hy(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function Ky(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let o of s.parts){if(!re(o))continue;let l=o,p=l.state?.metadata?.answers;l.tool==="question"&&(p?.length??0)>0&&r.push({part:o,message:s})}return r}function Wy(e){let t=new Map;for(let n of e){if(!n.parentID)continue;let r=t.get(n.parentID);r?r.push(n.id):t.set(n.parentID,[n.id])}return t}function Vy(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,o=r.time.updated??r.time.created,l=s>t,p=o>t;return l&&p?n.id<r.id?-1:n.id>r.id?1:0:l&&!p?-1:!l&&p?1:o-s}}function Jl(e,t){let n=e.get(t);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(...Jl(e,s));return r}function Ql(e){let t=e.userMessage.parts;if(t.length===0||!t.every(o=>fe(o)&&o.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return re(s)&&s.tool==="bash"}function zy(e){if(Ql(e))return e.assistantMessages[0].parts[0]}function Jy(e,t){for(let n=t.length-1;n>=0;n--)if(t[n].info.role==="user")return t[n].info.id===e;return!1}function Qy(e,t){return!t||!e?!1:e.type!=="idle"}function Xy(e,t){return!e&&!!t}function Yy(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Y(n.error)}}function Zy(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ge(n.error)}}function kc(e){if(e){if(re(e))switch(e.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${e.tool}...`}if(Yt(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(fe(e))return"Gathering thoughts..."}}function eh(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=re(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&t&&t.length>0){for(let l=t.length-1;l>=0;l--){let p=t[l];if(p.info.role==="assistant")for(let d=p.parts.length-1;d>=0;d--){let f=kc(p.parts[d]);if(f)return f}}return"Delegating to agent..."}let o=kc(r);if(o)return o}return"Considering next steps..."}function th(e){if(!Number.isFinite(e)||e<1e3)return"";let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return r>0?`${n}m ${r}s`:`${n}m`}var wc=1.2;function Xl(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,o=e.cache?.write??0,l=Math.max(0,n-s-o),d=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,h)=>h.contextThreshold-m.contextThreshold)[0]??t,f=l/1e6*d.inputPer1M;return f+=r/1e6*d.outputPer1M,s>0&&(f+=s/1e6*(d.cacheReadPer1M??d.inputPer1M)),o>0&&(f+=o/1e6*(d.cacheWritePer1M??d.inputPer1M)),f}function Yl(e,t,n,r){let s=e.cost||0;if(s>0)return s;if(!r||!t||!n)return 0;let o=r(t,n);return o?Xl(e.tokens,o):0}function Zl(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function nh(e,t){let n=0,r=0,s=0,o=0,l=0,p=0,d=!1;for(let{part:f,message:m}of e)if(f.type==="step-finish"){d=!0;let h=f,{providerID:x,modelID:P}=Zl(m.info);n+=Yl(h,x,P,t),r+=h.tokens?.input||0,s+=h.tokens?.output||0,o+=h.tokens?.reasoning||0,l+=h.tokens?.cache?.read||0,p+=h.tokens?.cache?.write||0}if(!d)for(let{message:f}of e){if(f.info.role!=="assistant")continue;let m=f.info,h=eu(m,t);if(h<=0)continue;d=!0,n+=h;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,o+=x.reasoning??0,l+=x.cache?.read??0,p+=x.cache?.write??0)}if(d)return{cost:n*wc,tokens:{input:r,output:s,reasoning:o,cacheRead:l,cacheWrite:p}}}function eu(e,t){if(!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?Xl({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function rh(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:l}=Zl(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=Yl(f,o,l,t));d||(p+=eu(s,t)),n+=p}return n*wc}function sh(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function ih(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function oh(e){if(!e||e.type!=="retry")return;let t=e;return{attempt:t.attempt,message:t.message.length>60?`${t.message.slice(0,60)}...`:t.message,next:t.next}}function ah(e){if(!(!e||e.type!=="retry"))return Y(e.message)}function ch(e){return(e.info.summary?.diffs?.length??0)>0}var lh=4e3;function yt(e,t=lh){return e.length>t?`${e.slice(0,t)}
|
|
61
|
+
\u2026`:e}function tu(e){if(e!==void 0)try{return yt(JSON.stringify(e,null,2))}catch{return}}function L(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function Be(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function uh(e){let t=L(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=Be(e.outputParsed);if(!n)return{kind:"web-search",query:t};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(o=>{let l=Be(o)??{};return{title:L(l.title)??"",url:L(l.url,l.link)??"",snippet:L(l.snippet,l.description,l.source)}});return{kind:"web-search",query:L(n.query)??t,results:s.length>0?s:void 0,answer:L(n.answer)}}var ph=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function dh(e,t,n){let r="",s=0;for(;;){let o=e.indexOf(t,s);if(o===-1)return r+e.slice(s);let l=e.indexOf(n,o+t.length);if(l===-1)return r+e.slice(s);r+=e.slice(s,o),s=l+n.length}}var gh=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function mh(e){let t=-1;for(let n of gh){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var fh=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function yh(e){return e.replace(fh,"")}function hh(e){let t=L(e.input?.command)??"",n=e.output??"",r=n.match(ph),s=r?Number(r[1]):void 0,l=yh(mh(dh(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:l||void 0,exitCode:s}}function Sc(e){return L(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function bh(e){let t=e.status==="error"?e.error:e.output&&yt(e.output)||void 0;return{kind:"file-read",path:Sc(e),preview:t}}function xh(e){let t=L(e.input?.content),n=e.status==="error"?e.error:yt(t??e.output??"")||void 0;return{kind:"file-write",path:Sc(e),preview:n}}var Ph=256*1024;function kh(e,t){if(e.length+t.length>Ph)return;let n=e.split(`
|
|
62
62
|
`),r=t.split(`
|
|
63
|
-
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let
|
|
64
|
-
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function $m(e){let t=q(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=bl.test(e.output.trim())?Am(e.output):Em(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function qm(e){let t=q(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=q(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function za(e){let t=ve(e)??{};return{content:q(t.content)??"",status:q(t.status)??"pending",priority:q(t.priority)}}function Dm(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(za)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(za)};let n=ve(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(za)}:{kind:"todo",items:[]}}function Mm(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=ve(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(d=>{let g=ve(d),h=g&&q(g.label);return h?[{label:h,description:g?q(g.description):void 0}]:[]});return{question:q(s.question)??"",header:q(s.header),options:u}})}}function Um(e){let n=e.input&&Object.keys(e.input).length>0?yl(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?He(e.outputParsed):yl(e.outputParsed):e.outputText!==void 0?r=He(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function xl(e){switch(Ke(e.name)){case"web_search":case"websearch":case"image_search":return hm(e);case"bash":return Sm(e);case"read":return vm(e);case"write":return Cm(e);case"edit":case"morph_edit":return Im(e);case"grep":case"glob":return $m(e);case"task":return qm(e);case"todowrite":return Dm(e);case"question":case"ask":return Mm(e);default:return Um(e)}}function It(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Om(e,t){if(e==null)return t;let n=e.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:t}function Lm(e){if(e==null)return;let t=e.trim().toLowerCase();if(["1","true","yes","y","on"].includes(t))return!0;if(["0","false","no","n","off"].includes(t))return!1}function Xa(e,t,n){return e!==void 0?e:Om(It(t),n)}var Fm={get disableMobileAdvertising(){return Xa(I().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Xa(I().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Xa(I().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var Ve="kortix-active-instance",kl=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Pl(e){return kl.some(t=>e===t||e.startsWith(`${t}/`))}function Ce(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let n=decodeURIComponent(t[1]),r=t[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function Gm(e){let t=Ce(e);return!!t&&t.innerPath===""}function Bm(e){let t=Ce(e);return!t||!t.innerPath?e:t.innerPath}function wl(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=Ce(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return Pl(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function _l(e){return e?Ce(e)?.instanceId??null:null}function Km(){return typeof window>"u"?null:_l(window.location.pathname)||Sl()}function Sl(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${Ve}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function Nm(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${Ve}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${Ve}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${Ve}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Hm(e,t){return t?wl(t,e):e}function Vm(e){let t=Ce(e);return t?t.innerPath||"/dashboard":e}function vl(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e&&typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e??"")}function Cl(e){let t=vl(e).trim();if(!t)return null;let n=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],r=t.indexOf("{");r>=0&&n.push(t.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function Qa(e){let t=Cl(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function Wm(e){return Qa(e)!==null}function zm(e){let t=Qa(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=t.data?.issues?.[0]?.message,u=t.data?.issues?.[0]?.path?.join("."),d=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${d}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}return{title:"OpenCode failed to load",message:vl(e)||"The sandbox is running, but OpenCode returned an error."}}function F(){let e=It("BACKEND_URL")||I().backendUrl;return e||"http://localhost:8008/v1"}function We(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let n=We(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return We(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var Rl=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Tl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function Jm(e){return e==="running"||e==="active"?"active":e==="queued"||e==="branching"||e==="provisioning"?"provisioning":e==="failed"||e==="error"?"error":e==="stopped"||e==="completed"||e==="archived"?"stopped":e||"unknown"}function Ya(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${F()}/p/${n.external_id}/${J.KORTIX_MASTER}`:""),status:Jm(n?.status||t.status),metadata:{...t.metadata??{},project_id:e.project_id,session_id:t.session_id,project_name:e.name,runtime_status:n?.status,error:t.error},created_at:n?.created_at||t.created_at,updated_at:n?.updated_at||t.updated_at}}async function Za(){let e=await le(),t=[];for(let n of e){let r=await we(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Ya(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return c!==0?c:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function pe(e){let t=await Za();return e?t.find(n=>n.sandbox.sandbox_id===e||n.sandbox.external_id===e||n.session.session_id===e||n.runtime?.external_id===e)??null:t[0]??null}async function jt(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await R(`${F()}${e}`,{...t,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let d=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new C(d,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:e});throw s.status===402&&(g=be(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function ec(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${F()}/p/${e.external_id}/${J.KORTIX_MASTER}`}function Xm(e,t){return e.external_id?`${F()}/p/${e.external_id}/${t}`:null}async function Qm(){let e=await o.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Il(e){let t=await pe();if(t)return{sandbox:t.sandbox,created:!1};let r=(await le())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await _e(r.project_id,{...e?.provider?{provider:e.provider}:{}}),c=(await ue(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Ya(r,s,c),created:!0}}async function Ym(){return(await pe().catch(()=>null))?.sandbox??null}async function Zm(e){return{sandbox:(await Il(e)).sandbox}}async function ef(e){let t=We(e);return t?(await pe(t).catch(()=>null))?.sandbox??null:null}async function tf(e,t){throw await pe(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function nf(e){let t=We(e);return(await Za().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function rf(){if(typeof window>"u")return null;let e=F(),t=Array.from(new Set([e,...Rl]));for(let n of t)try{let r=await fetch(Tl(n),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!r.ok)continue;let s=await r.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function sf(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await pe(e);if(!t)throw new Error("Project session sandbox not found");await Ue(t.project.project_id,t.session.session_id)}async function of(e){if(!e)throw new Error("No sandbox selected to stop");let t=await pe(e);if(!t)throw new Error("Project session sandbox not found");await Oe(t.project.project_id,t.session.session_id)}async function af(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function cf(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function lf(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function uf(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function pf(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function df(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function gf(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function mf(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function ff(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function yf(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function tc(e,t,n){let r=ec(e),s=await R(`${oe(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function hf(e,t){return tc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function bf(e,t,n,r="member"){await tc(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function xf(e,t,n){await tc(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function kf(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Pf(e){let t=await jt(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function wf(e){let t=await jt(`/platform/invites/${encodeURIComponent(e)}/accept`,{method:"POST"});if(!t.success||!t.data)throw new Error(t.error||"Failed to accept invite");return t.data}async function _f(e){let t=await jt(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function Sf(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function vf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Cf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Rf(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Tf(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function If(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var jl=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function jf(e){return jl.includes(e)}async function Af(e){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:e?.version??null,error:null,startedAt:null,updatedAt:null}}async function Ef(e){let t=e?`?channel=${e}`:"",n=await fetch(`${F()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await Al(e||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Al(e){let t=e?`?channel=${e}`:"",n=await fetch(`${F()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function $f(){let e=await fetch(`${F()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function qf(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Df(e){}async function Mf(e){}async function Uf(e){return{serverTypes:[],location:e||"hel1"}}async function Of(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function Lf(e){let t=await o.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function Ff(e,t){await o.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function Gf(){let e=await o.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function Bf(e){let t=await o.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function Kf(e,t){return`${F()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}async function Nf(){let e=await o.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function Hf(e={}){let t=await o.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function Vf(e){let t=await o.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function Wf(e){let t=await o.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function zf(){let e=await o.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function El(e){try{let t=new URL(e);if(/^\/proxy\/\d+(?:\/|$)/.test(t.pathname))return`${t.origin}/v1/p/auth`;let n=t.pathname.indexOf("/p/");return n!==-1?`${t.origin}${t.pathname.slice(0,n)}/p/auth`:`${t.origin}/v1/p/auth`}catch{return null}}function Jf(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let c=new Set;if(t)try{c.add(new URL(t).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(n.origin)}catch{return!1}}function Xf(e,t){return Jf(e,t)?(t?El(t):null)??El(e):null}function Qf(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function Yf(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}function $l(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let c=new URLSearchParams({limit:String(r)});s&&c.set("before",s);let u=await e.getToken?.(),d=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!d.ok)throw new Error(`Session synchronization failed: ${d.status}`);return{messages:await d.json(),nextCursor:d.headers.get("x-next-cursor")||void 0}}}function ql(e){return Zf($l(e))}function Dl(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=$l(e),s=async c=>{let u=await e.getToken?.(),d=await t(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!d.ok)throw new Error(`Session synchronization failed: ${d.status}`);return d};return new nc({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function Zf(e){let t=new Map,n=new Set,r;do{let s=await e({limit:10,...r?{before:r}:{}});for(let c of s.messages)t.set(c.info.id,c);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...t.values()].sort((s,c)=>s.info.id.localeCompare(c.info.id))}var ey={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},nc=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;tailRequest;olderRequest;livenessTimer;lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??ey,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadPage("older","manual",t).then(n=>{this.destroyed||(this.options.hydrate(n.messages),this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}setBusy(t){if(!t){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t);if(this.destroyed)return;this.options.hydrate(n.messages),this.setCursor(n.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:10,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await Promise.all([this.reconcile("poll"),this.reconcileStatus()]),this.lastActivityAt=this.scheduler.now())}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder)){this.snapshot=n;for(let r of this.listeners)r()}}};return Bl(ty);})();
|
|
63
|
+
`),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,l=r.length;for(;o>s&&l>s&&n[o-1]===r[l-1];)o--,l--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<l;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function wh(e){let t=L(e.input?.oldString),n=L(e.input?.newString),r=t!==void 0&&n!==void 0?kh(t,n):void 0;return{kind:"file-edit",path:Sc(e),diff:r}}var ru=/^Found\s+(\d+)\s+match/i,_h=/^(\/[^:]+?):\s*/,nu=/Line\s+(\d+):/g;function Sh(e){let t=e.trim(),n=t.match(ru),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let o of r.split(/\n\n+/)){let l=o.trim();if(!l)continue;let p=l.match(_h);if(!p)continue;let d=p[1],f=l.slice(p[0].length),m=[],h;for(nu.lastIndex=0;(h=nu.exec(f))!==null;)m.push({line:Number(h[1]),contentStart:h.index+h[0].length,headerStart:h.index});for(let x=0;x<m.length;x++){let P=x+1<m.length?m[x+1].headerStart:f.length,u=f.slice(m[x].contentStart,P).trim();s.push({path:d,line:m[x].line,content:u.endsWith(";")?u.slice(0,-1):u})}}return s}function vh(e){return e.trim().split(`
|
|
64
|
+
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Rh(e){let t=L(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=ru.test(e.output.trim())?Sh(e.output):vh(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Ch(e){let t=L(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=L(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function _c(e){let t=Be(e)??{};return{content:L(t.content)??"",status:L(t.status)??"pending",priority:L(t.priority)}}function Th(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(_c)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(_c)};let n=Be(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(_c)}:{kind:"todo",items:[]}}function Ah(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=Be(r)??{},l=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=Be(p),f=d&&L(d.label);return f?[{label:f,description:d?L(d.description):void 0}]:[]});return{question:L(s.question)??"",header:L(s.header),options:l}})}}function Ih(e){let n=e.input&&Object.keys(e.input).length>0?tu(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?yt(e.outputParsed):tu(e.outputParsed):e.outputText!==void 0?r=yt(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function su(e){switch(me(e.name)){case"web_search":case"websearch":case"image_search":return uh(e);case"bash":return hh(e);case"read":return bh(e);case"write":return xh(e);case"edit":case"morph_edit":return wh(e);case"grep":case"glob":return Rh(e);case"task":return Ch(e);case"todowrite":return Th(e);case"question":case"ask":return Ah(e);default:return Ih(e)}}var Ne=class extends Error{constructor(n,r,s){super(n);this.code=r;this.data=s;this.name="AcpRpcError"}code;data},Z=class extends Error{constructor(n,r,s){super(n);this.status=r;this.terminal=s;this.name="AcpTransportError"}status;terminal};var jh=12e4;function Eh(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}function $h(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function iu(e){return!!e&&"id"in e&&("result"in e||"error"in e)}function ou(e){return e>=400&&e<500&&e!==408&&e!==429}function qh(e){let t=null,n=[];for(let s of e.split(/\r?\n/))s.startsWith("id:")&&(t=Number(s.slice(3).trim())),s.startsWith("data:")&&n.push(s.slice(5).trimStart());if(!Number.isSafeInteger(t)||t===null||n.length===0)return null;let r=JSON.parse(n.join(`
|
|
65
|
+
`));return{id:t,envelope:r}}async function Dh(e,t,n){let r=e.getReader(),s=new TextDecoder,o="";for(;;){let{done:l,value:p}=await r.read();o+=s.decode(p,{stream:!l}).replaceAll(`\r
|
|
66
|
+
`,`
|
|
67
|
+
`);let d=o.split(`
|
|
68
|
+
|
|
69
|
+
`);o=d.pop()??"",l&&o.trim()&&d.push(o);for(let f of d)try{let m=qh(f);m&&t(m)}catch(m){n(m)}if(l)return}}var Zt=class e{static instanceCount=0;idPrefix=`${Date.now()}-${e.instanceCount++}`;nextId=0;endpoint;fetcher;requestTimeoutMs;pending=new Map;constructor(t){this.endpoint=Eh(t.endpoint),this.fetcher=t.fetch??j,this.requestTimeoutMs=t.requestTimeoutMs??jh}async request(t,n){return this.requestWithTimeout(t,n,this.requestTimeoutMs)}async requestWithTimeout(t,n,r){let s=`${this.idPrefix}-${++this.nextId}`,o=JSON.stringify(s),l=new Promise((p,d)=>{let f=r===null?null:setTimeout(()=>{this.pending.delete(o),d(new Error(`Timed out waiting for ACP response to ${t}`))},r);this.pending.set(o,{resolve:m=>p(m),reject:d,timer:f})});try{let p=await this.post({jsonrpc:"2.0",id:s,method:t,...n===void 0?{}:{params:n}});if(p){if(!iu(p))throw new Error(`ACP method ${t} returned an invalid response`);this.settleResponse(p)}}catch(p){let d=this.pending.get(o);d&&(d.timer&&clearTimeout(d.timer),this.pending.delete(o),d.reject(p instanceof Error?p:new Error(String(p))))}return l}async notify(t,n){await this.post({jsonrpc:"2.0",method:t,...n===void 0?{}:{params:n}})}async respond(t,n,r){await this.post({jsonrpc:"2.0",id:t,...r?{error:r}:{result:n??null}})}loadSession(t){return this.request("session/load",{...t,mcpServers:t.mcpServers??[]})}prompt(t,n){return this.requestWithTimeout("session/prompt",{sessionId:t,prompt:n},null)}cancel(t){return this.notify("session/cancel",{sessionId:t})}revertSession(t,n){return this.request("session/revert",{sessionId:t,messageId:n})}unrevertSession(t){return this.request("session/unrevert",{sessionId:t})}setSessionConfigOption(t,n,r){return this.request("session/set_config_option",{sessionId:t,configId:n,value:r})}connect(t){let n=t.lastEventId??0,r=t.lastEventId!==void 0,s=!1,o=new AbortController,l=()=>{},p=()=>{},d=!1,f=new Promise((x,P)=>{l=x,p=P}),m=()=>o.abort(t.signal?.reason);t.signal?.addEventListener("abort",m,{once:!0});let h=async()=>{let x=250;for(;!s&&!o.signal.aborted;){try{let P=await this.fetcher(this.endpoint,{headers:{Accept:"text/event-stream",...r?{"Last-Event-ID":String(n)}:{}},signal:o.signal});if(!P.ok)throw new Z(`ACP stream failed with HTTP ${P.status}`,P.status,ou(P.status));if(!P.body)throw new Error("ACP stream response has no body");if(await Dh(P.body,u=>{d||(d=!0,l()),!(r&&u.id<=n)&&(r=!0,n=u.id,x=250,iu(u.envelope)&&this.settleResponse(u.envelope),t.onEvent(u))},u=>t.onError?.(u)),t.reconnect===!1)return}catch(P){if(s||o.signal.aborted)return;if(t.onError?.(P),t.reconnect===!1||P instanceof Z&&P.terminal){d||p(P instanceof Error?P:new Error(String(P)));return}}await new Promise(P=>setTimeout(P,x)),x=Math.min(x*2,5e3)}};return queueMicrotask(()=>{h()}),{close(){s||(s=!0,t.signal?.removeEventListener("abort",m),o.abort(),d||p(new Error("ACP stream closed before opening")))},get lastEventId(){return n},ready:f}}async post(t){let n=await this.fetcher(this.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(n.status===202||n.status===204)return null;if(!n.ok){let s=await n.text().catch(()=>"");throw new Z(`ACP request failed with HTTP ${n.status}: ${s}`,n.status,ou(n.status))}let r=await n.json();if(!$h(r)||r.jsonrpc!=="2.0")throw new Error("ACP response is not a JSON-RPC 2.0 envelope");return r}settleResponse(t){let n=JSON.stringify(t.id),r=this.pending.get(n);if(r){if(r.timer&&clearTimeout(r.timer),this.pending.delete(n),t.error){r.reject(new Ne(t.error.message,t.error.code,t.error.data));return}r.resolve(t.result)}}};function vc(e){return new Zt(e)}function M(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function E(e){return typeof e=="string"&&e.length>0?e:null}function au(e){if(typeof e=="string")return e;if(e==null)return"";try{return JSON.stringify(e)}catch{return String(e)}}function cu(e){return!M(e)||!Object.prototype.hasOwnProperty.call(e,"output")?au(e):au(e.output)}var Mh={execute:"bash",read:"read",edit:"edit",delete:"edit",move:"edit",search:"grep",fetch:"webfetch"};function Uh(e){return/^[A-Za-z][A-Za-z0-9_.-]*$/.test(e)}function Oh(e,t){if(t)return t.tool;let n=E(e.title);if(n&&Uh(n))return n;let r=E(e.kind)??"other";return Mh[r]??r}function Lh(e,t){return!t||me(t)===me(e)?Se(e).label:t}function pu(e,t){return`acp-${t}-${String(e.nextId).padStart(8,"0")}`}function Fh(e,t,n){let r=n??pu(e,"user");return{info:{id:r,sessionID:e.sessionId,role:"user",time:{created:Date.now()},agent:"default",model:{providerID:"acp",modelID:"runtime"}},parts:[{id:`${r}-text`,sessionID:e.sessionId,messageID:r,type:"text",text:t}]}}function Gh(e,t){let n=t??pu(e,"assistant"),r=[...e.messages].reverse().find(o=>o.info.role==="user")?.info.id;return{info:{id:n,sessionID:e.sessionId,role:"assistant",time:{created:Date.now()},parentID:r??n,modelID:"runtime",providerID:"acp",mode:e.currentModeId??"build",agent:"default",path:{cwd:"/workspace",root:"/workspace"},cost:0,tokens:{input:0,output:0,reasoning:0,cache:{read:0,write:0}}},parts:[]}}function Bh(e,t){if(e.info.role!=="assistant"||e.info.time.completed)return e;let n=e.parts.map(r=>{if(r.type!=="tool"||r.state.status!=="pending"&&r.state.status!=="running")return r;let s=r.state,o=s.status==="running"?s.time.start:t;return{...r,state:{status:"completed",input:s.input,output:"",title:s.status==="running"&&s.title?s.title:Se(r.tool).label,metadata:s.status==="running"?s.metadata??{}:{},time:{start:o,end:t}}}});return{...e,info:{...e.info,time:{...e.info.time,completed:t}},parts:n}}function du(e,t,n){if(t){let p=e.messages.findIndex(d=>d.info.role==="assistant"&&d.info.id===t);if(p>=0){let d=[...e.messages];return d[p]=n(d[p]),{...e,messages:d,status:{type:"busy"}}}}let r=e.messages.at(-1);if(!t&&r?.info.role==="assistant"&&!r.info.time.completed){let p=[...e.messages];return p[p.length-1]=n(r),{...e,messages:p,status:{type:"busy"}}}let s=Date.now(),o=e.messages.map(p=>Bh(p,s)),l=Gh({...e,messages:o},t);return{...e,nextId:e.nextId+1,messages:[...o,n(l)],status:{type:"busy"}}}function lu(e,t,n,r){return n?du(e,r,s=>{let o=[...s.parts],l=o.findIndex(p=>p.type===t);if(l>=0){let p=o[l];o[l]={...p,text:p.text+n}}else o.push({id:`${s.info.id}-${t}`,sessionID:e.sessionId,messageID:s.info.id,type:t,text:n,...t==="reasoning"?{time:{start:Date.now()}}:{}});return{...s,parts:o}}):e}function Nh(e,t,n){if(!t)return e;if(n){let s=e.messages.findIndex(o=>o.info.role==="user"&&o.info.id===n);if(s>=0){let o=e.messages[s],l=[...o.parts],p=l.findIndex(f=>f.type==="text");if(p>=0){let f=l[p];l[p]={...f,text:f.text+t}}let d=[...e.messages];return d[s]={...o,parts:l},{...e,messages:d}}}let r=e.messages.at(-1);if(!n&&r?.info.role==="user"){let s=[...r.parts],o=s.findIndex(p=>p.type==="text");if(o>=0){let p=s[o];s[o]={...p,text:p.text+t}}let l=[...e.messages];return l[l.length-1]={...r,parts:s},{...e,messages:l}}return{...e,nextId:e.nextId+1,messages:[...e.messages,Fh(e,t,n)]}}function Hh(e,t){let n=E(t.toolCallId);if(!n)return e;let r=e.messages.find(o=>o.parts.some(l=>l.type==="tool"&&l.callID===n)),s=r?.info.role==="assistant"?r.info.id:null;return du(e,s,o=>{let l=[...o.parts],p=l.findIndex(C=>C.type==="tool"&&C.callID===n),d=p>=0?l[p]:null,f=M(t.rawInput)?t.rawInput:d?.state.input??{},m=E(t.status)??d?.state.status??"pending",h=Oh(t,d),x=Lh(h,E(t.title)),P=d?.state.status==="running"?d.state.title:void 0,u=t.rawOutput,a=M(u)&&M(u.metadata)?u.metadata:{},S=Date.now(),T;return m==="completed"?T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"completed",input:f,output:cu(u),title:x??P??h,metadata:a,time:{start:d?.state.status==="running"?d.state.time.start:S,end:S}}}:m==="failed"?T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"error",input:f,error:cu(u)||x||"Tool call failed",time:{start:d?.state.status==="running"?d.state.time.start:S,end:S}}}:T={id:d?.id??`${o.info.id}-tool-${n}`,sessionID:e.sessionId,messageID:o.info.id,type:"tool",callID:n,tool:h,state:{status:"running",input:f,title:x,time:{start:d?.state.status==="running"?d.state.time.start:S}}},p>=0?l[p]=T:l.push(T),{...o,parts:l}})}function Kh(e){if(!M(e))return null;let t=E(e.content)??E(e.title);return t?{content:t,status:E(e.status)??"pending",priority:E(e.priority)??"medium"}:null}function uu(e){return Array.isArray(e)?e.flatMap(t=>{let n=Kh(t);return n?[n]:[]}):[]}function Wh(e){let n=(Array.isArray(e.questions)?e.questions:[]).flatMap(p=>{if(!M(p))return[];let d=E(p.question)??E(p.label)??E(e.message);if(!d)return[];let f=Array.isArray(p.options)?p.options.flatMap(m=>{if(typeof m=="string")return[{label:m,description:m}];if(!M(m))return[];let h=E(m.label)??E(m.name);return h?[{label:h,description:E(m.description)??h}]:[]}):[];return[{question:d,header:E(p.header)??d.slice(0,30),options:f,multiple:p.multiple===!0,custom:p.allowText===!0}]});if(n.length>0)return n;let r=M(e.requestedSchema)?e.requestedSchema:M(e.schema)?e.schema:null,s=r&&M(r.properties)?r.properties:{},o=Object.entries(s).flatMap(([p,d])=>{if(!M(d))return[];let f=Array.isArray(d.enum)?d.enum:[];return[{question:E(d.title)??E(d.description)??E(e.message)??p,header:p.slice(0,30),options:f.map(m=>({label:String(m),description:String(m)})),custom:f.length===0}]});if(o.length>0)return o;let l=E(e.message)??"Kortix needs your input";return[{question:l,header:l.slice(0,30),options:[],custom:!0}]}function Vh(e,t,n,r){let s=M(r)?r:{};if(E(s.sessionId)!==e.sessionId)return e;if(n==="session/request_permission"){let o=M(s.toolCall)?s.toolCall:{},l={id:String(t),sessionID:e.sessionId,permission:E(o.title)??E(s.permission)??"tool",patterns:[],metadata:{acp:s},always:[],...E(o.toolCallId)?{tool:{messageID:e.messages.at(-1)?.info.id??e.sessionId,callID:String(o.toolCallId)}}:{}};return{...e,permissions:[...e.permissions.filter(p=>p.id!==l.id),l]}}if(n==="elicitation/create"||n==="elicitation/request"||n==="session/request_input"){let o={id:String(t),sessionID:e.sessionId,questions:Wh(s)};return{...e,questions:[...e.questions.filter(l=>l.id!==o.id),o]}}return e}function zh(e,t){let n=e.messages.at(-1);if(!n||n.info.role!=="assistant")return{...e,status:{type:"idle"}};let r=M(t.usage)?t.usage:{},s=Number(r.inputTokens)||0,o=Number(r.outputTokens)||0,l=Number(r.thoughtTokens)||0,p=Number(r.cachedReadTokens)||0,d=Number(r.cachedWriteTokens)||0,f=E(t.stopReason)??"end_turn",m={id:`${n.info.id}-finish`,sessionID:e.sessionId,messageID:n.info.id,type:"step-finish",reason:f,cost:Number(r.cost)||0,tokens:{input:s,output:o,reasoning:l,cache:{read:p,write:d}}},h={...n.info,time:{...n.info.time,completed:Date.now()},finish:f,cost:m.cost,tokens:m.tokens},x=[...e.messages];return x[x.length-1]={info:h,parts:[...n.parts.filter(P=>P.type!=="step-finish"),m]},{...e,messages:x,status:{type:"idle"}}}function en(e){return{sessionId:e,messages:[],status:{type:"idle"},todos:[],permissions:[],questions:[],configOptions:[],availableCommands:[],currentModeId:null,sessionInfo:null,usage:null,nextId:1}}function tn(e,t){if("method"in t&&"id"in t)return Vh(e,t.id,t.method,t.params);if("method"in t&&t.method==="session/update"){let n=M(t.params)?t.params:{};if(E(n.sessionId)!==e.sessionId)return e;let r=M(n.update)?n.update:{},s=E(r.sessionUpdate)??E(r.type),o=M(r.content)?r.content:{},l=E(o.text)??"",p=E(r.messageId);if(s==="user_message_chunk")return Nh(e,l,p);if(s==="agent_thought_chunk")return lu(e,"reasoning",l,p);if(s==="agent_message_chunk")return lu(e,"text",l,p);if(s==="tool_call"||s==="tool_call_update")return Hh(e,r);if(s==="plan")return{...e,todos:uu(r.entries)};if(s==="plan_update"){let d=M(r.plan)?r.plan:r;return E(d.type)!=="items"?e:{...e,todos:uu(d.entries)}}if(s==="plan_removed")return{...e,todos:[]};if(s==="config_option_update"&&Array.isArray(r.configOptions))return{...e,configOptions:r.configOptions.filter(M)};if(s==="available_commands_update"&&Array.isArray(r.availableCommands))return{...e,availableCommands:r.availableCommands.filter(M)};if(s==="current_mode_update")return{...e,currentModeId:E(r.currentModeId)};if(s==="session_info_update"){let{sessionUpdate:d,type:f,...m}=r;return{...e,sessionInfo:m}}if(s==="usage_update"){let{sessionUpdate:d,type:f,...m}=r;return{...e,usage:m}}return e}if("id"in t){let n=String(t.id),r={...e,permissions:e.permissions.filter(s=>s.id!==n),questions:e.questions.filter(s=>s.id!==n)};return M(t.result)&&(E(t.result.stopReason)||M(t.result.usage))?zh(r,t.result):r}return e}function gu(e,t){return t||(e==="acp"?"acp":"rest")}function Jh(e,t){let n=gu(e,t),r=n==="acp";return{transport:n,useAcp:r,streamOpenCodeEvents:!r,listOpenCodeSessions:!r,syncOpenCodeMessages:!r,sendWith:r?"acp":"opencode-rest"}}function Qh(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}function Rc(e,t){return`${Qh(e)}/kortix/acp/${encodeURIComponent(t)}`}function mu(e,t){if(!t)return e;let n=e.findIndex(r=>r.info.id===t);return n<0?e:e.slice(0,n)}var fu=3,Xh=500,ve=class extends Error{constructor(){super("ACP runtime restarted"),this.name="AcpRuntimeRestartError"}};function se(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function yu(e){return typeof e=="string"&&e.length>0?e:null}function Yh(e,t){let n=Array.isArray(e.options)?e.options.filter(se):[],r=t==="once"?["allow_once","allow"]:t==="always"?["allow_always","always"]:["reject_once","reject_always","reject"];for(let s of r){let o=n.find(p=>p.kind===s),l=o&&yu(o.optionId);if(l)return l}return null}function Zh(e,t){let n=se(e.requestedSchema)?e.requestedSchema:se(e.schema)?e.schema:null,r=n&&se(n.properties)?Object.keys(n.properties):[];return r.length===0?{answers:t}:Object.fromEntries(r.map((s,o)=>{let l=t[o]??[];return[s,l.length<=1?l[0]??"":l]}))}function Cc(e){return e.permissions.length>0||e.questions.length>0||e.messages.some(t=>t.parts.some(n=>n.type==="tool"&&(n.state.status==="pending"||n.state.status==="running")))}function eb(e){return"id"in e&&!("method"in e)&&se(e.result)&&(yu(e.result.stopReason)!==null||se(e.result.usage))}function tb(e){if(Cc(e))return e;let t=Date.now();return{...e,status:{type:"idle"},messages:e.messages.map(n=>n.info.role==="assistant"&&!n.info.time.completed?{...n,info:{...n.info,time:{...n.info.time,completed:t}}}:n)}}var nn=class{constructor(t){this.options=t;if(!t.client&&!t.runtimeUrl)throw new Error("AcpSessionController requires a runtimeUrl or injected client");this.client=t.client??vc({endpoint:Rc(t.runtimeUrl,t.sessionId)}),this.snapshot={ready:!1,sending:!1,connection:"idle",error:null,projection:en(t.sessionId),configOptions:[],rewind:null}}options;client;listeners=new Set;openRequests=new Map;stream=null;connecting=null;runtimeReload=null;runtimeGeneration=0;restartWaiters=new Set;promptQueue=Promise.resolve();promptSettlement=null;snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));getSnapshot=()=>this.snapshot;async connect(){if(this.runtimeReload)return this.runtimeReload;if(!this.snapshot.ready){if(this.connecting)return this.connecting;this.connecting=this.open();try{await this.connecting}finally{this.connecting=null}}}async open(){this.resetCanonicalSessionState(),this.patch({connection:"connecting",error:null}),this.stream||(this.stream=this.client.connect({onEvent:t=>this.onEnvelope(t.envelope),onError:t=>{!(t instanceof Z)||!t.terminal||this.patch({ready:!1,connection:"error",error:t instanceof Error?t:new Error(String(t))})}}));try{await this.stream.ready,await this.loadCanonicalSession()}catch(t){throw this.patch({ready:!1,connection:"error",error:t instanceof Error?t:new Error(String(t))}),t}}resetCanonicalSessionState(){this.openRequests.clear(),this.patch({projection:en(this.options.sessionId)})}async loadCanonicalSession(){let t=await this.client.loadSession({sessionId:this.options.sessionId,cwd:this.options.cwd??"/workspace"}),n=Array.isArray(t.configOptions)?t.configOptions.filter(se):[],r=tb(this.snapshot.projection),s=this.snapshot.rewind?{...r,messages:mu(r.messages,this.snapshot.rewind.messageId)}:r;this.patch({ready:!0,connection:"open",error:null,configOptions:n,projection:{...s,configOptions:n}})}reloadAfterRuntimeReady(){if(!this.snapshot.ready||this.runtimeReload)return;this.resetCanonicalSessionState(),this.patch({ready:!1,connection:"connecting",error:null});let t=this.loadCanonicalSession().catch(n=>{this.patch({ready:!1,connection:"error",error:n instanceof Error?n:new Error(String(n))})}).finally(()=>{this.runtimeReload===t&&(this.runtimeReload=null)});this.runtimeReload=t}onRuntimeReady(){this.runtimeGeneration+=1;for(let t of this.restartWaiters)t();this.restartWaiters.clear(),this.reloadAfterRuntimeReady()}async raceWithRuntimeRestart(t,n){if(n!==this.runtimeGeneration)throw t.catch(()=>{}),new ve;let r=()=>{},s=new Promise((o,l)=>{r=()=>l(new ve)});this.restartWaiters.add(r);try{return await Promise.race([t,s])}finally{this.restartWaiters.delete(r)}}send(t,n={}){let r=()=>{},s=()=>{},o=new Promise((p,d)=>{r=p,s=d}),l=this.promptQueue.then(()=>this.executeSend(t,n,{resolve:r,reject:s}));return this.promptQueue=l.catch(()=>{}),o}async executeSend(t,n,r){let s=t.filter(o=>o.type==="text").map(o=>o.text).join("");this.patch({sending:!0,error:null});try{let o=0,l=this.runtimeGeneration;for(;;){this.snapshot.ready||await this.connect(),l=this.runtimeGeneration;try{if(n.model&&await this.raceWithRuntimeRestart(this.client.setSessionConfigOption(this.options.sessionId,"model",n.model),l),n.agent&&await this.raceWithRuntimeRestart(this.client.setSessionConfigOption(this.options.sessionId,"mode",n.agent),l),l!==this.runtimeGeneration)throw new ve;break}catch(f){if(!(f instanceof ve))throw f;if(o+=1,o>fu)throw new Error(`ACP runtime restarted more than ${fu} times while preparing the prompt`);this.runtimeReload&&await this.runtimeReload}}s&&this.onEnvelope({jsonrpc:"2.0",method:"session/update",params:{sessionId:this.options.sessionId,update:{sessionUpdate:"user_message_chunk",content:{type:"text",text:s}}}}),this.snapshot.rewind&&this.patch({rewind:null});let p=this.client.prompt(this.options.sessionId,t),d;try{d=await this.raceWithRuntimeRestart(p,l)}catch(f){throw f instanceof ve?new Error("ACP runtime restarted after session/prompt dispatch; the prompt result is unknown"):f}this.applyPromptResult(d,!1),r.resolve(),await this.settlePrompt(d)}catch(o){throw r.reject(o),this.discardPromptSettlement(),this.patch({error:o instanceof Error?o:new Error(String(o)),projection:{...this.snapshot.projection,status:{type:"idle"}}}),o}finally{this.patch({sending:!1})}}async cancel(){await this.client.cancel(this.options.sessionId),this.discardPromptSettlement(),this.patch({projection:{...this.snapshot.projection,status:{type:"idle"},permissions:[],questions:[]}})}async rewind(t){if(!t)throw new Error("ACP session rewind requires a message id");if(this.snapshot.sending)throw new Error("Cannot rewind a busy ACP session");this.snapshot.ready||await this.connect();let n=await this.resolveRewindMessageId(t);await this.client.revertSession(this.options.sessionId,n),this.patch({rewind:{messageId:n}}),this.resetCanonicalSessionState(),await this.loadCanonicalSession()}async resolveRewindMessageId(t){if(!t.startsWith("acp-user-"))return t;let n=this.snapshot.projection.messages.filter(f=>f.info.role==="user"),r=n.findIndex(f=>f.info.id===t),s=n[r]?.parts.filter(f=>f.type==="text").map(f=>f.text).join("");if(r<0||!s)throw new Error("ACP session rewind message is not in the current transcript");this.resetCanonicalSessionState(),await this.loadCanonicalSession();let o=this.snapshot.projection.messages.filter(f=>f.info.role==="user"),l=o[r],p=[...o].reverse().find(f=>f.parts.filter(m=>m.type==="text").map(m=>m.text).join("")===s),d=l?.info.id.startsWith("acp-user-")?p:l;if(!d||d.info.id.startsWith("acp-user-"))throw new Error("ACP session rewind could not resolve the canonical OpenCode message id");return d.info.id}async restoreRewind(){if(this.snapshot.rewind){if(this.snapshot.sending)throw new Error("Cannot restore a busy ACP session");await this.client.unrevertSession(this.options.sessionId),this.patch({rewind:null}),this.resetCanonicalSessionState(),await this.loadCanonicalSession()}}async runCommand(t,n,r={}){let s=t.replace(/^\/+/,"").toLowerCase();if(s==="undo"||s==="redo")throw new Error(`OpenCode ACP does not support /${s}`);let o=`/${s}${n.trim()?` ${n.trim()}`:""}`;await this.send([{type:"text",text:o}],r)}async answerPermission(t,n){let r=this.openRequests.get(t),s=r?.id??t,o=r?.params??{},l=Yh(o,n);if(n==="reject"&&!l){let d={outcome:{outcome:"cancelled"}};await this.client.respond(s,d),this.onEnvelope({jsonrpc:"2.0",id:s,result:d});return}if(!l)throw new Error(`ACP permission request ${t} has no compatible ${n} option`);let p={outcome:{outcome:"selected",optionId:l}};await this.client.respond(s,p),this.onEnvelope({jsonrpc:"2.0",id:s,result:p})}async answerQuestion(t,n){let r=this.openRequests.get(t),s=r?.id??t,o=r?.params??{},l={action:"accept",content:Zh(o,n)};await this.client.respond(s,l),this.onEnvelope({jsonrpc:"2.0",id:s,result:l})}async rejectQuestion(t){let n=this.openRequests.get(t)?.id??t,r={action:"decline"};await this.client.respond(n,r),this.onEnvelope({jsonrpc:"2.0",id:n,result:r})}close(){this.discardPromptSettlement(),this.stream?.close(),this.stream=null,this.patch({connection:"closed",ready:!1})}onEnvelope(t){if(this.snapshot.sending&&eb(t))return;"method"in t&&t.method==="kortix/runtime_ready"&&(!se(t.params)||t.params.sessionId===null||t.params.sessionId===this.options.sessionId)&&this.onRuntimeReady(),"method"in t&&"id"in t&&se(t.params)?this.openRequests.set(String(t.id),{id:t.id,params:t.params}):"id"in t&&!("method"in t)&&this.openRequests.delete(String(t.id));let n=tn(this.snapshot.projection,t);n!==this.snapshot.projection&&this.patch({projection:n}),"method"in t&&t.method==="session/update"&&this.schedulePromptSettlement()}settlePrompt(t){return new Promise(n=>{this.promptSettlement={result:t,timer:null,resolve:n},this.schedulePromptSettlement()})}schedulePromptSettlement(){let t=this.promptSettlement;t&&(t.timer&&(clearTimeout(t.timer),t.timer=null),!Cc(this.snapshot.projection)&&(t.timer=setTimeout(()=>{if(this.promptSettlement!==t||Cc(this.snapshot.projection)){this.schedulePromptSettlement();return}this.promptSettlement=null,this.applyPromptResult(t.result,!0),t.resolve()},Xh)))}applyPromptResult(t,n){let r=tn(this.snapshot.projection,{jsonrpc:"2.0",id:`prompt:${Date.now()}`,result:t}),s=n?r:{...r,status:{type:"busy"}};s!==this.snapshot.projection&&this.patch({projection:s})}discardPromptSettlement(){let t=this.promptSettlement;t&&(this.promptSettlement=null,t.timer&&clearTimeout(t.timer),t.resolve())}patch(t){this.snapshot={...this.snapshot,...t};for(let n of this.listeners)n()}};function nb(e){return new nn(e)}function rn(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function rb(e,t){if(e==null)return t;let n=e.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:t}function sb(e){if(e==null)return;let t=e.trim().toLowerCase();if(["1","true","yes","y","on"].includes(t))return!0;if(["0","false","no","n","off"].includes(t))return!1}function Tc(e,t,n){return e!==void 0?e:rb(rn(t),n)}var ib={get disableMobileAdvertising(){return Tc(q().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Tc(q().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Tc(q().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var ht="kortix-active-instance",hu=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function bu(e){return hu.some(t=>e===t||e.startsWith(`${t}/`))}function He(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let n=decodeURIComponent(t[1]),r=t[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function ob(e){let t=He(e);return!!t&&t.innerPath===""}function ab(e){let t=He(e);return!t||!t.innerPath?e:t.innerPath}function xu(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=He(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return bu(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function Pu(e){return e?He(e)?.instanceId??null:null}function cb(){return typeof window>"u"?null:Pu(window.location.pathname)||ku()}function ku(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${ht}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function lb(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${ht}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${ht}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${ht}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function ub(e,t){return t?xu(t,e):e}function pb(e){let t=He(e);return t?t.innerPath||"/dashboard":e}function wu(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e&&typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e??"")}function _u(e){let t=wu(e).trim();if(!t)return null;let n=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],r=t.indexOf("{");r>=0&&n.push(t.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function Ac(e){let t=_u(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}function db(e){return Ac(e)!==null}function Su(e){let t=Ac(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=t.data?.issues?.[0]?.message,l=t.data?.issues?.[0]?.path?.join("."),p=l?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:o?`${l?`${l}: `:""}${o}`:void 0}}return{title:"OpenCode failed to load",message:wu(e)||"The sandbox is running, but OpenCode returned an error."}}function W(){let e=rn("BACKEND_URL")||q().backendUrl;return e||"http://localhost:8008/v1"}function bt(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let n=bt(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return bt(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}var vu=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function Ru(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return`${e.slice(0,t)}/platform/local-bridge/status`}function gb(e){return e==="running"||e==="active"?"active":e==="queued"||e==="branching"||e==="provisioning"?"provisioning":e==="failed"||e==="error"?"error":e==="stopped"||e==="completed"||e==="archived"?"stopped":e||"unknown"}function Ic(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id;return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${W()}/p/${n.external_id}/${ne.KORTIX_MASTER}`:""),status:gb(n?.status||t.status),metadata:{...t.metadata??{},project_id:e.project_id,session_id:t.session_id,project_name:e.name,runtime_status:n?.status,error:t.error},created_at:n?.created_at||t.created_at,updated_at:n?.updated_at||t.updated_at}}async function jc(){let e=await ke(),t=[];for(let n of e){let r=await Fe(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Ic(n,s,null)})}return t.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},o=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return o!==0?o:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function Re(e){let t=await jc();return e?t.find(n=>n.sandbox.sandbox_id===e||n.sandbox.external_id===e||n.session.session_id===e||n.runtime?.external_id===e)??null:t[0]??null}async function sn(e,t={}){let n={"Content-Type":"application/json",...t.headers},r=t.signal??AbortSignal.timeout(3e4),s=await j(`${W()}${e}`,{...t,headers:n,signal:r}),o=await s.text().catch(()=>{}),l;if(o)try{l=JSON.parse(o)}catch{}if(!s.ok){let p=l?.error||l?.message||l?.detail||o||`Platform API error ${s.status}`,d=new I(p,{status:s.status,code:l?.code||l?.error_code||String(s.status),details:l??(o?{rawText:o}:void 0),response:s,endpoint:e});throw s.status===402&&(d=$e(Object.assign(d,{response:s,status:s.status,data:l}))),d}return l}function Ec(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${W()}/p/${e.external_id}/${ne.KORTIX_MASTER}`}function mb(e,t){return e.external_id?`${W()}/p/${e.external_id}/${t}`:null}async function fb(){let e=await i.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Cu(e){let t=await Re();if(t)return{sandbox:t.sandbox,created:!1};let r=(await ke())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Ge(r.project_id,{...e?.provider?{provider:e.provider}:{}}),o=(await _e(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Ic(r,s,o),created:!0}}async function yb(){return(await Re().catch(()=>null))?.sandbox??null}async function hb(e){return{sandbox:(await Cu(e)).sandbox}}async function bb(e){let t=bt(e);return t?(await Re(t).catch(()=>null))?.sandbox??null:null}async function xb(e,t){throw await Re(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function Pb(e){let t=bt(e);return(await jc().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function kb(){if(typeof window>"u")return null;let e=W(),t=Array.from(new Set([e,...vu]));for(let n of t)try{let r=await fetch(Ru(n),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!r.ok)continue;let s=await r.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function wb(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await Re(e);if(!t)throw new Error("Project session sandbox not found");await lt(t.project.project_id,t.session.session_id)}async function _b(e){if(!e)throw new Error("No sandbox selected to stop");let t=await Re(e);if(!t)throw new Error("Project session sandbox not found");await ut(t.project.project_id,t.session.session_id)}async function Sb(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function vb(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Rb(e){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function Cb(e,t,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function Tb(e,t){throw new Error("Sandbox members moved to project access; update project access instead")}async function Ab(e,t,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function Ib(e,t,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function jb(e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Eb(e,t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function $b(e,t,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function $c(e,t,n){let r=Ec(e),s=await j(`${be(r)}${t}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let o=await s.text().catch(()=>"");throw new Error(o||`Request failed (${s.status})`)}return await s.json()}async function qb(e,t){return $c(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function Db(e,t,n,r="member"){await $c(e,`/kortix/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function Mb(e,t,n){await $c(e,`/kortix/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Ub(e,t){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function Ob(e){let t=await sn(`/platform/invites/${encodeURIComponent(e)}`,{method:"GET"});if(!t.success||!t.data)throw new Error(t.error||"Invite not found");return t.data}async function Lb(e){let t=await sn(`/platform/invites/${encodeURIComponent(e)}/accept`,{method:"POST"});if(!t.success||!t.data)throw new Error(t.error||"Failed to accept invite");return t.data}async function Fb(e){let t=await sn(`/platform/invites/${encodeURIComponent(e)}/decline`,{method:"POST"});if(!t.success)throw new Error(t.error||"Failed to decline invite")}async function Gb(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Bb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Nb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Hb(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Kb(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Wb(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Tu=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Vb(e){return Tu.includes(e)}async function zb(e){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:e?.version??null,error:null,startedAt:null,updatedAt:null}}async function Jb(e){let t=e?`?channel=${e}`:"",n=await fetch(`${W()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await Au(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Au(e){let t=e?`?channel=${e}`:"",n=await fetch(`${W()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function Qb(){let e=await fetch(`${W()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`All versions fetch failed: ${e.status}`);return e.json()}async function Xb(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Yb(e){}async function Zb(e){}async function ex(e){return{serverTypes:[],location:e||"hel1"}}async function tx(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function nx(e){let t=await i.delete(`/platform/sandbox?sandbox_id=${e}`);if(t.error)throw t.error;return t.data}async function rx(e,t){await i.post("/platform/sandbox/mark-error",{sandbox_id:e,error_message:t},{showErrors:!1,timeout:1e4})}async function sx(){let e=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(e.error)throw e.error;return e.data}async function ix(e){let t=await i.get(`/platform/sandbox/${e}/status`,{showErrors:!1,timeout:1e4});return t.success?t.data??null:null}function ox(e,t){return`${W()}/platform/sandbox/${e}/provision-stream?token=${encodeURIComponent(t)}`}var ie=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function on(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return/\/v1$/.test(t)?t:`${t}/v1`}function qc(e,t){let n=new Headers(e.headers);return n.set("Accept","application/json"),t&&n.set("Content-Type","application/json"),e.accessToken&&n.set("Authorization",`Bearer ${e.accessToken}`),n}async function an(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function cn(e,t){if(t&&typeof t=="object"){let n=t;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof t=="string"&&t?t:e.statusText||`HTTP ${e.status}`}async function G(e,t,n){let r=n?.body!==void 0,s=await fetch(`${on(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:qc(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),o=await an(s);if(!s.ok)throw new ie(cn(s,o),s.status,o);return o}function ax(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString();return n?`?${n}`:""}function cx(e,t){return G(`/marketplace/items${ax(t)}`,e)}function lx(e){return G("/marketplace/marketplaces",e)}function ux(e,t){return G(`/marketplace/items/${encodeURIComponent(e)}`,t)}function px(e,t,n){return G(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function dx(e,t){return G("/access/check-email",t,{method:"POST",body:{email:e}})}function gx(e,t){return G("/access/request-access",t,{method:"POST",body:e})}function mx(e){return G("/auth/logout",e,{method:"POST",body:{}})}function fx(e,t){return G(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function yx(e,t){return G("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function hx(e,t){return G(`/setup-links/connector/${encodeURIComponent(e)}`,t)}function bx(e,t){return G(`/setup-links/connector/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function xx(e,t){return G(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function Px(e,t,n){return G(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t}})}function kx(e,t){return G(`/p/public-share/${encodeURIComponent(e)}`,t)}function wx(e,t,n){return G(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function _x(e){return G("/system/maintenance",e)}function Sx(e,t){return G("/system/maintenance",t,{method:"PUT",body:e})}function vx(e){return G("/user-roles",e)}function Rx(e,t){return G("/system/demo-request",t,{method:"POST",body:e})}async function Cx(e,t,n){let r=new URLSearchParams({format:t.format});t.action&&r.set("action",t.action),t.actor&&r.set("actor",t.actor),t.resource_type&&r.set("resource_type",t.resource_type),t.since&&r.set("since",t.since),t.until&&r.set("until",t.until),t.q&&r.set("q",t.q);let s=await fetch(`${on(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${r}`,{headers:qc(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await an(s);throw new ie(cn(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count")}}async function Tx(e,t){let n=await fetch(`${on(t.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:qc(t,!0),body:JSON.stringify(e),...t.signal?{signal:t.signal}:{}});if(!n.ok){let r=await an(n);throw new ie(cn(n,r),n.status,r)}if(!n.body)throw new ie("No response body",n.status,null);return n.body}var Ax=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Iu(e,t){return Ax.test(t)?new URL(`templates/public/${t.toLowerCase()}`,`${on(e)}/`):null}async function Ix(e,t,n){let r=Iu(e,t);if(!r)throw new ie("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await an(s);if(!s.ok)throw new ie(cn(s,o),s.status,o);return o}async function jx(){let e=await i.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function Ex(e={}){let t=await i.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function $x(e){let t=await i.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function qx(e){let t=await i.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function Dx(){let e=await i.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}function ju(e){try{let t=new URL(e);if(/^\/proxy\/\d+(?:\/|$)/.test(t.pathname))return`${t.origin}/v1/p/auth`;let n=t.pathname.indexOf("/p/");return n!==-1?`${t.origin}${t.pathname.slice(0,n)}/p/auth`:`${t.origin}/v1/p/auth`}catch{return null}}function Mx(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(t)try{o.add(new URL(t).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function Ux(e,t){return Mx(e,t)?(t?ju(t):null)??ju(e):null}function Ox(e){try{return/^p\d+-[^.]+\./.test(new URL(e).hostname)}catch{return!1}}function Lx(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}function Dc(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function Fx(e,t){return`${Dc(e)}/presentation-templates/${encodeURIComponent(t)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function Gx(e,t){return`${Dc(e)}/presentation-templates/${encodeURIComponent(t)}/image.png`}function Eu(e,t){return`${Dc(e)}/presentation/convert-to-${t}`}async function Bx(e,t,n,r){let s=Eu(t,e),o=r?.pollIntervalMs??2500,l=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let u=await f.blob();if(u.size===0)throw new Error("Downloaded file is empty");return u}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>l)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((u,a)=>{let S=setTimeout(u,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(S),a(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),P=f.statusText;try{let u=JSON.parse(x);P=String(u.error||u.detail||u.message||P)}catch{x&&(P=x)}throw new Error(`Failed to download ${e.toUpperCase()}: ${P} (HTTP ${f.status})`)}}function qu(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let o=new URLSearchParams({limit:String(r)});s&&o.set("before",s);let l=await e.getToken?.(),p=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${o}`,{headers:l?{Authorization:`Bearer ${l}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function Du(e){return Nx(qu(e))}function Mu(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,""),r=qu(e),s=async o=>{let l=await e.getToken?.(),p=await t(`${n}${o}`,{headers:l?{Authorization:`Bearer ${l}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new Mc({...e,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[e.sessionId]??{type:"idle"}})}async function Nx(e){let t=new Map,n=new Set,r;do{let s=await e({limit:10,...r?{before:r}:{}});for(let o of s.messages)t.set(o.info.id,o);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...t.values()].sort((s,o)=>s.info.id.localeCompare(o.info.id))}var Hx={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},$u=500,Mc=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(t){this.options=t,this.scheduler=t.scheduler??Hx,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0})}observePromptStatus(t){if(this.promptObservationPhase!=="idle"){if(t.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1})}setBusy(t){if(!t){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(t){try{let n=await this.loadPage("tail",t),r=await this.loadCompleteTurn(n,"tail",t);if(this.destroyed)return;this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(t,n,r){let s=this.scheduler.now();try{let o=await this.options.loadPage({limit:10,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t)}async loadCompleteTurn(t,n,r,s){let o=[...t.messages],l=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),d=t.nextCursor;for(let f of t.messages)f.info.role==="user"&&l.add(f.info.id);for(;d&&o.some(f=>f.info.role==="assistant"&&!!f.info.parentID&&!l.has(f.info.parentID));){if(p.has(d))throw new Error(`Session history cursor repeated: ${d}`);p.add(d);let f=await this.loadPage(n,r,d);o.unshift(...f.messages);for(let m of f.messages)m.info.role==="user"&&l.add(m.info.id);d=f.nextCursor}return{messages:o,nextCursor:d}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await Promise.all([this.reconcile("poll"),this.reconcileStatus()]),this.lastActivityAt=this.scheduler.now())}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let t=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}))};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(t,$u):setTimeout(t,$u)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(t){let n={...this.snapshot,...t};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder&&n.isPromptObservedBusy===this.snapshot.isPromptObservedBusy)){this.snapshot=n;for(let r of this.listeners)r()}}};function Uu(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return`${t}/tunnel/permission-requests/stream`}function Ou(e){let{url:t,token:n,method:r="GET",body:s,onEvent:o,onOpen:l,onError:p,signal:d}=e,f=new Map,m=null,h=!1;function x(T,C){o?.(T,C);let w=f.get(T);if(w)for(let v of w)try{v(C)}catch{}}async function P(){if(h)return;m=new AbortController;let T=d?AbortSignal.any([m.signal,d]):m.signal;try{let C={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(C["Content-Type"]="application/json");let w=await fetch(t,{method:r,headers:C,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:T,credentials:"include"});if(!w.ok)throw new Error(`SSE connection failed: ${w.status} ${w.statusText}`);if(!w.body)throw new Error("SSE response has no body");l?.();let v=w.body.getReader(),A=new TextDecoder,$="",y="message",R="";for(;!h;){let{done:H,value:V}=await v.read();if(H)break;$+=A.decode(V,{stream:!0});let B=$.split(`
|
|
70
|
+
`);$=B.pop()||"";for(let F of B)F===""?R&&(x(y,R.trimEnd()),y="message",R=""):F.startsWith("event: ")?y=F.slice(7).trim():F.startsWith("data: ")?R+=(R?`
|
|
71
|
+
`:"")+F.slice(6):F.startsWith("data:")&&(R+=(R?`
|
|
72
|
+
`:"")+F.slice(5))}}catch(C){if(h||C instanceof DOMException&&C.name==="AbortError")return;p?.(C instanceof Error?C:new Error(String(C)))}}function u(){h=!0,m?.abort(),m=null,f.clear()}function a(T,C){let w=f.get(T)??new Set;w.add(C),f.set(T,w)}function S(T,C){f.get(T)?.delete(C)}return{connect:P,close:u,addEventListener:a,removeEventListener:S}}function Kx(e,t){return Ou({...t,url:Uu(e)})}return Ku(Wx);})();
|