Adapter-dispatching provider. Reads :adapter from config opts to
select the per-provider request/response handling module (e.g.,
CouncilEx.Provider.Adapters.OpenAI or Anthropic).
See CouncilEx.Provider.Adapter for the behaviour, and the modules under
CouncilEx.Provider.Adapters.* for stock implementations.
Summary
Functions
Resolve {:system, var} or static api key strings.
Validate the dispatcher config. Delegates to the configured
:adapter so each adapter owns its own option schema.
Functions
Resolve {:system, var} or static api key strings.
Kept as a public helper for v0.1 compatibility. In v0.3 the adapter
resolves api keys internally inside build_*_request/2.
Validate the dispatcher config. Delegates to the configured
:adapter so each adapter owns its own option schema.