Skip to content

Параметры инструментов

wait принимает каждый инструмент, projectPath все, кроме project_list и project_select; остальные параметры появляются только у тех команд, к которым применимы: у прогона тестов нет sha.

ПараметрНазначение
projectPathКорень проекта 1С (папка с packagedef). Без него команда выполняется в текущем проекте окна, относительный путь считается от текущего проекта. Текущий проект не меняет
rootКорень проекта для project_select: абсолютный путь из ответа project_list
settingsFileФайл настроек vanessa-runner относительно projectPath. По умолчанию активный профиль проекта (env.json)
ibConnectionЯвная строка подключения к ИБ. Без неё берётся значение из файла настроек, иначе /F./build/ib
shaSHA коммита для cf_loadInc; пустая строка — полная загрузка
extensionsРасширения для cfe_* и тестовых test_*Exts: имя каталога, путь от корня рабочей области или имя из метаданных; без параметра — сохранённый выбор проекта
updateDbОбновить конфигурацию БД (UpdateDBCfg) тем же запуском после загрузки: cf_load, cf_loadFile, cf_loadByList, cf_loadInc, cfe_load. Без параметра загрузка идёт без обновления, если в настройках проекта не задано иное
profileИмя env-профиля для env_selectProfile (id, имя файла или подпись)
frameworksВключаемые тестовые фреймворки для test_configure (vanessa, xunit, yaxunit, onescript, onebdd)
execute, commandПуть к EPF/ERF и строка /C для epf_run
waitЖдать завершения и вернуть { success, exitCode, stdout, stderr, tests, artifact, durationMs }. По умолчанию true: без ожидания исход операции неизвестен. false — команда уходит в UI-терминал, управление возвращается сразу

Синхронный вызов ждёт до 30 минут; предел меняется переменной окружения MCP_1C_WAIT_TIMEOUT_MS в конфиге MCP. У самого агента бывает свой предел ожидания: если он обрывает долгую операцию, запускайте её с wait: false и смотрите ход выполнения в терминале VS Code.

Проекты окна

Проект 1С это каталог с packagedef. В окне их может быть несколько: папки рабочей области, подпроекты внутри них и проекты в папках без packagedef. project_list возвращает { current, projects, candidates }: у проекта корень, имя, признак подпроекта, формат и имя конфигурации; в candidates папки и конфигурации без packagedef. project_select с root делает проект текущим так же, как выбор в окне VS Code.

project_init и deps_initPackagedef требуют projectPath: это каталог, в котором создаётся packagedef, папка рабочей области или каталог из candidates, в том числе внутри проекта. Без него приходит PROJECT_PATH_REQUIRED со списком таких каталогов.

projectPath вне папок рабочей области отклоняется с кодом WORKSPACE_MISMATCH. Если текущего проекта нет и projectPath не передан, приходит PROJECT_NOT_FOUND со списком папок и проектов окна. В ответе виден корень проекта, в котором выполнилась команда.

Профили запуска и settingsFile

settingsFile перекрывает активный профиль для конкретного вызова. Так выбирается нужный набор сценариев, не переключая профиль в статус-баре:

jsonc
// прогон init-сценариев вместо основного набора
{ "projectPath": "C:/work/erp", "settingsFile": "tools/vrunner.init.json" }

Исходный код проекта

Каталоги исходного кода инструменты не принимают: конфигурацию, расширения, внешние обработки и отчёты расширение находит в проекте само, в выгрузке конфигуратора и в проектах 1С:EDT.

Состояние окружения и контекст выполнения

  • env_status — read-only инструмент: возвращает JSON с версией vanessa-runner, схемой настроек (v2/v3), активным профилем и файлом настроек, списком профилей, временными параметрами (пароль замаскирован) и итоговой строкой подключения. Вызывайте его перед операциями, когда важно, в каком окружении они выполнятся.
  • Явно переданные settingsFile / ibConnection имеют приоритет над временными параметрами активного профиля; применение или отбрасывание временных параметров отражается строками [контекст] ... в stdout результата.
  • Тестовые инструменты (test_vanessa, test_xunit, test_yaxunit) при wait: true возвращают фактический результат тестов по jUnit-отчёту: счётчики, путь к отчёту и упавшие тесты; упавшие тесты и отсутствующий отчёт дают success: false.
  • test_syntaxCheck при wait: true возвращает список ошибок с путём к файлу модуля, путём по метаданным и текстом сообщения.
  • Неудачный вызов помечается признаком ошибки: упавшие тесты, ошибки синтаксического контроля, ненулевой код возврата и обрыв связи с расширением.
  • Длинный вывод процесса обрезается: в ответе остаётся хвост с пометкой о пропущенном начале, полный лог доступен в панели расширения.

Распространяется по лицензии MIT.