feat: add model capability enrichment from models.dev and combo model support (#8)
* feat: add models.dev configuration types and constants Add OmniRouteModelsDevConfig and OmniRouteModelMetadataConfig types Add MODELS_DEV_DEFAULT_URL, MODELS_DEV_CACHE_TTL, and MODELS_DEV_TIMEOUT_MS constants Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) * feat: add models.dev API client with capability lookup Implement models.dev data fetching with caching Add model lookup by provider and normalized keys Add capability conversion from models.dev to OmniRoute format Add resolveProviderAlias helper for provider name mapping Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) * feat: add OmniRoute combo model discovery and capability calculation Implement combo model fetching from /api/combos endpoint Add underlying model resolution for combo models Calculate lowest common capabilities using min() for numeric values Calculate conservative boolean capabilities using every() Add enrichComboModels for automatic combo model enrichment Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) * feat: integrate models.dev and combo enrichment into model fetching Update fetchModels to call enrichModelMetadata pipeline Add applyModelsDevMetadata for enriching regular models Add splitOmniRouteModelForLookup and resolveProviderAlias helpers Update clearModelCache to also clear combo cache Add config parsing helpers for modelsDev and modelMetadata options Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) * feat: export new runtime functions and types Export clearModelsDevCache from models-dev module Export clearComboCache, fetchComboData, resolveUnderlyingModels, calculateModelCapabilities from omniroute-combos module Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) * docs: add documentation for combo model capability enrichment Document combo model capability calculation using lowest common denominator Add example showing how capabilities are calculated from underlying models Update API section with new runtime exports Add combo model feature to features list Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) * fix: respect models.dev enabled config option and remove dead code * fix: optional chaining bug in isComboModel when comboCache is null
S
Sebastian Rumpf committed
aecf904c18435e192dc7c99798af7ea102f732cb
Parent: 925f077
Committed by GitHub <noreply@github.com>
on 3/10/2026, 3:02:44 PM