ModelResult(
self,
model: BaseChatModel,
model_name: str,
provider: str,
context_limitResult of creating a chat model, bundling the model with its metadata.
This separates model creation from runtime-state mutation so callers can decide when to commit the metadata to process-wide state.