AgentSessionManager.Core.ProviderError (AgentSessionManager v0.8.0)

Copy Markdown View Source

Shared normalization for provider-specific errors.

Adapters pass provider-native error payloads and receive a stable provider_error map plus provider-specific details.

Summary

Types

Supported provider identifiers.

t()

Normalized provider error payload.

Functions

Normalizes provider-specific attributes into a stable provider error map.

Types

provider()

@type provider() :: :codex | :amp | :claude | :gemini | :unknown

Supported provider identifiers.

t()

@type t() :: %{
  provider: provider(),
  kind: atom(),
  message: String.t(),
  exit_code: integer() | nil,
  stderr: String.t() | nil,
  truncated?: boolean() | nil
}

Normalized provider error payload.

Functions

normalize(provider, attrs, opts \\ [])

@spec normalize(atom(), map(), keyword()) :: {t(), map()}

Normalizes provider-specific attributes into a stable provider error map.

Returns {provider_error, details} where:

  • provider_error follows the cross-provider contract
  • details contains provider-specific extras with duplicate error fields removed

truncate_text(text, max_bytes, max_lines)

@spec truncate_text(String.t() | nil, integer() | nil, integer() | nil) ::
  {String.t() | nil, boolean()}