Shared error parsing logic for LLM provider adapters.
Normalizes HTTP errors to consistent error tuples across all providers.
Summary
Functions
Parses HTTP errors into standardized error tuples.
Functions
@spec parse_error(term()) :: {:error, {:auth_error, String.t()} | {:rate_limit, nil} | {:invalid_request, String.t()} | {:api_error, integer(), String.t()} | {:network_error, term()}}
Parses HTTP errors into standardized error tuples.
Examples
iex> parse_error(%{status: 401})
{:error, {:auth_error, "Invalid API key"}}
iex> parse_error(%{status: 429})
{:error, {:rate_limit, nil}}