Перейти к содержимому

Диагностика окружения в NextPDF Connect

Перед реальной работой убедитесь, что сервер NextPDF Connect исправен и поддерживает возможности, необходимые вашему рабочему процессу. Используйте эту проверку как первый шаг в любом агентном конвейере. Согласно реестру инструментов сервера, доступны и проверены diagnostic.doctor, diagnostic.capabilities и diagnostic.verify. Реестр публикует их под протокольными именами с точками; также есть связанный инструмент diagnostic.inspect. Все они относятся к инструментам Core.

Окно терминала
composer require nextpdf/server

Привяжите транспорт. veraPDF нужен только для необязательной проверки соответствия. Для структурной проверки внешний инструмент не требуется.

  • diagnostic.doctor возвращает базовый отчёт о состоянии окружения: версию PHP, загруженные расширения, версию сервера, активный уровень и предупреждения. Рассматривайте status как контрольную точку. Продолжайте при ok, изучайте warnings при warning и останавливайтесь при error.
  • diagnostic.capabilities перечисляет зарегистрированные возможности, их уровень и состояние во время выполнения (available, unavailable, degraded). Число возможностей зависит от среды выполнения и уровня, поэтому не фиксируйте их количество в коде. Проверяйте каждую возможность, которая нужна вашему рабочему процессу.
  • diagnostic.verify проверяет структурную целостность: заголовок PDF, маркер EOF и таблицу перекрёстных ссылок. Речь о структуре документа, достигаемой через дерево страниц (ISO 32000-2 §7.5). С параметром compliance_flavour он также запускает veraPDF.

Результат диагностики — обычный ответ в любом транспорте (PHP Standard Recommendation 18, PSR-18 §p2).

ИнструментРольУровень риска
diagnostic.doctorОтчёт о работоспособности окруженияБезопасный
diagnostic.capabilitiesПеречень возможностей с состояниемБезопасный
diagnostic.verifyСтруктурная проверка / проверка соответствияБезопасный
create_pdf, add_text, output_pdfДымовая проверка документакак описано отдельно

Эти имена — протокольные имена реестра. Каталог инструментов является эталонным каталогом. Установленный уровень определяет, какие инструменты и возможности доступны, поэтому никогда не задавайте фиксированное количество инструментов или возможностей.

  1. diagnostic.doctor (без аргументов) → проверьте status.
  2. diagnostic.capabilities (без аргументов) → убедитесь, что каждая нужная возможность имеет состояние available.
  3. create_pdf, затем add_text → минимальный проверочный документ.
  4. diagnostic.verify с document_id → структурные проверки.
  5. При необходимости diagnostic.verify с compliance_flavour: "4" → veraPDF.
  6. output_pdf (base64) → удалите проверочную сессию.

Сделайте запуск конвейера зависимым от значения diagnostic.doctorstatus. Сопоставьте каждую зависимость рабочего процесса с конкретным идентификатором возможности и проверяйте состояние available перед запуском зависимых шагов. Рассматривайте degraded как риск для качества, требующий выборочной проверки. Всегда выполняйте структурную проверку через diagnostic.verify. Запускайте вариант с проверкой соответствия только тогда, когда она нужна. Если veraPDF отсутствует, возвращается явный результат “не найдено”, а не дефект сервера.

  • veraPDF отсутствует. Вызов проверки соответствия возвращает явный результат “не найдено”. Структурные проверки по-прежнему работают. Если вам нужна проверка соответствия, установите veraPDF и добавьте его в PATH процесса сервера.
  • Тайм-аут veraPDF. Большие документы могут не уложиться в тайм-аут проверки. Уменьшите размер документа или увеличьте тайм-аут в конфигурации сервера.
  • Возможность в состоянии degraded. Зависимость доступна лишь частично, поэтому качество вывода может снизиться. Проверьте журналы сервера, чтобы понять, какой резервный механизм используется.
  • Doctor возвращает error. Критическое требование не выполнено. Не продолжайте.

Структурная проверка выполняется быстро. В режиме проверки соответствия запускается veraPDF, и выполнение ограничено тайм-аутом проверки. Увеличенный бюджет учитывает этот подпроцесс.

Вывод диагностики раскрывает сведения об окружении: версию PHP, расширения и уровень. Считайте, что он предназначен только для оператора, и не показывайте его недоверенным вызывающим сторонам.

УтверждениеСпецификацияПунктreference_id (идентификатор ссылки)
Результат диагностики — это обычный ответ транспорта.PSR-18§p2
Структурная целостность относится к структуре, привязанной к дереву страниц.ISO 32000-2§7.5

Вариант с проверкой соответствия запускает veraPDF и сообщает его вердикт. NextPDF сам по себе не заявляет соответствие. Вердикт выносит валидатор.

Неприменимо — все инструменты диагностики относятся к Core.

ТранспортДоступноПримечания
MCP (через stdio)ДаРезультаты диагностики — это результаты инструментов.
RESTДаЭндпоинты проверки работоспособности сопоставлены с этими инструментами.
gRPCДаУнарный вызов; результат содержит те же поля состояния.

Все три инструмента диагностики безопасны: только читают данные и не дают побочных эффектов. Они никогда не задействуют шлюз подтверждения. Проверочный output_pdf работает в режиме base64 (Review, без шлюза).

Диагностика никогда не задействует шлюз.

{ "allowed": true }