/** * `openlore env-impact` — the env-impact tool's CLI surface * (change: add-env-config-impact-graph). * * Prints what breaks if an environment variable is removed or renamed (the same * conclusion the `analyze_env_impact` MCP tool returns) so a developer can answer * "what reads this, and what is the blast radius?" without an MCP client. * Read-only, deterministic, offline, never blocks. * * openlore env-impact --name DATABASE_URL * openlore env-impact --name PORT --max-depth 5 * openlore env-impact --name SECRET_KEY --json */ import { Command } from 'commander'; interface ReadSiteView { file: string; line: number; required: boolean; enclosingFunction: string | null; } export interface EnvImpactView { error?: string; candidates?: string[]; hint?: string; variable?: { name: string; required: boolean; hasDefault: boolean; declaredInEnvFile: boolean; description?: string; files: string[]; }; summary?: { readSites: number; requiredReadSites: number; moduleLevelReadSites: number; readingFunctions: number; affectedFunctions: number; affectedFiles: number; reachingTests: number; }; readSites?: ReadSiteView[]; affectedFunctions?: Array<{ symbol: string; file: string; distance: number; }>; reachingTests?: Array<{ test: string; file: string; }>; affectedFiles?: string[]; staleness?: { indexCommit: string; filesChangedSince: number; detail: string; }; boundaries?: string[]; note?: string; } export declare function renderHuman(r: EnvImpactView): string; export interface EnvImpactCliOptions { cwd?: string; name?: string; maxDepth?: number; json?: boolean; } export declare function runEnvImpactCli(opts: EnvImpactCliOptions): Promise; export declare const envImpactCommand: Command; export {}; //# sourceMappingURL=env-impact.d.ts.map