/** * `analyze_env_impact` MCP handler (change: add-env-config-impact-graph). * * The `get_env_vars` inventory answers *which* env vars a project declares or * reads. It is silent on the question an agent asks before touching config: * **"if I remove or rename this env var, what breaks?"** This tool answers that as * a conclusion: given an env var `name`, it returns the line-precise read sites, * the functions and tests reachable from those reads (the blast radius), whether * the var is declared with a default, and the honesty `boundaries` that make the * result a sound lower bound. * * It is the configuration analogue of `analyze_impact` (blast radius of a function * change) and `analyze_error_propagation` (exceptions that escape a function). * Computed live from the cached call graph (function spans + backward adjacency) * plus a re-read of only the files the inventory associates with the var — the * `find_clones` / `analyze_error_propagation` precedent: no new persisted artifact, * no schema migration, no edit to the analyze walk. * * Scope: environment variables in TypeScript / JavaScript / Python / Go / Ruby — * exactly the read patterns the env extractor supports. Config-object key reads are * a disclosed out-of-scope boundary, never guessed. */ export interface AnalyzeEnvImpactInput { directory: string; /** The environment variable to analyze, e.g. DATABASE_URL. */ name?: string; /** Backward-reachability depth bound (default 12, clamped to [1, 30]). */ maxDepth?: number; } /** * Compute the impact of removing/renaming an env var. Read-only, deterministic, * offline. Returns `unknown` (additive-by-cast), conclusion-shaped — read sites + * blast radius + reaching tests + disclosed boundaries, never a graph. */ export declare function handleAnalyzeEnvImpact(input: AnalyzeEnvImpactInput): Promise; //# sourceMappingURL=env-impact.d.ts.map