UNPKG

solver-sdk

Version:

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

56 lines 2.6 kB
"use strict"; 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