import { type ResolvedCliCredentials } from './config'; /** * Deep self-test — the upgraded `health_check` remote action. * * Instead of passively reporting state, every subsystem the fleet depends on * is actively EXERCISED: DPAPI roundtrip (encrypt AND decrypt a probe value), * PowerShell spawn + language mode, control-plane reachability, authenticated * bundle fetch, IDE hook/gateway integrity, and the MSI updater scheduled * task. One click in the console answers in ~30 seconds what the lptx1110 * incident took a day of customer back-and-forth to establish. * * Deliberate privacy boundary: metadata only — never scans customer files, * never includes prompts, keys, or file contents. */ export interface SelfTestCheck { /** Stable machine-readable id (console renders these as a checklist). */ id: string; label: string; ok: boolean; detail: string; /** * Advisory check: a failure is worth SEEING (console shows it) but must not * fail the machine's overall health. The redundant credential-store probes * (native / DPAPI / key file — `credentials` + `bundle_auth` are the * aggregate proof that auth actually works), the PowerShell probe (the * product is PowerShell-free; hardened fleets legitimately block it), and * the cosmetic windowless-tasks check are advisory. Required checks are the * ones whose failure means protection or updates are actually broken. */ optional?: boolean; } export interface SelfTestReport { ok: boolean; checks: SelfTestCheck[]; ranAt: string; } export declare function runDeepSelfTest(input: { creds: ResolvedCliCredentials; developerName?: string; machineName?: string; machineId?: string; /** Injected from the daemon (avoids a module cycle); omit to skip the watchdog check. */ isWatchdogTaskInstalled?: () => boolean; /** Progress logger — each check logs as it completes so the live log tail shows movement. */ log?: (message: string) => void; }): Promise; /** Compact one-line summary for the machine-action result card. */ export declare function summarizeSelfTest(report: SelfTestReport): string;