/** * @name runtime-doctor * @description Runtime doctor module for diagnosing SAP MCP configuration, signer, wallet, policy, and RPC readiness. * @module config-runtime/runtime-doctor */ import { type FullConfig } from './secure-config.js'; /** @name DoctorStatus - Result status of a single doctor check. */ export type DoctorStatus = 'pass' | 'warning' | 'fail'; /** @name DoctorCheck - A single diagnostic check with status, message, and optional remediation action. */ export interface DoctorCheck { id: string; label: string; status: DoctorStatus; message: string; action?: string; } /** @name DoctorReport - Aggregated doctor report with overall status, profile info, checks, and summary. */ export interface DoctorReport { status: DoctorStatus; profileName: string; configPath: string; configRoot: string; checks: DoctorCheck[]; summary: { pass: number; warning: number; fail: number; }; } /** @name DoctorReportInput - Input parameters for building a doctor report from a loaded config. */ export interface DoctorReportInput { config: FullConfig; profileName: string; configPath: string; configRoot: string; walletExists?: boolean; } /** @name ActiveDoctorConfig - Active configuration snapshot used by the doctor for diagnostics. */ export interface ActiveDoctorConfig { config: FullConfig; profileName: string; configPath: string; configRoot: string; } /** @name summarizeDoctorStatus - Returns the worst status across all checks (fail > warning > pass). */ export declare function summarizeDoctorStatus(checks: readonly DoctorCheck[]): DoctorStatus; /** @name summarizeDoctorChecks - Produces a summary block from an array of doctor checks. */ export declare function summarizeDoctorChecks(checks: readonly DoctorCheck[]): DoctorReport['summary']; /** @name loadActiveDoctorConfig - Loads the active profile and its full configuration for doctor analysis. */ export declare function loadActiveDoctorConfig(): ActiveDoctorConfig; /** @name buildDoctorReport - Builds a complete doctor report from a loaded configuration, checking mode, signer, wallet, policy, RPC, and paid/write readiness. */ export declare function buildDoctorReport(input: DoctorReportInput): DoctorReport; /** @name buildActiveDoctorReport - Convenience function that loads the active config and builds a doctor report in one call. */ export declare function buildActiveDoctorReport(): DoctorReport; //# sourceMappingURL=runtime-doctor.d.ts.map