---
name: db-auth-check
description: Используй когда база 1С нужна для workspace init, dump, build, launch или update, а логин/пароль отсутствуют, неизвестны, не проходят или вывод команды похож на проблему лицензии
argument-hint: "[connection]"
allowed-tools:
  - Bash
  - Read
  - Glob
  - AskUserQuestion
---

# db-auth-check — доступ к базе без лишнего риска

Этот skill проверяет доступ к базе перед операциями `v8-runner`, не перебирая пользователей и не пытаясь чинить лицензирование.

## Жесткие стопы

Если вывод любой команды похож на проблему лицензии, немедленно остановись и попроси пользователя исправить лицензию 1С в окружении. Не выполняй обходы и ремонт:

- `лиценз`, `license`, `HASP`, `nethasp`, `LM`, `программная лицензия`;
- `Не обнаружена лицензия`, `License not found`, `No license`, `Лицензия не найдена`;
- ошибки запуска платформы, где явно упомянуты лицензии.

## Правило пустых учетных данных

Если пользователь не указал логин/пароль в connection string, аргументах или безопасном локальном конфиге:

1. Проверь `Администратор` с пустым паролем.
2. Если не подошло, проверь `Admin` с пустым паролем.
3. Если не подошло, остановись и спроси пользователя, из-под кого подключаться.

Не пробуй другие имена, не создавай пользователя, не сбрасывай пароль.

## Workflow

1. Возьми connection из аргумента, `V8TR_CONFIG` или `./v8project.yaml`.
2. Если credentials явно заданы, используй их без догадок.
3. Если credentials отсутствуют, выполни безопасную проверку двумя кандидатами выше.
4. Для проверки используй самый дешевый доступный read-only/info путь текущего инструмента. Если такого режима нет, запускай следующую необходимую операцию только с одним кандидатом за раз и классифицируй ошибку:
   - лицензия → hard stop;
   - неверный пользователь/пароль → следующий кандидат или вопрос пользователю;
   - база недоступна/путь неверный → сообщи конкретную ошибку и остановись.

## Передача credentials

- Предпочитай параметры/переменные окружения, если их поддерживает текущая команда.
- Если приходится записывать credentials в `v8project.yaml` или connection string, не делай это молча: предупреди пользователя и не коммить такой файл.
- Никогда не печатай пароль в итоговом сообщении или логах.
