Skip to content

Задача 005: Навигация на основе заголовков (API)

Приоритет: Средний Статус: Запланировано Категория: Инфраструктура / HTTP


🎯 Цель

Позволить бэкенду управлять навигацией бота, отправляя специфические метаданные в HTTP-заголовках ответа.

🛠 Постановка проблемы

В архитектуре Клиент-Сервер бэкенд (FastAPI/REST) часто знает, каким должен быть следующий экран. В данный момент боту приходится парсить тело ответа, чтобы решить, куда переходить, что раздувает логику Оркестратора.

🚀 Предлагаемое решение

  1. Извлечение метаданных: Улучшить BaseApiClient, чтобы он возвращал не только тело JSON, но и специфические заголовки (например, X-Bot-Next-Scene, X-Bot-Alert).
  2. Интеграция с Оркестратором: Предоставить способ для Оркестраторов «пробрасывать» эти инструкции в Director без ручных проверок IF/ELSE.
  3. Соглашение: Стандартизировать имена заголовков для общих действий, таких как set_scene, show_alert и clean_history.

✅ Определение готовности

  • BaseApiClient._request() опционально возвращает метаданные ответа.
  • Документирован стандартный паттерн для навигации «Тонкого клиента».