v0.1.8
- Version bump; pin Burrito OTP build version to 28.5.0 to fix macOS binary builds.
v0.1.7
- Version bump to stay in sync with the monorepo release; no functional changes.
v0.1.6
- Drop
:custom_openai,:ollama, and:llama_cppproviders — public provider atoms are now:anthropic | :openai | :googleonly :openaiwithbase_urlset routes to the OpenAI-compatible adapter (previously required:custom_openai); withoutbase_urlroutes to the standard OpenAI pathidentifierdefaults to"OPENAI"on:openaimodels when nil — resolvesOPENAI_API_KEYfor local endpoints that don't need a keyPlanck.AI.Models.OpenAI.all/1now accepts abase_url:opt to query a custom server's/modelsendpoint; without it returns the LLMDB catalog as beforePlanck.AI.Models.CustomOpenAI,Planck.AI.Models.Ollama, andPlanck.AI.Models.LlamaCppremoved — superseded by:openai+base_urlPlanck.AI.Modelgainsmodelfield — the actual provider model identifier (e.g."claude-sonnet-4-6");idbecomes the user-facing alias. The adapter usesmodel || idso structs without the new field keep workingPlanck.AI.Modelgainshas_api_key: boolean()(defaulttrue); whenfalse, the adapter passes"not-needed"directly and skips env-var lookup — for local servers like Ollama that require no authenticationPlanck.AI.Configfunctionsfrom_map/1,from_list/1, andload/1removed — superseded byfrom_config/2Planck.AI.Config.from_config/2added — builds[Model.t()]from a providers map (user-keyed, each entry has a"type"field) and a models list (each entry references a provider key); this is the v0.1.6 config format
v0.1.5
- New
:custom_openaiprovider for OpenAI-compatible endpoints (NVIDIA, Together, vLLM, etc.) Planck.AI.Modelgains anidentifierfield — a short uppercase tag (e.g."NVIDIA") used to derive the env var<IDENTIFIER>_API_KEYat request timePlanck.AI.Models.CustomOpenAI— factory (model/2) and runtime discovery (all/1) viaGET {base_url}/modelsPlanck.AI.Configfrom_map/1validates and upcasesidentifier; rejects values that don't match[A-Z][A-Z0-9]*- API keys for
:custom_openaiare resolved lazily from the environment at request time, never cached
v0.1.4
- Version bump to stay in sync with the monorepo release; no functional changes.
v0.1.3
- Version bump to stay in sync with the monorepo release; no functional changes.
v0.1.2
- Version bump to stay in sync with the monorepo release; no functional changes.
v0.1.1
ex_docbumped to~> 0.40.2; no functional changes.
v0.1.0
First release.
- Provider-agnostic streaming and completion API over
req_llm - Lazy event-tuple stream (
{:text_delta, _},{:thinking_delta, _},{:tool_call_complete, _},{:done, _},{:error, _}) - Tool calling with streaming argument assembly
- Model catalog for Anthropic, OpenAI, and Google via LLMDB
- Local server support for Ollama and llama.cpp with runtime model discovery
- JSON config loader (
Planck.AI.Config) - Multimodal input: text, image, image_url, file, video_url
parse_provider/1(private) —String.to_existing_atom→String.to_atom;@valid_providersderived fromPlanck.AI.list_providers()at compile time (single source of truth). Private function specs added.