/** * `get_language_support` — the queryable coverage answer for the declarative * language-support registry (change: add-declarative-language-support-registry). * * Turns "is language L supported, and for what?" from tribal knowledge into a * conclusion-shaped, honest answer. With a named `language` it is a pure registry * lookup (fail-soft: an unknown language returns an all-unsupported record, never an * error). With no language it reports the coverage matrix for the repo's DETECTED * languages, so a quiet result elsewhere is interpretable ("calls unsupported for L" * vs. "no callers"). Read-only, deterministic, opt-in. No LLM. */ import { type Capability } from '../../analyzer/language-support.js'; export interface GetLanguageSupportInput { directory: string; /** A specific language name (e.g. "Go", "Rust"). Omit to report the repo's detected languages. */ language?: string; } /** One language's support, rendered for the conclusion. */ export interface LanguageSupportView { language: string; /** Whether the language is a known registry key (false → fail-soft "nothing claimed"). */ known: boolean; /** Whether the language was detected in the analyzed repo (repo mode only). */ detectedInRepo?: boolean; /** Supported capabilities, in canonical order. */ supported: Capability[]; /** The capabilities this language does NOT back (the rest). */ unsupported: Capability[]; supportedCount: number; } export interface GetLanguageSupportResult { mode: 'language' | 'repo'; /** The repo's detected languages (repo mode). */ detectedLanguages?: string[]; languages: LanguageSupportView[]; /** The closed capability set + what each means. */ capabilities: Array<{ name: Capability; description: string; }>; /** * Parse-health summary (change: add-parse-health-boundary-disclosure): the files where extraction * silently under-produced (parse errors, grammar drift, lossy encoding), per language. Absent on * a clean repo — a supported capability is not the same as a clean parse, and this says which. */ parseHealth?: { totalDegradedFiles: number; byLanguage: string[]; }; summary: string; disclosure: string; } export declare function computeGetLanguageSupport(input: GetLanguageSupportInput): Promise; /** MCP dispatch entry. */ export declare function handleGetLanguageSupport(input: GetLanguageSupportInput): Promise; //# sourceMappingURL=language-support.d.ts.map