UNPKG

solver-sdk

Version:

SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system

137 lines 7 kB
/** * Интерфейсы сервисов для модуля чат-API */ import { ChatMessage, ChatOptions, ChatResponse, ChatStreamChunk, ChatStreamOptions, Tool, ThinkingConfig } from './models'; /** * Интерфейсы для работы с чатом с поддержкой Anthropic Extended Thinking */ /** * Интерфейс для API чата */ export interface ChatService { /** * Отправляет сообщение в чат и получает ответ от модели * @param messages Массив сообщений для отправки * @param options Дополнительные параметры * @returns Ответ модели */ chat(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>; /** * Алиас для метода chat для совместимости с другими SDK * @param messages Массив сообщений для отправки * @param options Дополнительные параметры * @returns Ответ модели */ chatCompletion(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>; /** * Проверяет доступность API чата * @returns Результат проверки */ checkAvailability(): Promise<boolean>; /** * Отправляет сообщение в чат с автоматическим переключением регионов * @param messages Массив сообщений для отправки * @param options Дополнительные параметры * @returns Ответ модели */ chatWithRegionFailover(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>; /** * Отправляет одиночный запрос с автоматическим переключением регионов * @param prompt Запрос к модели * @param options Дополнительные параметры * @returns Текстовый ответ модели */ sendPromptWithRegionFailover(prompt: string, options?: ChatOptions): Promise<string>; /** * Отправляет сообщение в чат в потоковом режиме * @param messages Массив сообщений для отправки * @param options Дополнительные параметры * @returns Асинхронный генератор чанков ответа */ streamChat(messages: ChatMessage[], options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>; /** * Отправляет одиночный запрос в потоковом режиме * @param prompt Запрос к модели * @param options Дополнительные параметры * @returns Асинхронный генератор чанков ответа */ streamPrompt(prompt: string, options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>; /** * Отправляет continuation запрос для interleaved thinking * @param messages Массив сообщений включая thinking блоки и tool_result * @param options Дополнительные параметры с thinking конфигурацией * @returns Асинхронный генератор чанков ответа */ sendContinuation(messages: ChatMessage[], options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>; /** * 🛑 Отменяет активный чат-запрос * @param requestId ID запроса для отмены * @param reason Причина отмены (опционально) * @returns Результат отмены */ cancelRequest(requestId: string, reason?: string): Promise<any>; /** * 📊 Получает статистику активных потоков * @returns Статистика активных чат-потоков */ getStreamsStats(): Promise<any>; /** * 🧹 Очищает зависшие потоки * @param timeoutMs Таймаут в миллисекундах * @returns Результат очистки */ cleanupStaleStreams(timeoutMs?: number): Promise<any>; } /** * Интерфейс для работы с инструментами */ export interface ToolsService { /** * Создает инструмент для использования с моделью * @param name Название инструмента * @param description Описание функциональности * @param inputSchema Схема входных параметров * @returns Объект инструмента */ createTool(name: string, description: string, inputSchema: object): Tool; /** * Валидирует конфигурацию инструментов * @param tools Массив инструментов * @param toolChoice Настройки выбора инструментов * @param thinking Конфигурация мышления * @returns Результат валидации */ validateToolsConfig(tools: Tool[], toolChoice?: string, thinking?: ThinkingConfig | boolean): boolean; /** * Обрабатывает результат выполнения инструмента * @param toolUseId ID вызова инструмента * @param result Результат выполнения * @param isError Флаг ошибки * @returns Объект результата для API */ formatToolResult(toolUseId: string, result: any, isError?: boolean): object; } /** * Интерфейс для управления конфигурацией мышления */ export interface ThinkingConfigService { /** * Создает стандартную конфигурацию мышления * @param budgetTokens Бюджет токенов (по умолчанию 4000) * @returns Конфигурация мышления */ createStandardConfig(budgetTokens?: number): ThinkingConfig; /** * Создает конфигурацию мышления для разных уровней детализации * @param level Уровень детализации ('concise' | 'standard' | 'detailed' | 'verbose') * @returns Конфигурация мышления */ createConfigByLevel(level: 'concise' | 'standard' | 'detailed' | 'verbose'): ThinkingConfig; /** * Валидирует конфигурацию мышления * @param config Конфигурация для валидации * @returns Результат валидации */ validateConfig(config: ThinkingConfig | boolean): boolean; } //# sourceMappingURL=interfaces.d.ts.map