(value: unknown)
| 454 | * fields on older servers. |
| 455 | */ |
| 456 | export function parseThinkEfforts(value: unknown): { |
| 457 | supportEfforts: readonly string[] | undefined; |
| 458 | defaultEffort: string | undefined; |
| 459 | } { |
| 460 | if (value === null || typeof value !== 'object') { |
| 461 | return { supportEfforts: undefined, defaultEffort: undefined }; |
| 462 | } |
| 463 | const record = value as Record<string, unknown>; |
| 464 | // `support` gates the whole object: when it is not true, ignore |
| 465 | // valid_efforts / default_effort entirely. |
| 466 | if (record['support'] !== true) { |
| 467 | return { supportEfforts: undefined, defaultEffort: undefined }; |
| 468 | } |
| 469 | const rawDefault = record['default_effort']; |
| 470 | return { |
| 471 | supportEfforts: parseStringArray(record['valid_efforts']), |
| 472 | defaultEffort: |
| 473 | typeof rawDefault === 'string' && rawDefault.length > 0 ? rawDefault : undefined, |
| 474 | }; |
| 475 | } |
| 476 | |
| 477 | export async function fetchManagedKimiCodeModels( |
| 478 | options: FetchManagedKimiCodeModelsOptions, |
no test coverage detected