import type { AddressInfo } from "node:net"; import type { IncomingMessage, ServerResponse } from "node:http"; import type { ControlAuth } from "./auth.js"; import type { ControlConfigurationService } from "./configuration-service.js"; import type { ConfigurationApplication } from "../configuration/configuration-application.js"; import type { GatewayController, GatewayControllerState } from "./gateway-controller.js"; import type { NodeGatewayDriver } from "./gateway-driver.js"; import type { GenerationActivationController } from "./generation-activation.js"; import type { HostInstallation } from "./host-installation.js"; import type { createHostVerification } from "./host-verification.js"; import type { ControlMcpService } from "./mcp-api.js"; import type { ControlMessageDebugHttp } from "./message-debug-http.js"; import type { createManagerUpgradeIdentity, createManagerUpgradeRelease } from "./service-upgrade-release.js"; import type { ControlSendService } from "./send-service.js"; import { type WindowsManagerStatusPublisher } from "../windows-manager-status-publisher.js"; import { type GatewayProxyAddress } from "./proxy.js"; import type { ControlTerminalService } from "./terminal-service.js"; interface ControlRequestHandlerOptions { workspace: string; webRoot: string; manager: { id: string; version: string; pid: number; }; auth: ControlAuth | undefined; authAvailable: () => boolean; markAuthUnavailable: () => void; closed: () => boolean; storageError: () => boolean; ownershipAvailable: boolean; configurationStorageUnavailable: () => boolean; configurationApplication: ConfigurationApplication | undefined; controller: GatewayController; driver: NodeGatewayDriver; lifecycle: GenerationActivationController; installation: HostInstallation | undefined; configuration: ControlConfigurationService | undefined; sending: ControlSendService | undefined; verification: ReturnType; messageDebugHttp: ControlMessageDebugHttp; mcp: ControlMcpService; releaseUpgrade: ReturnType; upgradeIdentity: ReturnType; publisher: WindowsManagerStatusPublisher | undefined; terminal: ControlTerminalService; activeAddress: () => GatewayProxyAddress | undefined; respondSnapshot: (response: ServerResponse, pathname: string, status: object, address: string | AddressInfo | null) => void; serverAddress: () => string | AddressInfo | null; } export declare function createControlRequestHandler(options: ControlRequestHandlerOptions): (request: IncomingMessage, response: ServerResponse, local: boolean) => Promise; /** * recoveryRequired 也是正在执行启停效果时的临时闭锁状态。当前 manager 内尚有运行中操作时, * 新请求应进入生命周期队列;只有冷启动恢复留下的未知状态才需要先核实旧进程。 */ export declare function requiresGatewayReconciliation(state: Pick, hasLiveChildren: boolean): boolean; export {}; //# sourceMappingURL=host-http.d.ts.map