Plugin /ai-models показує лише провайдерів, яких бекенд може виконати

`GET /api/v1/plugin/ai-models` та `/pricing` тепер пропускають провайдерів, для яких бекенд не має runtime-конфігурації, а `POST /api/v1/plugin/jobs` одразу відхиляє такі запити з HTTP 422 — без резервування кредитів.

Каталог моделей у Plugin API тепер відображає те, що бекенд справді здатен виконати. Раніше GET /api/v1/plugin/ai-models та GET /api/v1/plugin/pricing рекламували кожну модель, дозволену тарифом викликача, — навіть коли в cg-worker не було сконфігуровано токена для відповідного провайдера. Плагін, що використовував таку позицію, бачив резервацію кредитів, три невдалі спроби виконання завдання та його перехід у dead-letter queue — без жодного корисного сигналу назад.

Новий runtime-аллоулист PLUGIN_AVAILABLE_PROVIDERS тепер фільтрує обидва каталожні ендпоінти й контролює шлях надсилання POST /api/v1/plugin/jobs/jobs/batch). Запити, що посилаються на провайдера поза списком, відхиляються ще до резервації кредитів і запису ордера — стандартним конвертом помилки invalid_input (HTTP 422) з повідомленням, що відправляє викликача до GET /api/v1/plugin/ai-models. Якщо у вашій інтеграції було жорстко прописано replicate, переключіться на byteplus, google або openai — це провайдери, які зараз обслуговуються в продакшені. Коли змінна не встановлена (локальні/dev-середовища), фільтр не діє і поведінка лишається попередньою.