import { Gt as AcpRuntimeSessionMode, Ht as AcpRuntimeEvent, Kt as AcpRuntimeStatus, Rt as AcpRuntime, Ut as AcpRuntimeHandle, Wt as AcpRuntimePromptMode, r as KlawConfig, zt as AcpRuntimeCapabilities } from "./types.klaw-xKUw_Rz7.js"; import { a as SessionAcpMeta, i as SessionAcpIdentity, t as AcpSessionRuntimeOptions } from "./types-XfK0DXQJ.js"; import { i as requireAcpRuntimeBackend, n as getAcpRuntimeBackend, o as AcpRuntimeError } from "./registry-B0tOcDID.js"; import { i as upsertAcpSessionMeta, n as listAcpSessionEntries, r as readAcpSessionEntry } from "./session-meta-DyEXomO9.js"; //#region src/acp/control-plane/manager.types.d.ts type AcpSessionResolution = { kind: "none"; sessionKey: string; } | { kind: "stale"; sessionKey: string; error: AcpRuntimeError; } | { kind: "ready"; sessionKey: string; meta: SessionAcpMeta; }; type AcpInitializeSessionInput = { cfg: KlawConfig; sessionKey: string; agent: string; mode: AcpRuntimeSessionMode; resumeSessionId?: string; runtimeOptions?: Partial; cwd?: string; backendId?: string; }; type AcpTurnAttachment = { mediaType: string; data: string; }; type AcpRunTurnInput = { cfg: KlawConfig; sessionKey: string; text: string; attachments?: AcpTurnAttachment[]; mode: AcpRuntimePromptMode; requestId: string; signal?: AbortSignal; onLifecycle?: (event: AcpTurnLifecycleEvent) => Promise | void; onEvent?: (event: AcpRuntimeEvent) => Promise | void; }; type AcpTurnLifecycleEvent = { type: "prompt_submitted"; at: number; }; type AcpCloseSessionInput = { cfg: KlawConfig; sessionKey: string; reason: string; discardPersistentState?: boolean; clearMeta?: boolean; allowBackendUnavailable?: boolean; requireAcpSession?: boolean; }; type AcpCloseSessionResult = { runtimeClosed: boolean; runtimeNotice?: string; metaCleared: boolean; }; type AcpSessionStatus = { sessionKey: string; backend: string; agent: string; identity?: SessionAcpIdentity; state: SessionAcpMeta["state"]; mode: AcpRuntimeSessionMode; runtimeOptions: AcpSessionRuntimeOptions; capabilities: AcpRuntimeCapabilities; runtimeStatus?: AcpRuntimeStatus; lastActivityAt: number; lastError?: string; }; type AcpManagerObservabilitySnapshot = { runtimeCache: { activeSessions: number; idleTtlMs: number; evictedTotal: number; lastEvictedAt?: number; }; turns: { active: number; queueDepth: number; completed: number; failed: number; averageLatencyMs: number; maxLatencyMs: number; }; errorsByCode: Record; }; type AcpStartupIdentityReconcileResult = { checked: number; resolved: number; failed: number; }; type AcpSessionManagerDeps = { listAcpSessions: typeof listAcpSessionEntries; readSessionEntry: typeof readAcpSessionEntry; upsertSessionMeta: typeof upsertAcpSessionMeta; getRuntimeBackend: typeof getAcpRuntimeBackend; requireRuntimeBackend: typeof requireAcpRuntimeBackend; }; //#endregion //#region src/acp/control-plane/manager.core.d.ts declare class AcpSessionManager { private readonly deps; private readonly actorQueue; private readonly runtimeCache; private readonly activeTurnBySession; private readonly turnLatencyStats; private readonly errorCountsByCode; private evictedRuntimeCount; private lastEvictedAt; constructor(deps?: AcpSessionManagerDeps); resolveSession(params: { cfg: KlawConfig; sessionKey: string; }): AcpSessionResolution; getObservabilitySnapshot(cfg: KlawConfig): AcpManagerObservabilitySnapshot; reconcilePendingSessionIdentities(params: { cfg: KlawConfig; }): Promise; initializeSession(input: AcpInitializeSessionInput): Promise<{ runtime: AcpRuntime; handle: AcpRuntimeHandle; meta: SessionAcpMeta; }>; getSessionStatus(params: { cfg: KlawConfig; sessionKey: string; signal?: AbortSignal; }): Promise; setSessionRuntimeMode(params: { cfg: KlawConfig; sessionKey: string; runtimeMode: string; }): Promise; setSessionConfigOption(params: { cfg: KlawConfig; sessionKey: string; key: string; value: string; }): Promise; updateSessionRuntimeOptions(params: { cfg: KlawConfig; sessionKey: string; patch: Partial; }): Promise; resetSessionRuntimeOptions(params: { cfg: KlawConfig; sessionKey: string; }): Promise; runTurn(input: AcpRunTurnInput): Promise; private resolveTurnTimeoutMs; private awaitTurnWithTimeout; private cleanupTimedOutTurn; private awaitCleanupWithGrace; cancelSession(params: { cfg: KlawConfig; sessionKey: string; reason?: string; }): Promise; closeSession(input: AcpCloseSessionInput): Promise; private ensureRuntimeHandle; private isCachedRuntimeHandleReusable; private isRuntimeStatusUnavailable; private persistRuntimeOptions; private enforceConcurrentSessionLimit; private recordTurnCompletion; private recordErrorCode; private prepareFreshHandleRetry; private isRecoverableAcpxExitError; private isRecoverableMissingPersistentSessionError; private clearPersistedRuntimeResumeState; private discardPersistedRuntimeState; private evictIdleRuntimeHandles; private resolveRuntimeCapabilities; private applyRuntimeControls; private setSessionState; private reconcileRuntimeSessionIdentifiers; private writeSessionMeta; private withSessionActor; private throwIfAborted; private getCachedRuntimeState; private setCachedRuntimeState; private clearCachedRuntimeState; private closeCachedRuntimeState; private clearCachedRuntimeStateIfHandleMatches; private runtimeHandlesMatch; private runtimeHandleMatchesMeta; private resolveBackgroundTaskContext; private createBackgroundTaskRecord; private markBackgroundTaskRunning; private markBackgroundTaskTerminal; } //#endregion export { AcpManagerObservabilitySnapshot as a, AcpSessionStatus as c, AcpInitializeSessionInput as i, AcpStartupIdentityReconcileResult as l, AcpCloseSessionInput as n, AcpRunTurnInput as o, AcpCloseSessionResult as r, AcpSessionResolution as s, AcpSessionManager as t };