Model selection and provider discovery.
Model strings use provider:model_id format (e.g. "anthropic:claude-sonnet-4").
Any provider supported by ReqLLM works — Vibe passes the string through and
ReqLLM handles resolution, wire protocol, and env-var-based authentication.
Providers that need OAuth or interactive login (e.g. OpenAI Codex) have
dedicated Vibe.Auth.Provider wrappers. All others use standard env vars
like ANTHROPIC_API_KEY, ZAI_API_KEY, DEEPSEEK_API_KEY, etc.
Summary
Functions
Returns ReqLLM provider atoms that have API credentials available.
Returns the configured default model identifier.
Functions
@spec available_providers() :: [atom()]
Returns ReqLLM provider atoms that have API credentials available.
Checks env vars, application config, and Vibe's persisted auth store. Useful for showing which providers are ready to use.
@spec default() :: String.t()
Returns the configured default model identifier.