(model: ProviderModelInfo, providerProfile: ProviderProfile)
| 2924 | } |
| 2925 | |
| 2926 | function serializeModel(model: ProviderModelInfo, providerProfile: ProviderProfile): JsonRecord { |
| 2927 | return omitUndefined({ |
| 2928 | id: normalizeString(model.id) || normalizeString(model.model), |
| 2929 | object: 'model', |
| 2930 | created: 0, |
| 2931 | owned_by: providerProfile.id, |
| 2932 | provider_kind: providerProfile.providerKind, |
| 2933 | provider_model: normalizeString(model.model) || normalizeString(model.id), |
| 2934 | display_name: normalizeString(model.displayName) || normalizeString(model.id), |
| 2935 | description: normalizeString(model.description) || undefined, |
| 2936 | default: Boolean(model.isDefault), |
| 2937 | capabilities: { |
| 2938 | supported_reasoning_efforts: Array.isArray(model.supportedReasoningEfforts) |
| 2939 | ? model.supportedReasoningEfforts.filter((value) => typeof value === 'string' && value.trim()) |
| 2940 | : [], |
| 2941 | default_reasoning_effort: normalizeNullableString(model.defaultReasoningEffort), |
| 2942 | }, |
| 2943 | }); |
| 2944 | } |
| 2945 | |
| 2946 | function deriveRequestTitle(prefix: string, prompt: string): string { |
| 2947 | const preview = truncateText(firstNonEmptyLine(prompt), 72); |
no test coverage detected