Skip to content

v0.3.0 — провайдер модулей и контейнерные формы

Choose a tag to compare

@AzeevAN AzeevAN released this 21 Aug 21:50
· 70 commits to main since this release

Главное в этой версии

  • Полноценный провайдер модулей. MCP теперь умеет искать процедуры,
    показывать сигнатуру и тело, находить вызывающие места и связывать код с
    объектами метаданных и обработчиками форм.
  • Десять MCP-инструментов. К прежнему справочнику метаданных, связей и
    синтаксиса добавлены search_procedures, get_procedure и get_callers.
  • Два формата выгрузки кода. Поддержаны иерархические XML-дескрипторы,
    Form.bin и обычные .bsl, а также плоские .txt и .Form.
  • Формы без ложного успеха. Для каждой формы отдельно различаются полностью
    разобранная, частично разобранная и непрочитанная структура; модуль формы
    учитывается независимо от структуры.
  • Точная диагностика покрытия. MCP, CLI и /sources показывают одинаковые
    счётчики по модулям, процедурам, формам и причинам ограничений, первые 20
    канонических адресов и точное число остальных.
  • Безопасные локаторы и строгий расходный кэш. Тела кода не дублируются в
    индексах, повреждённый или устаревший кэш не мигрируется и не роняет источник,
    а полностью пересобирается из исходной выгрузки.
  • Расширения конфигурации. Код основной конфигурации и каждого расширения
    индексируется отдельно, с проверкой поколения и без смешивания результатов
    во время повторного разбора.

Обновление с v0.2.0

Версия отбора файлов поднята до SELECTION_VERSION = 4. Старые индексы кода
не мигрируются: после обновления нужно явно повторно загрузить исходную
ZIP-выгрузку модулей. Сервер атомарно заменит прежний разбор новым и построит четыре
вида кэша. Если исходная выгрузка не сохранена, получить новые сведения из
старого индекса невозможно.

docker compose up -d --build --force-recreate

Загрузка и повторный разбор выполняются через страницу /sources либо
административный CLI. Каталог data/ остаётся вне Git и переносится отдельно.

Проверка релиза

  • 1581 синтетический тест без зависимости от содержимого data/;
  • Python 3.12 и 3.13;
  • сборка wheel mcp1c-0.3.0 и проверка его метаданных;
  • воспроизводимая пересборка обработки выгрузки;
  • финальная живая cold/warm-приёмка контейнерных форм и кэша.

Подробности, подключение клиентов и описание всех инструментов — в
README.
Полный список изменений — в
CHANGELOG.

Отношение к фирме «1С»

Проект разработан независимо, не аффилирован с ООО «1С» и не поддерживается
ею. «1С» и «1С:Предприятие» — товарные знаки ООО «1С»; лицензия Apache 2.0
прав на них не даёт. См.
NOTICE.