Перейти к содержанию
Sursa для разработчиков

Объекты

ChatEventError

Ошибка после начала потока. Поток заканчивается без done, и вопрос не сохраняется в журнал. Когда экземпляр сервера останавливается для обновления (code = server_restart, retry: true), ответ помечается отменённым и заново не формируется, поэтому тот же запрос можно отправить ещё раз без изменений.

Поля

  • type"error"обязательно
  • codeChatErrorCodeобязательно
  • messagestringобязательно
  • retryboolean

    true — ответ не завершился по вине сервера (экземпляр остановился для обновления, code = server_restart), и запрос можно повторить без изменений. Для других кодов отсутствует.

  • answer_idstring

    ID объекта ответа, если ответ уже создан.

  • detailsobject

    Подробности. Для sources_inaccessible и out_of_scope: hidden (число недоступных источников), can_request (доступ можно запросить через POST /v1/access-requests с answer_id), reason (то же, что поле события), а для out_of_scope ещё и collections (список CollectionRef, где ответ есть). Для assistant.unavailable, когда ассистент занят (причина rate_limited): retry_after — пауза перед повтором в секундах, как в 429 answers.engine_busy до начала потока. Прежнего кода ошибки в details нет.

    Поля
    • hiddeninteger
    • can_requestboolean
    • reasonstring
    • collectionsarray of CollectionRef
    • retry_afterinteger
  • reasonstring

    Код причины для сообщения на языке интерфейса (расширяемый, произвольная строка). Коды ошибок ассистента: timeout, rate_limited, upstream_unavailable, license_blocked, license_restricted, forbidden, canceled, internal, bad_request, conflict, not_found, too_large, unprocessable, not_implemented, server_restart. Коды Sursa: engine_unavailable (ассистент недоступен), engine_closed (поток ассистента закрылся без результата), sources_inaccessible, server_restart (экземпляр Sursa остановился для обновления), sources_unavailable (скрыт из-за удалённых или архивных источников), out_of_scope (источники есть только вне выбранной коллекции), superseded (вместе с canceled: ответ заменён повтором с тем же request_id) и awaiting_classification (скрыт, потому что документ ещё обрабатывается: его категория доступа ещё не определена, ответ станет доступен после классификации, а запросить доступ нельзя, поэтому can_request = false). Показывайте сообщение по коду. Для незнакомого кода показывайте общее сообщение по code; message — только запасной вариант для клиентов без переводов, и его язык не гарантирован.

Входит в

ChatEvent