SDK
SDK: установка и старт
Официальный TypeScript/JavaScript-клиент. Изоморфный (Node 18+ и браузер), без рантайм-зависимостей, на нативном fetch.
Установка
npm
npm install @aist-packages/aist-agent-sdk
Быстрый старт
index.ts
import { AistAgentClient, textInput } from '@aist-packages/aist-agent-sdk'; const client = new AistAgentClient({ baseUrl: 'https://agent.aist-ai.com', token: process.env.AIST_AGENT_TOKEN!, // JWT (RS256) }); const { uuid } = await client.createTask({ assistant_id: 1, input: [textInput('Привет! Кто ты?')], }); // опрос до терминального статуса const task = await client.waitForTask(uuid, { stopOn: ['completed', 'failed'] }); console.log(task.turn?.output);
Что происходит
new AistAgentClientхранитbaseUrlи JWT — токен уходит какAuthorization: Bearerна каждый запрос.createTaskставит задачу в очередь и мгновенно возвращаетuuid.waitForTaskопрашивает статус, пока он не попадёт вstopOn, и возвращает финальныйTask.
Хелперы textInput, fileInput, voiceInput собирают элементы массива
input с правильным type.
Возможности
- Строгая типизация wire-формата:
Task,Turn,InputItemи т.д. - Изоморфность — один код для Node 18+ и браузера, нативные
fetch/FormData. - Клиентские инструменты —
runTaskсам проходит interrupt-цикл. - Типизированные ошибки — подкласс на каждый HTTP-статус.