solver-sdk
Version:
SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system
56 lines • 2.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ANTHROPIC_CONSTANTS = void 0;
exports.shouldUseInterleavedThinking = shouldUseInterleavedThinking;
exports.getBetaHeader = getBetaHeader;
/**
* 🧠 Константы для Anthropic API - централизованный источник истины
* Должны совпадать с backend константами в AnthropicThinkingValidatorService
*/
exports.ANTHROPIC_CONSTANTS = {
/** Beta header для interleaved thinking режима */
INTERLEAVED_THINKING_BETA: 'interleaved-thinking-2025-05-14',
/** Beta header для fine-grained tool streaming */
FINE_GRAINED_TOOL_STREAMING_BETA: 'fine-grained-tool-streaming-2025-05-14',
/** Обязательная температура для thinking режима */
THINKING_TEMPERATURE: 1.0,
/** Минимальный бюджет токенов для thinking */
MIN_THINKING_BUDGET: 1024,
/** Ограничения top_p для thinking режима */
THINKING_TOP_P_MIN: 0.95,
THINKING_TOP_P_MAX: 1.0,
/** Модель по умолчанию */
DEFAULT_MODEL: 'claude-sonnet-4-5-20250929',
/** Максимальное количество токенов - рассчитывается автоматически сервером */
// Удалён дефолт 8192 - сервер автоматически использует оптимальное значение:
// - 32K для запросов с tools
// - 16K для обычных запросов
// Регионы Anthropic API
REGIONS: ['us-east-1', 'eu-west-1', 'ap-southeast-2'],
// Лимиты токенов
MAX_CONTEXT_TOKENS: 200000,
// Настройки для thinking
DEFAULT_THINKING_BUDGET: 10000,
// Таймауты
REQUEST_TIMEOUT: 60000, // 60 секунд
STREAM_TIMEOUT: 120000, // 2 минуты для потоков
};
/**
* Проверяет нужен ли interleaved thinking beta header
*/
function shouldUseInterleavedThinking(thinking, tools) {
return !!(thinking && tools && tools.length > 0);
}
/**
* Получает правильный beta header для запроса
*/
function getBetaHeader(thinking, tools, userBeta) {
if (userBeta) {
return userBeta; // Пользователь явно указал beta
}
if (shouldUseInterleavedThinking(thinking, tools)) {
return exports.ANTHROPIC_CONSTANTS.INTERLEAVED_THINKING_BETA;
}
return undefined;
}
//# sourceMappingURL=anthropic.js.map