/** * The configs that USED TO WORK — keys and rules whose shape changed, and the * sentence each one gets instead of the schema's "unknown key". * * Read BEFORE the schema (`./validate.ts` `loadConfig`): the reader of these * messages is someone whose config was valid in an earlier release, so * `.strict()`'s "Unrecognized key" would be true and useless — they need the * new spelling. Kept apart from `./config-schema.ts`, which describes the * config as it is today; this file describes how it got here. */ /** * The two keys `harnesses` replaced, and the sentence each one gets (#240). * * They are listed here rather than left to `.strict()`'s "Unrecognized key" * because the reader of that message is someone whose config USED to work: they * need the new spelling, not the news that the old one is unknown. `.strict()` * would tell them the truth in the least useful possible way. */ export declare const REPLACED_KEYS: ReadonlyArray<{ readonly key: string; readonly was: string; readonly now: string; }>; /** * The message a config written in the replaced shape gets. * * `names` are the harnesses the user's OWN config named under the removed * `harness` key, so the worked example below shows THEIR migration. * * 🔴 IT USED TO BE A FIXED EXAMPLE — `{ "harnesses": { "claude-code": …, * "codex": {} } }`, two names typed into the core. Its own comment called that * debt and predicted the failure: "with a third adapter this sample goes * stale". Reading the names from the config being migrated is better than * reading them from the registry would have been, and it is available here: * it shows the reader their own keys instead of somebody else's. */ export declare function replacedKeyMessage(present: ReadonlyArray<(typeof REPLACED_KEYS)[number]>, names: readonly string[]): string; /** * The per-rule `exclude` options that became `overrides`, and the rules an * equivalent override turns off. `untested-*` shared ONE merged option set, so * an `exclude` on any of them skipped those paths for all four. */ export declare const MOVED_TO_OVERRIDES: ReadonlyArray<{ /** Where the option sat: a rule name, or the `orphans` block. */ readonly owner: string; /** The rules the equivalent override turns off. */ readonly rules: readonly string[]; }>; /** * The message an old config with a per-rule `exclude` gets — the user's OWN * globs, written as the `overrides` entry that does what the option did. * * Read BEFORE the schema, like {@link REPLACED_KEYS}: the reader's config used * to work, so "unknown key exclude" would be true and useless. */ export declare function movedToOverridesMessages(raw: unknown): readonly string[]; /** Rules whose findings another rule now reports, and what changed. */ export declare const FOLDED_RULES: ReadonlyArray<{ readonly rule: string; readonly into: string; readonly what: string; }>; /** * The message a config naming a folded rule gets — in `rules` or in an * `overrides` entry. Read BEFORE the schema, like {@link REPLACED_KEYS}: the * reader's config used to work, so "unknown key" would be true and useless. */ export declare function foldedRuleMessages(raw: unknown): readonly string[]; //# sourceMappingURL=config-migrations.d.ts.map