UNPKG

solver-sdk

Version:

SDK для интеграции с Code Solver Backend API (совместимо с браузером и Node.js), с поддержкой функциональности мышления (Thinking Mode)

139 lines 5.35 kB
/** * Модели данных для чат-API */ /** * Сообщение в чате */ export interface ChatMessage { /** Роль отправителя сообщения (system, user, assistant, function) */ role: 'system' | 'user' | 'assistant' | 'function'; /** Содержимое сообщения */ content: string; /** Имя, если роль - function (опционально) */ name?: string; } /** * Опции для запроса в чат */ export interface ChatOptions { /** Название модели (по умолчанию 'Claude') */ model?: string; /** Температура генерации (0-1) */ temperature?: number; /** Максимальное количество токенов в ответе */ maxTokens?: number; /** Последовательности для остановки генерации */ stopSequences?: string[]; /** Список функций, доступных для вызова моделью */ functions?: any[]; /** Настройки вызова функций */ functionCall?: 'auto' | 'none' | { name: string; }; /** Активировать режим thinking (размышления) модели */ thinking?: boolean; /** Регион API Anthropic (default: us-east-1) */ region?: 'us-east-1' | 'eu-west-1' | 'ap-southeast-2'; /** Системная инструкция (prompt) */ systemPrompt?: string; /** ID сокета для WebSocket соединения */ socketId?: string; /** Дополнительные опции модели */ [key: string]: any; } /** * Содержимое сообщения в ответе */ export interface ChatResponseContent { /** Текст сообщения */ content: string; } /** * Вариант ответа в чате */ export interface ChatResponseChoice { /** Сообщение от модели */ message: ChatResponseContent; /** Причина завершения генерации */ finish_reason: string; /** Ход размышлений модели (доступен, если был запрошен режим thinking) */ thinking?: string; /** Криптографическая подпись блока thinking для верификации */ thinking_signature?: string; } /** * Ответ модели на запрос в чате */ export interface ChatResponse { /** Варианты ответов */ choices: ChatResponseChoice[]; } /** * Чанк потоковой передачи ответа от модели */ export interface ChatStreamChunk { /** Текст чанка */ text: string; /** Признак завершения потока */ isComplete: boolean; /** Признак, что текущий чанк является частью размышлений модели */ isThinking?: boolean; /** Полный текст размышлений (доступен только в финальном чанке) */ thinkingContent?: string; /** Криптографическая подпись блока thinking (доступна только в финальном чанке) */ thinkingSignature?: string; } /** * Опции для потоковой передачи */ export interface ChatStreamOptions extends ChatOptions { /** Обработчик получения каждого токена */ onToken?: (token: string) => void; /** Обработчик получения полного ответа */ onComplete?: (text: string) => void; /** Обработчик ошибок */ onError?: (error: Error) => void; /** Токен авторизации для WebSocket соединения */ authToken?: string; /** ID сессии для отслеживания контекста между запросами */ sessionId?: string; } /** * Ответ на запрос инициализации WebSocket соединения */ export interface WebSocketConnectResponse { /** Статус операции */ status: string; /** ID сокета для использования в запросах */ socketId: string; /** URL для подключения к WebSocket серверу */ url: string; /** Пространство имен WebSocket */ namespace: string; /** Протокол WebSocket (ws или wss) */ protocol: string; /** Инструкции для использования */ instructions?: string; } /** * Ответ на запрос потоковой передачи с thinking */ export interface ThinkingStreamResponse { /** Статус операции */ status: string; /** Сообщение */ message: string; /** ID сокета для получения событий */ socketId: string; /** Провайдер модели */ provider: string; /** Модель */ model: string; /** Включен ли режим thinking */ thinking: boolean; } /** * Тип обработчика событий */ export type EventHandler = (eventName: string, eventData: any) => void; //# sourceMappingURL=models.d.ts.map