Pixir.Providers.Registry (pixir v0.1.8)

Copy Markdown View Source

Provider catalog and routing metadata for Pixir provider dialects.

Summary

Functions

Resolve a provider module to its registry entry. Unknown modules use OpenAI defaults.

Whether model_id is in the merged provider catalog.

Merged provider model catalog advertised by ACP.

Resolve a model id to the provider entry that owns its dialect.

Types

entry()

@type entry() :: %{
  provider: module(),
  default_model: String.t(),
  models: [map()],
  auth: %{
    env_var: String.t(),
    scheme: :oauth_or_api_key | :api_key_header,
    login_supported: boolean()
  },
  capabilities: %{
    reasoning_dialect: nil | String.t(),
    prompt_cache: :prompt_cache_key | :cache_control,
    prompt_contract_version: nil | String.t(),
    tool_dialect: :responses | :anthropic,
    hosted_tools: boolean()
  }
}

Functions

entry_for(arg1)

@spec entry_for(module()) :: entry()

Resolve a provider module to its registry entry. Unknown modules use OpenAI defaults.

model_supported?(model_id)

@spec model_supported?(String.t()) :: boolean()

Whether model_id is in the merged provider catalog.

models()

@spec models() :: [map()]

Merged provider model catalog advertised by ACP.

resolve(arg1)

@spec resolve(String.t() | nil) :: entry()

Resolve a model id to the provider entry that owns its dialect.