SDK

SDK: обработка ошибок

Все ошибки — подклассы AistAgentError. HTTP-ошибки несут .status и .body, что позволяет ловить конкретные ситуации по типу.

Иерархия

Базовый класс — AistAgentError. HTTP-ошибки — AistAgentApiError (со свойствами .status и .body) и его подклассы:

КлассСтатус / случай
UnauthorizedError401 — токен невалиден/просрочен/отозван
ForbiddenError403 — доступ к чужой задаче
NotFoundError404 — задача не найдена
TaskConflictError409 — tool-results не для interrupted
ValidationError422 — тело не прошло валидацию
RateLimitError429 — превышен лимит активных задач
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

СвойствоОписание
.statusHTTP-код ответа.
.bodyРазобранное тело ответа (JSON или текст).
.messageЧеловекочитаемое сообщение.
Коды ошибок и их значения на стороне сервера — на странице Ошибки и лимиты.