Result of creating a chat model, bundling the model with its metadata.
This separates model creation from settings mutation so callers can decide when to commit the metadata to global settings.
ModelResult(
self,
model: BaseChatModel,
model_name: str,
provider: str,
context_limit: int | None = None,
unsupported_modalities: frozenset[str] = frozenset()
)