/** * @license * Copyright 2026 Qwen * SPDX-License-Identifier: Apache-2.0 */ import { BackendRegistry } from './adaptor/registry.js'; import type { LiveConfig } from './config.js'; import { LiveHostInstaller } from './host/qwen-live-harness-host-installer.js'; import { RuntimeFailureLog } from './log/runtime-failure.js'; import { LiveLogger } from './logger.js'; import { type DaemonIdentity } from './lifecycle.js'; export interface LiveDaemonDeps { /** Pre-built registry (tests); built from config.backends otherwise. */ registry?: BackendRegistry; /** Installer (tests inject a fake); production installs the real Host. */ installer?: LiveHostInstaller; logger?: LiveLogger; failureLog?: RuntimeFailureLog; } export declare class LiveDaemon { private readonly config; private readonly logger; private readonly registry; private readonly installer; private readonly token; private readonly instanceNonce; private readonly failureLog; private failureLogUnavailable; private startupStage; private server; private wss; private coordinator; private session; private memory; private log; private monitorDebug; private debugArchive; private discoveryPublished; private stopping; private resourcesStopPromise; private stopPromise; private exitMarkerPromise; private pendingCleanup; constructor(config: LiveConfig, deps?: LiveDaemonDeps); getInstanceIdentity(): DaemonIdentity; start(): Promise<{ port: number; url: string; }>; private startRuntime; stop(): Promise; stopForProcessExit(): Promise; private removeDiscovery; private recordFailure; private logCleanupFailure; private stopResources; private finishStop; private closeTransports; private handleRequest; private serveSubagents; private serveQuit; private serveSetup; private authorize; private authorizeInstance; private listen; private publishDiscovery; }