solver-sdk
Version:
SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system
137 lines • 7 kB
TypeScript
/**
* Интерфейсы сервисов для модуля чат-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