ExAgent.RequestError (ExAgent v0.1.0)

Copy Markdown View Source

Structured error returned by providers for transport/API failures.

Every provider wraps failures in this struct so callers can pattern-match on a single shape instead of opaque tuples. ExAgent.run/3 surfaces it (wrapped in {:error, {:model_request_failed, %RequestError{}}}) rather than raising.

Summary

Types

t()

@type t() :: %ExAgent.RequestError{
  body: term() | nil,
  provider: atom(),
  reason:
    :http_error
    | :provider_error
    | :request_failed
    | :timeout
    | :missing_credentials,
  status: pos_integer() | nil
}