solver-sdk
Version:
SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system
183 lines • 8.28 kB
TypeScript
/**
* Опции для инициализации 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