UNPKG

solver-sdk

Version:

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

183 lines 8.28 kB
/** * Опции для инициализации SDK */ export interface CodeSolverSDKOptions { /** * Базовый URL API */ baseURL: string; /** * Таймаут для HTTP запросов в миллисекундах (по умолчанию 30000) */ timeout?: number; /** * API ключ (если требуется) */ apiKey?: string; /** * Режим работы: 'auto' - автоопределение, 'browser' - браузер, 'node' - Node.js */ mode?: 'auto' | 'browser' | 'node'; /** * Настройки HTTP соединения */ http?: { /** Таймаут запросов в миллисекундах */ timeout?: number; /** Количество попыток при ошибках */ retries?: number; /** Задержка между попытками */ retryDelay?: number; }; /** * Пользовательские HTTP заголовки */ headers?: Record<string, string>; /** * 🔑 НОВОЕ в v6.1.4: Динамическое получение auth токена * Функция вызывается перед каждым HTTP запросом для получения свежего токена * Полезно для автоматического обновления истекших access tokens * * @returns Токен или null если токена нет * @example * ```typescript * const sdk = new CodeSolverSDK({ * baseURL: 'https://api.example.com', * getAuthToken: async () => { * // Обновляем токен если истек * const token = await authManager.getValidToken(); * return token; * } * }); * ``` */ getAuthToken?: () => Promise<string | null> | string | null; /** * Опции для HTTPS агента (для Node.js) * В браузере не используется */ httpsAgent?: any; /** * Режим отладки SDK * * Варианты значений: * - true - включает базовое логирование (совместимость с v3.1.5) * - 'verbose' - включает подробное логирование (совместимость с v3.1.5) * - false/undefined - отключает логирование (по умолчанию) * * НОВОЕ в v3.1.6+: * - 'silent' - полностью отключает логирование (включая errors) * - 'error' - только ошибки * - 'warn' - предупреждения и ошибки * - 'info' - базовая информация, предупреждения и ошибки * - 'debug' - подробная отладочная информация (аналог 'verbose') */ debug?: boolean | 'verbose' | 'silent' | 'error' | 'warn' | 'info' | 'debug'; /** * Опции для провайдеров моделей */ providers?: { /** * Опции для Anthropic */ anthropic?: { /** * Регион API (default: us-east-1) */ region?: 'us-east-1' | 'eu-west-1' | 'ap-southeast-2'; /** * API ключ для Anthropic */ apiKey?: string; /** * Время ожидания ответа в миллисекундах */ timeout?: number; }; /** * Опции для других провайдеров */ [key: string]: any; }; /** * НОВОЕ в v3.1.6: Настройки логирования потоков * Контролирует какие события стриминга логировать */ streamLogging?: { /** Логировать SSE события (по умолчанию: false) */ sseEvents?: boolean; /** Логировать chunk'и потока (по умолчанию: false) */ streamChunks?: boolean; /** Логировать onEvent callbacks (по умолчанию: false) */ eventCallbacks?: boolean; /** Логировать только важные события (start, stop, errors) */ importantOnly?: boolean; }; /** * 🔄 НОВОЕ в v5.1.0: Delta-Chunking конфигурация * Cursor-подобная инкрементальная синхронизация проектов */ deltaChunking?: { /** Включение delta-chunking функциональности */ enabled: boolean; /** Настройки шифрования */ encryption?: { /** Включить шифрование чанков */ enabled: boolean; /** 32-символьный ключ для AES-256 */ key: string; }; /** Настройки разбиения на чанки */ chunking?: { /** Максимальное количество символов в чанке (рекомендуется: 2000, ~500 токенов) */ maxChars?: number; /** Минимальное количество символов в чанке (рекомендуется: 500, ~130 токенов) */ minChars?: number; /** Использовать tree-sitter парсер (в разработке) */ useTreeSitter?: boolean; /** Сохранять контекст между чанками */ preserveContext?: boolean; }; /** Настройки file watching для автосинхронизации */ fileWatching?: { /** Включить автоматическое наблюдение за изменениями */ enabled: boolean; /** Интервал проверки изменений в мс (по умолчанию: 1000) */ pollInterval?: number; /** Паттерны для игнорирования файлов */ ignorePatterns?: string[]; }; }; /** * 🔌 НОВОЕ в v5.1.4: WebSocket конфигурация * Real-time уведомления о статусе проектов (БЕЗ fallback'ов) */ webSocket?: { /** Включить WebSocket push-уведомления (по умолчанию: true) */ enabled?: boolean; /** Таймаут подключения в миллисекундах (по умолчанию: 10000) */ connectionTimeout?: number; /** Максимальное количество попыток переподключения (по умолчанию: 3) */ maxRetries?: number; /** Задержка между попытками переподключения в мс (по умолчанию: 2000) */ retryDelay?: number; /** Включить отладочные логи WebSocket (по умолчанию: false) */ debug?: boolean; /** * 🔄 НОВОЕ в v6.3.0: Полностью отключить auto-reconnect в SDK * Рекомендуется при использовании собственного координатора reconnect на клиенте * (по умолчанию: false) */ disableAutoReconnect?: boolean; /** * 📝 НОВОЕ в v6.3.0: Уровень логирования для WebSocket * - 'silent' - полностью отключает логирование * - 'error' - только ошибки (по умолчанию) * - 'warn' - предупреждения и ошибки * - 'info' - информация, предупреждения и ошибки * - 'debug' - полная отладочная информация */ logLevel?: 'silent' | 'error' | 'warn' | 'info' | 'debug'; }; } //# sourceMappingURL=sdk-options.d.ts.map