import type { ConfigurationImpact } from "./runtime-configuration.js"; import { ControlLogClient } from "./control-logs.js"; export * from "./control-logs.js"; import { ControlVerificationClient } from "./control-verification.js"; export * from "./control-verification.js"; export { verificationJson, verificationRequest } from "./control-verification-json.js"; import type { ControlDiagnostics } from "./control-diagnostics.js"; export type { ControlDiagnostics } from "./control-diagnostics.js"; import type { ControlOperation, ControlStatus } from "./control-status.js"; export type { ControlAccountStatus, ControlOperation, ControlStatus, ControlSystemStatus, } from "./control-status.js"; import { type ControlMessageDebugSnapshot, type ControlMessageDebugClearReceipt } from "./control-message-debug.js"; export type { ControlMessageDebugJson, ControlMessageDebugEntry, ControlMessageDebugSnapshot, ControlMessageDebugClearReceipt, } from "./control-message-debug.js"; export { isControlMessageDebugEntry, isControlMessageDebugSnapshot, isControlMessageDebugClearReceipt, } from "./control-message-debug.js"; import { type ControlSession, type ControlSessionPolicy } from "./control-sessions.js"; export type { ControlSession, ControlSessionPolicy } from "./control-sessions.js"; import type { ControlSendContext, ControlSendRequest, ControlSendOperation } from "./control-send.js"; import type { ControlChatConversation, ControlChatHistoryQuery, ControlChatHistoryPage, ControlChatHistorySettings } from "./control-chat-history.js"; import type { ControlAccountExploreRequest, ControlAccountExploreResult } from "./control-account-explore.js"; export type { ControlAccountExploreRequest, ControlAccountExploreResult, ControlAccountItem, ControlAccountItemKind, ControlAccountExploreAction, } from "./control-account-explore.js"; export { CONTROL_ACCOUNT_EXPLORE_ITEM_LIMIT, CONTROL_ACCOUNT_EXPLORE_RESULT_LENGTH_LIMIT, isControlAccountExploreRequest, isControlAccountExploreResult, } from "./control-account-explore.js"; export type { ControlChatConversation, ControlChatHistoryQuery, ControlChatHistoryPage, ControlChatHistorySettings, ControlChatMessage, } from "./control-chat-history.js"; import type { AdapterCapabilityManifest } from "./adapter-capability.js"; export type { ControlSendContext, ControlSendRequest, ControlSendOperation, } from "./control-send.js"; export { isControlSendContext, isControlSendRequest, isControlSendOperation, } from "./control-send.js"; export interface ControlTransport { request(method: "GET" | "POST", route: string, body?: unknown): Promise; /** Optional long-lived byte stream used by read-only control subscriptions. */ stream?(route: string, signal: AbortSignal): Promise>; } export declare class ControlRequestError extends Error { readonly status: number; constructor(status: number, message: string); } export interface ControlConfigurationBase { generationId: string | null; configRevision: string; } export interface ControlConfigurationProjection { document: Record; secretStates: Array<{ path: string[]; configured: boolean; }>; unknownPaths: string[][]; } export interface ControlConfigurationDraft extends ControlConfigurationProjection { mode?: "repair"; id: string; revision: string; base: ControlConfigurationBase; } export interface ControlConfigurationSnapshot extends ControlConfigurationProjection { base: ControlConfigurationBase; schemas: Record; } export type ControlConfigurationChange = { op: "set"; path: string[]; value: unknown; } | { op: "remove"; path: string[]; }; export type ControlSecretChange = { op: "set"; path: string[]; value: unknown; } | { op: "keep" | "clear"; path: string[]; }; export interface ControlConfigurationValidation { impact?: ConfigurationImpact; valid: boolean; issues: Array<{ path: string[]; message: string; }>; receiptId?: string; draftRevision: string; } export interface ControlConfigurationOperation { id: string; validationId: string; status: "running" | "succeeded" | "failed" | "interrupted"; phase: "accepted" | "stopping" | "writing" | "starting" | "applying" | "restoring" | "completed" | "failed"; impact?: ConfigurationImpact; executionMode?: "hot" | "restart" | "stored"; recoveryRequired: boolean; rolledBack?: boolean; sourceState?: "damaged"; configRevision?: string; error?: string; } export interface ControlExtensionSelection { adapters: string[]; protocols: string[]; applications: string[]; } export interface ControlInstallPlan { id: string; planDigest: string; baseGenerationId: string | null; selection: ControlExtensionSelection; removed: ControlExtensionSelection; packages: Array<{ name: string; version: string; }>; peers: Array<{ requestedBy: string; packageName: string; range: string; }>; recommendations: string[]; } export interface ControlUpdatePlan { state: "current" | "updates_available"; base: ControlConfigurationBase; packages: Array<{ name: string; current: string | null; target: string; }>; peers: Array<{ requestedBy: string; packageName: string; range: string; }>; recommendations: string[]; installationPlan?: ControlInstallPlan; } export interface ControlInstallationCatalog { activeGenerationId: string | null; selection: ControlExtensionSelection; adapters: ControlAdapterCatalogEntry[]; protocols: Array<{ name: string; displayName: string; version: string; }>; applications: Array<{ name: string; displayName: string; }>; } export interface ControlExtensionSetupStep { title: string; description: string; url?: string; } export interface ControlExtensionInstallRequirement { kind: "registry-authentication"; title: string; description: string; scope: string; permission: string; } export interface ControlCapabilityCategorySummary { total: number; supported: number; native: number; emulated: number; unsupported: number; } export interface ControlAdapterCatalogEntry { name: string; displayName: string; version: string; /** 管理服务常驻提供的品牌图标;网关未启动时也可用于账号卡片。 */ iconUrl?: string; /** 以下产品信息由支持富目录的管理服务提供;旧服务仍可返回基础三字段条目。 */ description?: string; packageName?: string; setup?: ControlExtensionSetupStep[]; requirements?: ControlExtensionInstallRequirement[]; peerDependencies?: Array<{ packageName: string; range: string; }>; capabilitySnapshot?: { packageVersion: string; summary: Record<"actions" | "events" | "segments" | "transports", ControlCapabilityCategorySummary>; manifest: AdapterCapabilityManifest; }; } export interface ControlInstallOperation { schemaVersion: 1; id: string; planDigest: string; phase: "queued" | "downloading" | "verifying" | "verified" | "failed" | "interrupted"; candidateId?: string; createdAt: string; finishedAt?: string; error?: string; } export interface ControlGenerationActivation { id: string; status: "running" | "succeeded" | "failed"; phase: "accepted" | "stopping" | "starting" | "restoring" | "completed" | "failed"; target: { id: string; planDigest: string; }; previous: { id: string; planDigest: string; } | null; desiredBefore: "running" | "stopped"; startedAt: string; finishedAt?: string; error?: string; rolledBack?: boolean; sourceState?: "damaged"; } export declare class ControlClient { private readonly transport; readonly logs: ControlLogClient; readonly verification: ControlVerificationClient; constructor(transport: ControlTransport); openMcp(account?: string): Promise<{ id: string; gatewayInstanceId: string; }>; exchangeMcp(id: string, message: string): Promise<{ message: string | null; }>; pollMcp(id: string): Promise<{ events: string[]; }>; closeMcp(id: string): Promise<{ closed: true; }>; configurationSnapshot(): Promise; reconcileConfiguration(id: string, expectedRevision: string): Promise; configurationSource(): Promise<{ state: "ready" | "damaged"; base: ControlConfigurationBase; reason?: "INVALID_YAML"; repairAvailable?: boolean; }>; createConfigurationRepairDraft(base: ControlConfigurationBase): Promise<{ draft: ControlConfigurationDraft; schemas: Record; }>; configurationDraftContext(id: string): Promise<{ draft: ControlConfigurationDraft; schemas: Record; }>; createConfigurationDraft(base: ControlConfigurationBase): Promise; configurationDraft(id: string): Promise; editConfigurationDraft(id: string, request: { expectedRevision: string; changes: ControlConfigurationChange[]; secrets: ControlSecretChange[]; }): Promise; addConfigurationAccount(id: string, request: { expectedRevision: string; platform: string; accountId: string; }): Promise; removeConfigurationAccount(id: string, request: { expectedRevision: string; accountKey: string; }): Promise; setConfigurationProtocol(id: string, request: { expectedRevision: string; accountKey: string | null; protocol: string; enabled: boolean; }): Promise; editConfigurationList(id: string, request: { expectedRevision: string; path: string[]; action: "append" | "remove"; index?: number; }): Promise; validateConfigurationDraft(id: string, expectedRevision: string): Promise; applyConfiguration(id: string, receiptId: string, options?: { allowRestart?: boolean; }): Promise; configurationOperation(id: string): Promise; diagnostics(): Promise; status(): Promise; gateway(action: "start" | "stop" | "restart"): Promise; messageDebugHistory(): Promise; clearMessageDebug(expectedGatewayInstanceId: string): Promise; sendContext(): Promise; sendMessage(request: ControlSendRequest): Promise; sendOperation(id: string): Promise; chatHistory(query: ControlChatHistoryQuery): Promise; chatConversations(platform: string, accountId: string, before?: number): Promise<{ conversations: ControlChatConversation[]; hasMore: boolean; }>; exploreAccount(request: ControlAccountExploreRequest): Promise; chatHistorySettings(): Promise; updateChatHistorySettings(settings: ControlChatHistorySettings): Promise; clearChatHistory(): Promise<{ deleted: number; }>; bootstrap(): Promise<{ code: string; }>; /** 仅受本地权限保护的控制连接可签发恢复码,HTTP 传输将被拒绝。 */ recoverAuthentication(): Promise<{ code: string; }>; /** 本机签发追加设备码,不撤销其他浏览器。 */ authorizeDevice(): Promise<{ code: string; }>; /** 已登录浏览器签发一次性设备码;只在本次响应中返回明文。 */ authorizeWebDevice(): Promise<{ code: string; expiresAt: number; }>; sessionPolicy(): Promise; updateSessionPolicy(policy: ControlSessionPolicy): Promise; renewSession(): Promise<{ session: ControlSession; }>; sessions(): Promise<{ sessions: ControlSession[]; }>; revokeSession(id: string): Promise<{ revoked: true; }>; pair(code: string): Promise<{ token: string; }>; /** 撤销当前浏览器会话;传输失败时不得假定撤销成功。 */ logout(): Promise; planUpdate(expected: ControlConfigurationBase): Promise; planInstallation(selection: ControlExtensionSelection, expectedGenerationId: string | null): Promise; installationCatalog(): Promise; install(request: { id: string; planId: string; token?: string; }): Promise; installation(id: string): Promise; cancelInstallation(id: string): Promise; activateGeneration(id: string): Promise; } export declare function createHttpControlTransport(baseUrl: string, token: () => string, fetcher?: typeof fetch): ControlTransport;