---
docgen:
  source: npm/scripts/coverage-fix-extract.mjs
  crc: a7f39f0e
---

# coverage-fix-extract.mjs

## Огляд

Цей файл витягує вцілілі мутанти з файлу `COVERAGE.md` у форматі JSON. Витягнуті дані надаються агенту для вирішення проблем з покриттям, зменшуючи навантаження на LLM-оркестратор та забезпечуючи ефективний обмін інформацією. Це ключовий компонент процесу `n-coverage-fix`, що дозволяє агенту швидко реагувати на зміни в покритті.

## Поведінка

parseSurvivedBlock: Витягує JSON-масив вцілілих мутантів із тексту `COVERAGE.md`.
readSurvived: Читає `COVERAGE.md` із кореня проєкту і повертає групи вцілілих.
buildIndex: Згортає групи вцілілих у компактний index `[{file, mutants}]`.
runCoverageFixCli: CLI: `index` друкує компактний JSON-масив, `slice --file <path>` — промпт для одного файлу.

## Публічний API

- parseSurvivedBlock — Витягує дані про вцілілих мутантів з `COVERAGE.md` у форматі JSON.
- readSurvived — Зчитує `COVERAGE.md` та повертає структуровані дані про вцілілих.
- buildIndex — Створює компактний індекс у форматі JSON, що містить інформацію про файли та мутанти.
- runCoverageFixCli — CLI для друку та обрізки даних з `COVERAGE.md`.

## Гарантії поведінки

- Скрипт парсить файл `COVERAGE.md`.
- Результатом парсингу є об'єкт з інформацією про вцілілі мутанти.
- Скрипт повертає об'єкт, якщо файл `COVERAGE.md` існує та може бути успішно прочитаний.
- Якщо файл `COVERAGE.md` не існує, скрипт повертає порожній об'єкт.
- Скрипт не змінює вміст файлу `COVERAGE.md`.
- Скрипт не запускає Stryker.
- Скрипт не генерує винятків.
- Скрипт не використовує кешування.
- Використання команди `index` повертає мінімальний об'єкт, що містить інформацію про вцілілі мутанти.
- Використання команди `slice --file <path>` повертає промпт для одного файлу, що містить контекст ±3 рядки.
