enВойти в Senler

SDK для NestJS

Перед подключением

SDK помогает подготовить описание действий, но не заменяет проверку авторизации backend.

Используйте SDK для NestJS

Для контекстов app, agent_tool и automation_step расширение можно добавить готовыми декораторами из @senlerio/api:

import { Get } from "@nestjs/common";
import { AppAction } from "@senlerio/api/app-actions/nest";

@Get("orders")
@AppAction({
  name: "list_orders",
  description: "Возвращает заказы текущего проекта.",
  readOnly: true,
  destructive: false,
  idempotent: true,
  response: { status: 200, type: OrdersResponseDto },
})
listOrders() {
  // Проект берётся из проверенной management session.
}

Для конфигураторов используйте AgentToolConfigurator и AutomationStepConfigurator: они сами задают нужный контекст и вид результата. Общие типы и framework-neutral сборщик метаданных экспортируются из @senlerio/api/app-actions.

После генерации OpenAPI проверьте локальный файл или URL:

npx senler-app validate-openapi ./openapi.json

Проверка находит неверные имена и контексты, дубликаты, неподдерживаемые параметры и тела, отсутствие схемы ответа, а также неправильные пути конфигурации и веток. Добавьте её в CI backend приложения.

Точки входа и проверка контракта

Для действий приложения в пакете есть отдельные точки входа. Общие типы, сборщик метаданных и проверка OpenAPI доступны из @senlerio/api/app-actions, а декораторы NestJS — из @senlerio/api/app-actions/nest. NestJS остаётся необязательной peer-зависимостью и не загружается основным клиентом SDK.

Используйте установленную версию пакета и для генерации метаданных, и для проверки OpenAPI. NestJS остаётся необязательной peer-зависимостью основного клиента.

В версии 0.4.0 декораторы и проверка поддерживают app, agent_tool и automation_step. Контекст funnel описывается в OpenAPI напрямую: отчёты для воронок.

Команда senler-app validate-openapi возвращает ненулевой код при ошибке контракта x-senler-app-action и подходит для CI.