# План: починка type-ошибок vue-tsc в тестах регионов — v6 (VueWrapper<any>)

## Цель

Заменить `as VueWrapper` на `as VueWrapper<any>` в трёх местах двух тест-файлов (по якорям спеки
v4 D1–D2), затем прогнать `vue-tsc` (D3) для подтверждения. Убирает 3 ошибки `TS2345`. Поведение
тестов неизменно.

```skills-json
[]
```

```steps-json
[
  {"op":"Edit","object":"app/tests/Frontend/NewProjectDialog.regions.spec.ts","ref":"D1"},
  {"op":"Edit","object":"app/tests/Frontend/RegionsBulkDialog.spec.ts","ref":"D2"},
  {"op":"Bash","object":"npx vue-tsc --noEmit -p app/tsconfig.json","ref":"D3"}
]
```

Соответствие шагов (детали — якоря спеки v4):

1. ref D1 — `NewProjectDialog.regions.spec.ts`: `(ac as VueWrapper<any>).props('closableChips')`;
2. ref D2 — `RegionsBulkDialog.spec.ts`: `(addAc as VueWrapper<any>)` и `(removeAc as VueWrapper<any>)`;
3. ref D3 — завершающий `vue-tsc --noEmit -p app/tsconfig.json`: три ошибки исчезли (чистый прогон).

```verified-context-json
[
  {"id":"C1","kind":"EXTRACTED","ref":"app/tests/Frontend/RegionsBulkDialog.spec.ts","anchor":"(addAc as VueWrapper).props('closableChips')"},
  {"id":"C2","kind":"EXTRACTED","ref":"app/tests/Frontend/NewProjectDialog.regions.spec.ts","anchor":"(ac as VueWrapper).props('closableChips')"}
]
```

## Переговоры

### Круг 4

Прошлый прогон vue-tsc (шаг плана v5) вскрыл, что cast к голому `VueWrapper` даёт `TS2345`
(`props` ждёт `keyof T['$props']` = `never`). Исправление по сигнатуре `vueWrapper.d.ts`:
`VueWrapper<any>` (тогда `keyof any` = string, `'closableChips'` подходит). Импорт `type
VueWrapper` уже на месте, остаётся только добавить `<any>` в трёх местах. Verify `vue-tsc` —
шаг 3 (исполнимый: в прошлый раз дал exit 2 на 3 ошибках, после правки даст 0).
