(model: CustomRegistryModelEntry)
| 236 | * (`CUSTOM_REGISTRY_DEFAULT_CAPABILITIES`) when this returns `[]`. |
| 237 | */ |
| 238 | export function capabilitiesFromCustomEntry(model: CustomRegistryModelEntry): string[] { |
| 239 | const caps = new Set<string>(); |
| 240 | if (model.tool_call === true) caps.add('tool_use'); |
| 241 | if (model.reasoning === true) caps.add('thinking'); |
| 242 | if (model.modalities?.input?.includes('image') === true) caps.add('image_in'); |
| 243 | if (model.modalities?.input?.includes('video') === true) caps.add('video_in'); |
| 244 | if (model.modalities?.output?.includes('image') === true) caps.add('image_out'); |
| 245 | if (model.modalities?.output?.includes('audio') === true) caps.add('audio_out'); |
| 246 | return [...caps]; |
| 247 | } |
| 248 | |
| 249 | function hasRichCapabilityHints(model: CustomRegistryModelEntry): boolean { |
| 250 | return ( |
no test coverage detected