anthropic/config
Configuration management for the Anthropic client
This module defines the configuration structure and helpers for loading settings from explicit options or environment variables.
Types
Configuration for Anthropic client requests
pub type Config {
Config(
api_key: String,
base_url: String,
default_model: option.Option(String),
timeout_ms: Int,
max_retries: Int,
)
}
Constructors
-
Config( api_key: String, base_url: String, default_model: option.Option(String), timeout_ms: Int, max_retries: Int, )Arguments
- api_key
-
API key used for authentication
- base_url
-
Base URL for Anthropic API requests
- default_model
-
Optional default model name
- timeout_ms
-
Request timeout in milliseconds
- max_retries
-
Number of retries for retryable errors
Optional configuration inputs used when loading configuration
pub type ConfigOptions {
ConfigOptions(
api_key: option.Option(String),
base_url: option.Option(String),
default_model: option.Option(String),
timeout_ms: option.Option(Int),
max_retries: option.Option(Int),
)
}
Constructors
-
ConfigOptions( api_key: option.Option(String), base_url: option.Option(String), default_model: option.Option(String), timeout_ms: option.Option(Int), max_retries: option.Option(Int), )Arguments
- api_key
-
Explicit API key (takes precedence over environment variables)
- base_url
-
Custom API base URL
- default_model
-
Default model to use for requests
- timeout_ms
-
Request timeout in milliseconds
- max_retries
-
Retry count for transient errors
Values
pub const default_max_retries: Int
Default retry count for transient failures
pub fn load_config(
options: ConfigOptions,
) -> Result(Config, error.AnthropicError)
Load configuration using explicit options first, then environment variables.
Sources of configuration (in order of precedence):
- Explicit options passed to the client
- Environment variables (ANTHROPIC_API_KEY)
pub fn with_api_key(
options: ConfigOptions,
api_key: String,
) -> ConfigOptions
Set an explicit API key on configuration options
pub fn with_base_url(
options: ConfigOptions,
base_url: String,
) -> ConfigOptions
Set a custom base URL on configuration options
pub fn with_default_model(
options: ConfigOptions,
default_model: String,
) -> ConfigOptions
Set a default model on configuration options
pub fn with_max_retries(
options: ConfigOptions,
max_retries: Int,
) -> ConfigOptions
Set a retry override on configuration options
pub fn with_timeout_ms(
options: ConfigOptions,
timeout_ms: Int,
) -> ConfigOptions
Set a timeout override on configuration options