LlmCore.Provider.Definition (llm_core v0.3.0)

Copy Markdown View Source

Normalized provider metadata loaded from TOML configuration and runtime discovery.

These structs are stored in LlmCore.Config.Store and consumed by the agent registry and routing pipeline for capability-aware decisions.

Provider Kinds

  • :module — traditional module-based providers implementing LlmCore.LLM.Provider
  • :cli — CLI-based providers configured via %CLIProvider.Config{} structs

Summary

Types

t()

@type t() :: %LlmCore.Provider.Definition{
  agent_config: map(),
  aliases: [String.t()],
  auth: map(),
  availability: :ok | {:error, term()},
  available?: boolean(),
  capabilities: map(),
  cli_config: struct() | nil,
  default_agent: String.t() | nil,
  default_model: (String.t() | nil) | nil,
  enabled: boolean(),
  id: String.t(),
  metadata: map(),
  model_resolution: :gc_default | :provider_runtime | :explicit_only | nil,
  module: (module() | nil) | nil,
  options: map(),
  provider_kind: :module | :cli,
  type: atom()
}