pub struct EndpointConfig {Show 18 fields
pub endpoint_type: EndpointType,
pub url: Option<String>,
pub model: Option<String>,
pub api_key: Option<String>,
pub headers: HashMap<String, String>,
pub pricing: Option<PricingConfig>,
pub default_for: Vec<String>,
pub command: Option<String>,
pub args: Vec<String>,
pub vision: bool,
pub max_attempts: Option<u32>,
pub fallbacks: Vec<String>,
pub provider: Provider,
pub deployment: Option<String>,
pub api_version: Option<String>,
pub auth: AuthConfig,
pub header_commands: HashMap<String, String>,
pub aws: AwsConfig,
}Expand description
A named endpoint definition with pricing.
Fields§
§endpoint_type: EndpointTypeEndpoint type: llm, mcp, or a2a.
url: Option<String>Base URL for the endpoint.
model: Option<String>Model name (LLM endpoints only).
api_key: Option<String>API key / bearer token.
headers: HashMap<String, String>Custom HTTP headers as JSON key-value pairs.
pricing: Option<PricingConfig>Pricing configuration.
default_for: Vec<String>Task types this endpoint serves by default
(e.g. ["targeting", "assertion"]).
command: Option<String>Command to launch an MCP server subprocess (stdio transport).
args: Vec<String>Arguments for the MCP server command.
vision: boolWhether this LLM endpoint accepts image parts (vision) in addition
to text. assert steps with screenshot = true require a vision
endpoint.
max_attempts: Option<u32>How often a single chat completion against this endpoint is retried
on transient failures (HTTP 429/5xx, empty 200 bodies, network
errors) before the fallback chain is tried. Default: 3 (override
globally with HARNESS_LLM_CALL_ATTEMPTS).
fallbacks: Vec<String>Ordered names of other endpoints to try when this endpoint exhausts its attempts. Only LLM endpoints are eligible. Useful for pairing a cheap primary model with a more powerful/expensive fallback.
provider: ProviderLLM provider protocol: openai (default, OpenAI-compatible chat
completions), azure (Azure OpenAI), or bedrock (AWS Bedrock
Converse API; requires the aws cargo feature).
deployment: Option<String>Azure OpenAI deployment name (provider = "azure"). Defaults to
model when unset.
api_version: Option<String>Azure OpenAI API version (provider = "azure"). Defaults to
2024-10-21.
auth: AuthConfigAuthentication configuration for LLM endpoints (API key, token command, Entra ID client credentials / managed identity).
header_commands: HashMap<String, String>Extra HTTP headers produced by running a command per call, keyed by header name. The command’s stdout (first line) becomes the header value. Provider-agnostic — applies to every LLM provider.
aws: AwsConfigAWS credential settings (provider = "bedrock").