resolution.ts
1 import type { 2 ProviderEndpointMode, 3 SessionSettingsSummary, 4 } from '@/lib/shared/chat' 5 6 export function normalizeThinkingLevel( 7 value: string | null, 8 ): SessionSettingsSummary['thinkingLevelOverride'] { 9 if ( 10 value === 'off' || 11 value === 'minimal' || 12 value === 'low' || 13 value === 'medium' || 14 value === 'high' 15 ) { 16 return value 17 } 18 return null 19 } 20 21 export function normalizeReasoningLevel( 22 value: string | null, 23 ): SessionSettingsSummary['reasoningLevelOverride'] { 24 if (value === 'off' || value === 'on' || value === 'stream') return value 25 return null 26 } 27 28 export function normalizeProviderEndpointModeInput( 29 value: unknown, 30 ): ProviderEndpointMode | null | undefined { 31 if (value === undefined) return undefined 32 if (value === null) return null 33 if (value === 'auto' || value === 'responses' || value === 'chat_completions') { 34 return value 35 } 36 if (value === 'chat' || value === 'chat-completions') { 37 return 'chat_completions' 38 } 39 return undefined 40 }