/ src / server / settings / resolution.ts
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  }