OptionalconcurrencyOptionaldefaultPreferred provider when no modelId is specified
OptionaldiscoverOptionalfallbackFallback provider if default fails
OptionalfallbackFallback providers, tried in order after fallbackProvider.
OptionalhooksObserve every attempt: called before each provider call, after each answer, and on each failure. Awaited; a throw propagates to the caller.
OptionalloggerOptional logger; if not set, no logging
OptionalproviderOrder of providers to try when no default/model match (first available wins)
OptionalprovidersCustom provider instances; if set, only these are used (no built-in list)
OptionalretriesMax retries per request on a retryable failure (default 2). Shorthand for retry.retries.
OptionalretryBackoff settings; see RetryOptions.
OptionalstreamDefault idle timeout (ms) for streams; per-request streamIdleTimeout wins.
OptionaltimeoutDefault whole-request timeout (ms) for non-streaming calls; per-request timeout wins.
Max provider calls in flight at once across this factory; extra requests queue. A stream holds its slot until it ends. Default: unlimited.