/** * accuracy lot D — Registre des écosystèmes régénérables (v1). * * Le moteur n'exécute jamais de commande : il se contente de savoir, pour un * chemin de fichier généré donné, QUELLE commande le régénérerait et QUELS * fichiers doivent être propres au préalable (`sourcesOfTruth`). L'exécution * elle-même appartient toujours à l'appelant (CLI aujourd'hui, desktop plus * tard) — voir `plan.ts` et le brief de la tâche. * * v1 est délibérément restreint aux écosystèmes qui exposent un mode * "lockfile-only" ET une façon de couper les scripts de cycle de vie : * `go.sum`, `Gemfile.lock`, `poetry.lock` et la régénération de snapshots * (`jest -u`) sont hors scope v1 (exécutent du code arbitraire du dépôt). * * Contrainte globale : les flags de suppression de scripts sont des * CONSTANTES du registre, jamais quelque chose que l'appelant peut * surcharger. Une entrée sans eux ne doit pas passer la revue de code. */ /** accuracy lot D — un écosystème que le tier de régénération sait piloter. */ export interface RegenEcosystem { id: "npm" | "pnpm" | "yarn-berry" | "composer" | "cargo"; /** Le fichier généré que possède cette entrée (matche GENERATED_FILE_PATTERNS). */ lockfile: RegExp; /** Fichiers qui doivent être propres (ou résolus par le moteur) avant régénération. */ sourcesOfTruth: string[]; /** Commande lockfile-only, scripts coupés. Jamais un install complet. */ command: { bin: string; args: string[]; }; network: "required" | "offline-capable"; defaultTimeoutMs: number; } /** * v1 registry — 5 entrées, une par écosystème supporté. Voir le brief de la * tâche (§ "v1 registry") pour la justification de chaque commande exacte. */ export declare const REGEN_ECOSYSTEMS: readonly RegenEcosystem[]; /** * Retourne l'entrée du registre dont `lockfile` matche `path`, ou `undefined` * si aucune ne correspond (ex: `.min.js` — généré mais hors registre v1). */ export declare function findEcosystem(path: string): RegenEcosystem | undefined; //# sourceMappingURL=registry.d.ts.map