SDK
SDK: обработка ошибок
Все ошибки — подклассы AistAgentError. HTTP-ошибки несут .status и .body, что позволяет ловить конкретные ситуации по типу.
Иерархия
Базовый класс — AistAgentError. HTTP-ошибки — AistAgentApiError (со свойствами
.status и .body) и его подклассы:
| Класс | Статус / случай |
|---|---|
UnauthorizedError | 401 — токен невалиден/просрочен/отозван |
ForbiddenError | 403 — доступ к чужой задаче |
NotFoundError | 404 — задача не найдена |
TaskConflictError | 409 — tool-results не для interrupted |
ValidationError | 422 — тело не прошло валидацию |
RateLimitError | 429 — превышен лимит активных задач |
AistAgentTimeoutError | Таймаут запроса или ожидания |
MissingToolHandlerError | Нет обработчика для вызванного клиентского инструмента |
Пример
ts
import { RateLimitError, ValidationError } from '@aist-packages/aist-agent-sdk'; try { await client.createTask({ assistant_id: 1, input: [textInput('…')] }); } catch (e) { if (e instanceof RateLimitError) { // 429: слишком много активных задач console.warn('Повторите позже:', e.status, e.body); } else if (e instanceof ValidationError) { // 422 console.error('Проверьте тело запроса:', e.body); } else { throw e; } }
Свойства AistAgentApiError
| Свойство | Описание |
|---|---|
.status | HTTP-код ответа. |
.body | Разобранное тело ответа (JSON или текст). |
.message | Человекочитаемое сообщение. |
Коды ошибок и их значения на стороне сервера — на странице
Ошибки и лимиты.