/** * A readiness boundary says what was actually established. It deliberately * does not turn an installed connector into a claim that Premiere is live. */ export type ReadinessBoundary = "installed" | "configured" | "connected" | "live_verified"; export type ReadinessState = "ready" | "needs_attention" | "not_checked"; export interface ReadinessComponent { id: "mcp_process" | "premiere_connector" | "premiere_host" | "active_project" | "active_sequence" | "uxp_bridge"; label: string; boundary: ReadinessBoundary; state: ReadinessState; message: string; repair?: string; } export interface LocalDoctorReport { schemaVersion: "premiere-pro-mcp.doctor.v1"; generatedAt: string; runtime: { platform: NodeJS.Platform; nodeMajor: number | null; }; overall: "ready" | "needs_attention"; components: ReadinessComponent[]; privacy: { includes: string[]; excludes: string[]; }; } export interface FirstRunReport { schemaVersion: "premiere-pro-mcp.first-run.v1"; safeCheck: { readOnly: true; mutatesProject: false; verificationScope: "mcp_process_premiere_host_active_project_active_sequence"; }; backend: "cep" | "uxp"; overall: "ready" | "needs_attention"; components: ReadinessComponent[]; nextStep: string; repair?: string; } export interface SupportBundle { schemaVersion: "premiere-pro-mcp.support-bundle.v1"; generatedAt: string; application: { version: string; nodeMajor: number | null; platform: NodeJS.Platform; architecture: string; }; doctor: LocalDoctorReport; privacy: { excludes: string[]; }; } export interface LocalDoctorOptions { platform?: NodeJS.Platform; architecture?: string; nodeVersion?: string; environment?: NodeJS.ProcessEnv; now?: () => Date; exists?: (file: string) => boolean; } export interface SupportBundleOptions extends LocalDoctorOptions { version: string; } export interface FirstRunHostState { reachable: boolean; projectOpen?: boolean; sequenceOpen?: boolean; } /** * Inspect local install/configuration facts only. The report intentionally * cannot imply that Premiere is open or that an MCP client has connected. */ export declare function collectLocalDoctor(options?: LocalDoctorOptions): LocalDoctorReport; /** Build a first-run report from a sanitized host response. No names or paths enter this contract. */ export declare function buildFirstRunReport(backend: "cep" | "uxp", host: FirstRunHostState): FirstRunReport; /** * Produce a safe attachment for support. It is deliberately a status snapshot, * not a log collector: logs commonly contain project names, local paths, or tokens. */ export declare function createSupportBundle(options: SupportBundleOptions): SupportBundle; export declare function renderDoctorHuman(report: LocalDoctorReport): string; //# sourceMappingURL=diagnostics.d.ts.map