Modules
Public API for the ExAgent multi-agent LLM library.
GenServer that manages a single LLM agent.
Dynamic supervisor for managing agent lifecycle at runtime.
Top-level supervisor for the ExAgent OTP tree.
A normalized file attachment carried on ExAgent.Message.
One event in a streamed response.
Portable conversation state shared across agents and patterns.
Result of an embedding request, with the provenance needed to use it safely.
Normalized error returned by every provider operation.
Reference to a file previously uploaded to an LLM provider.
Normalized message struct used across all LLM providers.
Sequential steps, each working on what the last one produced.
Ask the same question several times, then go with the answer that keeps coming up.
State-driven transitions pattern.
Split one big input into pieces, process them in parallel, combine the results.
Draft, critique, revise - until a reviewer signs off or the budget runs out.
Parallel dispatch and synthesis pattern.
Progressive disclosure pattern.
Centralized orchestration pattern.
Behaviour for LLM providers.
Google Gemini LLM provider.
jina-reranker-m0 - a reranking-only provider for a self-hosted server.
Jina embeddings v5 - an embeddings-only provider for a self-hosted server.
OpenAI LLM provider.
Provider for any endpoint speaking the OpenAI chat-completions dialect.
Result of a rerank request: documents reordered by relevance to a query.
A completed assistant turn.
Resolves provider structs from role names declared in application config.
Server-Sent Events framing.
Turns an Ecto embedded schema into a JSON Schema, and provider JSON back into
a struct.
HTTP service for the Gemini embeddings API.
HTTP service for Google Gemini API.
HTTP service for uploading files to the Gemini Files API.
HTTP service for a self-hosted jina-reranker-m0 server.
HTTP service for a self-hosted Jina embeddings v5 server.
HTTP service for OpenAI-compatible chat endpoints (vLLM, OpenRouter, Together, Groq, ...).
HTTP service for the OpenAI embeddings API.
HTTP service for OpenAI chat completions API.
HTTP service for uploading files to the OpenAI Files API.
Shared SSE stream transport for LLM providers.
Loadable skill definition for progressive disclosure pattern.
Pure helpers for reasoning about attachment sources.
:telemetry events emitted around every provider call.
Normalized tool definition for LLM function-calling.
Caches provider file uploads so the same bytes are not uploaded twice.