v1.4.0
What's new
Per-call model selection on ModelExecutor. chat, invoke and chatStream each gain a leading String modelName overload that targets a specific model for that call, overriding the one configured externally (e.g. anthropic.model.name). The built-in Anthropic and OpenAI executors honour it; the default for other executors ignores the name and delegates to the configured behaviour, so existing implementations and stubs are unaffected.
ModelResponse chat(String modelName, ModelRequest request)ModelResponse invoke(String modelName, ModelRequest request)— observable execution, emits the same model lifecycle eventsvoid chatStream(String modelName, ModelRequest request, StreamListener listener)
Full Changelog: v1.3.0...v1.4.0